Bug 820970 - Review Request: perl-Task-Moose - Task::Moose install Moose and Moose extensions
Review Request: perl-Task-Moose - Task::Moose install Moose and Moose extensions
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Petr Pisar
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-05-11 09:09 EDT by Jitka Plesnikova
Modified: 2012-05-15 09:33 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-05-15 09:33:12 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
ppisar: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Jitka Plesnikova 2012-05-11 09:09:21 EDT
Spec URL: http://jplesnik.fedorapeople.org/perl-Task-Moose.spec
SRPM URL: http://jplesnik.fedorapeople.org/perl-Task-Moose-0.03-1.fc18.src.rpm
Description: This Task installs Moose and then optionally installs a number of Moose extensions.
Comment 1 Petr Pisar 2012-05-14 07:11:14 EDT
Source tar ball is original. Ok.
URL and Source0 are usable. Ok.

FIX: Title of this bug report does not match summary of the package.

Summary verified from lib/Task/Moose.pm.
License verified from lib/Task/Moose.pm.

FIX: The description refers to a list of module which is not listed. List them too or remove the confusing sentence.
FIX: The description states it installs something _optionally_. RPM does not support optional dependencies. You need yo make all listed modules (build-)requires.

No XS code, noarch BuildArch is Ok.

TODO: Constrain perl(inc::Module::Install) with >= 0.75 version. EPEL still provides older version.

FIX: Package does not build. The generated Makefile is interactive.
Comment 2 Jitka Plesnikova 2012-05-14 10:00:49 EDT
Fixed.
Comment 3 Petr Pisar 2012-05-14 10:44:57 EDT
Spec file changes:

--- perl-Task-Moose.spec.old    2012-05-11 14:22:26.000000000 +0200
+++ perl-Task-Moose.spec        2012-05-14 15:58:46.000000000 +0200
@@ -7,17 +7,108 @@
 URL:            http://search.cpan.org/dist/Task-Moose/
 Source0:        http://www.cpan.org/authors/id/D/DO/DOY/Task-Moose-%{version}.tar.gz
 BuildArch:      noarch
-BuildRequires:  perl(inc::Module::Install)
-BuildRequires:  perl(ExtUtils::MakeMaker)
+
+
+BuildRequires:  perl(inc::Module::Install) >= 0.75
+# Moose and Moose extentions are listed in Makefile.PL
 BuildRequires:  perl(Moose) >= 0.92
+BuildRequires:  perl(MooseX::StrictConstructor) >= 0.08
+BuildRequires:  perl(MooseX::Params::Validate) >= 0.06
+BuildRequires:  perl(MooseX::Role::TraitConstructor)
+BuildRequires:  perl(MooseX::Traits)
+BuildRequires:  perl(MooseX::Object::Pluggable)
+BuildRequires:  perl(MooseX::Role::Parameterized)
+BuildRequires:  perl(MooseX::GlobRef)
+BuildRequires:  perl(MooseX::InsideOut)
+BuildRequires:  perl(MooseX::Singleton) >= 0.20
+BuildRequires:  perl(MooseX::NonMoose) >= 0.06
+BuildRequires:  perl(MooseX::Declare)
+BuildRequires:  perl(MooseX::Method::Signatures)
+BuildRequires:  perl(MooseX::Types) >= 0.20
+BuildRequires:  perl(MooseX::Types::Structured)
+BuildRequires:  perl(MooseX::Types::Path::Class)
+BuildRequires:  perl(MooseX::Types::Set::Object)
+BuildRequires:  perl(MooseX::Types::DateTime)
+BuildRequires:  perl(MooseX::Getopt)
+BuildRequires:  perl(MooseX::ConfigFromFile)
+BuildRequires:  perl(MooseX::SimpleConfig)
+BuildRequires:  perl(MooseX::App::Cmd)
+BuildRequires:  perl(MooseX::Role::Cmd)
+BuildRequires:  perl(MooseX::LogDispatch)
+BuildRequires:  perl(MooseX::LazyLogDispatch)
+BuildRequires:  perl(MooseX::Log::Log4perl)
+BuildRequires:  perl(MooseX::POE)
+BuildRequires:  perl(MooseX::Workers)
+BuildRequires:  perl(MooseX::Daemonize)
+BuildRequires:  perl(MooseX::Param)
+BuildRequires:  perl(MooseX::Iterator)
+BuildRequires:  perl(MooseX::Clone)
+BuildRequires:  perl(MooseX::Storage)
+BuildRequires:  perl(Moose::Autobox)
+BuildRequires:  perl(MooseX::ClassAttribute)
+BuildRequires:  perl(MooseX::SemiAffordanceAccessor)
+BuildRequires:  perl(namespace::autoclean) >= 0.09
+BuildRequires:  perl(Pod::Coverage::Moose)
+# Listed on Task::Moose man page
+BuildRequires:  perl(TryCatch)
+# Tests
 BuildRequires:  perl(Test::More)
