Bug 929254 - Review Request: perl-Module-CPANfile - Parse cpanfile
Summary: Review Request: perl-Module-CPANfile - Parse cpanfile
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 907464
TreeView+ depends on / blocked
 
Reported: 2013-03-29 15:34 UTC by Marcela Mašláňová
Modified: 2013-09-10 06:41 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-09-10 06:41:04 UTC
Type: Bug
Embargoed:
ppisar: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Marcela Mašláňová 2013-03-29 15:34:39 UTC
SPEC: http://mmaslano.fedorapeople.org/review/perl-Module-CPANfile.spec
SRPM: http://mmaslano.fedorapeople.org/review/perl-Module-CPANfile-0.9025-1.fc19.src.rpm
Description: Module::CPANfile is a tool to handle cpanfile format to load application specific dependencies, not just for CPAN distributions.

Comment 1 Petr Pisar 2013-04-02 09:14:33 UTC
Standalone spec file differs from the bundled in SRPM. Also there is more recent release on CPAN. Please upgrade the package and provide new SPEC and SRPM files.

Comment 2 Marcela Mašláňová 2013-08-27 10:43:38 UTC
SPEC: http://mmaslano.fedorapeople.org/review/perl-Module-CPANfile.spec
SRPM: http://mmaslano.fedorapeople.org/review/perl-Module-CPANfile-1.0001-1.fc19.src.rpm

Not sure about these BR. Is it needed to mention all of them?
BuildRequires:  perl(CPAN::Meta) >= 2.12091
BuildRequires:  perl(CPAN::Meta::Prereqs) >= 2.12091
BuildRequires:  perl(CPAN::Meta::Feature) >= 2.12091

Comment 3 Christopher Meng 2013-08-27 10:51:56 UTC
Remove

1. find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;

2. cpanfile dist.ini META.json in %doc;

Comment 4 Petr Pisar 2013-08-27 11:54:33 UTC
URL and Source0 are usable. Ok.
Source tar ball is original (SHA-256: 2db8c97914025349bf9bb31deae0131dec53d895a5bf00f10c72a4ba75996e71). Ok.
Summary verified from lib/Module/CPANfile.pm. Ok.
Description verified from lib/Module/CPANfile.pm. Ok.
License verified from LICENSE. Ok.
No XS code, noarch BuildArch is Ok.

TODO: You can use plain `perl' instead of macro `%{__perl}'.
TODO: You can remove deleting empty directories in the %install section. These are not created anymore.

TODO: Do not package cpanfile, dist.ini. They do not contain any data relevant to an user. META.json is questionable. It lists all contributors and git repository link.

TODO: Constrain `perl(ExtUtils::MakeMaker)' build-dependency with `>= 6.30' (Makefile.PL:7).
TODO: Build-require `perl(strict)' (Makefile.PL:2).
TODO: Build-require `perl(warnings)' (Makefile.PL:3).

FIX: Build-require `perl(Data::Dumper)' (lib/Module/CPANfile.pm:115).

TODO: Build-require `perl(base)' (t/Utils.pm:2).

