Bug 603233

Summary: Review Request: zeromq - Software library for fast, message-based applications
Product: [Fedora] Fedora Reporter: Thomas Spura <tomspur>
Component: Package ReviewAssignee: Parag AN(पराग) <panemade>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, lemenkov, notting, panemade, rob, supercyper1, zxvdr.au
Target Milestone: ---Flags: panemade: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: zeromq-2.0.7-4.fc13 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-07-27 02:44:59 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:    
Bug Blocks: 603245    

Description Thomas Spura 2010-06-12 00:10:11 UTC
Spec URL: http://tomspur.fedorapeople.org/review/zeromq.spec
SRPM URL: http://tomspur.fedorapeople.org/review/zeromq-2.0.7-1.fc13.src.rpm
Description:
The 0MQ lightweight messaging kernel is a library which extends the
standard socket interfaces with features traditionally provided by
specialized messaging middle-ware products. 0MQ sockets provide an
abstraction of asynchronous message queues, multiple messaging
patterns, message filtering (subscriptions), seamless access to
multiple transport protocols and more.

#############################################################################

rpmlint is ignorable:
$ rpmlint ./zeromq-2.0.7-1.fc13.src.rpm ./x86_64/zeromq-*
zeromq-devel.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 0 errors, 1 warnings.

koji build sucessfull:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2245945


###########################################################################


This package is needed for pyzmq, which will be needed for a new version for ipython.

Comment 1 Chen Lei 2010-06-12 01:36:12 UTC
The spec file is fine, only some suggestions:
1.BuildRequires:  libstdc++-devel is not needed in mock
2.man3 should be moved to -devel subpackage.
3.Group:          Development/Libraries should be moved to -devel subpackage

The group for main package is System Environment/Libraries

Comment 2 Thomas Spura 2010-06-12 02:00:56 UTC
Thanks for looking into this so fast :)