+
 Requires:       perl(Moose) >= 0.92
+# Make Moose Stricter
+Requires:       perl(MooseX::StrictConstructor) >= 0.08
+Requires:       perl(MooseX::Params::Validate) >= 0.06
+# Traits / Roles
+Requires:       perl(MooseX::Role::TraitConstructor)
+Requires:       perl(MooseX::Traits)
+Requires:       perl(MooseX::Object::Pluggable)
+Requires:       perl(MooseX::Role::Parameterized)
+# Instance Types
+Requires:       perl(MooseX::GlobRef)
+Requires:       perl(MooseX::InsideOut)
+Requires:       perl(MooseX::Singleton) >= 0.20
+Requires:       perl(MooseX::NonMoose) >= 0.06
+# Declarative Syntax
+Requires:       perl(MooseX::Declare)
+Requires:       perl(MooseX::Method::Signatures)
+Requires:       perl(TryCatch)
+# Types
+Requires:       perl(MooseX::Types) >= 0.20
+Requires:       perl(MooseX::Types::Structured)
+Requires:       perl(MooseX::Types::Path::Class)
+Requires:       perl(MooseX::Types::Set::Object)
+Requires:       perl(MooseX::Types::DateTime)
+# Command Line Integration
+Requires:       perl(MooseX::Getopt)
+Requires:       perl(MooseX::ConfigFromFile)
+Requires:       perl(MooseX::SimpleConfig)
+Requires:       perl(MooseX::App::Cmd)
+Requires:       perl(MooseX::Role::Cmd)
+# Logging
+Requires:       perl(MooseX::LogDispatch)
+Requires:       perl(MooseX::LazyLogDispatch)
+Requires:       perl(MooseX::Log::Log4perl)
+# Async
+Requires:       perl(MooseX::POE)
+Requires:       perl(MooseX::Workers)
+# Utility Roles
+Requires:       perl(MooseX::Daemonize)
+Requires:       perl(MooseX::Param)
+Requires:       perl(MooseX::Iterator)
+Requires:       perl(MooseX::Clone)
+Requires:       perl(MooseX::Storage)
+# Other Useful Extensions
+Requires:       perl(Moose::Autobox)
+Requires:       perl(MooseX::ClassAttribute)
+Requires:       perl(MooseX::SemiAffordanceAccessor)
+Requires:       perl(namespace::autoclean) >= 0.09
+# Utilities
+Requires:       perl(Pod::Coverage::Moose)
+
 Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))

 %description
-This Task installs Moose and then optionally installs a number of Moose
-extensions listed below. This list is meant to be comprehensive, so if I
-missed something please let me know.
+This Task installs Moose and a number of Moose extensions.

 %prep
 %setup -q -n Task-Moose-%{version}
@@ -26,11 +117,11 @@
 find -type f -exec chmod -x {} +

 %build
-%{__perl} Makefile.PL INSTALLDIRS=vendor
+%{__perl} Makefile.PL INSTALLDIRS=vendor </dev/null
 make %{?_smp_mflags}

 %install
