Bug 745233 - Review Request: python-logbook - A logging replacement for Python
Summary: Review Request: python-logbook - A logging replacement for Python
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Robin Lee
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: 651853
TreeView+ depends on / blocked
Reported: 2011-10-11 18:21 UTC by Gwyn Ciesla
Modified: 2011-11-19 06:03 UTC (History)
3 users (show)

Fixed In Version: python-logbook-0.3-3.fc15
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2011-11-19 05:58:23 UTC
Type: ---
robinlee.sysu: fedora-review+
gwync: fedora-cvs+

Attachments (Terms of Use)

Description Gwyn Ciesla 2011-10-11 18:21:01 UTC
Logbook is a logging system for Python that replaces the standard library’s
logging module. It was designed with both complex and simple applications
and mind and the idea to make logging fun. What makes it fun? What about
getting log messages on your phone or desktop notification system?
Logbook can do that.

SPEC: http://zanoni.jcomserv.net/fedora/python-logbook/python-logbook.spec
SRPM: http://zanoni.jcomserv.net/fedora/python-logbook/python-logbook-0.3-1.fc15.src.rpm

Needed for the newest pida.

Comment 1 Robin Lee 2011-10-23 06:11:39 UTC
Here is the review:

 +:ok, =:needs attention, -:needs fixing

MUST Items:
[+] MUST: rpmlint must be run on every package.
$ rpmlint ./RPMS/noarch/python-manuel-1.5.0-1.fc15.noarch.rpm
./SRPMS/python-manuel-1.5.0-1.fc14.src.rpm ./SPECS/python-manuel.spec 
python-manuel.noarch: W: spelling-error %description -l en_US doctests -> doc
tests, doc-tests, doctorates
python-manuel.src: W: spelling-error %description -l en_US doctests -> doc
tests, doc-tests, doctorates
2 packages and 1 specfiles checked; 0 errors, 2 warnings.

[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}
[+] MUST: The package must be licensed with a Fedora approved license and meet
the Licensing Guidelines.
[+] MUST: The License field in the package spec file must match the actual
[+] 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 must be included in %doc.
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source,
as provided in the spec URL.
$ md5sum Logbook-0.3.tar.gz 
f6db00f52bd4629b154c205252461719  Logbook-0.3.tar.gz

[+] MUST: The package must successfully compile and build into binary rpms on
at least one supported architecture.
[+] MUST: All build dependencies must be listed in BuildRequires
[-] MUST: A package must own all directories that it creates.
The directories %{python_sitearch}/Logbook-0.3-py2.7.egg-info/ and %{python3_sitearch}/Logbook-0.3-py3.2.egg-info/ should be owned.

[+] MUST: A package must not contain any duplicate files in the %files listing.
[-] MUST: Each package must consistently use macros, as described in the macros
section of Packaging Guidelines.
* The macro upstream_name is not integrally used.
* The macros python_sitelib, python_version and python3_version are defined but not used.

[+] MUST: The package must contain code, or permissible content. This is
described in detail in the code vs. content section of Packaging Guidelines.
[+] MUST: If a package includes something as %doc, it must not affect the
runtime of the application.
[+] MUST: Packages must not own files or directories already owned by other
[+] MUST: All filenames in rpm packages must be valid UTF-8.

[-] If the source code of the package provides a test suite, it should be executed in the %check section, whenever it is practical to do so. 
Test suite does not run. And should BuildRequires extra modules zmq, execnet, sqlalchemy to run as many tests as possible.

Other Items:
[-] According to setup.py, this package does not require setuptools and tkinter at runtime.
[=] Group better be Development/Libraries
[-] The summary of python3 package should use "Python 3" instead of "Python".

Comment 2 Robin Lee 2011-10-23 06:16:21 UTC
Oops! rpmlint output:
$ rpmlint ./RPMS/i686/python*-logbook-* ./SRPMS/python-logbook-0.3-1.fc15.src.rpm ./SPECS/python-logbook.spec 
4 packages and 1 specfiles checked; 0 errors, 0 warnings.

Comment 3 Robin Lee 2011-10-23 07:55:41 UTC
[=] The testsuite namespace can be excluded from packaging.

Comment 4 Gwyn Ciesla 2011-10-26 19:13:33 UTC
Fixed egg dir ownership, and macros, and requires.  I now run the test suite, but I'm not sure if I'm doing it right.

SPEC: http://zanoni.jcomserv.net/fedora/python-logbook/python-logbook.spec

Comment 5 Robin Lee 2011-10-27 03:28:11 UTC
[-] The testsuite namespace should be uniformly excluded in both Python 2 and 3 packages.

[=] setuptools facilitates testing: 
%{__python} setup.py test
%if 0%{?with_python3}
pushd %{py3dir}
%{__python3} setup.py test
%endif # with_python3

[-] Some tests fail under Fedora 16. You should contact upstream to fix them. Fixing failed tests should be easy for upstream, though the causes of failure may not be in Logbook itself.

[-] The so in Python 3 package should also be filtered.

Comment 6 Gwyn Ciesla 2011-10-27 12:53:20 UTC
I've addressed all of these, except the failed tests kill the build.  Is there a reasonable band-aid in the interim?

Comment 7 Robin Lee 2011-10-28 08:30:46 UTC
I have reported two issues upstream:

The tests run OK in Python 2. But I am afraid this package cannot be approved until the Python 3 tests show good, unless you disable the Python 3 subpackage.

And I found some test utilizes jinja2, which should be added to BR:
./test_regular.py:1096:    @require('jinja2')
./test_regular.py:1288:    @require('zmq')
./test_regular.py:1306:    @require('zmq')
./test_regular.py:1336:    @require('multiprocessing')
./test_regular.py:1382:    @require('execnet')
./test_regular.py:1401:    @require('multiprocessing')
./test_regular.py:1437:    @require('sqlalchemy')

And python3-execnet has been available in Fedora 16 and later.

Comment 8 Gwyn Ciesla 2011-10-28 14:00:25 UTC
Well, since I really need this for pida's broken deps, I've disabled Python3 for now, and added jinja2.

SPEC: http://zanoni.jcomserv.net/fedora/python-logbook/python-logbook.spec

There are some execnet warnings at build time.

Comment 9 Robin Lee 2011-10-29 02:16:32 UTC
This package is approved by 'cheeselee'.

Comment 10 Gwyn Ciesla 2011-10-29 18:13:29 UTC
Excellent, many thanks!

New Package SCM Request
Package Name: python-logbook
Short Description: A logging replacement for Python
Owners: limb
Branches: f15 f16

Comment 11 Gwyn Ciesla 2011-10-29 18:14:59 UTC
Git done (by process-git-requests).

Comment 12 Fedora Update System 2011-10-29 18:56:13 UTC
python-logbook-0.3-3.fc16 has been submitted as an update for Fedora 16.

Comment 13 Fedora Update System 2011-10-29 18:56:22 UTC
python-logbook-0.3-3.fc15 has been submitted as an update for Fedora 15.

Comment 14 Fedora Update System 2011-10-31 21:23:18 UTC
python-logbook-0.3-3.fc15 has been pushed to the Fedora 15 testing repository.

Comment 15 Fedora Update System 2011-11-19 05:58:23 UTC
python-logbook-0.3-3.fc16 has been pushed to the Fedora 16 stable repository.

Comment 16 Fedora Update System 2011-11-19 06:03:37 UTC
python-logbook-0.3-3.fc15 has been pushed to the Fedora 15 stable repository.

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