Bug 868529

Summary: Review Request: perl-ZMQ-LibZMQ2 - Perl wrapper for the libzmq 2.x library
Product: [Fedora] Fedora Reporter: Jose Pedro Oliveira <jose.p.oliveira.oss>
Component: Package ReviewAssignee: Petr Pisar <ppisar>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: 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-14 04:04:44 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: 868528    
Bug Blocks:    

Description Jose Pedro Oliveira 2012-10-20 16:35:49 UTC
Spec URL:
http://um-pe09-2.di.uminho.pt/fedora/perl-ZMQ-LibZMQ2.spec

SRPM URL:
http://um-pe09-2.di.uminho.pt/fedora/perl-ZMQ-LibZMQ2-1.03-1.fc17.src.rpm

Description:
The ZMQ::LibZMQ2 module is a wrapper of the 0MQ message passing library for
Perl. It's a thin wrapper around the C API. Please read http://zeromq.org
for more details on 0MQ.

Fedora Account System Username:
jpo

Comment 1 Petr Pisar 2012-12-21 12:06:57 UTC
URL and Source0 are usable. Ok.
Source tar ball is original (SHA-256: 2beed8af00ae5f87ab62addf7a6d622a91a65d67b26bac097450fbcd23bbae0c).
Summary verified from lib/ZMQ/LibZMQ2.pm.
Description verified from lib/ZMQ/LibZMQ2.pm.
Description verified from lib/ZMQ/LibZMQ2.pm.

TODO: You can replace %{__perl} macros with plain perl.
TODO: Remove deleting empty directories in %install section. Current build system does not leave empty directories.

