Bug 856545 - Review Request: python-amqpclt - Versatile AMQP client
Summary: Review Request: python-amqpclt - Versatile AMQP client
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Eduardo Echeverria
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-09-12 09:29 UTC by Massimo Paladin
Modified: 2013-06-18 06:28 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-01-07 21:23:48 UTC
Type: ---
echevemaster: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Massimo Paladin 2012-09-12 09:29:55 UTC
Spec URL: https://mpaladin.web.cern.ch/mpaladin/rpms/amqpclt/amqpclt.spec
SRPM URL: https://mpaladin.web.cern.ch/mpaladin/rpms/amqpclt/amqpclt-0.3-1.fc17.src.rpm
Description: amqpclt is a versatile tool to interact with messaging brokers speaking AMQP
and/or message queues (see messaging.queue) on disk.

It receives messages (see messaging.message) from an incoming module,
optionally massaging them (i.e. filtering and/or modifying), and sends
them to an outgoing module. Depending on which modules are used, the tool
can perform different operations.
Fedora Account System Username: mpaladin

Comment 1 Eduardo Echeverria 2012-09-24 08:52:52 UTC
Hi Massimo 

Initial Comments

[!]: MUST Package consistently uses macro is (instead of hard-coded directory
     names).
     Note: Using both %{buildroot} and $RPM_BUILD_ROOT
See: http://fedoraproject.org/wiki/Packaging/Guidelines#macros

Regards

Comment 2 Eduardo Echeverria 2012-09-24 09:12:17 UTC
Hi again
And rename the package to python-amqpclt 
http://fedoraproject.org/wiki/Features/PythonNamingDependingOnImplementation

Comment 3 Massimo Paladin 2012-09-24 10:01:39 UTC
Hi Eduardo,

thanks for your comments, I will make first change and be coherent with macros.

About the second comment the status is:
Targeted release: Fedora 19
Last updated: 2012-08-22
Percentage of completion: 00%
Is that confirmed?

If it will be confirmed I will rename it as even if the package doesn't deploy
any python module it is implementation dependant.

Regards

Comment 4 Eduardo Echeverria 2012-09-24 10:13:53 UTC
Hi Massimo

You can just do this:
%global pkgname amqpclt
Name:		python-amqpclt

URL:		http://mpaladin.web.cern.ch/mpaladin/python/amqpclt/
Source0:	http://mpaladin.web.cern.ch/mpaladin/python/%{pkgname}/%{pkgname}-%{version}.tar.gz
BuildRoot:	%{_tmppath}/%{pkgname}-%{version}-%{release}-root-%(%{__id_u} -n)

%setup -q -n %{pkgname}-%{version}

and rename your spec python-amqpclt.spec

Regards

Comment 5 Eduardo Echeverria 2012-09-24 10:18:43 UTC
Paste rpmlint output of srpms and rpms and tries to build scratch in Koji

Comment 6 Massimo Paladin 2012-09-24 12:01:23 UTC
Spec URL: https://mpaladin.web.cern.ch/mpaladin/rpms/python-amqpclt/python-amqpclt.spec
SRPM URL: https://mpaladin.web.cern.ch/mpaladin/rpms/python-amqpclt/python-amqpclt-0.3-2.fc17.src.rpm
Description: amqpclt is a versatile tool to interact with messaging brokers speaking AMQP and/or message queues (see messaging.queue) on disk.

It receives messages (see messaging.message) from an incoming module,
optionally massaging them (i.e. filtering and/or modifying), and sends
them to an outgoing module. Depending on which modules are used, the tool
can perform different operations.
Fedora Account System Username: mpaladin

f17 scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4519543

el6 scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=4519548

rpmlint is clean.

Regards

Comment 7 Eduardo Echeverria 2012-09-24 18:48:53 UTC
no build in el5 http://koji.fedoraproject.org/koji/taskinfo?taskID=4521145

Comment 8 Eduardo Echeverria 2012-09-24 18:58:20 UTC
If you're just going to pack for EL6 
No differences with Fedora Packaging Guidelines at this time.

