Bug 1797365

Summary: Review Request: perl-App-Packager - Abstract interface to a number of common packagers
Product: [Fedora] Fedora Reporter: Johan Vromans <jvromans>
Component: Package ReviewAssignee: Petr Pisar <ppisar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: package-review, ppisar
Target Milestone: ---Flags: ppisar: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: perl-App-Packager-1.430.1-3.fc33 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-08 00:51:03 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:
Bug Depends On:    
Bug Blocks: 1797362    

Description Johan Vromans 2020-02-02 21:40:18 UTC
Spec URL: https://www.chordpro.org/fedora/perl-App-Packager.spec
SRPM URL: https://www.chordpro.org/fedora/perl-App-Packager-1.430.1-1.fc29.src.rpm

Description:

This perl module provides an abstract interface to common packagers used by perl programs, e.g. PAR::Packer and Cava::Packager.

This package is required by chordpro, see https://bugzilla.redhat.com/show_bug.cgi?id=1797362.

Fedora Account System Username: sciurius

Comment 1 Petr Pisar 2020-02-26 14:48:58 UTC
The standalone spec file is newer. I will use that for this review.

Url and Source0 addresses are usable. Ok.
Source0 archive (SHA-256: 57f4d014458387f9e2ed2dfd8615d1e2545b8a6504b10af22486578d8be374a3) is original. Ok.
Summary is Ok.
Description verified from README. Ok.
License verified from lib/App/Packager.pm. Ok.
No XS code, noarch BuildArch is Ok.

TODO: Use plain 'perl' in instead of a '%{__perl}' macro in 'Requires: perl(:MODULE_COMPAT_'.
FIX: Change 'perl(ExtUtils::MakeMaker)' version constrain to '>= 6.76' That version is needed for NO_PACKLIST=1 and NO_PERLLOCAL=1 Makefile.PL arguments.
FIX: BuildRequire 'perl(Exporter)' (lib/App/Packager.pm:9).

All tests pass. Ok.

$ rpmlint perl-App-Packager.spec ../SRPMS/perl-App-Packager-1.430.1-2.fc33.src.rpm ../RPMS/noarch/perl-App-Packager-1.430.1-2.fc33.noarch.rpm 
sh: /usr/bin/python2: No such file or directory
perl-App-Packager.src: W: spelling-error %description -l en_US behaviour -> behavior
perl-App-Packager.src: W: spelling-error %description -l en_US unpackaged -> unpack aged, unpack-aged, packaged
perl-App-Packager.noarch: W: spelling-error %description -l en_US behaviour -> behavior
perl-App-Packager.noarch: W: spelling-error %description -l en_US unpackaged -> unpack aged, unpack-aged, packaged
2 packages and 1 specfiles checked; 0 errors, 4 warnings.
FIX: Spell 'behaviour' as 'behavior' in the description.

$ rpm -q -lv -p ../RPMS/noarch/perl-App-Packager-1.430.1-2.fc33.noarch.rpm 
drwxr-xr-x    2 root     root                        0 Feb 26 15:33 /usr/share/doc/perl-App-Packager
-rw-r--r--    1 root     root                      319 Jul  5  2018 /usr/share/doc/perl-App-Packager/Changes
-rw-r--r--    1 root     root                      584 Jul  5  2018 /usr/share/doc/perl-App-Packager/README
-rw-r--r--    1 root     root                     2275 Feb 26 15:33 /usr/share/man/man3/App::Packager.3pm.gz
drwxr-xr-x    2 root     root                        0 Feb 26 15:33 /usr/share/perl5/vendor_perl/App
-rw-r--r--    1 root     root                     6247 Jul  5  2018 /usr/share/perl5/vendor_perl/App/Packager.pm
File permissions and layout are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-App-Packager-1.430.1-2.fc33.noarch.rpm | sort -f | uniq -c
      1 perl(:MODULE_COMPAT_5.30.1)
      1 perl(:VERSION) >= 5.10.1
      1 perl(Carp)
      1 perl(Exporter)
      1 perl(parent)
      1 perl(strict)
      1 perl(warnings)
      1 perl-generators
      1 perl-interpreter
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsZstd) <= 5.4.18-1
FIX: Do not run-require 'perl' and 'perl-generators'. They are not used at run-time.
FIX: Run-require 'perl(PAR)' (lib/App/Packager.pm:22). Or at least Recommend it as it is the only packager Fedora contains and it dies without it:

