[Bug 908114] Review Request: python-pillow - Python image processing library

bugzilla at redhat.com bugzilla at redhat.com
Fri Feb 8 16:51:45 UTC 2013


Product: Fedora
https://bugzilla.redhat.com/show_bug.cgi?id=908114

Toshio Ernie Kuratomi <a.badger at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|nobody at fedoraproject.org    |a.badger at gmail.com

--- Comment #6 from Toshio Ernie Kuratomi <a.badger at gmail.com> ---
GOOD:
* Naming is fine.  The package's module is PIL but upstream's project name is
  pillow.  Because this is a fork from the original PIL, it's okay to make use
  of the python-pillow name in this instance.
* Spec file is legible
* No locale files to be taken care of.
* No elf libraries
* No bundled libraries
* Not designed to be relocatable
* builds in koji
* owns all directories it creates
* Code and permissible content (documentation)
* Exensive API reference docs are in a separate subpackage
* Nothing in %doc affects the package runtime
* Does not own files more than once except in the python3 vs python2 main
  packages.  This is allowed as there is no dependency between the two.
* Macros used consistently but see the note about following the template for
  python modules more closely below.  That will change some of hte macro names 
* Not a GUI app
* Does not own files or dirs that belong to other packages
* Filenames valid UTF-8
* No scriptlets

NEEDSWORK:
* You should try to follow the templates for python packages in Fedora:
  http://fedoraproject.org/wiki/Packaging:Python
  * Copying the source directory to %{py3dir} should be done in %prep rather
than
    %build
  * enablepy3 => with_python3
  * py2ver and py3ver have standard macros, python_version and python3_version
* License: PIL is not a valid license short text for Fedora.  However, looking
  at the license text and the python-imaging package, it appears that this is
MIT.
* Sources don't have a way to check them against upstream:
  * You could build from the tarball on pypi http://pypi.python.org/pypi/Pillow
    (Applying a patch taken from the git repository if necessary) to solve
this.
  * You could instead continue to use the github checkout but if so you should
    use the github guidelines that terje mentions to construct it and include a
    comment explaining how someone else can retrieve the same tarball from
    github.http://fedoraproject.org/wiki/Packaging:SourceURL#Github
* Versioning is incorrect.  This is a post-release snapshot so it should be
  something like:
  Release: 1.%{ahead}%{dist}
  (Our Release number, "1", comes before anything extra added by upstream,
  "%{ahead}".)
* You should be Obsoleting the python-imaging packages at version
  1.1.7-10%{?dist} (the last build) rather than 1.7.8-1 (the version of the
  first python-pillow package).  Because of %{?dist} you should increment the
  release by one so that it is higher than the release+dist tag.  Since this
  probably won't replace python-imaging until after the mass rebuild, the
  release you obsolete will probably go up another number for that.  So
  Something like this:
  Obsoletes: python-imaging <= 1.1.7-12
* %check -> Why don't you just run %check in the directory you build the module
  in rather than in the $RPM_BUILD_ROOT.  It's non-standard to run the checks
  in the BUILD_ROOT and it means that you have to both link the test data and
  script there and then remove the links afterwards.  Seems like it would be
  cleaner if nothing outside of %install touched the $RPM_BUILD_ROOT
  (According to the comments, this would also allow you to drop the patch)
* One subpackage requires the wrong base package: python3-pillow-doc currently
  Requires: %{name} = %{version}-%{release}.
  That should be %{name3} = %{version}-%{release}
* You should contact upstream about including a copy of the license file in the
  tarball
* Why are you using -fno-strict-aliasing with CFLAGS? (Note: don't just take
what the python-imaging package did as good... it was reviewed a long time ago
and things may have changed ;-)
* Permissions on the scripts in %doc are incorrect.  Everything in %doc needs
  to be non-executable.  You are changing this in the spec file so you should
  be able to simply remove the chmod 755 Scripts/*.py line

COSMETIC:
* BuildRequires: python-devel => BuildRequires: python2-devel
* Having separate lines for each BuildRequires is also easier to read
* Separating python2 and python3 deps onto separate lines is also good for
  organization
* Directories in the %files section like %{py2_incdir}/Imaging should have a
  trailing slash.  This just tells future maintainers that this is
  intentionally including the directory and everything inside it (It doesn't
  affect rpm's treatment of the directory).
* In setup.py install -O1 you can leave off the -O1


RPMLINT:
* python-pillow.i686: W: spelling-error %description -l en_US subpackages ->
sub packages, sub-packages, prepackages
  - All noted spelling warnings are false positives
* python-pillow.i686: W: invalid-license PIL
  - Noted above as a mustfix
* python-pillow.src:10: W: macro-in-comment %{version}
  - These need to be fixed.  rpm interprets macros even if they're in comments.
 So change things like:
    # This is the %{version}
    to:
    # This is the %%{version}
* python-pillow.src: W: invalid-url Source0:
python-imaging-Pillow-1.7.8-90-gcb4f0f2.tar.gz
  - Noted above that this could use the pypi url and the actual release or the
    github guidelines and a comment in the spec file if a snapshot is needed
* python-pillow-devel.i686: W: no-documentation
  - Ignorable.  The base package (which this depends on) has README type docs
    and there is a -docs subpackage for the rest
* python-pillow-doc.noarch: W: spurious-executable-perm
/usr/share/doc/python-pillow-doc-1.7.8/Scripts/gifmaker.py
  - Noted above -- things in %doc should not be executable.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=NZEv8y29Vt&a=cc_unsubscribe



More information about the package-review mailing list