[Bug 522613] Review Request: tornado - Scalable, non-blocking web server and tools

bugzilla at redhat.com bugzilla at redhat.com
Thu Sep 24 17:08:01 UTC 2009


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=522613


Rene Ploetz <reneploetz at gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reneploetz at gmx.de




--- Comment #2 from Rene Ploetz <reneploetz at gmx.de>  2009-09-24 13:07:59 EDT ---
This is an unofficial review for the original package and spec file:

+: ok
!: needs to be fixed
-: not applicable

MUST Items:
[+] rpmlint comes out clean on every package
[+] package name meets Package Naming Guidelines
[+] spec file name must match base package name
[+] the package license (ASL 2.0) is correct and allowed in Fedora
[+] spec file is legible and written in American English
[+] SOURCE url points to packaged source archive
[+] package md5sum matches upstream (69d6c60c4eca3a32de23aa5e3717b6f2)
[+] BuildRequires are correctly specified as per Python Guidelines (see below)
[+] package builds fine in koji
[-] locales are properly handled
[+] no system libraries are bundled
[-] if package installs libraries in default paths run ldconfig in
%post/%postun
[!] package owns the directories it creates

%{python_sitelib}/%{name}/* is not sufficient, see
http://fedoraproject.org/wiki/Packaging:UnownedDirectories#Common_Mistakes
This way you would not own %{python_sitelib}/%{name}

[+] no file is listed twice
[+] permissions on files are explictly set (via defattr)
[+] package must contain %clean with rm -rf %{buildroot} (or $RPM_BUILD_ROOT)
[!] macros are consistently used

You should decide to either use %{buildroot} or $RPM_BUILD_ROOT - either one is
fine, but mixing them should be avoided.

[+] the package has permissable code / content
[-] large documentations must be put into -doc subpackage
[+] files included in %doc must not be essential for the application to work
[-] header files must be in -devel package
[-] static libraries must be in a -static package
[-] packages containing pkgconfig(.pc) files must "Requires: pkgconfig"
[-] library files without a suffix (foo.so) must go into -devel subpackage if
libraries with a suffix (foo.so.0.0) are present.
[-] %{name}-devel packages must specify a fully versioned dependency on the
%{name} package
[-] package must not contain any libtool (.la) archives
[-] (most) GUI applications need to include a %{name}.desktop file
[+] package must not own any file or directory already owned by another package
[+] first command in %install must be rm -rf %{buildroot} (or $RPM_BUILD_ROOT)
[+] all filesnames in package are valid UTF-8


SHOULD-Items:
[!] if source package does not include license text as seperate file, packager
should query upstream to include it
[-] if available,  description and summary in spec file should contain
translations for non-english languages
[+] package builds fine in mock
[+] package should compile on all supported architectures
[+] package does work during a short test
[+] scriptlets - if used - must be sane
[-] non-devel subpackages should require the base package
[-] pkgconfig(.pc) files should be placed in -devel package
[-] if package does require a file outside of /etc, /bin, /sbin, /usr/bin, or
/usr/sbin, packager should require the package which provides the file (not the
file alone)


Python-specific MUST-Items:
[+] package must (almost always) require python-devel
[+] if package wants to install into the global site_packages directory,
python_sitelib must be defined according to Python Guidelines
[-] python eggs must be built from source
[-] python eggs must not be downloading dependencies during build process
[+] egg-info files must be included in the package if available
[-] compat packages must install using easy_install -m
[-] if building multiple versions (compat packages), one package must contain a
default version usable via "import modulename"
[+] all python source files except those in %{_bindir} and %{_sbindir} must be
byte-compiled into *.pyo and both source and compiled version must be included
in the package


Summary:
* package does not own every directory it creates
* mixed usage of %{buildroot} and $RPM_BUILD_ROOT

Note: This package will not compile for Fedora < 11, as the setup script will
try to compile epoll.c as F10 has only Python 2.5, but this is not a blocker.

Other Questions:
Why do you use a script to remove the shebangs from files? Creating a patch may
be better to verify the changes you make to the source - especially if you only
want to make rpmlint happy.

You should also consider to update your package to match the latest upstream
version (0.2).

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.




More information about the Fedora-package-review mailing list