Bug 784603 - Review Request: python-messaging - abstraction of a "message"
Summary: Review Request: python-messaging - abstraction of a "message"
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Steve Traylen
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2012-01-25 14:34 UTC by Massimo Paladin
Modified: 2014-09-26 12:04 UTC (History)
4 users (show)

Fixed In Version: python-messaging-0.5-2.el5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2012-03-08 03:56:25 UTC
Type: ---
steve.traylen: fedora-review+

Attachments (Terms of Use)

Description Massimo Paladin 2012-01-25 14:34:21 UTC
Spec URL: https://mpaladin.web.cern.ch/mpaladin/rpms/python-messaging/python-messaging.spec
SRPM URL: https://mpaladin.web.cern.ch/mpaladin/rpms/python-messaging/python-messaging-0.5-1.fc16.src.rpm
This module provides an abstraction of a "message", as used in messaging,
see for instance: http://en.wikipedia.org/wiki/Enterprise_messaging_system.

The python module messaging is compatible with the Perl
module Messaging::Message.

Comment 1 Haïkel Guémar 2012-01-25 18:27:41 UTC
Since i'm not a sponsor, i will just do an informal review:
* if you don't plan to support EPEL5, remove any reference to BuildRoot cleaning and %defattr
* Summary is not very informative (ie: Messaging abstraction for Python)
* according PyPI, messaging does support python3, so you should provide a python3 variant (if it's supported upstream, as a reviewer, i consider this is a blocker)
* rpmlint is surprisingly silent (not even a single false positive spelling error !)
* builds fine inside mock
* provided sources checksum match with upstream's
* license is OK (Apache 2.0)

Except for the python3 variant, it complies with Fedora packaging guidelines. I recommend as a wannabe fedora packager, that you start doing informal reviews to show your future sponsor, that you have a well-understanding of our guidelines and help other reviews to advance.

Comment 2 Massimo Paladin 2012-01-25 22:08:05 UTC
Thank you very much for the informal review, very useful!
* I need to push the package to EPEL5 too, do I need to provide a python26 variant as well?
* is the summary 'Python abstraction of a "message"' fine? perl-Messaging-Message has the same summary
* I added a python3 variant following http://fedoraproject.org/wiki/Packaging:Python
* rpmlint is still silent
* it builds in mock
* sources checksum should have not been changed
* license is still the same

Thanks for the recommendations!

Comment 3 Haïkel Guémar 2012-01-26 03:23:58 UTC
* python26-xxx variants in EPEL5 are different packages, you'd need to submit another review
https://bugzilla.redhat.com/show_bug.cgi?id=782613 (an example of python26 variant ticket)
* for the summary, it's better than the previous one.
* python3 variant builds fine and is usable.

To me, your package fully complies with Fedora guidelines, you still have to be formally reviewed by a sponsor (which usually will ask you to do 2 or 3 informal reviews), try asking on irc (#fedora-devel @ freenode) or the mailing list.

Comment 4 Steve Traylen 2012-02-05 11:20:30 UTC
It's up to you if you want to do a python26 package on EPEL5 and also a python3 package on Fedora as well for that matter.

There is no need to do a separate package for these and recommend to you don't in fact.

As mentioned in #784613 you must do some informal reviews and provide a link to them here.

Otherwise I am happy to sponsor you.

Comment 5 Massimo Paladin 2012-02-13 10:20:20 UTC
One first informal review:

Comment 6 Massimo Paladin 2012-02-14 09:02:10 UTC

here is another informal review on a globus package (I haven't found anything bad):

Comment 7 Massimo Paladin 2012-02-16 12:53:45 UTC

here is another informal review:

Comment 8 Massimo Paladin 2012-02-16 14:12:32 UTC

another globus package informal review:

Comment 9 Steve Traylen 2012-02-16 14:20:04 UTC
Thanks, I'll go through all this in the next few days.


Comment 10 Steve Traylen 2012-02-19 11:48:33 UTC
Package Review

- = N/A
x = Pass
! = Fail
? = Not evaluated

==== Generic ====
[x]: MUST Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
ASL 2.0
[x]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[x]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: MUST Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
EPEL5 targeted.
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[x]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     Note: Clean would be needed if support for EPEL is required
EPEL5 so yes.
[x]: MUST Sources contain only permissible code or content.
[x]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files section. This is OK if packaging
     for EPEL5. Otherwise not needed
[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[x]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf would be needed if support for EPEL5 is required
[x]: MUST If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %doc.
[x]: MUST License field in the package spec file matches the actual license.
[x]: MUST License file installed when any subpackage combination is installed.
[x]: MUST Package consistently uses macros (instead of hard-coded directory
[x]: MUST Package meets the Packaging Guidelines.
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generates any conflict.
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST Package must own all directories that it creates.
[x]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[x]: MUST Requires correct, justified where necessary.
[x]: MUST Rpmlint output is silent.

rpmlint python-messaging-0.5-1.fc18.noarch.rpm

1 packages and 0 specfiles checked; 0 errors, 0 warnings.

rpmlint python-messaging-0.5-1.fc18.src.rpm

1 packages and 0 specfiles checked; 0 errors, 0 warnings.

rpmlint python3-messaging-0.5-1.fc18.noarch.rpm

1 packages and 0 specfiles checked; 0 errors, 0 warnings.

[x]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/home/steve/reviews/784603/messaging-0.5.tar.gz :
  MD5SUM this package     : 0b41ba68ef9951c862c73bdcc0917694
  MD5SUM upstream package : 0b41ba68ef9951c862c73bdcc0917694

[x]: MUST Spec file is legible and written in American English.
[x]: MUST Spec file name must match the spec package %{name}, in the format
[x]: MUST Package contains a SysV-style init script if in need of one.
[x]: MUST File names are valid UTF-8.
[x]: SHOULD Reviewer should test that the package builds in mock.
[x]: SHOULD If the source package does not include license text(s) as a
     separate file from upstream, the packager SHOULD query upstream to
     include it.
[x]: SHOULD Dist tag is present.
[x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
[x]: SHOULD Package functions as described.
[x]: SHOULD SourceX is a working URL.
[?]: SHOULD %check is present and all tests pass.
[ ]: SHOULD Packages should try to preserve timestamps of original installed
[x]: SHOULD Spec use %global instead of %define.


Generated by fedora-review 0.1.2
External plugins:

My Comments: 
I don't quite understand the logic here:
%if ! (0%{?with_python3})
BuildRequires:  python-simplejson
Requires:       python-simplejson
%endif # if ! with_python3

This says that on platforms where python3 is not availble then install
install python-simplejson. But e.g rhel6 and fedora15 both have python 2.6
but only fedora15 has python3.

I would probably use a dist tag for this since it's the default python
version per distribution that is relevent.

On a similar not I would have two %if , %end statements instead of

%if 0%{?fedora} > 12 || 0%{?rhel} > 6
%global with_python3 1
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")}

you are mixing the fact that  python3 landing happen to coincide with rpm setting python_sitelib automatically. They are not related even if they happened at the same time.

%python_sitelib is only not set for EPEL5 these days.

Referencing a URL in the description? Why not just add the relevent
text to the description.

This noarch package with no compilation. i.e 
CFLAGS="$RPM_OPT_FLAGS" is waste of space.

Building on fedora18 this is fine.

$ rpm -qp --requires python-messaging-0.5-1.fc18.noarch.rpm 
python(abi) = 2.7

I think it is still the case that on EPEL5 this is not auto-generated
so you must add this requires explicitly for epel5 only.


Comment 11 Massimo Paladin 2012-02-20 09:37:53 UTC

some comments/questions before making the changes.

(1) I am gonna change python-simplejson dependency, it is required only for python < 2.6
This if:
%if 0%{?fedora} > 12 || 0%{?rhel} > 6
%global with_python3 1
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from
distutils.sysconfig import get_python_lib; print (get_python_lib())")}
is coming from http://fedoraproject.org/wiki/Packaging:Python , may be that should be changed.

(2) URL was coming from a copy & paste of the README file, will change that

(3) again, this appears in http://fedoraproject.org/wiki/Packaging:Python , shall it be mentioned in that page?

(4) with mock and EPEL5 looks fine so I don't think it needs to be changed, right?
$ rpm -qp --requires /var/lib/mock/epel-5-x86_64/result/python-messaging-0.5-1.el5.centos.noarch.rpm 
python(abi) = 2.4

Comment 13 Steve Traylen 2012-02-20 21:13:24 UTC
Approved , you should be able to procede with an scm request next.

Comment 14 Massimo Paladin 2012-02-21 07:51:45 UTC
New Package SCM Request
Package Name: python-messaging
Short Description: Python abstraction of a "message", as used in Enterprise Messaging
Owners: mpaladin
Branches: f16 f17 el5 el6

Comment 15 Gwyn Ciesla 2012-02-21 13:39:16 UTC
Git done (by process-git-requests).

Comment 16 Fedora Update System 2012-02-22 08:01:38 UTC
python-messaging-0.5-2.fc17 has been submitted as an update for Fedora 17.

Comment 17 Fedora Update System 2012-02-22 08:02:31 UTC
python-messaging-0.5-2.fc16 has been submitted as an update for Fedora 16.

Comment 18 Fedora Update System 2012-02-22 08:03:29 UTC
python-messaging-0.5-2.el6 has been submitted as an update for Fedora EPEL 6.

Comment 19 Fedora Update System 2012-02-22 08:04:42 UTC
python-messaging-0.5-2.el5 has been submitted as an update for Fedora EPEL 5.

Comment 20 Fedora Update System 2012-02-22 17:46:09 UTC
python-messaging-0.5-2.fc17 has been pushed to the Fedora 17 testing repository.

Comment 21 Fedora Update System 2012-03-08 03:56:25 UTC
python-messaging-0.5-2.fc16 has been pushed to the Fedora 16 stable repository.

Comment 22 Fedora Update System 2012-03-08 05:05:48 UTC
python-messaging-0.5-2.fc16 has been pushed to the Fedora 16 stable repository.

Comment 23 Fedora Update System 2012-03-08 06:04:58 UTC
python-messaging-0.5-2.fc17 has been pushed to the Fedora 17 stable repository.

Comment 24 Fedora Update System 2012-03-08 17:26:43 UTC
python-messaging-0.5-2.el6 has been pushed to the Fedora EPEL 6 stable repository.

Comment 25 Fedora Update System 2012-03-08 17:27:10 UTC
python-messaging-0.5-2.el5 has been pushed to the Fedora EPEL 5 stable repository.

Comment 26 Steve Traylen 2014-09-26 09:16:08 UTC
Package Change Request
Package Name: python-messaging
New Branches: epel7
Owners: stevetraylen

Comment 27 Gwyn Ciesla 2014-09-26 12:04:01 UTC
Branch exists.

Note You need to log in before you can comment on or make changes to this bug.