Bug 1088856 - Review Request: perl-MouseX-Getopt - Mouse role for processing command line options
Summary: Review Request: perl-MouseX-Getopt - Mouse role for processing command line o...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1088741 1088931
TreeView+ depends on / blocked
 
Reported: 2014-04-17 10:25 UTC by Paul Howarth
Modified: 2014-04-26 09:20 UTC (History)
2 users (show)

Fixed In Version: perl-MouseX-Getopt-0.35-2.fc20
Clone Of:
Environment:
Last Closed: 2014-04-26 09:18:49 UTC
Type: ---
Embargoed:
ppisar: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Paul Howarth 2014-04-17 10:25:45 UTC
Spec URL: http://subversion.city-fan.org/repos/cfo-repo/perl-MouseX-Getopt/branches/fedora/perl-MouseX-Getopt.spec
SRPM URL: http://www.city-fan.org/~paul/extras/perl-MouseX-Getopt/perl-MouseX-Getopt-0.34-1.fc21.src.rpm

Description:
This is a Mouse role that provides an alternate constructor for creating
objects using parameters passed in from the command line.

Fedora Account System Username: pghmcfc

Comment 1 Petr Pisar 2014-04-17 11:19:22 UTC
Paul, there is a new upstream distribution mousex-getopt-0.35 <http://search.cpan.org/dist/mousex-getopt/>. Please use this one. The same author, newer release.

