Bug 845136

Summary: Review Request: python26-tornado - Scalable, non-blocking web server and tools
Product: [Fedora] Fedora EPEL Reporter: Garrett Holmstrom <gholms>
Component: Package ReviewAssignee: Matt Spaulding <mspaulding06>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: el5CC: mspaulding06, package-review
Target Milestone: ---Flags: mspaulding06: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-23 17:02:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Garrett Holmstrom 2012-08-01 22:12:48 UTC
Spec URL: http://gholms.fedorapeople.org/review/python26-tornado-2.2.1-2.el5.spec
SRPM URL: http://gholms.fedorapeople.org/review/python26-tornado-2.2.1-2.el5.src.rpm

Description:
Tornado is an open source version of the scalable, non-blocking web
server and tools.

The framework is distinct from most mainstream web server frameworks
(and certainly most Python frameworks) because it is non-blocking and
reasonably fast. Because it is non-blocking and uses epoll, it can
handle thousands of simultaneous standing connections, which means it is
ideal for real-time web services.

Fedora Account System Username: gholms

Note to reviewer:
This package is destined for use only in EPEL 5's python26 stack.

rpmlint output:
python26-tornado.noarch: W: spelling-error Summary(en_US) Scalable -> Salable, Callable, Calculable
python26-tornado.noarch: W: spelling-error %description -l en_US scalable -> salable, callable, calculable
python26-tornado.noarch: W: spelling-error %description -l en_US epoll -> poll, e poll
python26-tornado.noarch: W: invalid-url URL: http://www.tornadoweb.org HTTP Error 405: Method Not Allowed
python26-tornado.src: W: spelling-error Summary(en_US) Scalable -> Salable, Callable, Calculable
python26-tornado.src: W: spelling-error %description -l en_US scalable -> salable, callable, calculable
python26-tornado.src: W: spelling-error %description -l en_US epoll -> poll, e poll
python26-tornado.src: W: invalid-url URL: http://www.tornadoweb.org HTTP Error 405: Method Not Allowed
python26-tornado.src:129: W: macro-in-comment %{__python}
python26-tornado.src:184: W: macro-in-%changelog %check
python26-tornado-doc.noarch: W: spelling-error %description -l en_US scalable -> salable, callable, calculable
python26-tornado-doc.noarch: W: invalid-url URL: http://www.tornadoweb.org HTTP Error 405: Method Not Allowed
python26-tornado-doc.noarch: E: zero-length /usr/share/doc/python26-tornado-doc-2.2.1/demos/facebook/static/facebook.js
3 packages and 0 specfiles checked; 1 errors, 12 warnings.

Comment 1 Matt Spaulding 2012-08-02 00:54:47 UTC
Package looks very good. See below for comments.

RPM Lint Output:
python26-tornado.spec:184: W: macro-in-%changelog %check
python26-tornado.src: W: invalid-url URL: http://www.tornadoweb.org HTTP Error 405: Method Not Allowed
python26-tornado.src:184: W: macro-in-%changelog %check
python26-tornado.noarch: W: invalid-url URL: http://www.tornadoweb.org HTTP Error 405: Method Not Allowed
python26-tornado-doc.noarch: W: invalid-url URL: http://www.tornadoweb.org HTTP Error 405: Method Not Allowed
python26-tornado-doc.noarch: E: zero-length /usr/share/doc/python26-tornado-doc-2.2.1/demos/facebook/static/facebook.js
3 packages and 1 specfiles checked; 1 errors, 5 warnings.


All warnings/errors look acceptable. I'm assuming even though the "facebook.js" file is zero-length that it is required for the demo code. Website does in fact exist.

