Bug 808886

Summary: Review Request: perl-CPAN-Meta-Requirements - Set of version requirements for a CPAN dist
Product: [Fedora] Fedora Reporter: Iain Arnell <iarnell>
Component: Package ReviewAssignee: Paul Howarth <paul>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: notting, package-review, paul, perl-devel
Target Milestone: ---Flags: paul: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: http://search.cpan.org/dist/CPAN-Meta-Requirements/
Whiteboard:
Fixed In Version: perl-CPAN-Meta-2.120921-1.fc17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-12 03:26:05 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Iain Arnell 2012-04-01 14:10:58 UTC
Spec URL: http://fedorapeople.org/~iarnell/review/perl-CPAN-Meta-Requirements.spec
SRPM URL: http://fedorapeople.org/~iarnell/review/perl-CPAN-Meta-Requirements-2.121-1.fc18.src.rpm

Description:
A CPAN::Meta::Requirements object models a set of version constraints like
those specified in the META.yml or META.json files in CPAN distributions.
It can be built up by adding more and more constraints, and it will reduce
them to the simplest representation.

Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=3954486

*rt-0.10_02

Comment 1 Iain Arnell 2012-04-01 14:16:56 UTC
Upstream is messing with me. CPAN-Meta-Requirements used to be Version-Requirements. It was merged into CPAN-Meta and has now been split back out again with the new name. There's an explicit Conflicts in the spec to ensure that CPAN-Meta-Requirements doesn't implicitly conflict with CPAN-Meta < 2.120921.

This will also need to be sub-packaged in perl.spec for 5.16 and possibly 5.14.3.

Comment 2 Iain Arnell 2012-04-01 17:12:27 UTC
Let's add perl-sig to the CC as this affects perl.spec.

Comment 3 Paul Howarth 2012-04-02 09:25:18 UTC
perl-CPAN-Meta-Requirements-2.121-1

== rpmlint ==
$ rpmlint ~/perl-CPAN-Meta-Requirements-2.121-1.fc18.*
2 packages and 0 specfiles checked; 0 errors, 0 warnings.

== provides ==
$ rpm -qp --provides ~/perl-CPAN-Meta-Requirements-2.121-1.fc18.noarch.rpm 
perl(CPAN::Meta::Requirements) = 2.121
perl-CPAN-Meta-Requirements = 2.121-1.fc18

== requires ==
$ rpm -qp --requires ~/perl-CPAN-Meta-Requirements-2.121-1.fc18.noarch.rpm 
perl(:MODULE_COMPAT_5.14.2)  
perl(Carp)  
perl(Scalar::Util)  
perl(strict)  
perl(version) >= 0.77
perl(warnings)  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

== review checklist ==

- rpmlint OK
- spec file and package naming OK
- package meets packaging guidelines
- license is valid for Fedora and matches upstream
- upstream LICENSE file is included in package
- spec file written in English and is legible
- sources match upstream, as does tarball timestamp
- package builds fine in mock on both i386 and x86_64
- buildreqs are complete
- no locale data, libraries, devel files etc. to worry about
- package is not intended to be relocatable
- directory ownership is correct
- no duplicate files included
- permissions are sane
- macro usage is consistent
- package is code, not content
- no large docs to consider
- docs don't affect runtime
- not a GUI app, no desktop file needed
- filenames are all plain ASCII
- CPAN::Meta 2.120921 builds successfully using this package
- no scriptlets or sub-packages present nor needed
- no file dependencies present
- module ships with manpage

== nits ==

- %{?perl_default_filter} isn't really needed by this package, though it
  does no harm either
- I don't know what the use of the %{__perl} macro buys us really
- There's no need to remove empty directories from the buildroot; even
  ancient versions of rpm like the one in Red Hat Linux 9 didn't complain
  about them

In my local build of this package I also run the author/release tests. I
appreciate that it doesn't do much to improve the test coverage of *this*
package, but it does improve the test coverage of the release test packages
that are used to do the testing, resulting in issues like Bug #786849 being
discovered and fixed.

Anyway, no blockers here.

APPROVED.

Comment 4 Iain Arnell 2012-04-02 13:24:18 UTC
New Package SCM Request
=======================
Package Name: perl-CPAN-Meta-Requirements
Short Description: Set of version requirements for a CPAN dist
Owners: iarnell
Branches: f15 f16 f17
InitialCC: perl-sig