-make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
+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/*


> FIX: Title of this bug report does not match summary of the package.
I though thought the last part of the title should be the string from the spec file:

Summary:        Moose in a box

Because then the text goes into package database.
TODO: Copy the summary text to the bug title.

> FIX: The description refers to a list of module which is not listed. List
> them too or remove the confusing sentence.
 %description
-This Task installs Moose and then optionally installs a number of Moose
-extensions listed below. This list is meant to be comprehensive, so if I
-missed something please let me know.
+This Task installs Moose and a number of Moose extensions.
Ok.

> FIX: The description states it installs something _optionally_. RPM does not
> support optional dependencies. You need yo make all listed modules
> (build-)requires.
Ok.

> TODO: Constrain perl(inc::Module::Install) with >= 0.75 version. EPEL still
> provides older version.
+BuildRequires:  perl(inc::Module::Install) >= 0.75
Ok.

> FIX: Package does not build. The generated Makefile is interactive.
-%{__perl} Makefile.PL INSTALLDIRS=vendor
+%{__perl} Makefile.PL INSTALLDIRS=vendor </dev/null
Ok.

All tests pass. Ok.

$ rpmlint perl-Task-Moose.spec ../SRPMS/perl-Task-Moose-0.03-1.fc18.src.rpm ../RPMS/noarch/perl-Task-Moose-0.03-1.fc18.noarch.rpm 
2 packages and 1 specfiles checked; 0 errors, 0 warnings.
rpmlint is Ok.

$ rpm -q -lv -p  ../RPMS/noarch/perl-Task-Moose-0.03-1.fc18.noarch.rpm
drwxr-xr-x    2 root    root                        0 May 14 16:36 /usr/share/doc/perl-Task-Moose-0.03
-rw-r--r--    1 root    root                      782 Sep 27  2009 /usr/share/doc/perl-Task-Moose-0.03/Changes
-rw-r--r--    1 root    root                      470 Sep 27  2009 /usr/share/doc/perl-Task-Moose-0.03/README
-rw-r--r--    1 root    root                     3401 May 14 16:36 /usr/share/man/man3/Task::Moose.3pm.gz
drwxr-xr-x    2 root    root                        0 May 14 16:36 /usr/share/perl5/vendor_perl/Task
-rw-r--r--    1 root    root                     3919 Sep 27  2009 /usr/share/perl5/vendor_perl/Task/Moose.pm
File permissions and layout are Ok.

$ rpm -q --requires -p  ../RPMS/noarch/perl-Task-Moose-0.03-1.fc18.noarch.rpm  |sort |uniq -c
      1 perl(:MODULE_COMPAT_5.14.2)
      1 perl(Moose) >= 0.92
      1 perl(Moose::Autobox)
      1 perl(MooseX::App::Cmd)
      1 perl(MooseX::ClassAttribute)
      1 perl(MooseX::Clone)
      1 perl(MooseX::ConfigFromFile)
      1 perl(MooseX::Daemonize)
      1 perl(MooseX::Declare)
      1 perl(MooseX::Getopt)
      1 perl(MooseX::GlobRef)
      1 perl(MooseX::InsideOut)
      1 perl(MooseX::Iterator)
      1 perl(MooseX::LazyLogDispatch)
      1 perl(MooseX::LogDispatch)
      1 perl(MooseX::Log::Log4perl)
      1 perl(MooseX::Method::Signatures)
      1 perl(MooseX::NonMoose) >= 0.06
      1 perl(MooseX::Object::Pluggable)
      1 perl(MooseX::Param)
      1 perl(MooseX::Params::Validate) >= 0.06
      1 perl(MooseX::POE)
      1 perl(MooseX::Role::Cmd)
      1 perl(MooseX::Role::Parameterized)
      1 perl(MooseX::Role::TraitConstructor)
      1 perl(MooseX::SemiAffordanceAccessor)
      1 perl(MooseX::SimpleConfig)
      1 perl(MooseX::Singleton) >= 0.20
      1 perl(MooseX::Storage)
      1 perl(MooseX::StrictConstructor) >= 0.08
      1 perl(MooseX::Traits)
      1 perl(MooseX::Types) >= 0.20
      1 perl(MooseX::Types::DateTime)
      1 perl(MooseX::Types::Path::Class)
      1 perl(MooseX::Types::Set::Object)
      1 perl(MooseX::Types::Structured)
      1 perl(MooseX::Workers)
      1 perl(namespace::autoclean) >= 0.09
      1 perl(Pod::Coverage::Moose)
      1 perl(TryCatch)
      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.

$ rpm -q --provides  -p  ../RPMS/noarch/perl-Task-Moose-0.03-1.fc18.noarch.rpm  |sort |uniq -c
      1 perl(Task::Moose) = 0.03
      1 perl-Task-Moose = 0.03-1.fc18
Binary provides are Ok.

$ resolvedeps rawhide  ../RPMS/noarch/perl-Task-Moose-0.03-1.fc18.noarch.rpm  
Binary dependencies resolvable. Ok.

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

Package is in line with Fedora and Perl packaging guidelines.


Please consider fixing all `TODO' items before building this package.

Resolution: Package APPROVED.
Comment 4 Jitka Plesnikova 2012-05-14 11:04:54 EDT
New Package SCM Request
=======================
Package Name: perl-Task-Moose
Short Description: Moose in a box
Owners: jplesnik mmaslano ppisar psabata
Branches: 
InitialCC: perl-sig
Comment 5 Gwyn Ciesla 2012-05-15 08:19:05 EDT
Git done (by process-git-requests).
Comment 6 Jitka Plesnikova 2012-05-15 09:33:12 EDT
Thank you for the review and the repository.

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