Comment 2 Petr Pisar 2014-04-17 11:20:36 UTC
(In reply to Petr Pisar from comment #1)
> Paul, there is a new upstream distribution mousex-getopt-0.35
> <http://search.cpan.org/dist/mousex-getopt/>. Please use this one. The same
> author, newer release.
And I'd like to see the package name to match the case: perl-mousex-getopt.

Comment 3 Paul Howarth 2014-04-17 12:01:58 UTC
This release was done by a different maintainer, using different tooling, and they even switched from ExtUtils::MakeMaker to Module::Build (and got the LICENSE text wrong in the process, as you noticed). Looking at  https://rt.cpan.org/Public/Bug/Display.html?id=93593 I believe that this is a hotfix release for that issue and I expect the case/tooling etc. to return to the original maintainer's style for the next release. Given that I'd expect people to look for this module in a package called perl-MouseX-Getopt rather than perl-mousex-getopt, I'd rather stick with the original name.

SRPM: http://www.city-fan.org/~paul/extras/perl-MouseX-Getopt/perl-MouseX-Getopt-0.35-1.fc21.src.rpm

Spec: http://subversion.city-fan.org/repos/cfo-repo/perl-MouseX-Getopt/branches/fedora/perl-MouseX-Getopt.spec

Comment 4 Petr Pisar 2014-04-17 13:15:43 UTC
The URL and Source0 is usable. Ok

Notice: The URL points to the original CPAN package.

Source archive is original (SHA-256: 5abe243a1ab05d64562358604de1d31d36994414c5c5eaeac688897129d2f9ae). Ok.
Summary is Ok.
Description verified from README. Ok.
License verified from lib/MouseX/Getopt.pm, README.md.

TODO: The LICENSE file content is wrong. I recommend either to add a comment with a link to the upstream bug, or not to package the file.

No XS code, noarch BuildArch is Ok.

Module::Build >= 0.38 is provided by all Fedoras (META.json:33). Unversioned `perl(Module::Build)' build-time dependency is Ok.

FIX: Require `perl(Mouse::Meta::Attribute)' (lib/MouseX/Getopt/Meta/Attribute.pm:7).
FIX: Build-require `perl(Scalar::Util)' (t/003_inferred_option_type.t:17).

All tests pass. Ok.

$ rpmlint perl-MouseX-Getopt.spec ../SRPMS/perl-MouseX-Getopt-0.35-1.fc21.src.rpm ../RPMS/noarch/perl-MouseX-Getopt-0.35-1.fc21.noarch.rpm 
2 packages and 1 specfiles checked; 0 errors, 0 warnings.
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/noarch/perl-MouseX-Getopt-0.35-1.fc21.noarch.rpm 
drwxr-xr-x    2 root    root                        0 Apr 17 14:50 /usr/share/doc/perl-MouseX-Getopt
-rw-r--r--    1 root    root                     8957 Mar 10 08:02 /usr/share/doc/perl-MouseX-Getopt/Changes
-rw-r--r--    1 root    root                       36 Mar 10 08:02 /usr/share/doc/perl-MouseX-Getopt/LICENSE
-rw-r--r--    1 root    root                     8761 Mar 10 08:02 /usr/share/doc/perl-MouseX-Getopt/README.md
-r--r--r--    1 root    root                     4970 Apr 17 14:50 /usr/share/man/man3/MouseX::Getopt.3pm.gz
-r--r--r--    1 root    root                     2167 Apr 17 14:50 /usr/share/man/man3/MouseX::Getopt::Basic.3pm.gz
-r--r--r--    1 root    root                     2197 Apr 17 14:50 /usr/share/man/man3/MouseX::Getopt::Dashes.3pm.gz
-r--r--r--    1 root    root                     2029 Apr 17 14:50 /usr/share/man/man3/MouseX::Getopt::GLD.3pm.gz
-r--r--r--    1 root    root                     2488 Apr 17 14:50 /usr/share/man/man3/MouseX::Getopt::Meta::Attribute.3pm.gz
-r--r--r--    1 root    root                     2083 Apr 17 14:50 /usr/share/man/man3/MouseX::Getopt::Meta::Attribute::NoGetopt.3pm.gz
-r--r--r--    1 root    root                     2322 Apr 17 14:50 /usr/share/man/man3/MouseX::Getopt::Meta::Attribute::Trait.3pm.gz
-r--r--r--    1 root    root                     2105 Apr 17 14:50 /usr/share/man/man3/MouseX::Getopt::Meta::Attribute::Trait::NoGetopt.3pm.gz
-r--r--r--    1 root    root                     1973 Apr 17 14:50 /usr/share/man/man3/MouseX::Getopt::OptionTypeMap.3pm.gz
-r--r--r--    1 root    root                     1916 Apr 17 14:50 /usr/share/man/man3/MouseX::Getopt::Strict.3pm.gz
drwxr-xr-x    2 root    root                        0 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX
drwxr-xr-x    2 root    root                        0 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt
-r--r--r--    1 root    root                     8012 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt.pm
-r--r--r--    1 root    root                     7572 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt/Basic.pm
-r--r--r--    1 root    root                     1395 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt/Dashes.pm
-r--r--r--    1 root    root                     2377 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt/GLD.pm
drwxr-xr-x    2 root    root                        0 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt/Meta
drwxr-xr-x    2 root    root                        0 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt/Meta/Attribute
-r--r--r--    1 root    root                     2063 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt/Meta/Attribute.pm
-r--r--r--    1 root    root                     1015 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt/Meta/Attribute/NoGetopt.pm
drwxr-xr-x    2 root    root                        0 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt/Meta/Attribute/Trait
-r--r--r--    1 root    root                     2117 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt/Meta/Attribute/Trait.pm
-r--r--r--    1 root    root                      942 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt/Meta/Attribute/Trait/NoGetopt.pm
-r--r--r--    1 root    root                     2263 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt/OptionTypeMap.pm
-r--r--r--    1 root    root                      578 Apr 17 14:50 /usr/share/perl5/vendor_perl/MouseX/Getopt/Strict.pm
File layout and permissions are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-MouseX-Getopt-0.35-1.fc21.noarch.rpm | sort | uniq -c
      1 perl(Carp)
      1 perl(Getopt::Long) >= 2.37
      1 perl(Getopt::Long::Descriptive) >= 0.081
      1 perl(:MODULE_COMPAT_5.18.2)
      1 perl(Mouse)
      1 perl(Mouse::Role)
      1 perl(Mouse::Util::TypeConstraints)
      1 perl(MouseX::Getopt::Meta::Attribute)
      1 perl(MouseX::Getopt::Meta::Attribute::NoGetopt)
      1 perl(MouseX::Getopt::OptionTypeMap)
      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
TODO: Run-require versioned `perl(Mouse) >= 0.64'.
FIX: Run-require `perl(Mouse::Meta::Attribute)' (lib/MouseX/Getopt/Meta/Attribute.pm:7).

$ rpm -q --provides -p ../RPMS/noarch/perl-MouseX-Getopt-0.35-1.fc21.noarch.rpm | sort | uniq -c
      1 perl(MouseX::Getopt)
      1 perl-MouseX-Getopt = 0.35-1.fc21
      1 perl(MouseX::Getopt::Basic)
      1 perl(MouseX::Getopt::Dashes)
      1 perl(MouseX::Getopt::GLD)
      1 perl(MouseX::Getopt::Meta::Attribute)
      1 perl(MouseX::Getopt::Meta::Attribute::NoGetopt)
      1 perl(MouseX::Getopt::Meta::Attribute::Trait)
      1 perl(MouseX::Getopt::Meta::Attribute::Trait::NoGetopt)
      1 perl(MouseX::Getopt::OptionTypeMap)
      1 perl(MouseX::Getopt::Strict)
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-MouseX-Getopt-0.35-1.fc21.noarch.rpm 
Binary dependencies resolvable. Ok.

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

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

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

Comment 6 Petr Pisar 2014-04-17 14:20:36 UTC
Spec file changes:

--- perl-MouseX-Getopt.spec.old 2014-04-17 13:54:14.000000000 +0200
+++ perl-MouseX-Getopt.spec     2014-04-17 15:56:03.000000000 +0200
@@ -1,9 +1,11 @@
 Name:          perl-MouseX-Getopt
 Summary:       Mouse role for processing command line options
 Version:       0.35
-Release:       1%{?dist}
+Release:       2%{?dist}
 License:       GPL+ or Artistic
-URL:           http://search.cpan.org/dist/MouseX-Getopt/
+# Hotfix release with different case, expected to revert to normal in subsequent releases
+#URL:          http://search.cpan.org/dist/MouseX-Getopt/
+URL:           http://search.cpan.org/dist/mousex-getopt/
 Source0:       http://search.cpan.org/CPAN/authors/id/T/TO/TOKUHIROM/mousex-getopt-%{version}.tar.gz
 BuildArch:     noarch
 # Module Build
@@ -12,7 +14,7 @@
 BuildRequires: perl(CPAN::Meta::Prereqs)
 BuildRequires: perl(File::Basename)
 BuildRequires: perl(File::Spec)
-BuildRequires: perl(Module::Build)
+BuildRequires: perl(Module::Build) >= 0.38
 BuildRequires: perl(strict)
 BuildRequires: perl(utf8)
 BuildRequires: perl(warnings)
@@ -21,10 +23,12 @@
 BuildRequires: perl(Getopt::Long) >= 2.37
 BuildRequires: perl(Getopt::Long::Descriptive) >= 0.081
 BuildRequires: perl(Mouse) >= 0.64
+BuildRequires: perl(Mouse::Meta::Attribute)
 BuildRequires: perl(Mouse::Role)
 BuildRequires: perl(Mouse::Util::TypeConstraints)
 # Test Suite
 BuildRequires: perl(Mouse::Meta::Class)
+BuildRequires: perl(Scalar::Util)
 BuildRequires: perl(Test::Exception) >= 0.21
 BuildRequires: perl(Test::More) >= 0.88
 BuildRequires: perl(Test::Mouse)
@@ -37,6 +41,11 @@
 %endif
 # Runtime
 Requires:      perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
+Requires:      perl(Mouse) >= 0.64
+Requires:      perl(Mouse::Meta::Attribute)
+
+# Filter under-specified dependency
+%global __requires_exclude ^perl\\(Mouse\\)$

 %description
 This is a Mouse role that provides an alternate constructor for creating
@@ -56,7 +65,9 @@
 ./Build test

 %files
-%doc Changes LICENSE README.md
+# Note: malformed LICENSE file in 0.35 not shipped
+# https://github.com/gfx/mousex-getopt/issues/2
+%doc Changes README.md
 %{perl_vendorlib}/MouseX/
 %{_mandir}/man3/MouseX::Getopt.3*
 %{_mandir}/man3/MouseX::Getopt::Basic.3*
@@ -70,6 +81,16 @@
 %{_mandir}/man3/MouseX::Getopt::Strict.3*

 %changelog
+* Thu Apr 17 2014 Paul Howarth <paul> - 0.35-2
+- Incorporate feedback from package review (#1088856)
+  - Don't ship bogus LICENSE file
+    (https://github.com/gfx/mousex-getopt/issues/2)
+  - Make upstream URL refer to current release
+  - Upstream wants Module::Build ≥ 0.38
+  - BR:/R: perl(Mouse::Meta::Attribute)
+  - BR: perl(Scalar::Util) for test suite
+  - R: perl(Mouse) ≥ 0.64
+
 * Thu Apr 17 2014 Paul Howarth <paul> - 0.35-1
 - Update to 0.35
   - GLD 0.097 no longer defaults to no_ignore_case (CPAN RT#93593)

> TODO: The LICENSE file content is wrong. I recommend either to add a comment
> with a link to the upstream bug, or not to package the file.
-%doc Changes LICENSE README.md
+# Note: malformed LICENSE file in 0.35 not shipped
+# https://github.com/gfx/mousex-getopt/issues/2
+%doc Changes README.md
Ok.

> FIX: Require `perl(Mouse::Meta::Attribute)' (lib/MouseX/Getopt/Meta/Attribute.pm:7).

> FIX: Build-require `perl(Scalar::Util)' (t/003_inferred_option_type.t:17).
+BuildRequires: perl(Mouse::Meta::Attribute)
Ok.

> TODO: Run-require versioned `perl(Mouse) >= 0.64'.
> FIX: Run-require `perl(Mouse::Meta::Attribute)' (lib/MouseX/Getopt/Meta/Attribute.pm:7).
$ rpm -q --requires -p ../RPMS/noarch/perl-MouseX-Getopt-0.35-2.fc21.noarch.rpm | sort | uniq -c
      1 perl(Carp)
      1 perl(Getopt::Long) >= 2.37
      1 perl(Getopt::Long::Descriptive) >= 0.081
      1 perl(:MODULE_COMPAT_5.18.2)
      1 perl(Mouse) >= 0.64
      1 perl(Mouse::Meta::Attribute)
      1 perl(Mouse::Role)
      1 perl(Mouse::Util::TypeConstraints)
      1 perl(MouseX::Getopt::Meta::Attribute)
      1 perl(MouseX::Getopt::Meta::Attribute::NoGetopt)
      1 perl(MouseX::Getopt::OptionTypeMap)
      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
Ok.

$ rpmlint perl-MouseX-Getopt.spec ../SRPMS/perl-MouseX-Getopt-0.35-2.fc21.src.rpm ../RPMS/noarch/perl-MouseX-Getopt-0.35-2.fc21.noarch.rpm 
2 packages and 1 specfiles checked; 0 errors, 0 warnings.
rpmlint is Ok.

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

Resolution: Package APPROVED.

Comment 7 Paul Howarth 2014-04-17 14:32:08 UTC
New Package SCM Request
=======================
Package Name: perl-MouseX-Getopt
Short Description: Mouse role for processing command line options
Owners: pghmcfc
Branches: f19 f20 epel7
InitialCC: perl-sig

Thanks for the review Petr.

Comment 8 Gwyn Ciesla 2014-04-17 16:25:59 UTC
Git done (by process-git-requests).

Comment 9 Fedora Update System 2014-04-17 21:25:53 UTC
perl-MouseX-Getopt-0.35-2.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/perl-MouseX-Getopt-0.35-2.fc19

Comment 10 Fedora Update System 2014-04-17 21:26:00 UTC
perl-MouseX-Getopt-0.35-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/perl-MouseX-Getopt-0.35-2.fc20

Comment 11 Fedora Update System 2014-04-18 15:40:10 UTC
perl-MouseX-Getopt-0.35-2.fc20 has been pushed to the Fedora 20 testing repository.

Comment 12 Fedora Update System 2014-04-26 09:18:49 UTC
perl-MouseX-Getopt-0.35-2.fc19 has been pushed to the Fedora 19 stable repository.

Comment 13 Fedora Update System 2014-04-26 09:20:45 UTC
perl-MouseX-Getopt-0.35-2.fc20 has been pushed to the Fedora 20 stable repository.


Note You need to log in before you can comment on or make changes to this bug.