Comment 5 Gwyn Ciesla 2012-04-02 13:26:22 UTC
Git done (by process-git-requests).

Comment 6 Iain Arnell 2012-04-02 14:30:26 UTC
(In reply to comment #3)
> 
> == nits ==
> 
> - %{?perl_default_filter} isn't really needed by this package, though it
>   does no harm either

I just automatically add it to every package - as you say, no harm.

> - I don't know what the use of the %{__perl} macro buys us really

Me either. The guidelines state that %{__python} is acceptable, so presumably %{__perl} is too. But in either case, we've got a lot of work if the binaries are moved or renamed.

> - There's no need to remove empty directories from the buildroot; even
>   ancient versions of rpm like the one in Red Hat Linux 9 didn't complain
>   about them

That's good to know. Another anachronism that can be dropped.

> In my local build of this package I also run the author/release tests. I
> appreciate that it doesn't do much to improve the test coverage of *this*
> package, but it does improve the test coverage of the release test packages
> that are used to do the testing, resulting in issues like Bug #786849 being
> discovered and fixed.

Interesting thought. And as a soon-to-be-core module, there's a better than normal chance that the extra tests will continue to work in future. My only concern would be introducing circular dependencies - but a quick repoquery doesn't show anything too worrying. I guess I'll go ahead and do it.

> APPROVED.

Thanks for the review.

Comment 7 Paul Howarth 2012-04-02 14:42:06 UTC
(In reply to comment #6)
> (In reply to comment #3)
> > In my local build of this package I also run the author/release tests. I
> > appreciate that it doesn't do much to improve the test coverage of *this*
> > package, but it does improve the test coverage of the release test packages
> > that are used to do the testing, resulting in issues like Bug #786849 being
> > discovered and fixed.
> 
> Interesting thought. And as a soon-to-be-core module, there's a better than
> normal chance that the extra tests will continue to work in future. My only
> concern would be introducing circular dependencies - but a quick repoquery
> doesn't show anything too worrying. I guess I'll go ahead and do it.

That's my concern too, so I've been working on a script to evaluate the build order and spot circular build dependencies for my local repo, and manually inserting conditional buildreqs based on %{?perl_bootstrap} where appropriate. I've worked out that I can rebuild my repo in 27 passes at the moment, plus an extra one to rebuild without %{?perl_bootstrap} set afterwards.

I'm now going to look at doing something similar for Rawhide, which I'll hopefully have ready by the time it comes to do the rebuild for Perl 5.16.

Comment 8 Marcela Mašláňová 2012-04-02 18:23:28 UTC
Wow, that would be great. Petr P was looking at it too, but I'm not sure how far is he.

Comment 9 Fedora Update System 2012-04-02 20:25:56 UTC
perl-CPAN-Meta-2.120921-1.fc17, perl-CPAN-Meta-Requirements-2.121-2.fc17, perl-Parse-CPAN-Meta-1.4403-1.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/FEDORA-2012-5218/perl-CPAN-Meta-2.120921-1.fc17,perl-CPAN-Meta-Requirements-2.121-2.fc17,perl-Parse-CPAN-Meta-1.4403-1.fc17

Comment 10 Fedora Update System 2012-04-04 21:09:25 UTC
Package perl-CPAN-Meta-2.120921-1.fc17, perl-Parse-CPAN-Meta-1.4403-1.fc17, perl-CPAN-Meta-Requirements-2.121-3.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing perl-CPAN-Meta-2.120921-1.fc17 perl-Parse-CPAN-Meta-1.4403-1.fc17 perl-CPAN-Meta-Requirements-2.121-3.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-5218/perl-CPAN-Meta-2.120921-1.fc17,perl-CPAN-Meta-Requirements-2.121-3.fc17,perl-Parse-CPAN-Meta-1.4403-1.fc17
then log in and leave karma (feedback).

Comment 11 Fedora Update System 2012-04-12 03:26:05 UTC
perl-CPAN-Meta-2.120921-1.fc17, perl-Parse-CPAN-Meta-1.4403-1.fc17, perl-CPAN-Meta-Requirements-2.121-3.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.