Bug 656408 - Review Request: perl-Class-Load - A working (require "Class::Name") and more
Summary: Review Request: perl-Class-Load - A working (require "Class::Name") and more
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Steven Pritchard
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-11-23 16:45 UTC by Paul Howarth
Modified: 2011-01-06 10:47 UTC (History)
3 users (show)

Fixed In Version: perl-Class-Load-0.06-3.fc15
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-01-06 10:47:38 UTC
Type: ---
Embargoed:
steve: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Paul Howarth 2010-11-23 16:45:27 UTC
Spec URL: http://subversion.city-fan.org/repos/cfo-repo/perl-Class-Load/branches/fedora/perl-Class-Load.spec
SRPM URL: http://www.city-fan.org/~paul/extras/perl-Class-Load/perl-Class-Load-0.06-2.fc14.src.rpm

Description:
require EXPR only accepts Class/Name.pm style module names, not Class::Name.
How frustrating! For that, we provide load_class 'Class::Name'.

It's often useful to test whether a module can be loaded, instead of throwing
an error when it's not available. For that, we provide
try_load_class 'Class::Name'.

Finally, sometimes we need to know whether a particular class has been loaded.
Asking %%INC is an option, but that will miss inner packages and any class for
which the filename does not correspond to the package name. For that, we
provide is_class_loaded 'Class::Name'.


This package requires perl-Test-Fatal, which is currently available for Rawhide and EL-6 builds, in epel-testing for EL-4 and EL-5, and not yet built for F-13 and F-14 due to its dependency on perl-Try-Tiny >= 0.07, which is still in updates-testing at the moment.

Comment 1 Steven Pritchard 2010-12-18 17:58:37 UTC
I need this for the latest DateTime...

Comment 2 Steven Pritchard 2010-12-18 18:38:31 UTC
Since Exporter is a core module, isn't the "Requires: perl(Exporter)" a bit redundant?

Thorough review follows:

MUST: rpmlint must be run on the source rpm and all binary rpms the build produces.

$ rpmlint perl-Class-Load-0.06-2.fc15.noarch.rpm 
perl-Class-Load.noarch: W: unexpanded-macro %description -l C %INC
perl-Class-Load.noarch: W: spelling-error %description -l en_US filename -> file name, file-name, filament
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

Both warnings look bogus.  OK.  (Output is the same for the source rpm.)

MUST: The package must be named according to the Package Naming Guidelines .
MUST: The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption. 
MUST: The package must meet the Packaging Guidelines .
MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines .
MUST: The License field in the package spec file must match the actual license.
MUST: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package must be included in %doc.[4]
MUST: The spec file must be written in American English. [5]
MUST: The spec file for the package MUST be legible. [6]

All OK.  This is a fairly simple, standard Perl module package.

MUST: The sources used to build the package must match the upstream source, as provided in the spec URL.

Verified.  OK.

MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.

Builds fine on rawhide/x86_64. OK.

MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch.

N/A

MUST: All build dependencies must be listed in BuildRequires

OK

MUST: The spec file MUST handle locales properly.
MUST: Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun.
MUST: Packages must NOT bundle copies of system libraries.
MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review, along with the rationalization for relocation of that specific package.

N/A

MUST: A package must own all directories that it creates.

OK

MUST: A Fedora package must not list a file more than once in the spec file's %files listings.

OK

MUST: Permissions on files must be set properly.

OK

MUST: Each package must consistently use macros.

OK

MUST: The package must contain code, or permissable content.

OK

MUST: Large documentation files must go in a -doc subpackage.

N/A

MUST: If a package includes something as %doc, it must not affect the runtime of the application.

OK

MUST: Header files must be in a -devel package.
MUST: Static libraries must be in a -static package.
MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package. 
MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release}
MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.
MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section.

N/A

MUST: Packages must not own files or directories already owned by other packages.

OK

MUST: All filenames in rpm packages must be valid UTF-8.

OK

All the relevant SHOULD items look fine too.  The provides/requires all look fine.  With the exception of the "Requires: perl(Exporter)" (which I'll leave it up to you if you really want to keep or not, but I wouldn't), everything looks fine.  You can fix that (or not) after you import it...

APPROVED

Comment 3 Paul Howarth 2010-12-19 10:24:33 UTC
The "Requires: perl(Exporter)" was mainly there as a reminder to myself what the automatically-added "Requires: perl(base)" was about though I guess a comment would do that every bit as well.

Given that Exporter is such a fundamental part of perl, it's also extremely unlikely ever to be split out as a sub-package, so I'll go with your suggestion and drop the explicit dependency.

Comment 4 Paul Howarth 2010-12-19 10:26:07 UTC
New Package SCM Request
=======================
Package Name: perl-Class-Load
Short Description: A working (require "Class::Name") and more
Owners: pghmcfc
Branches: f13 f14 el4 el5 el6
InitialCC: perl-sig

Comment 5 Kevin Fenzi 2010-12-21 06:14:42 UTC
Git done (by process-git-requests).

Comment 6 Fedora Update System 2010-12-21 10:28:15 UTC
perl-Class-Load-0.06-3.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/perl-Class-Load-0.06-3.fc14

Comment 7 Fedora Update System 2010-12-21 10:28:22 UTC
perl-Class-Load-0.06-3.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/perl-Class-Load-0.06-3.fc13

Comment 8 Fedora Update System 2010-12-21 10:28:33 UTC
perl-Class-Load-0.06-3.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/perl-Class-Load-0.06-3.el5

Comment 9 Fedora Update System 2010-12-21 10:28:40 UTC
perl-Class-Load-0.06-3.el4 has been submitted as an update for Fedora EPEL 4.
https://admin.fedoraproject.org/updates/perl-Class-Load-0.06-3.el4

Comment 10 Fedora Update System 2010-12-29 21:53:01 UTC
perl-Class-Load-0.06-3.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 Fedora Update System 2010-12-29 21:55:07 UTC
perl-Class-Load-0.06-3.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2011-01-05 17:58:50 UTC
perl-Class-Load-0.06-3.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 13 Fedora Update System 2011-01-05 17:59:11 UTC
perl-Class-Load-0.06-3.el4 has been pushed to the Fedora EPEL 4 stable repository.  If problems still persist, please make note of it in this bug report.


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