Bug 876405
| Summary: | Review Request: perl-Module-Build-WithXSpp - XS++ enhanced flavor of Module::Build | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> |
| Component: | Package Review | Assignee: | Petr Pisar <ppisar> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | mario.blaettermann, notting, package-review, ppisar |
| Target Milestone: | --- | Flags: | ppisar:
fedora-review+
gwync: fedora-cvs+ |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-01-12 15:10:24 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: | |||
| Bug Depends On: | 876403, 891952 | ||
| Bug Blocks: | 876408, 887913 | ||
|
Description
Miro Hrončok
2012-11-14 02:57:00 UTC
The standalone spec file is older than the the one from SRPM file. I will use file from SRPM for this review.
Source file is original (SHA-256: dd51f9e41b641de535b7073310600f6a04e7466eacc87c2692b0df75d31e5048). Ok.
URL and Source0 are usable. Ok.
Summary verified from lib/Module/Build/WithXSpp.pm. Ok.
Description verified from lib/Module/Build/WithXSpp.pm. Ok.
License verified from lib/Module/Build/WithXSpp.pm and README. Ok.
No XS code. noarch BuildArch is Ok.
TODO: Remove deleting empty directories in %install section. Modern Module::Build does not leave empty directories.
TODO: Do not package META.json. It's useful only for this package packager.
TODO: Sort (build-)requires lexicographically. It will ease future maintenance.
FIX: Remove useless `perl(XSLoader)' (build-)dependency.
FIX: Remove useless `perl(Digest::MD5)' (build-)dependency.
FIX: Remove useless `perl(ExtUtils::CBuilder)' (build-)dependency.
FIX: Remove BuildRequires `perl(ExtUtils::CppGuess)'. It's not needed at build-time.
FIX: Remove BuildRequires `perl(ExtUtils::ParseXS))'. It's not needed at build-time.
FIX: Remove BuildRequires `perl(ExtUtils::Typemaps)'. It's not needed at build-time.
FIX: Remove BuildRequires `perl(ExtUtils::XSpp)'. It's not needed at build-time.
All tests pass. Ok.
$ rpmlint perl-Module-Build-WithXSpp.spec ../SRPMS/perl-Module-Build-WithXSpp-0.12-1.fc19.src.rpm ../RPMS/noarch/perl-Module-Build-WithXSpp-0.12-1.fc19.noarch.rpm
2 packages and 1 specfiles checked; 0 errors, 0 warnings.
rpmlint is Ok.
$ rpm -q -lv -p ../RPMS/noarch/perl-Module-Build-WithXSpp-0.12-1.fc19.noarch.rpm
drwxr-xr-x 2 root root 0 Dec 20 16:56 /usr/share/doc/perl-Module-Build-WithXSpp-0.12
-rw-r--r-- 1 root root 1366 Oct 6 11:51 /usr/share/doc/perl-Module-Build-WithXSpp-0.12/Changes
-rw-r--r-- 1 root root 1331 Oct 6 11:51 /usr/share/doc/perl-Module-Build-WithXSpp-0.12/META.json
-rw-r--r-- 1 root root 9432 Oct 6 11:51 /usr/share/doc/perl-Module-Build-WithXSpp-0.12/README
-rw-r--r-- 1 root root 5650 Dec 20 16:55 /usr/share/man/man3/Module::Build::WithXSpp.3pm.gz
drwxr-xr-x 2 root root 0 Dec 20 16:56 /usr/share/perl5/vendor_perl/Module
drwxr-xr-x 2 root root 0 Dec 20 16:56 /usr/share/perl5/vendor_perl/Module/Build
-rw-r--r-- 1 root root 22010 Dec 20 16:55 /usr/share/perl5/vendor_perl/Module/Build/WithXSpp.pm
File permissions and layout is Ok.
$ rpm -q --requires -p ../RPMS/noarch/perl-Module-Build-WithXSpp-0.12-1.fc19.noarch.rpm | sort | uniq -c
1 perl(Digest::MD5)
1 perl(ExtUtils::CBuilder)
1 perl(ExtUtils::CppGuess)
1 perl(ExtUtils::CppGuess) >= 0.04
1 perl(ExtUtils::ParseXS) >= 2.2205
1 perl(ExtUtils::Typemaps) >= 1.00
1 perl(ExtUtils::XSpp) >= 0.11
1 perl(File::Basename)
1 perl(File::Spec)
1 perl(Module::Build)
1 perl(Module::Build) >= 0.26
1 perl(:MODULE_COMPAT_5.16.2)
1 perl(strict)
1 perl(warnings)
1 perl(XSLoader)
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: Remove unneeded `perl(Digest::MD5)', `perl(ExtUtils::CBuilder)', `perl(XSLoader)'.
TODO: Filter unversioned `perl(ExtUtils::CppGuess)' run-time dependency.
TODO: Filter unversioned `perl(Module::Build)' run-time dependency.
$ rpm -q --provides -p ../RPMS/noarch/perl-Module-Build-WithXSpp-0.12-1.fc19.noarch.rpm | sort | uniq -c
1 perl(Module::Build::WithXSpp) = 0.12
1 perl-Module-Build-WithXSpp = 0.12-1.fc19
Binary provides are Ok.
$ resolvedeps rawhide ../RPMS/noarch/perl-Module-Build-WithXSpp-0.12-1.fc19.noarch.rpm
Binary dependencies resolvable. Ok.
Package builds in F19 (http://koji.fedoraproject.org/koji/taskinfo?taskID=4807259). 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.
(In reply to comment #1) > FIX: Remove BuildRequires `perl(ExtUtils::CppGuess)'. It's not needed at > build-time. It doesn't build without it. + ./Build test # Failed test 'use Module::Build::WithXSpp;' # at t/001_load.t line 6. # Tried to use 'Module::Build::WithXSpp'. # Error: Can't locate ExtUtils/CppGuess.pm... > TODO: Filter unversioned `perl(ExtUtils::CppGuess)' run-time dependency. > TODO: Filter unversioned `perl(Module::Build)' run-time dependency. Could you give me a hint? Because this doesn't work: %filter_from_requires /perl(Module::Build)/d %filter_from_requires /perl(ExtUtils::CppGuess)/d Thansk for the review. (In reply to comment #2) > (In reply to comment #1) > > FIX: Remove BuildRequires `perl(ExtUtils::CppGuess)'. It's not needed at > > build-time. > It doesn't build without it. > > + ./Build test > # Failed test 'use Module::Build::WithXSpp;' > # at t/001_load.t line 6. > # Tried to use 'Module::Build::WithXSpp'. > # Error: Can't locate ExtUtils/CppGuess.pm... > You are right. It's used from lib/Module/Build/WithXSpp.pm:6. Then it must be build-required. > > TODO: Filter unversioned `perl(ExtUtils::CppGuess)' run-time dependency. > > TODO: Filter unversioned `perl(Module::Build)' run-time dependency. > > Could you give me a hint? Because this doesn't work: > > %filter_from_requires /perl(Module::Build)/d > %filter_from_requires /perl(ExtUtils::CppGuess)/d > It's not yet properly documented, see <https://fedorahosted.org/fpc/ticket/76>, but should write: %global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Module::Build\\)$ It appends extended regular expression which matches symbols to remove from list or run-requires found by dependency generator. Spec URL: https://github.com/hroncok/SPECS/raw/master/perl-Module-Build-WithXSpp.spec SRPM URL: https://github.com/downloads/hroncok/SPECS/perl-Module-Build-WithXSpp-0.12-3.fc17.src.rpm - Removed deleting empty dirs in %install section - Do not package META.json - Removed (B)Rs: perl(XSLoader), perl(Digest::MD5), perl(ExtUtils::CBuilder) - Removed BRs: perl(ExtUtils::ParseXS), perl(ExtUtils::Typemaps), perl(ExtUtils::XSpp) - Filter unversioned Requires: perl(Module::Build), perl(ExtUtils::CppGuess) - Sort (B)Rs lexicografically Spec file changes:
--- perl-Module-Build-WithXSpp.spec.old 2013-01-02 10:23:19.413000000 +0100
+++ perl-Module-Build-WithXSpp.spec 2013-01-02 10:16:35.566000000 +0100
@@ -1,36 +1,29 @@
Name: perl-Module-Build-WithXSpp
Version: 0.12
-Release: 1%{?dist}
+Release: 3%{?dist}
Summary: XS++ enhanced flavor of Module::Build
License: GPL+ or Artistic
Group: Development/Libraries
URL: http://search.cpan.org/dist/Module-Build-WithXSpp/
Source0: http://www.cpan.org/authors/id/S/SM/SMUELLER/Module-Build-WithXSpp-%{version}.tar.gz
BuildArch: noarch
-BuildRequires: perl(Digest::MD5)
-BuildRequires: perl(ExtUtils::CBuilder)
BuildRequires: perl(ExtUtils::CppGuess) >= 0.04
-BuildRequires: perl(ExtUtils::ParseXS) >= 2.2205
-BuildRequires: perl(ExtUtils::Typemaps) >= 1.00
-BuildRequires: perl(ExtUtils::XSpp) >= 0.11
+BuildRequires: perl(File::Spec)
BuildRequires: perl(Module::Build) >= 0.26
BuildRequires: perl(Test::More)
-BuildRequires: perl(warnings)
-BuildRequires: perl(File::Spec)
-BuildRequires: perl(File::Basename)
-BuildRequires: perl(XSLoader)
-Requires: perl(Digest::MD5)
-Requires: perl(ExtUtils::CBuilder)
Requires: perl(ExtUtils::CppGuess) >= 0.04
Requires: perl(ExtUtils::ParseXS) >= 2.2205
Requires: perl(ExtUtils::Typemaps) >= 1.00
Requires: perl(ExtUtils::XSpp) >= 0.11
-Requires: perl(Module::Build) >= 0.26
-Requires: perl(File::Spec)
Requires: perl(File::Basename)
-Requires: perl(XSLoader)
+Requires: perl(File::Spec)
+Requires: perl(Module::Build) >= 0.26
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+# Filtering unversioned requires
+%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(Module::Build\\)$
+%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}^perl\\(ExtUtils::CppGuess\\)$
+
%description
This subclass of Module::Build adds some tools and processes to make it
easier to use for wrapping C++ using XS++ (ExtUtils::XSpp).
@@ -44,7 +37,6 @@
%install
./Build install destdir=%{buildroot} create_packlist=0
-find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null \;
%{_fixperms} %{buildroot}/*
@@ -52,11 +44,22 @@
./Build test
%files
-%doc Changes META.json README
+%doc Changes README
%{perl_vendorlib}/*
%{_mandir}/man3/*
%changelog
+* Thu Dec 20 2012 Miro Hrončok <miro> - 0.12-3
+- Removed deleting empty dirs in %%install section
+- Do not package META.json
+- Removed (B)Rs: perl(XSLoader), perl(Digest::MD5), perl(ExtUtils::CBuilder)
+- Removed BRs: perl(ExtUtils::ParseXS), perl(ExtUtils::Typemaps), perl(ExtUtils::XSpp)
+- Filter unversioned Requires: perl(Module::Build), perl(ExtUtils::CppGuess)
+- Sort (B)Rs lexicografically
+
+* Fri Nov 16 2012 Miro Hrončok <miro> - 0.12-2
+- Removed BRs provided by perl package
+
* Wed Nov 14 2012 Miro Hrončok <miro> 0.12-1
- New version.
> TODO: Remove deleting empty directories in %install section. Modern Module::Build does not leave empty directories.
-find %{buildroot} -depth -type d -exec rmdir {} 2>/dev/null \;
Ok.
> TODO: Do not package META.json. It's useful only for this package packager.
-%doc Changes META.json README
+%doc Changes README
Ok.
> TODO: Sort (build-)requires lexicographically. It will ease future maintenance.
Ok.
> FIX: Remove useless `perl(XSLoader)' (build-)dependency.
-BuildRequires: perl(XSLoader)
Ok.
> FIX: Remove useless `perl(Digest::MD5)' (build-)dependency.
-BuildRequires: perl(Digest::MD5)
Ok.
> FIX: Remove useless `perl(ExtUtils::CBuilder)' (build-)dependency.
-BuildRequires: perl(ExtUtils::CBuilder)
Ok.
> FIX: Remove BuildRequires `perl(ExtUtils::ParseXS))'. It's not needed at build-time.
-BuildRequires: perl(ExtUtils::ParseXS) >= 2.2205
Ok.
> FIX: Remove BuildRequires `perl(ExtUtils::Typemaps)'. It's not needed at build-time.
-BuildRequires: perl(ExtUtils::Typemaps) >= 1.00
Ok.
> FIX: Remove BuildRequires `perl(ExtUtils::XSpp)'. It's not needed at build-time.
-BuildRequires: perl(ExtUtils::XSpp) >= 0.11
Ok.
All tests pass. Ok.
$ rpmlint perl-Module-Build-WithXSpp.spec ../SRPMS/perl-Module-Build-WithXSpp-0.12-3.fc19.src.rpm ../RPMS/noarch/perl-Module-Build-WithXSpp-0.12-3.fc19.noarch.rpm
2 packages and 1 specfiles checked; 0 errors, 0 warnings.
rpmlint is Ok.
> FIX: Remove unneeded `perl(Digest::MD5)', `perl(ExtUtils::CBuilder)', `perl(XSLoader)'.
-Requires: perl(Digest::MD5)
Ok.
> TODO: Filter unversioned `perl(ExtUtils::CppGuess)' run-time dependency.
> TODO: Filter unversioned `perl(Module::Build)' run-time dependency.
$ rpm -q --requires -p ../RPMS/noarch/perl-Module-Build-WithXSpp-0.12-3.fc19.noarch.rpm |sort |uniq -c
1 perl(ExtUtils::CppGuess) >= 0.04
1 perl(ExtUtils::ParseXS) >= 2.2205
1 perl(ExtUtils::Typemaps) >= 1.00
1 perl(ExtUtils::XSpp) >= 0.11
1 perl(File::Basename)
1 perl(File::Spec)
1 perl(Module::Build) >= 0.26
1 perl(:MODULE_COMPAT_5.16.2)
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-Build-WithXSpp-0.12-3.fc19.noarch.rpm
Binary dependencies resolvable. Ok.
Package builds in F19 (http://koji.fedoraproject.org/koji/taskinfo?taskID=4831139). Ok.
Package is good.
Resolution: Package APPROVED.
New Package SCM Request ======================= Package Name: perl-Module-Build-WithXSpp Short Description: XS++ enhanced flavor of Module::Build Owners: churchyard Branches: f17 f18 InitialCC: perl-sig Git done (by process-git-requests). perl-Module-Build-WithXSpp-0.12-3.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/perl-Module-Build-WithXSpp-0.12-3.fc17 perl-Module-Build-WithXSpp-0.12-3.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/perl-Module-Build-WithXSpp-0.12-3.fc18 perl-Module-Build-WithXSpp-0.12-3.fc18 has been pushed to the Fedora 18 testing repository. perl-Module-Build-WithXSpp-0.12-3.fc18 has been pushed to the Fedora 18 stable repository. perl-Module-Build-WithXSpp-0.12-3.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/perl-Module-Build-WithXSpp-0.12-3.fc17 perl-Module-Build-WithXSpp-0.12-3.fc17 has been pushed to the Fedora 17 stable repository. |