PAR_0=1 perl -Ilib -e 'use App::Packager'
Can't locate PAR.pm in @INC (you may need to install the PAR module) (@INC contains: lib /usr/local/lib64/perl5/5.30 /usr/local/share/perl5/5.30 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at lib/App/Packager.pm line 22.
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.

$ rpm -q --provides -p ../RPMS/noarch/perl-App-Packager-1.430.1-2.fc33.noarch.rpm | sort -f | uniq -c
      1 perl(App::Packager) = 1.430
      1 perl-App-Packager = 1.430.1-2.fc33
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-App-Packager-1.430.1-2.fc33.noarch.rpm 
Binary dependencies are resolvable. Ok.

The package builds in Fedora 33 (https://koji.fedoraproject.org/koji/taskinfo?taskID=41935488). Ok.

Otherwise the package is in line with Fedora and Perl packaging guide lines.

Please correct the 'FIX' items, consider fixing the 'TODO' items and provide a new spec file.
Resolution: Package NOT approved.

Comment 2 Petr Pisar 2020-02-26 14:56:03 UTC
And I forgot, please remove the Group tag. It's obsolete and it should not be used.

Comment 3 Johan Vromans 2020-02-26 15:57:49 UTC
Thanks for the feedback. All FIX and TODO items have been addressed.

I did not add the requirement for perl(PAR), since the module runs fine without it. In fact, it is intended to be (also) used without being packaged. See description: "Supported packagers ... and unpackaged."

New SPEC: https://www.chordpro.org/fedora/perl-App-Packager.spec
New SRPM: https://www.chordpro.org/fedora/perl-App-Packager-1.430.1-3.fc31.src.rpm

Comment 4 Petr Pisar 2020-02-27 09:23:36 UTC
$ rpmlint perl-App-Packager.spec ../SRPMS/perl-App-Packager-1.430.1-3.fc33.src.rpm ../RPMS/noarch/perl-App-Packager-1.430.1-3.fc33.noarch.rpm 
sh: /usr/bin/python2: No such file or directory
perl-App-Packager.src: W: spelling-error %description -l en_US unpackaged -> unpack aged, unpack-aged, packaged
perl-App-Packager.noarch: W: spelling-error %description -l en_US unpackaged -> unpack aged, unpack-aged, packaged
2 packages and 1 specfiles checked; 0 errors, 2 warnings.
rpmlint is Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-App-Packager-1.430.1-3.fc33.noarch.rpm | sort -f | uniq -c
      1 perl(:MODULE_COMPAT_5.30.1)
      1 perl(:VERSION) >= 5.10.1
      1 perl(Carp)
      1 perl(Exporter)
      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(PayloadIsZstd) <= 5.4.18-1
Binary requires are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-App-Packager-1.430.1-3.fc33.noarch.rpm 
Binary dependencies are resolvable. Ok.

The package builds in F33 (https://koji.fedoraproject.org/koji/taskinfo?taskID=41963205). Ok.

Resolution: Package APPROVED.

Comment 5 Gwyn Ciesla 2020-02-27 14:33:22 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/perl-App-Packager

Comment 6 Fedora Update System 2020-02-28 07:56:47 UTC
FEDORA-2020-3c9e1f277c has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-3c9e1f277c

Comment 7 Fedora Update System 2020-02-29 03:11:31 UTC
perl-App-Packager-1.430.1-3.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-3c9e1f277c

Comment 8 Fedora Update System 2020-03-08 00:51:03 UTC
perl-App-Packager-1.430.1-3.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2020-03-16 20:17:02 UTC
perl-App-Packager-1.430.1-3.fc32 has been pushed to the Fedora 32 stable repository. If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2020-03-16 20:29:43 UTC
perl-App-Packager-1.430.1-3.fc32 has been pushed to the Fedora 32 stable repository. If problems still persist, please make note of it in this bug report.