Comment 9 Massimo Paladin 2012-09-24 21:10:41 UTC
The scratch build for EL5 fails because in EL5 the MD5 is different and the src rpm was built with rpmbuild -bs, if builded with rpmbuild-md5 -bs it would work fine. From normal sources it would just build fine.

To check look for MD5 in the mock build log:
http://kojipkgs.fedoraproject.org//work/tasks/1146/4521146/root.log

Comment 10 Eduardo Echeverria 2012-09-24 21:44:24 UTC
Ok, that's right, sorry in the process of renaming the package I said something wrong

Change this
BuildRoot:	%{_tmppath}/%{srcname}-%{version}-%{release}-root-%(%{__id_u} -n)
to
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

http://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#BuildRoot_tag

I will formal review tonight
Regards

Comment 12 Eduardo Echeverria 2012-09-25 08:23:08 UTC
I was doing the review, and when installing the application, the executable gives me this error:

Traceback (most recent call last):
   File "/ usr / bin / amqpclt", line 36, in <module>
     auth.credential import as credential
ImportError: No module named auth.credential

A question?
You can implement a test section into the code?

regards

Comment 13 Eduardo Echeverria 2012-09-25 08:27:29 UTC
Package Review
==============

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



==== Generic ====
[x]: EXTRA Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: EXTRA Spec file according to URL is the same as in SRPM.
[x]: MUST Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[x]: MUST %build honors applicable compiler flags or justifies otherwise.
[x]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[x]: MUST Sources contain only permissible code or content.
[!]: 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
Yes, packaging for EPEL5