FIX: Remove bundled inc/* modules or specify all needed dependencies. E.g. Makefile.PL calls use_xshelper from inc/Module/Install/XSUtil.pm that calls use_ppport() which uses Devel::PPPort.

TODO: Build-require `perl(base)' (lib/ZMQ/LibZMQ2.pm:3).
TODO: Build-require `perl(Exporter)' (lib/ZMQ/LibZMQ2.pm:3).
TODO: Build-require `perl(XSLoader)' (lib/ZMQ/LibZMQ2.pm:4).
TODO: Build-require `perl(constant)' (lib/ZMQ/LibZMQ2.pm:12).

FIX: Build-require `perl(File::Spec)' (t/100_basic.t:3).

TODO: Build-require `perl(Storable)' (t/100_basic.t:8).

FIX: Build-require `perl(Test::SharedFork)' (t/104_ipc.t:3).

TODO: Build-require `perl(File::Temp)' (t/104_ipc.t:4).

Proc::Guard is optional. Ok.

FIX: Do not (build-)require `perl(Task::Weaken)', it's not needed anywhere.

FIX: Do not build-require `perl(Devel::CheckLib)' as it is bundled under inc directory, or unbundle the module.

All tests pass. Ok.

$ rpmlint  perl-ZMQ-LibZMQ2.spec ../SRPMS/perl-ZMQ-LibZMQ2-1.03-1.fc19.src.rpm ../RPMS/x86_64/perl-ZMQ-LibZMQ2-*
perl-ZMQ-LibZMQ2.src: W: spelling-error Summary(en_US) libzmq -> Librium
perl-ZMQ-LibZMQ2.x86_64: W: spelling-error Summary(en_US) libzmq -> Librium
perl-ZMQ-LibZMQ2.x86_64: W: private-shared-object-provides /usr/lib64/perl5/vendor_perl/auto/ZMQ/LibZMQ2/LibZMQ2.so LibZMQ2.so()(64bit)
perl-ZMQ-LibZMQ2.x86_64: W: private-shared-object-provides /usr/lib64/perl5/vendor_perl/auto/ZMQ/LibZMQ2/LibZMQ2.so LibZMQ2.so()(64bit)
3 packages and 1 specfiles checked; 0 errors, 4 warnings.

FIX: Do not export private library LibZMQ2.so.

$ rpm -q -lv -p ../RPMS/x86_64/perl-ZMQ-LibZMQ2-1.03-1.fc19.x86_64.rpm 
drwxr-xr-x    2 root    root                        0 Dec 21 12:56 /usr/lib64/perl5/vendor_perl/ZMQ
-rw-r--r--    1 root    root                    15789 Oct  9 06:54 /usr/lib64/perl5/vendor_perl/ZMQ/LibZMQ2.pm
drwxr-xr-x    2 root    root                        0 Dec 21 12:56 /usr/lib64/perl5/vendor_perl/auto/ZMQ
drwxr-xr-x    2 root    root                        0 Dec 21 12:56 /usr/lib64/perl5/vendor_perl/auto/ZMQ/LibZMQ2
-rwxr-xr-x    1 root    root                    61552 Dec 21 12:56 /usr/lib64/perl5/vendor_perl/auto/ZMQ/LibZMQ2/LibZMQ2.so
drwxr-xr-x    2 root    root                        0 Dec 21 12:56 /usr/share/doc/perl-ZMQ-LibZMQ2-1.03
-rw-r--r--    1 root    root                     2551 Oct  9 06:54 /usr/share/doc/perl-ZMQ-LibZMQ2-1.03/Changes
-rw-r--r--    1 root    root                     7185 Dec 21 12:56 /usr/share/man/man3/ZMQ::LibZMQ2.3pm.gz
File permissions and layout are Ok.

$ rpm -q --requires -p ../RPMS/x86_64/perl-ZMQ-LibZMQ2-1.03-1.fc19.x86_64.rpm |sort | uniq -c
      1 libc.so.6()(64bit)
      1 libc.so.6(GLIBC_2.14)(64bit)
      1 libc.so.6(GLIBC_2.2.5)(64bit)
      1 libzmq.so.1()(64bit)
      1 perl(base)
      1 perl(constant)
      1 perl(Exporter)
      1 perl(:MODULE_COMPAT_5.16.2)
      1 perl(strict)
      1 perl(Task::Weaken)
      1 perl(XSLoader)
      1 perl(ZMQ::Constants)
      1 perl(ZMQ::Constants) >= 1.00
      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
      1 rtld(GNU_HASH)
FIX: Do not run-require `perl(Task::Weaken)'.
TODO: Do not require unversioned `perl(ZMQ::Constants)'.

$ rpm -q --provides -p ../RPMS/x86_64/perl-ZMQ-LibZMQ2-1.03-1.fc19.x86_64.rpm |sort | uniq -c
      1 LibZMQ2.so()(64bit)
      1 perl(ZMQ::LibZMQ2) = 1.03
      1 perl-ZMQ-LibZMQ2 = 1.03-1.fc19
      1 perl-ZMQ-LibZMQ2(x86-64) = 1.03-1.fc19
FIX: Do not export private library LibZMQ2.so.

$ resolvedeps rawhide ../RPMS/x86_64/perl-ZMQ-LibZMQ2-1.03-1.fc19.x86_64.rpm 
Binary dependencies resolvable. Ok.

Package builds in F19 (http://koji.fedoraproject.org/koji/taskinfo?taskID=4810660). Ok.

Otherwise 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.

Comment 3 Petr Pisar 2013-01-03 13:30:11 UTC
Spec file changes:

--- perl-ZMQ-LibZMQ2.spec.old   2012-11-01 13:17:28.000000000 +0100
+++ perl-ZMQ-LibZMQ2.spec       2012-12-28 01:28:47.000000000 +0100
@@ -1,6 +1,6 @@
 Name:           perl-ZMQ-LibZMQ2
 Version:        1.03
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Perl wrapper for the libzmq 2.x library

 License:        GPL+ or Artistic
@@ -11,19 +11,19 @@
 BuildRequires:  perl(AnyEvent)
 BuildRequires:  perl(Carp)
 BuildRequires:  perl(Cwd)
-BuildRequires:  perl(Devel::CheckLib) >= 0.4
 BuildRequires:  perl(ExtUtils::MakeMaker)
-BuildRequires:  perl(Task::Weaken)
+BuildRequires:  perl(File::Spec)
 BuildRequires:  perl(Test::Fatal)
 BuildRequires:  perl(Test::More) >= 0.98
 BuildRequires:  perl(Test::Requires)
+BuildRequires:  perl(Test::SharedFork)
 BuildRequires:  perl(Test::TCP) >= 1.08
 BuildRequires:  perl(ZMQ::Constants) >= 1.00
 BuildRequires:  zeromq-devel

-Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
-Requires:       perl(Task::Weaken)
-Requires:       perl(ZMQ::Constants) >= 1.00
+Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
+
+%{?perl_default_filter}

 %description
 The ZMQ::LibZMQ2 module is a wrapper of the 0MQ message passing library for
@@ -35,7 +35,7 @@
 %setup -q -n ZMQ-LibZMQ2-%{version}

 %build
-%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS"
+perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS"
 make %{?_smp_mflags}

 %install
@@ -43,7 +43,6 @@

 find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \;
 find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -exec rm -f {} \;
-find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;

 %{_fixperms} $RPM_BUILD_ROOT/*

@@ -59,6 +58,9 @@


 %changelog
+* Thu Dec 27 2012 Jose Pedro Oliveira <jpo at di.uminho.pt> - 1.03-2
+- Handle review itens (#868529)
+
 * Wed Oct 17 2012 Jose Pedro Oliveira <jpo at di.uminho.pt> - 1.03-1
 - First Fedora release.


> TODO: You can replace %{__perl} macros with plain perl.
Ok.

> TODO: Remove deleting empty directories in %install section. Current build system does not leave empty directories.
-find $RPM_BUILD_ROOT -depth -type d -exec rmdir {} 2>/dev/null \;
Ok.

> FIX: Remove bundled inc/* modules or specify all needed dependencies. E.g. Makefile.PL calls use_xshelper from inc/Module/Install/XSUtil.pm that calls use_ppport() which uses Devel::PPPort.
This is provided by perl now. Ok.

> TODO: Build-require `perl(base)' (lib/ZMQ/LibZMQ2.pm:3).
> TODO: Build-require `perl(Exporter)' (lib/ZMQ/LibZMQ2.pm:3).
> TODO: Build-require `perl(XSLoader)' (lib/ZMQ/LibZMQ2.pm:4).
> TODO: Build-require `perl(constant)' (lib/ZMQ/LibZMQ2.pm:12).
Not addressed. Ok.

> FIX: Build-require `perl(File::Spec)' (t/100_basic.t:3).
+BuildRequires:  perl(File::Spec)
Ok.

> TODO: Build-require `perl(Storable)' (t/100_basic.t:8).
Not addressed. Ok.

> FIX: Build-require `perl(Test::SharedFork)' (t/104_ipc.t:3).
+BuildRequires:  perl(Test::SharedFork)
Ok.

> TODO: Build-require `perl(File::Temp)' (t/104_ipc.t:4).
Not addressed. Ok.

> FIX: Do not (build-)require `perl(Task::Weaken)', it's not needed anywhere.
-BuildRequires:  perl(Task::Weaken)
-Requires:       perl(Task::Weaken)
Ok.

> FIX: Do not build-require `perl(Devel::CheckLib)' as it is bundled under inc directory, or unbundle the module.
-BuildRequires:  perl(Devel::CheckLib) >= 0.4
Ok.

> FIX: Do not export private library LibZMQ2.so.
+%{?perl_default_filter}
Ok.

> FIX: Do not run-require `perl(Task::Weaken)'.
$ rpm -q --requires -p ../RPMS/x86_64/perl-ZMQ-LibZMQ2-1.03-2.fc19.x86_64.rpm  | sort | uniq -c
      1 libc.so.6()(64bit)
      1 libc.so.6(GLIBC_2.14)(64bit)
      1 libc.so.6(GLIBC_2.2.5)(64bit)
      1 libzmq.so.1()(64bit)
      1 perl(base)
      1 perl(constant)
      1 perl(Exporter)
      1 perl(:MODULE_COMPAT_5.16.2)
      1 perl(strict)
      1 perl(XSLoader)
      1 perl(ZMQ::Constants)
      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
      1 rtld(GNU_HASH)
Binary requires are Ok.

> TODO: Do not require unversioned `perl(ZMQ::Constants)'.
Not addressed. Ok.

> FIX: Do not export private library LibZMQ2.so.
$ rpm -q --provides -p ../RPMS/x86_64/perl-ZMQ-LibZMQ2-1.03-2.fc19.x86_64.rpm  | sort | uniq -c
      1 perl(ZMQ::LibZMQ2) = 1.03
      1 perl-ZMQ-LibZMQ2 = 1.03-2.fc19
      1 perl-ZMQ-LibZMQ2(x86-64) = 1.03-2.fc19
Binary provides are Ok.

$ rpmlint perl-ZMQ-LibZMQ2.spec ../SRPMS/perl-ZMQ-LibZMQ2-1.03-2.fc19.src.rpm ../RPMS/x86_64/perl-ZMQ-LibZMQ2-1.03-2.fc19.x86_64.rpm 
perl-ZMQ-LibZMQ2.src: W: spelling-error Summary(en_US) libzmq -> Librium
perl-ZMQ-LibZMQ2.x86_64: W: spelling-error Summary(en_US) libzmq -> Librium
2 packages and 1 specfiles checked; 0 errors, 2 warnings.
rpmlint is Ok.

Package builds in F19 (http://koji.fedoraproject.org/koji/taskinfo?taskID=4835928). Ok.

Resolution: Package APPROVED.

Comment 4 Jose Pedro Oliveira 2013-01-03 14:07:16 UTC
New Package SCM Request
=======================
Package Name: perl-ZMQ-LibZMQ2
Short Description: Perl wrapper for the libzmq 2.x library
Owners: jpo
Branches: f17 f18
InitialCC: perl-sig

Comment 5 Gwyn Ciesla 2013-01-03 15:20:42 UTC
Git done (by process-git-requests).

Comment 6 Fedora Update System 2013-01-03 15:52:32 UTC
perl-ZMQ-LibZMQ2-1.03-2.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/perl-ZMQ-LibZMQ2-1.03-2.fc18

Comment 7 Fedora Update System 2013-01-03 15:53:09 UTC
perl-ZMQ-LibZMQ2-1.03-2.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/perl-ZMQ-LibZMQ2-1.03-2.fc17

Comment 8 Fedora Update System 2013-01-03 23:46:30 UTC
perl-ZMQ-LibZMQ2-1.03-2.fc18 has been pushed to the Fedora 18 testing repository.

Comment 9 Fedora Update System 2013-01-04 21:22:39 UTC
perl-ZMQ-LibZMQ2-1.04-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/perl-ZMQ-LibZMQ2-1.04-1.fc18

Comment 10 Fedora Update System 2013-01-14 04:04:46 UTC
perl-ZMQ-LibZMQ2-1.04-1.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.