Key:
x = good
! = bad
- = n/a

 [x] License is acceptable (ASL 2.0)
 [x] License field in spec is correct
 [-] License files included in package %docs if included in source package
 [-] License files installed when any subpackage combination is installed
 [x] Spec written in American English
 [x] Spec is legible
 [x] Sources match upstream unless altered to fix permissibility issues
   Upstream MD5: ad8d943262bff57ef1b8f7b6d502ba04
   Your MD5:     ad8d943262bff57ef1b8f7b6d502ba04
 [x] Build succeeds on at least one primary arch
 [x] Build succeeds on all primary arches or has ExcludeArch + bugs filed
 [x] BuildRequires correct, justified where necessary
 [-] Locales handled with %find_lang, not %_datadir/locale/*
 [-] %post, %postun call ldconfig if package contains shared .so files
 [x] No bundled libs
 [-] Relocatability is justified
 [x] Package owns all directories it creates
 [-] Package requires others for directories it uses but does not own
 [x] No duplication in %files unless necessary for license files
 [x] File permissions are sane
 [x] Package contains permissible code or content
 [x] Large docs go in -doc subpackage
 [x] %doc files not required at runtime
 [-] Static libs go in -static package/virtual Provides
 [-] Development files go in -devel package
 [-] -devel packages Require base with fully-versioned dependency, %_isa
 [-] No .la files
 [-] GUI app uses .desktop file, installs it with desktop-file-install
 [x] File list does not conflict with other packages' without justification
 [x] File names are valid UTF-8

Optional review guidelines:
 [x] Builds in mock
 [x] Functions as described (e.g. no crashes)
 [-] Scriptlets are sane
 [-] Subpackages require base with fully-versioned dependency if sensible
 [-] .pc file subpackage placement is sensible

Naming guidelines:
 [x] Package names use only a-zA-Z0-9-._+ subject to restrictions on -._+
 [x] Package names are sane
 [x] No naming conflicts
 [x] Spec file name matches base package name
 [x] Version is sane
 [x] Version does not contain ~
 [x] Release is sane
 [x] %dist tag
 [x] Case used only when necessary
 [x] Renaming handled correctly

Packaging guidelines:
 [x] Package obeys FHS, except libexecdir, /run, /usr/target
 [x] No files under /srv, /opt, /usr/local
 [x] Changelog in prescribed format
 [x] No Packager, Vendor, Copyright, PreReq tags
 [x] Summary does not end in a period
 [x] Correct BuildRoot tag on < EL6
 [x] Correct %clean section on < EL6
 [x] Requires correct, justified where necessary
 [x] Summary, description do not use trademarks incorrectly
 [x] All relevant documentation is packaged, appropriately marked with %doc
 [x] Doc files do not drag in extra dependencies (e.g. due to +x)
 [x] Spec uses macros consistently
 [x] Spec uses macros instead of hard-coded names where appropriate
 [x] Spec uses macros for executables only when configurability is needed
 [x] Build uses only python/perl/shell+coreutils/lua/BuildRequired langs
 [x] %global, not %define
 [x] File ops preserve timestamps
 [x] No Requires(pre,post) notation
 [x] One project per package
 [x] No bundled fonts
 [!] Available test suites executed in %check


Python Specific:
 [x] Runtime Requires correct
 [x] Python macros declared on < EL6
 [x] All .py files packaged with .pyc, .pyo counterparts
 [x] Includes .egg-info files/directories when generated
 [x] Provides/Requires properly filtered

Comments:

1. Unit tests are not being run. This is okay because needed dependencies are not available.

2. Consider removing all the python3 code from the specfile if it is not going to be building with python3. This is not a blocker, but something to consider.


Everything looks great!

APPROVED.

Comment 2 Garrett Holmstrom 2012-08-02 01:51:54 UTC
New Package SCM Request
=======================
Package Name: python26-tornado
Short Description: Scalable, non-blocking web server and tools
Owners: gholms
Branches: el5
InitialCC: 

Note to SCM admin:  this package is solely for EPEL 5's python26 stack, so a "master" branch is unnecessary.  (Depending on timing, one may result in an accidental f18 branch.)

Comment 3 Gwyn Ciesla 2012-08-02 12:32:08 UTC
Git done (by process-git-requests).

master/devel is automatic.  Follow:

https://fedoraproject.org/wiki/How_to_remove_a_package_at_end_of_life

to keep the devel branch from being branched or automatically rebuilt in the future.

Comment 4 Fedora Update System 2012-08-03 23:08:38 UTC
python26-tornado-2.2.1-2.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/python26-tornado-2.2.1-2.el5

Comment 5 Fedora Update System 2012-08-05 06:35:12 UTC
Package python26-tornado-2.2.1-2.el5:
* should fix your issue,
* was pushed to the Fedora EPEL 5 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=epel-testing python26-tornado-2.2.1-2.el5'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-EPEL-2012-6593/python26-tornado-2.2.1-2.el5
then log in and leave karma (feedback).

Comment 6 Fedora Update System 2012-08-23 17:02:53 UTC
python26-tornado-2.2.1-2.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.