[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[-]: MUST Package contains desktop file if it is a GUI application.
[-]: MUST Development files must be in a -devel package
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Package complies to the Packaging Guidelines
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
Yes, supporting EPEL5
[-]: MUST Large documentation files are in a -doc subpackage, if 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.
[!]: MUST License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. No licenses
     found. Please check the source files for licenses manually.
In README File,  ASL2.0
[x]: MUST Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: MUST Package is named using only allowed ascii characters.
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[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 Package is not relocatable.
[x]: MUST Requires correct, justified where necessary.
[x]: MUST Rpmlint is run on all rpms the build produces.
     Note: No rpmlint messages.
[x]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
[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
     %{name}.spec.
[-]: MUST Package contains systemd file(s) if in need.
[x]: MUST File names are valid UTF-8.
[x]: SHOULD Reviewer should test that the package builds in mock.
[!]: SHOULD Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
Yes,Packager plans to package for EPEL5
[!]: SHOULD Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL5
[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,
     /usr/sbin.
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[?]: SHOULD Package functions as described.
[x]: SHOULD Latest version is packaged.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[x]: SHOULD SourceX tarball generation or download is documented.
[!]: SHOULD SourceX / PatchY prefixed with %{name}.
     Note: Source0 (amqpclt-0.3.tar.gz)
http://fedoraproject.org/wiki/Features/PythonNamingDependingOnImplementation

[x]: SHOULD SourceX is a working URL.
[-]: SHOULD Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[!]: SHOULD %check is present and all tests pass.
test is not present in the code
[x]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[x]: SHOULD Spec use %global instead of %define.


Rpmlint
-------
Checking: python-amqpclt-0.3-3.fc17.src.rpm
          python-amqpclt-0.3-3.fc17.noarch.rpm
2 packages and 0 specfiles checked; 0 errors, 0 warnings.


Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:
Requires
--------
python-amqpclt-0.3-3.fc17.noarch.rpm (rpmlib, GLIBC filtered):
    
    /usr/bin/python  
    perl-Config-General  
    python-argparse  
    python-messaging  
    python-pika  
    python-simplejson  

Provides
--------
python-amqpclt-0.3-3.fc17.noarch.rpm:
    
    python-amqpclt = 0.3-3.fc17

MD5-sum check
-------------
http://mpaladin.web.cern.ch/mpaladin/python/amqpclt/amqpclt-0.3.tar.gz :
  CHECKSUM(SHA256) this package     : 8d4d49904bf96a27bdef88a68c787552e2d6543f2a721ba06330abb8ec6361fc
  CHECKSUM(SHA256) upstream package : 8d4d49904bf96a27bdef88a68c787552e2d6543f2a721ba06330abb8ec6361fc

Comment 14 Massimo Paladin 2012-09-25 10:03:15 UTC
I added a check section where I only check the correct import of the modules.
I will add with time a proper test section.

Spec URL: https://mpaladin.web.cern.ch/mpaladin/rpms/python-amqpclt/python-amqpclt.spec
SRPM URL: https://mpaladin.web.cern.ch/mpaladin/rpms/python-amqpclt/python-amqpclt-0.3-4.fc17.src.rpm

Koji scratch builds:
F17: http://koji.fedoraproject.org/koji/taskinfo?taskID=4523650
EL6: http://koji.fedoraproject.org/koji/taskinfo?taskID=4523652

Regards

Comment 16 Massimo Paladin 2012-09-27 08:20:32 UTC
rpmlint output

$ ls amqpclt/
python-amqpclt-0.4-1.el5.noarch.rpm  python-amqpclt-0.4-1.fc16.noarch.rpm  python-amqpclt-0.4-1.fc18.noarch.rpm
python-amqpclt-0.4-1.el5.src.rpm     python-amqpclt-0.4-1.fc16.src.rpm     python-amqpclt-0.4-1.fc18.src.rpm
python-amqpclt-0.4-1.el6.noarch.rpm  python-amqpclt-0.4-1.fc17.noarch.rpm  python-amqpclt-0.4-1.fc19.noarch.rpm
python-amqpclt-0.4-1.el6.src.rpm     python-amqpclt-0.4-1.fc17.src.rpm     python-amqpclt-0.4-1.fc19.src.rpm
$ rpmlint amqpclt/*.rpm
12 packages and 0 specfiles checked; 0 errors, 0 warnings.

$ rpmlint python-amqpclt.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

Comment 17 Eduardo Echeverria 2012-09-27 09:44:58 UTC
Package Review
==============

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



==== Generic ====
[x]: EXTRA Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: EXTRA Spec file according to URL is the same as in SRPM.
[x]: MUST Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[x]: MUST %build honors applicable compiler flags or justifies otherwise.
[x]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[x]: MUST Sources contain only permissible code or content.
[!]: 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
Yes, packaging for EPEL5
[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[-]: MUST Package contains desktop file if it is a GUI application.
[-]: MUST Development files must be in a -devel package
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Package complies to the Packaging Guidelines
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
Yes, supporting EPEL5
[-]: MUST Large documentation files are in a -doc subpackage, if 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.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "*No copyright* Apache (v2.0)" For detailed output of licensecheck see
     file: /home/makerpm/massimo27/856545-python-amqpclt/licensecheck.txt
in the README ASL 2.0
[x]: MUST Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: MUST Package is named using only allowed ascii characters.
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[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 Package is not relocatable.
[x]: MUST Requires correct, justified where necessary.
[x]: MUST Rpmlint is run on all rpms the build produces.
     Note: No rpmlint messages.
[x]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
[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
     %{name}.spec.
[-]: MUST Package contains systemd file(s) if in need.
[x]: MUST File names are valid UTF-8.
[x]: SHOULD Reviewer should test that the package builds in mock.
[!]: SHOULD Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
Yes, packaging plans for EPEL5
[!]: SHOULD Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL5
Yes, supporting EPEL5
[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,
     /usr/sbin.
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[?]: SHOULD Package functions as described.
[x]: SHOULD Latest version is packaged.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[x]: SHOULD SourceX tarball generation or download is documented.
[!]: SHOULD SourceX / PatchY prefixed with %{name}.
     Note: Source0 (amqpclt-0.4.tar.gz)
http://fedoraproject.org/wiki/Features/PythonNamingDependingOnImplementation
[x]: SHOULD SourceX is a working URL.
[-]: SHOULD Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[x]: SHOULD %check is present and all tests pass.
[x]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[x]: SHOULD Spec use %global instead of %define.


Rpmlint
-------
Checking: python-amqpclt-0.4-1.fc17.noarch.rpm
          python-amqpclt-0.4-1.fc17.src.rpm
2 packages and 0 specfiles checked; 0 errors, 0 warnings.


Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:
Requires
--------
python-amqpclt-0.4-1.fc17.noarch.rpm (rpmlib, GLIBC filtered):
    
    /usr/bin/python  
    perl-Config-General  
    python-argparse  
    python-auth-credential  
    python-dirq  
    python-messaging  
    python-pika  

Provides
--------
python-amqpclt-0.4-1.fc17.noarch.rpm:
    
    python-amqpclt = 0.4-1.fc17

MD5-sum check
-------------
http://mpaladin.web.cern.ch/mpaladin/python/amqpclt/amqpclt-0.4.tar.gz :
  CHECKSUM(SHA256) this package     : f6d0bd821714c8d9d891302b066a3e6aad9d9e9433a8298e7c292d1d9636caf1
  CHECKSUM(SHA256) upstream package : f6d0bd821714c8d9d891302b066a3e6aad9d9e9433a8298e7c292d1d9636caf1

----------------

PACKAGE APPROVED

----------------

Comment 18 Massimo Paladin 2012-09-27 10:03:18 UTC
New Package SCM Request
=======================
Package Name: python-amqpclt
Short Description: Versatile AMQP client
Owners: foo bar
Branches: f16 f17 f18 el5 el6
InitialCC:

Comment 19 Massimo Paladin 2012-09-27 11:11:26 UTC
New Package SCM Request
=======================
Package Name: python-amqpclt
Short Description: Versatile AMQP client
Owners: mpaladin
Branches: f16 f17 f18 el5 el6
InitialCC:

Comment 20 Gwyn Ciesla 2012-09-27 11:24:31 UTC
Git done (by process-git-requests).

Comment 21 Fedora Update System 2012-09-27 15:45:39 UTC
python-amqpclt-0.4-1.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/python-amqpclt-0.4-1.fc16

Comment 22 Fedora Update System 2012-09-27 15:45:49 UTC
python-amqpclt-0.4-1.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/python-amqpclt-0.4-1.el5

Comment 23 Fedora Update System 2012-09-27 15:46:03 UTC
python-amqpclt-0.4-1.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/python-amqpclt-0.4-1.fc17

Comment 24 Fedora Update System 2012-09-27 15:46:13 UTC
python-amqpclt-0.4-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/python-amqpclt-0.4-1.fc18

Comment 25 Fedora Update System 2012-09-27 15:46:24 UTC
python-amqpclt-0.4-1.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/python-amqpclt-0.4-1.el6

Comment 26 Fedora Update System 2012-09-28 08:18:04 UTC
python-amqpclt-0.4-1.fc17 has been pushed to the Fedora 17 testing repository.

Comment 27 Eduardo Echeverria 2013-01-06 06:12:53 UTC
Hi Massimo, Please, you could close this bug?

Comment 28 Fedora Update System 2013-06-10 07:10:32 UTC
python-amqpclt-0.5-1.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/python-amqpclt-0.5-1.fc17

Comment 29 Fedora Update System 2013-06-10 07:10:56 UTC
python-amqpclt-0.5-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/python-amqpclt-0.5-1.fc18

Comment 30 Fedora Update System 2013-06-10 07:11:10 UTC
python-amqpclt-0.5-1.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/python-amqpclt-0.5-1.el5

Comment 31 Fedora Update System 2013-06-10 07:11:26 UTC
python-amqpclt-0.5-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/python-amqpclt-0.5-1.fc19

Comment 32 Fedora Update System 2013-06-10 07:11:36 UTC
python-amqpclt-0.5-1.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/python-amqpclt-0.5-1.el6

Comment 33 Fedora Update System 2013-06-18 06:07:43 UTC
python-amqpclt-0.5-1.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 34 Eduardo Echeverria 2013-06-18 06:28:53 UTC
Please, don't put this bug in the BZ field of the bohdi updates, this is only necessary for the first update


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