https://bugzilla.redhat.com/show_bug.cgi?id=830221
Bug ID: 830221 QA Contact: extras-qa@fedoraproject.org Severity: medium Version: 17 Priority: unspecified CC: notting@redhat.com, package-review@lists.fedoraproject.org Assignee: nobody@fedoraproject.org Summary: Review Request: perl-Library-CallNumber-LC - Normalizes Library of Congress call numbers for sorting Regression: --- Story Points: --- Classification: Fedora OS: Linux Reporter: dan@coffeecode.net Type: Bug Documentation: --- Hardware: All Mount Type: --- Status: NEW Component: Package Review Product: Fedora
Spec URL: http://bzr.coffeecode.net/scratch/perl-Library-CallNumber-LC/perl-Library-Ca... SRPM URL: http://bzr.coffeecode.net/scratch/perl-Library-CallNumber-LC/perl-Library-Ca... Description:
Hi, I'm in the process of packaging dependencies for the Evergreen library system (http://evergreen-ils.org) in the hopes that one day we will be able to install Evergreen via yum.
This package provides a generally useful algorithm for generating sort keys from Library of Congress call numbers.
I work with Dan Wells (current maintainer of Library::CallNumber::LC) on a regular basis, and have made small contributions to the module in the past.
Fedora Account System Username: dscott
https://bugzilla.redhat.com/show_bug.cgi?id=830221
Iain Arnell iarnell@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |iarnell@gmail.com Depends On| |829860 Assignee|nobody@fedoraproject.org |iarnell@gmail.com Flags| |fedora-review?
--- Comment #1 from Iain Arnell iarnell@gmail.com --- This looks to be a nice clean package with no major blockers - just a couple of minor nits:
you should explicitly BuildRequire: perl(Math::BigInt) perl(strict) perl(warnings)
Use DESTDIR instead of PERL_INSTALL_ROOT in %install section.
You don't need to explicitly Require: perl(Math::BigInt) - rpm detects this dependency automatically.
Fix the nits and I'll approve once we've got you sponsored in bug 829860.
https://bugzilla.redhat.com/show_bug.cgi?id=830221
--- Comment #2 from Iain Arnell iarnell@gmail.com --- I must be getting forgetful in my old age. The comment from bug 829860 regarding BuildRoot tag applies here too, of course.
https://bugzilla.redhat.com/show_bug.cgi?id=830221
--- Comment #3 from Dan Scott dan@coffeecode.net --- Thanks again, Iain! I've reposted the updated spec file and srpm to:
Spec URL: http://bzr.coffeecode.net/scratch/perl-Library-CallNumber-LC/perl-Library-Ca... SRPM URL: http://bzr.coffeecode.net/scratch/perl-Library-CallNumber-LC/perl-Library-Ca...
Along with the changes you recommended, I added a note to the ChangeLog accordingly.
https://bugzilla.redhat.com/show_bug.cgi?id=830221
--- Comment #4 from Dan Scott dan@coffeecode.net --- Obligatory link to koji build success: http://koji.fedoraproject.org/koji/taskinfo?taskID=4153353
https://bugzilla.redhat.com/show_bug.cgi?id=830221
Iain Arnell iarnell@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|fedora-review? |fedora-review+
--- Comment #5 from Iain Arnell iarnell@gmail.com ---
Package Review ==============
Key: - = N/A x = Pass ! = Fail ? = Not evaluated
==== Generic ==== [x]: MUST Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: MUST Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [-]: MUST %build honors applicable compiler flags or justifies otherwise. [x]: MUST All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: MUST Buildroot is not present Note: Unless packager wants to package for EPEL5 this is fine [x]: MUST Package contains no bundled libraries. [x]: MUST Changelog in prescribed format. [x]: MUST Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: Clean would be needed if support for EPEL is required [x]: MUST Sources contain only permissible code or content. [x]: MUST Each %files section contains %defattr if rpm < 4.4 Note: Note: defattr macros not found. They would be needed for EPEL5 [x]: MUST Macros in Summary, %description expandable at SRPM build time. [x]: MUST Package requires other packages for directories it uses. [x]: MUST Package uses nothing in %doc for runtime. [x]: MUST Package is not known to require ExcludeArch. [x]: MUST Permissions on files are set properly. [x]: MUST Package does not contain duplicates in %files. [x]: MUST Spec file lacks Packager, Vendor, PreReq tags. [x]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Note: rm -rf would be needed if support for EPEL5 is required [x]: MUST Large documentation files are in a -doc subpackage, if required. [-]: 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 is included in %doc. [!]: MUST License field in the package spec file matches the actual license. [x]: MUST Package consistently uses macros (instead of hard-coded directory names). [x]: MUST Package is named according to the Package Naming Guidelines. [x]: MUST Package does not generate any conflict. [x]: MUST Package obeys FHS, except libexecdir and /usr/target. [x]: MUST Package must own all directories that it creates. [x]: MUST Package does not own files or directories owned by other packages. [x]: MUST Package installs properly. [x]: MUST Requires correct, justified where necessary. [x]: MUST Rpmlint output is silent.
rpmlint perl-Library-CallNumber-LC-0.22-1.fc18.src.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
rpmlint perl-Library-CallNumber-LC-0.22-1.fc18.noarch.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
[x]: MUST Sources used to build the package match the upstream source, as provided in the spec URL. /home/iarnell/rpmbuild/perl-Library-CallNumber-LC/Library-CallNumber-LC-0.22.tar.gz : MD5SUM this package : b25acaa6354e38b7623e084a1f9ce40a MD5SUM upstream package : b25acaa6354e38b7623e084a1f9ce40a
[x]: MUST Spec file is legible and written in American English. [x]: MUST Spec file name must match the spec package %{name}, in the format %{name}.spec. [-]: MUST Package contains a SysV-style init script if in need of one. [x]: MUST File names are valid UTF-8. [-]: MUST Useful -debuginfo package or justification otherwise. [x]: SHOULD Reviewer should test that the package builds in mock. [-]: SHOULD If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: SHOULD Dist tag is present. [x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [-]: SHOULD Package functions as described. [x]: SHOULD Latest version is packaged. [x]: SHOULD Package does not include license text files separate from upstream. [x]: SHOULD SourceX is a working URL. [-]: SHOULD Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: SHOULD Package should compile and build into binary rpms on all supported architectures. [x]: SHOULD %check is present and all tests pass. [x]: SHOULD Packages should try to preserve timestamps of original installed files. [x]: SHOULD Spec use %global instead of %define.
There's one MUST issue here.
[!]: MUST License field in the package spec file matches the actual license.
According to Library/CallNumber/LC.pm, this is actually same-as-perl or new-BSD (i.e. GPL+ or Artistic or BSD). The Changes file claims to have clarified the licensing as "both same-as-perl and BSD". The README file and META.yml still only say same-as-perl, though. There is a (closed) upstream bug at https://rt.cpan.org/Public/Bug/Display.html?id=70038 that clarifies the issue, but you should open a new one to have README and META.yml fixed as well. Not a blocker, though, as upstream's intent is clear.
This package is APPROVED. But when checking in, you need to * change the License tag to "GPL+ or Artistic or BSD" * add a BuildRequires: perl(ExtUtils::MakeMaker) - same applies for MARC-Record and MARC-XML.
https://bugzilla.redhat.com/show_bug.cgi?id=830221
--- Comment #6 from Dan Scott dan@coffeecode.net --- Thanks Iain!
On the BSD vs. GPL+ or Artistic licensing ambiguity, I had filed an issue with upstream at http://code.google.com/p/library-callnumber-lc/issues/detail?id=6 (which is where the README directs people to file issues) while creating the package. Note that the previous issue I filed 9#5) was that the code on CPAN doesn't match the code in the http://code.google.com/p/library-callnumber-lc repository -- which is why I didn't notice the added BSD option in the README.
I'll work with upstream to resolve the licensing problem on all fronts, and also to help them sort out their repository syncing.
I'll also add BuildRequires: perl(ExtUtils::MakeMaker).
https://bugzilla.redhat.com/show_bug.cgi?id=830221
--- Comment #7 from Dan Scott dan@coffeecode.net --- Hmm. Actually, I think it should be BuildRequires: perl(Module::Build), not ExtUtils::MakeMaker for this one.
One further problem - with the license as "GPL+ or Artistic or BSD", rpmlint complains with:
perl-Library-CallNumber-LC.src: W: invalid-license Artistic
It seems that, unfortunately, rpmlint doesn't recognize "GPL+ or Artistic" as a single name once "or BSD" is tacked on; it looks like each phrase separated by "or" is parsed as a separate license. And unfortunately, there is no "Artistic" license listed at http://fedoraproject.org/wiki/Licensing - of the closest matches by name, "Artistic clarified" and "Artistic 2.0", their actual text doesn't match the text of the Artistic license as linked from http://dev.perl.org/licenses/ for the Perl "GPL+ or Artistic" entry in the licensing wiki.
Time to call in Fedora Legal? Or time to teach rpmlint to try harder to match "GPL+ or Artistic" (and its variants) for the corner cases of tri-licensed software?
In any case, I've updated http://bzr.coffeecode.net/scratch/perl-Library-CallNumber-LC/ with the new spec & srpm.
https://bugzilla.redhat.com/show_bug.cgi?id=830221
--- Comment #8 from Iain Arnell iarnell@gmail.com --- (In reply to comment #7)
Hmm. Actually, I think it should be BuildRequires: perl(Module::Build), not ExtUtils::MakeMaker for this one.
Well, you have a choice - but since you're using Makefile.PL and that has 'use ExtUtils::MakeMaker;' it's perl(ExtUtils::MakeMaker) that you need to buildrequire.
One further problem - with the license as "GPL+ or Artistic or BSD", rpmlint complains with:
perl-Library-CallNumber-LC.src: W: invalid-license Artistic
Ah, good catch. Not something to worry too much about - the license is good, so we could ignore the rpmlint warning. But you can also silence the warning by forcing it to parse the license better: License: (GPL+ or Artistic) or BSD
https://bugzilla.redhat.com/show_bug.cgi?id=830221
--- Comment #9 from Dan Scott dan@coffeecode.net --- (In reply to comment #8)
(In reply to comment #7)
Hmm. Actually, I think it should be BuildRequires: perl(Module::Build), not ExtUtils::MakeMaker for this one.
Well, you have a choice - but since you're using Makefile.PL and that has 'use ExtUtils::MakeMaker;' it's perl(ExtUtils::MakeMaker) that you need to buildrequire.
Oops. Per http://fedoraproject.org/wiki/Perl/Tips#Makefile.PL_vs_Build.PL I should be using Build.PL - so I have updated the spec and srpm accordingly.
One further problem - with the license as "GPL+ or Artistic or BSD", rpmlint complains with:
perl-Library-CallNumber-LC.src: W: invalid-license Artistic
Ah, good catch. Not something to worry too much about - the license is good, so we could ignore the rpmlint warning. But you can also silence the warning by forcing it to parse the license better: License: (GPL+ or Artistic) or BSD
Thanks for the tip; I had been trying quotes but in retrospect parentheses are the obvious solution. Note to self: no more working past 1:00 AM!
Once again, I have updated http://bzr.coffeecode.net/scratch/perl-Library-CallNumber-LC/ with the new spec & srpm
https://bugzilla.redhat.com/show_bug.cgi?id=830221
--- Comment #10 from Iain Arnell iarnell@gmail.com --- Okay. The change to use Build.PL looks good. Review flag is still set, so you can proceed with SCM request on this one.
https://bugzilla.redhat.com/show_bug.cgi?id=830221
Dan Scott dan@coffeecode.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |fedora-cvs?
--- Comment #11 from Dan Scott dan@coffeecode.net --- New Package SCM Request ======================= Package Name: perl-Library-CallNumber-LC Short Description: Normalize Library of Congress call numbers for sorting Owners: dscott Branches: f17 InitialCC: perl-sig iarnell
https://bugzilla.redhat.com/show_bug.cgi?id=830221
--- Comment #12 from Jon Ciesla limburgher@gmail.com --- Git done (by process-git-requests).
https://bugzilla.redhat.com/show_bug.cgi?id=830221
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |MODIFIED
https://bugzilla.redhat.com/show_bug.cgi?id=830221
--- Comment #13 from Fedora Update System updates@fedoraproject.org --- perl-Library-CallNumber-LC-0.22-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/perl-Library-CallNumber-LC-0.22-1.fc...
https://bugzilla.redhat.com/show_bug.cgi?id=830221
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |ON_QA
--- Comment #14 from Fedora Update System updates@fedoraproject.org --- perl-Library-CallNumber-LC-0.22-1.fc17 has been pushed to the Fedora 17 testing repository.
https://bugzilla.redhat.com/show_bug.cgi?id=830221
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ON_QA |CLOSED Resolution|--- |ERRATA Last Closed| |2012-07-08 16:54:33
--- Comment #15 from Fedora Update System updates@fedoraproject.org --- perl-Library-CallNumber-LC-0.22-1.fc17 has been pushed to the Fedora 17 stable repository.
package-review@lists.fedoraproject.org