FIX: Do not build-require `perl(Pod::Usage)'. It's not needed at build-time.

Test::Pod is not used. Ok.

> Not sure about these BR. Is it needed to mention all of them?
> BuildRequires:  perl(CPAN::Meta) >= 2.12091
> BuildRequires:  perl(CPAN::Meta::Prereqs) >= 2.12091
> BuildRequires:  perl(CPAN::Meta::Feature) >= 2.12091
>
All of them are need while running tests (lib/Module/CPANfile.pm:100, lib/Module/CPANfile.pm:74, lib/Module/CPANfile.pm:63).

All tests pass. Ok.

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

$ rpm -q -lv -p ../RPMS/noarch/perl-Module-CPANfile-1.0001-1.fc21.noarch.rpm 
-rwxr-xr-x    1 root    root                     2858 Aug 27 13:43 /usr/bin/mymeta-cpanfile
drwxr-xr-x    2 root    root                        0 Aug 27 13:43 /usr/share/doc/perl-Module-CPANfile
-rw-r--r--    1 root    root                     3223 Aug  5 23:24 /usr/share/doc/perl-Module-CPANfile/Changes
-rw-r--r--    1 root    root                    18365 Aug  5 23:24 /usr/share/doc/perl-Module-CPANfile/LICENSE
-rw-r--r--    1 root    root                     1771 Aug  5 23:24 /usr/share/doc/perl-Module-CPANfile/META.json
-rw-r--r--    1 root    root                     3717 Aug  5 23:24 /usr/share/doc/perl-Module-CPANfile/README
-rw-r--r--    1 root    root                      153 Aug  5 23:24 /usr/share/doc/perl-Module-CPANfile/cpanfile
-rw-r--r--    1 root    root                       55 Aug  5 23:24 /usr/share/doc/perl-Module-CPANfile/dist.ini
-rw-r--r--    1 root    root                     2523 Aug 27 13:43 /usr/share/man/man1/mymeta-cpanfile.1.gz
-rw-r--r--    1 root    root                     3123 Aug 27 13:43 /usr/share/man/man3/Module::CPANfile.3pm.gz
-rw-r--r--    1 root    root                     3745 Aug 27 13:43 /usr/share/man/man3/cpanfile-faq.3pm.gz
-rw-r--r--    1 root    root                     3209 Aug 27 13:43 /usr/share/man/man3/cpanfile.3pm.gz
drwxr-xr-x    2 root    root                        0 Aug 27 13:43 /usr/share/perl5/vendor_perl/Module
drwxr-xr-x    2 root    root                        0 Aug 27 13:43 /usr/share/perl5/vendor_perl/Module/CPANfile
-rw-r--r--    1 root    root                     7487 Aug  5 23:24 /usr/share/perl5/vendor_perl/Module/CPANfile.pm
-rw-r--r--    1 root    root                     1057 Aug  5 23:24 /usr/share/perl5/vendor_perl/Module/CPANfile/Environment.pm
-rw-r--r--    1 root    root                     2248 Aug  5 23:24 /usr/share/perl5/vendor_perl/Module/CPANfile/Result.pm
-rw-r--r--    1 root    root                     4363 Aug  5 23:24 /usr/share/perl5/vendor_perl/cpanfile-faq.pod
-rw-r--r--    1 root    root                     3219 Aug  5 23:24 /usr/share/perl5/vendor_perl/cpanfile.pod
File layout and permissions are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-Module-CPANfile-1.0001-1.fc21.noarch.rpm | sort | uniq -c
      1 /usr/bin/perl
      1 perl(:MODULE_COMPAT_5.18.1)
      1 perl(CPAN::Meta)
      1 perl(CPAN::Meta::Prereqs) >= 2.12091
      1 perl(Carp)
      1 perl(Cwd)
      1 perl(Getopt::Long)
      1 perl(Module::CPANfile)
      1 perl(Module::CPANfile::Environment)
      1 perl(Module::CPANfile::Result)
      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
FIX: Constrain `perl(CPAN::Meta)' run-dependency with `>= 2.12091'.
FIX: Run-require `perl(CPAN::Meta::Feature) >= 2.12091' (lib/Module/CPANfile.pm:63).
FIX: Run-require `perl(Data::Dumper)' (lib/Module/CPANfile.pm:115).
FIX: Run-require `perl(Pod::Usage)' (script/mymeta-cpanfile:20).

$ rpm -q --provides -p ../RPMS/noarch/perl-Module-CPANfile-1.0001-1.fc21.noarch.rpm | sort | uniq -c
      1 perl(Module::CPANfile) = 1.0001
      1 perl(Module::CPANfile::Environment)
      1 perl(Module::CPANfile::Result)
      1 perl-Module-CPANfile = 1.0001-1.fc21
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-Module-CPANfile-1.0001-1.fc21.noarch.rpm 
Binary dependencies resolvable. Ok.

Package builds in F21 (http://koji.fedoraproject.org/koji/taskinfo?taskID=5859385). 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 5 Marcela Mašláňová 2013-08-27 14:46:24 UTC
SPEC: http://mmaslano.fedorapeople.org/review/perl-Module-CPANfile.spec
SRPM: http://mmaslano.fedorapeople.org/review/perl-Module-CPANfile-1.0001-2.fc19.src.rpm

You are right, I've changed everything mentioned.

Comment 6 Petr Pisar 2013-08-30 11:21:41 UTC
Spec file changes:

--- perl-Module-CPANfile.spec   2013-08-27 12:38:33.000000000 +0200
+++ perl-Module-CPANfile.spec.1 2013-08-27 16:43:42.000000000 +0200
@@ -1,27 +1,38 @@
 Name:           perl-Module-CPANfile
 Version:        1.0001
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Parse cpanfile
 License:        GPL+ or Artistic
 Group:          Development/Libraries
 URL:            http://search.cpan.org/dist/Module-CPANfile/
 Source0:        http://www.cpan.org/authors/id/M/MI/MIYAGAWA/Module-CPANfile-%{version}.tar.gz
 BuildArch:      noarch
+BuildRequires:  perl
+BuildRequires:  perl(base)
 BuildRequires:  perl(Carp)
 BuildRequires:  perl(Cwd)
 BuildRequires:  perl(CPAN::Meta) >= 2.12091
 BuildRequires:  perl(CPAN::Meta::Prereqs) >= 2.12091
 BuildRequires:  perl(CPAN::Meta::Feature) >= 2.12091
-BuildRequires:  perl(ExtUtils::MakeMaker)
+BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.30
+BuildRequires:  perl(strict)
+BuildRequires:  perl(warnings)
 # tests
 BuildRequires:  perl(Exporter)
 BuildRequires:  perl(POSIX)
 BuildRequires:  perl(Test::More) >= 0.88
 BuildRequires:  perl(Pod::Usage)

+Requires:       perl(CPAN::Meta) >= 2.12091
 Requires:       perl(CPAN::Meta::Prereqs) >= 2.12091
+Requires:       perl(CPAN::Meta::Feature) >= 2.12091
+Requires:       perl(Data::Dumper)
+Requires:       perl(Pod::Usage)
 Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))

+%?perl_default_filter
+%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}perl\\(CPAN::Meta\\)$
+
 %description
 Module::CPANfile is a tool to handle cpanfile format to load application
 specific dependencies, not just for CPAN distributions.
@@ -30,14 +41,13 @@
 %setup -q -n Module-CPANfile-%{version}

 %build
-%{__perl} Makefile.PL INSTALLDIRS=vendor
+perl Makefile.PL INSTALLDIRS=vendor
 make %{?_smp_mflags}

 %install
 make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT

 find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \;
-find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;

 %{_fixperms} $RPM_BUILD_ROOT/*

@@ -45,12 +55,15 @@
 make test

 %files
-%doc Changes cpanfile dist.ini LICENSE META.json README
+%doc Changes LICENSE README
 %{_bindir}/mymeta-cpanfile
 %{perl_vendorlib}/*
 %{_mandir}/man1/mymeta-cpanfile*
 %{_mandir}/man3/*

 %changelog
+* Tue Aug 27 2013 Marcela Mašláňová <mmaslano> 1.0001-2
+- fix all problems found in review rhbz#929254
+
 * Tue Aug 27 2013 Marcela Mašláňová <mmaslano> 1.0001-1
 - Specfile autogenerated by cpanspec 1.78.


> TODO: You can use plain `perl' instead of macro `%{__perl}'.
TODO: You can do that same at perl(:MODULE_COMPAT) definition.

