Bug 637491 (perl-Params-Classify)

Summary: Review Request: perl-Params-Classify - Argument type classification
Product: [Fedora] Fedora Reporter: Iain Arnell <iarnell>
Component: Package ReviewAssignee: Petr Pisar <ppisar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: fedora-package-review, notting, paul, ppisar
Target Milestone: ---Flags: ppisar: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://search.cpan.org/dist/Params-Classify/
Whiteboard:
Fixed In Version: perl-Params-Classify-0.012-2.fc14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-14 21:38:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Iain Arnell 2010-09-26 07:24:03 UTC
Spec URL: http://fedorapeople.org/~iarnell/review/perl-Params-Classify.spec
SRPM URL: http://fedorapeople.org/~iarnell/review/perl-Params-Classify-0.011-1.fc13.src.rpm

Description:
This module provides various type-testing functions. These are intended
for functions that, unlike most Perl code, care what type of data they
are operating on. For example, some functions wish to behave
differently depending on the type of their arguments (like overloaded
functions in C++).

Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2489738

*rt-0.10_01

Comment 1 Petr Pisar 2010-11-03 14:21:49 UTC
Source tar ball original. Ok.
License verified from README and lib/Params/Classify.pm. Ok.
FIXME: BuildRequire perl(Scalar::Util) >= 1.1 as it can be dual-live package in the future (http://search.cpan.org/~gbarr/Scalar-List-Utils/)

> %{__perl} Build.PL installdirs=vendor optimize="%{optimize}"
What's the `optimize' macro and argument?

All tests pass. Ok.

$ rpmlint perl-Params-Classify.spec ../SRPMS/perl-Params-Classify-0.011-1.fc13.src.rpm ../RPMS/x86_64/perl-Params-Classify-0.011-1.fc13.x86_64.rpm 
perl-Params-Classify.spec: W: no-cleaning-of-buildroot %clean
perl-Params-Classify.spec: W: no-buildroot-tag
perl-Params-Classify.spec: W: no-%clean-section
perl-Params-Classify.src: W: no-cleaning-of-buildroot %clean
perl-Params-Classify.src: W: no-buildroot-tag
perl-Params-Classify.src: W: no-%clean-section
2 packages and 1 specfiles checked; 0 errors, 6 warnings.

This is post-F11 spec. Ok.

$ rpm -pq -lv ../RPMS/x86_64/perl-Params-Classify-0.011-1.fc13.x86_64.rpm 
drwxr-xr-x    2 root    root                        0 lis  3 15:11 /usr/lib64/perl5/Params
-rw-r--r--    1 root    root                    15056 lis  3 15:11 /usr/lib64/perl5/Params/Classify.pm
drwxr-xr-x    2 root    root                        0 lis  3 15:11 /usr/lib64/perl5/auto/Params
drwxr-xr-x    2 root    root                        0 lis  3 15:11 /usr/lib64/perl5/auto/Params/Classify
-rwxr-xr-x    1 root    root                    23376 lis  3 15:11 /usr/lib64/perl5/auto/Params/Classify/Classify.so
drwxr-xr-x    2 root    root                        0 lis  3 15:11 /usr/share/doc/perl-Params-Classify-0.011
-rw-r--r--    1 root    root                     3989 srp 21 12:27 /usr/share/doc/perl-Params-Classify-0.011/Changes
-rw-r--r--    1 root    root                     1546 srp 21 12:27 /usr/share/doc/perl-Params-Classify-0.011/README
-rw-r--r--    1 root    root                     5712 lis  3 15:11 /usr/share/man/man3/Params::Classify.3pm.gz

File layout and permissions Ok.

$ rpm -pq --requires ../RPMS/x86_64/perl-Params-Classify-0.011-1.fc13.x86_64.rpm | sort | uniq -c
      1 libc.so.6(GLIBC_2.2.5)(64bit)  
      1 libc.so.6()(64bit)  
      1 perl(Exporter)  
      1 perl(:MODULE_COMPAT_5.10.1)  
      1 perl(parent)  
      1 perl(strict)  
      1 perl(warnings)  
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
      2 rpmlib(VersionedDependencies) <= 3.0.3-1
      1 rtld(GNU_HASH)  

$ rpm -pq --provides ../RPMS/x86_64/perl-Params-Classify-0.011-1.fc13.x86_64.rpm | sort | uniq -c
      1 perl-Params-Classify(x86-64) = 0.011-1.fc13
      1 perl(Params::Classify) = 0.011
      1 perl-Params-Classify = 0.011-1.fc13

Binary dependencies Ok.

Spec file is in line with Fedora and Perl packaging guidelines.

Package builds in F15 <http://koji.fedoraproject.org/koji/taskinfo?taskID=2574063>. Ok.

> t/pod_cvg.t ...... skipped: Test::Pod::Coverage not available
> t/pod_cvg_pp.t ... skipped: Test::Pod::Coverage not available
> t/pod_syn.t ...... skipped: Test::Pod not available
FIX: BuildRequire perl(Test::Pod) and perl(Test::Pod::Coverage).


Please correct all `FIX' prefixed issues and submit new spec file.
Please explain the `optimize' statement.

Resolution: Package NOT APPROVED.

Comment 2 Iain Arnell 2010-11-04 10:33:15 UTC
Oops. optimze=%{optimize} is a bug in cpanspec. Fixed to use %{optflags}.

I've also updated to latest upstream version and tweaked the {Build,}Requires as necessary.


Spec URL: http://fedorapeople.org/~iarnell/review/perl-Params-Classify.spec
SRPM URL: http://fedorapeople.org/~iarnell/review/perl-Params-Classify-0.012-1.fc13.src.rpm

Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2576037

Comment 3 Petr Pisar 2010-11-04 12:59:34 UTC
Spec file changes:

--- perl-Params-Classify.spec	2010-09-26 09:22:44.000000000 +0200
+++ perl-Params-Classify.spec.1	2010-11-04 11:33:13.000000000 +0100
@@ -1,15 +1,20 @@
 Name:           perl-Params-Classify
-Version:        0.011
+Version:        0.012
 Release:        1%{?dist}
 Summary:        Argument type classification
 License:        GPL+ or Artistic
 Group:          Development/Libraries
 URL:            http://search.cpan.org/dist/Params-Classify/
 Source0:        http://www.cpan.org/authors/id/Z/ZE/ZEFRAM/Params-Classify-%{version}.tar.gz
+BuildRequires:  perl(ExtUtils::ParseXS)
 BuildRequires:  perl(Module::Build)
 BuildRequires:  perl(parent)
+BuildRequires:  perl(Scalar::Util) >= 1.01
 BuildRequires:  perl(Test::More)
+BuildRequires:  perl(Test::Pod)
+BuildRequires:  perl(Test::Pod::Coverage)
 Requires:       perl(Exporter)
+Requires:       perl(Scalar::Util) >= 1.01
 Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
 
 %{?perl_default_filter}
@@ -25,7 +30,7 @@
 %setup -q -n Params-Classify-%{version}
 
 %build
-%{__perl} Build.PL installdirs=vendor optimize="%{optimize}"
+%{__perl} Build.PL installdirs=vendor optimize="%{optflags}"
 ./Build
 
 %install
@@ -46,5 +51,9 @@
 %{_mandir}/man3/*
 
 %changelog
+* Thu Nov 04 2010 Iain Arnell <iarnell> 0.012-1
+- update to latest upstream version
+- use correct optflags macro
+
 * Sun Sep 26 2010 Iain Arnell <iarnell> 0.011-1
 - Specfile autogenerated by cpanspec 1.78.


> FIXME: BuildRequire perl(Scalar::Util) >= 1.1 as it can be dual-live package
> in the future (http://search.cpan.org/~gbarr/Scalar-List-Utils/)
Ok.

> > > %{__perl} Build.PL installdirs=vendor optimize="%{optimize}"
> > What's the `optimize' macro and argument?
> Oops. optimze=%{optimize} is a bug in cpanspec. Fixed to use %{optflags}.
> -%{__perl} Build.PL installdirs=vendor optimize="%{optimize}"
> +%{__perl} Build.PL installdirs=vendor optimize="%{optflags}"
/usr/lib/rpm/rpmrc. Ok.

> > t/pod_cvg.t ...... skipped: Test::Pod::Coverage not available
> > t/pod_cvg_pp.t ... skipped: Test::Pod::Coverage not available
> > t/pod_syn.t ...... skipped: Test::Pod not available
> FIX: BuildRequire perl(Test::Pod) and perl(Test::Pod::Coverage).
Ok.

Source file original. Ok.
License verified from README. Ok.

> + /usr/bin/perl Build.PL installdirs=vendor 'optimize=-O2 -g -pipe -Wall
> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
> --param=ssp-buffer-size=4 -m64 -mtune=generic'
> Creating custom builder _build/lib/MyModuleBuilder.pm in _build/lib
> Checking whether your kit is complete...
> Looks good
> 
> Checking prerequisites...
> - ERROR: ExtUtils::ParseXS (2.2002) is installed, but we need version
> >= 2.2006
FIX: Version perl(ExtUtils::ParseXS) >= 2.006 BuildRequires.

All tests pass. Ok.

Package builds in F15 (http://koji.fedoraproject.org/koji/taskinfo?taskID=2576190). Ok.

$ rpmlint perl-Params-Classify.spec ../SRPMS/perl-Params-Classify-0.012-1.fc15.src.rpm ../RPMS/x86_64/perl-Params-Classify-0.012-1.fc15.x86_64.rpm 
perl-Params-Classify.spec: W: no-cleaning-of-buildroot %clean
perl-Params-Classify.spec: W: no-buildroot-tag
perl-Params-Classify.spec: W: no-%clean-section
perl-Params-Classify.src: W: no-cleaning-of-buildroot %clean
perl-Params-Classify.src: W: no-buildroot-tag
perl-Params-Classify.src: W: no-%clean-section
2 packages and 1 specfiles checked; 0 errors, 6 warnings.

rpmlint Ok.

$ rpm -pq --requires ../RPMS/x86_64/perl-Params-Classify-0.012-1.fc15.x86_64.rpm | sort | uniq -c
      1 libc.so.6(GLIBC_2.2.5)(64bit)  
      1 libc.so.6(GLIBC_2.4)(64bit)  
      1 libc.so.6()(64bit)  
      1 perl(Exporter)  
      1 perl(:MODULE_COMPAT_5.12.2)  
      1 perl(parent)  
      1 perl(Scalar::Util) >= 1.01
      1 perl(strict)  
      1 perl(warnings)  
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
      2 rpmlib(VersionedDependencies) <= 3.0.3-1
      1 rtld(GNU_HASH)

$ rpm -pq --provides ../RPMS/x86_64/perl-Params-Classify-0.012-1.fc15.x86_64.rpm | sort | uniq -c
      1 perl-Params-Classify(x86-64) = 0.012-1.fc15
      1 perl(Params::Classify) = 0.012
      1 perl-Params-Classify = 0.012-1.fc15

Binary dependencies Ok.


Please add the version to perl(ExtUtils::ParseXS) before commit.
Resolution: Package APPROVED.

Comment 4 Iain Arnell 2010-11-04 14:23:50 UTC
New Package CVS Request
=======================
Package Name: perl-Params-Classify
Short Description: Argument type classification
Owners: iarnell
Branches: f14
InitialCC: perl-sig

Comment 5 Jason Tibbitts 2010-11-05 17:20:45 UTC
Git done (by process-git-requests).

Comment 6 Iain Arnell 2010-11-06 06:48:34 UTC
Unfortunately, I can't sensibly add version to perl(ExtUtils::ParseXS) requirement. It's gone from 4 digit decimal (2.2002) in f13 to 2 digit decimal (2.21) in f14. If I require >= 2.2006, it's not available, and if I require >= 2.21, 2.2002 gets pulled in anyway. Since I've not requested an f13 branch, this shouldn't really be a problem.

Comment 7 Fedora Update System 2010-11-06 06:59:05 UTC
perl-Params-Classify-0.012-2.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/perl-Params-Classify-0.012-2.fc14

Comment 8 Fedora Update System 2010-11-06 23:45:31 UTC
perl-Params-Classify-0.012-2.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update perl-Params-Classify'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/perl-Params-Classify-0.012-2.fc14

Comment 9 Petr Pisar 2010-11-08 09:20:34 UTC
(In reply to comment #6)
> Unfortunately, I can't sensibly add version to perl(ExtUtils::ParseXS)
> requirement. It's gone from 4 digit decimal (2.2002) in f13 to 2 digit decimal
> (2.21) in f14. If I require >= 2.2006, it's not available, and if I require >=
> 2.21, 2.2002 gets pulled in anyway. Since I've not requested an f13 branch,
> this shouldn't really be a problem.

This is clear bug in perl-ExtUtils-ParseXS (perl.spec) as it breaks upgrade flow. I've filed bug #650882.

Comment 10 Fedora Update System 2010-11-14 21:38:11 UTC
perl-Params-Classify-0.012-2.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 11 Paul Howarth 2012-02-07 20:53:57 UTC
Iain, could we have EL-5 and EL-6 branches for perl-Params-Classify?

I need it for perl-Module-Runtime, which in turn I need for perl-Module-Implementation (soon to be submitted).

I have asked spot to update ExtUtils::ParseXS in EPEL-5 to a suitable version in Bug #788243. The version in EPEL-6 is sufficiently recent to build the module OK.

I would be happy to maintain or co-maintain the package.

Comment 12 Iain Arnell 2012-02-08 07:18:50 UTC
Package Change Request
======================
Package Name: perl-Params-Classify
New Branches: el5 el6
Owners: iarnell pghmcfc
InitialCC: perl-sig


Sure, no problem. Feel free to submit the builds if you get a chance before I do.

Comment 13 Gwyn Ciesla 2012-02-08 13:11:10 UTC
Git done (by process-git-requests).

Comment 14 Fedora Update System 2012-02-08 13:28:54 UTC
perl-Params-Classify-0.013-4.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/perl-Params-Classify-0.013-4.el6

Comment 15 Iain Arnell 2012-02-08 13:31:29 UTC
There's also a buildroot override in place for el6.

Comment 16 Paul Howarth 2012-02-08 15:31:11 UTC
Thanks for that Iain. I hadn't noticed you'd done that whilst I was working on my own perl-Params-Classify-0.013-5.el6 build (with EL-5 compatibility tweaks, though I can't do the EPEL-5 build until Bug #788243 is addressed). I try to keep my EPEL packages in sync with each other for ease of maintenance, even though EPEL-6 didn't need any changes. So we can either forget about 5.el6, do an update later (perhaps when the EL-5 build is available), or change the existing update to 5.el6 now. Up to you. I don't think there's any value in changing the buildroot override.

Comment 17 Iain Arnell 2012-02-08 16:45:44 UTC
That EL-5 compatibility hits me every time now. You're right, of course, with keeping the EPEL branches in sync. I'm likely to be offline for a while over the coming weeks, so it's up to you whether you want to push 5.el6.

Comment 18 Fedora Update System 2012-02-21 21:57:00 UTC
perl-Params-Classify-0.013-5.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/perl-Params-Classify-0.013-5.el5

Comment 19 Fedora Update System 2012-02-21 21:57:12 UTC
perl-Params-Classify-0.013-5.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/perl-Params-Classify-0.013-5.el6

Comment 20 Fedora Update System 2012-03-08 17:26:18 UTC
perl-Params-Classify-0.013-5.el6 has been pushed to the Fedora EPEL 6 stable repository.

Comment 21 Fedora Update System 2012-03-08 17:27:01 UTC
perl-Params-Classify-0.013-5.el5 has been pushed to the Fedora EPEL 5 stable repository.