(In reply to comment #1)
> The spec file is fine, only some suggestions:
> 1.BuildRequires:  libstdc++-devel is not needed in mock

I was unsure, so I left this in, but deleted now.

> 2.man3 should be moved to -devel subpackage.

Done.

> 3.Group:          Development/Libraries should be moved to -devel subpackage
> 
> The group for main package is System Environment/Libraries    

Right, done.


rpmlint is now completely clean:
$ rpmlint ./zeromq-2.0.7-2.fc13.src.rpm ./x86_64/zeromq-*
4 packages and 0 specfiles checked; 0 errors, 0 warnings.


Spec URL: http://tomspur.fedorapeople.org/review/zeromq.spec
SRPM URL: http://tomspur.fedorapeople.org/review/zeromq-2.0.7-2.fc13.src.rpm

Comment 3 Peter Lemenkov 2010-06-12 05:01:07 UTC
*** Bug 459874 has been marked as a duplicate of this bug. ***

Comment 4 Thomas Spura 2010-06-14 08:26:24 UTC
Sorry, Peter, didn't notice your bug...

Are you interested in comaintaining?

Comment 5 Chen Lei 2010-07-20 10:38:48 UTC
Some suggestions:

1.It seems some man7 files should be moved to -devel subpackage, it may need further clarification.

From zero.spec in the tarball, those files are in the -devel subpackage:

%{_mandir}/man7/zmq_cpp.7.gz
%{_mandir}/man7/zmq_epgm.7.gz
%{_mandir}/man7/zmq_inproc.7.gz
%{_mandir}/man7/zmq_ipc.7.gz
%{_mandir}/man7/zmq_pgm.7.gz
%{_mandir}/man7/zmq_tcp.7.gz

From debian package, those files are in the -dev subpackage:
/usr/share/man/man7/zmq_cpp.7.gz

2.I suggest to move {_bindir}/* and %{_mandir}/man1/* to -utils subpackages as Peter's spec in Bug 459874, many packages only depend on the shlib.

Comment 6 Thomas Spura 2010-07-20 12:48:01 UTC
(In reply to comment #5)
> 2.I suggest to move {_bindir}/* and %{_mandir}/man1/* to -utils subpackages as
> Peter's spec in Bug 459874, many packages only depend on the shlib.    

Done.

To the splitting of man pages:
e.g. zmq_inproc refers to zmq_bind, which was not in the same package. That doesn't make much sence so me, so I moved any man page to the devel package.

This way the main package is as small as possible and everyone, who is interessted in getting information would call 'man zmq'. But zmq.7.gz talks about how to include <zmq.h> and so on, which is only usefull, when having the -devel package around...

I don't see another reason for keeping a man page at all in the main package.
You?

Another issue:
I'm unsure about the group of -utils. Development/Tools would be the best, isn't it? (can't find Peter's spec file anymore)

$ rpmlint ./zeromq-2.0.7-3.fc13.src.rpm x86_64/zeromq-*
zeromq-utils.x86_64: W: spelling-error %description -l en_US zmq -> Zama, zoom, Zarqa
5 packages and 0 specfiles checked; 0 errors, 1 warnings.


Spec URL: http://tomspur.fedorapeople.org/review/zeromq.spec
SRPM URL: http://tomspur.fedorapeople.org/review/zeromq-2.0.7-3.fc13.src.rpm

Comment 7 Parag AN(पराग) 2010-07-23 06:20:43 UTC
Review:
+ package builds in mock (rawhide i686).
koji Build =>http://koji.fedoraproject.org/koji/taskinfo?taskID=2345975
+ rpmlint output for SRPM and for RPM.
zeromq-utils.x86_64: W: spelling-error %description -l en_US zmq -> Zama, zoom, Zarqa
5 packages and 0 specfiles checked; 0 errors, 1 warnings.

+ source files match upstream url (sha1sum)
cfe061d06431eccbbc95df2d257d07447c7f4cce  zeromq-2.0.7.tar.gz
cfe061d06431eccbbc95df2d257d07447c7f4cce  zeromq-2.0.7.tar.gz.srpm

+ package meets naming and packaging guidelines.
+ specfile is properly named, is cleanly written
+ Spec file is written in American English.
+ Spec file is legible.
+ dist tag is present.
+ license is open source-compatible.
+ License text is included in package.
+ %doc is present.
+ BuildRequires are proper.
+ %clean is present which is not needed now.
+ package installed properly.
+ Macro use appears rather consistent.
+ Package contains code, not content.
+ libzmq.pc file present.
+ no -devel subpackage
+ no .la files.
+ no translations are available
+ Does owns the directories it creates.
+ ldconfig scriptlets present.
+ no duplicates in %files.
+ file permissions are appropriate.
+ Package zeromq-2.0.7-3.fc14.x86_64 =>
Provides: libzmq.so.0()(64bit)
Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libuuid.so.1()(64bit) libuuid.so.1(UUID_1.0)(64bit) libzmq.so.0()(64bit) rtld(GNU_HASH)
+ Package zeromq-devel-2.0.7-3.fc14.x86_64 =>
Provides: pkgconfig(libzmq) = 2.0.7
Requires: /usr/bin/pkg-config libzmq.so.0()(64bit)
+ Package zeromq-utils-2.0.7-3.fc14.x86_64 =>
Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libuuid.so.1()(64bit) libzmq.so.0()(64bit) rtld(GNU_HASH)
+ Not a GUI application



Suggestions
1) If package is needed only for F-13 and above then please follow
  a) buildroot should be removed
  b) %clean not needed
  c) cleaning of buildroot at start of %install also not needed

2) Please add some empty line between %package and %description sections for -devel and -utils subpackages 

3) %description for -devel packages are generally generic. See /etc/rpmdevtools/spectemplate-lib.spec
So please replace existing %description text with following

The %{name}-devel package contains libraries and header files for 
developing applications that use %{name}.

4) %description for -utils should be simple like
 Utility files for libzmq package
or
This package contains ZeroMQ related utility files,
e.g. zmq_forwarder, zmq_streamer and zmq_queue.

5) For me working Source URL is http://zeromq.wdfiles.com/local--files/area:download/zeromq-%{version}.tar.gz

Please fix these before you go for cvs import.


APPROVED.

Comment 8 Parag AN(पराग) 2010-07-23 06:21:42 UTC
and yes there exists -devel and -utils subpackages, missed to modify my review template above

Comment 9 Thomas Spura 2010-07-23 11:18:43 UTC
Thanks for the review.

(In reply to comment #7)
> Suggestions
> 1) If package is needed only for F-13 and above then please follow
>   a) buildroot should be removed
Done
>   b) %clean not needed
Not done.
>   c) cleaning of buildroot at start of %install also not needed
Done

This is needed for F-13+ and EL-6+, so %clean needs to stay for now:
https://fedoraproject.org/wiki/Packaging/Guidelines#BuildRoot_tag
 
> 2) Please add some empty line between %package and %description sections for
> -devel and -utils subpackages 
Done
> 
> 3) %description for -devel packages are generally generic. See
> /etc/rpmdevtools/spectemplate-lib.spec
> So please replace existing %description text with following
> 
> The %{name}-devel package contains libraries and header files for 
> developing applications that use %{name}.
Done
> 
> 4) %description for -utils should be simple like
>  Utility files for libzmq package
> or
> This package contains ZeroMQ related utility files,
> e.g. zmq_forwarder, zmq_streamer and zmq_queue.
Done
> 
> 5) For me working Source URL is
> http://zeromq.wdfiles.com/local--files/area:download/zeromq-%{version}.tar.gz

What's wrong with:
http://www.zeromq.org/local--files/area:download/zeromq-%{version}.tar.gz ?

That url is used at: http://www.zeromq.org/area:download
and is working with spectool.

Wget changes my url to yours, when downloading, but what happends, when they change the redirect somehow, e.g. to zeromp.wdfiles2.com?
I'd like to leave my url there...

Spec URL: http://tomspur.fedorapeople.org/review/zeromq.spec
SRPM URL: http://tomspur.fedorapeople.org/review/zeromq-2.0.7-4.fc13.src.rpm

Comment 10 Thomas Spura 2010-07-23 11:24:21 UTC
New Package CVS Request
=======================
Package Name: zeromq
Short Description: Software library for fast, message-based applications
Owners: tomspur
Branches: F-13 EL-6

Comment 11 Parag AN(पराग) 2010-07-23 12:07:33 UTC
If I understood those guidelines correctly then we don't need %clean in EPEL6 and F12+ as its recent changes to rpm package. http://rpm.org/wiki/Releases/4.8.0#Packagebuilding

for EPEL see https://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#BuildRoot_tag

Also, I can see Buildroot tag is present in updated spec file but changelog entry added as 
- remove buildroot

Comment 12 Kevin Fenzi 2010-07-23 21:34:37 UTC
CVS done (by process-cvs-requests.py).

Comment 13 Thomas Spura 2010-07-25 12:34:20 UTC
(In reply to comment #11)
> If I understood those guidelines correctly then we don't need %clean in EPEL6
> and F12+ as its recent changes to rpm package.
> http://rpm.org/wiki/Releases/4.8.0#Packagebuilding
> 
> for EPEL see
> https://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#BuildRoot_tag
> 
> Also, I can see Buildroot tag is present in updated spec file but changelog
> entry added as 
> - remove buildroot    

Thanks for double check.

I've commited it without %clean and without buildroot to try out, it if builts in EL-6 (was successful):
http://koji.fedoraproject.org/koji/taskinfo?taskID=2349436

Link to the commited file:
http://cvs.fedoraproject.org/viewvc/devel/zeromq/zeromq.spec?view=markup

Comment 14 Fedora Update System 2010-07-25 12:40:42 UTC
zeromq-2.0.7-4.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/zeromq-2.0.7-4.fc13

Comment 15 Fedora Update System 2010-07-27 02:44:54 UTC
zeromq-2.0.7-4.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 16 Thomas Spura 2011-09-20 08:08:43 UTC
Package Change Request
======================
Package Name: zeromq
New Branches: el5
Owners: tomspur

Comment 17 Gwyn Ciesla 2011-09-20 14:54:12 UTC
Git done (by process-git-requests).