> TODO: You can remove deleting empty directories in the %install section.
> These are not created anymore.
-find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
Ok.

> TODO: Do not package cpanfile, dist.ini. They do not contain any data relevant
> to an user. META.json is questionable. It lists all contributors and git
> repository link.
-%doc Changes cpanfile dist.ini LICENSE META.json README
+%doc Changes LICENSE README
Ok.

> TODO: Constrain `perl(ExtUtils::MakeMaker)' build-dependency with `>= 6.30'
> (Makefile.PL:7).
-BuildRequires:  perl(ExtUtils::MakeMaker)
+BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.30
Ok.

> TODO: Build-require `perl(strict)' (Makefile.PL:2).
+BuildRequires:  perl(strict)
Ok.

> TODO: Build-require `perl(warnings)' (Makefile.PL:3).
+BuildRequires:  perl(warnings)
Ok.

> FIX: Build-require `perl(Data::Dumper)' (lib/Module/CPANfile.pm:115).
FIX: still issue.

> TODO: Build-require `perl(base)' (t/Utils.pm:2).
+BuildRequires:  perl(base)
Ok.

> FIX: Do not build-require `perl(Pod::Usage)'. It's not needed at build-time.
FIX: still issue.

> FIX: Constrain `perl(CPAN::Meta)' run-dependency with `>= 2.12091'.
+Requires:       perl(CPAN::Meta) >= 2.12091
Ok.

> FIX: Run-require `perl(CPAN::Meta::Feature) >= 2.12091'
> (lib/Module/CPANfile.pm:63).
+Requires:       perl(CPAN::Meta::Feature) >= 2.12091
Ok.

> FIX: Run-require `perl(Data::Dumper)' (lib/Module/CPANfile.pm:115).
+Requires:       perl(Data::Dumper)
Ok.

