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-1.fc17.src.rpm Description: This subclass of Module::Build adds some tools and processes to make it easier to use for wrapping C++ using XS++ (ExtUtils::XSpp). Fedora Account System Username: churchyard
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 pushed to the Fedora 17 stable repository.