> FIX: Run-require `perl(Pod::Usage)' (script/mymeta-cpanfile:20).
+Requires:       perl(Pod::Usage)
Ok.

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

$ rpm -q --requires -p ../RPMS/noarch/perl-Module-CPANfile-1.0001-2.fc21.noarch.rpm | sort | uniq -c
      1 /usr/bin/perl
      1 perl(:MODULE_COMPAT_5.18.1)
      1 perl(CPAN::Meta) >= 2.12091
      1 perl(CPAN::Meta::Feature) >= 2.12091
      1 perl(CPAN::Meta::Prereqs) >= 2.12091
      1 perl(Carp)
      1 perl(Cwd)
      1 perl(Data::Dumper)
      1 perl(Getopt::Long)
      1 perl(Module::CPANfile)
      1 perl(Module::CPANfile::Environment)
      1 perl(Module::CPANfile::Result)
      1 perl(Pod::Usage)
      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
Binary requires are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-Module-CPANfile-1.0001-2.fc21.noarch.rpm 
Binary dependencies resolvable. Ok.

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

Please correct all `FIX' issues, consider fixing `TODO' items, and provide new spec file.

Resolution: Package NOT approved.

Comment 8 Petr Pisar 2013-09-02 05:56:07 UTC
Spec file changes:
--- perl-Module-CPANfile.spec   2013-08-27 16:43:42.000000000 +0200
+++ perl-Module-CPANfile.spec.1 2013-08-30 15:53:23.000000000 +0200
@@ -1,6 +1,6 @@
 Name:           perl-Module-CPANfile
 Version:        1.0001
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        Parse cpanfile
 License:        GPL+ or Artistic
 Group:          Development/Libraries
@@ -14,6 +14,7 @@
 BuildRequires:  perl(CPAN::Meta) >= 2.12091
 BuildRequires:  perl(CPAN::Meta::Prereqs) >= 2.12091
 BuildRequires:  perl(CPAN::Meta::Feature) >= 2.12091
+BuildRequires:  perl(Data::Dumper)
 BuildRequires:  perl(ExtUtils::MakeMaker) >= 6.30
 BuildRequires:  perl(strict)
 BuildRequires:  perl(warnings)
@@ -21,14 +22,13 @@
 BuildRequires:  perl(Exporter)
 BuildRequires:  perl(POSIX)
 BuildRequires:  perl(Test::More) >= 0.88
-BuildRequires:  perl(Pod::Usage)

 Requires:       perl(CPAN::Meta) >= 2.12091
 Requires:       perl(CPAN::Meta::Prereqs) >= 2.12091
 Requires:       perl(CPAN::Meta::Feature) >= 2.12091
 Requires:       perl(Data::Dumper)
 Requires:       perl(Pod::Usage)
-Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))

 %?perl_default_filter
 %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}perl\\(CPAN::Meta\\)$
@@ -62,6 +62,9 @@
 %{_mandir}/man3/*

 %changelog
+* Fri Aug 30 2013 Marcela Mašláňová <mmaslano> 1.0001-3
+- fix all problems found in review rhbz#929254
+
 * Tue Aug 27 2013 Marcela Mašláňová <mmaslano> 1.0001-2
 - fix all problems found in review rhbz#929254


> > TODO: You can use plain `perl' instead of macro `%{__perl}'.
> TODO: You can do that same at perl(:MODULE_COMPAT) definition.
-Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Ok.

> > FIX: Build-require `perl(Data::Dumper)' (lib/Module/CPANfile.pm:115).
> FIX: still issue.
+BuildRequires:  perl(Data::Dumper)
Ok.

> > FIX: Do not build-require `perl(Pod::Usage)'. It's not needed at build-time.
> FIX: still issue.
-BuildRequires:  perl(Pod::Usage)
Ok.

$ rpmlint perl-Module-CPANfile.spec ../SRPMS/perl-Module-CPANfile-1.0001-3.fc21.src.rpm ../RPMS/noarch/perl-Module-CPANfile-1.0001-3.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=5880768). Ok.

Package is good.
Resolution: Package APPROVED.

Comment 9 Marcela Mašláňová 2013-09-03 11:56:13 UTC
New Package SCM Request
=======================
Package Name: perl-Module-CPANfile
Short Description: Parse cpanfile
Owners: mmaslano jplesnik psabata ppisar
Branches: 
InitialCC: perl-sig

Comment 10 Gwyn Ciesla 2013-09-03 12:15:56 UTC
Git done (by process-git-requests).


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