Bug 1178191

Summary: Review Request: python-sane - Python SANE interface
Product: [Fedora] Fedora Reporter: Sandro Mani <manisandro>
Component: Package ReviewAssignee: Mukundan Ragavan <nonamedotc>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: nonamedotc, package-review
Target Milestone: ---Flags: nonamedotc: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-12 15:29:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Sandro Mani 2015-01-02 19:08:18 UTC
Spec URL: https://smani.fedorapeople.org/review/python-sane.spec
SRPM URL: https://smani.fedorapeople.org/review/python-sane-2.7.0-1.fc22.src.rpm
Description: Python SANE interface
Fedora Account System Username: smani

This was previously part of python-pillow (formely python-imaging) and has now been split of as a separate project.

Note: Patch0 will disappear immediately after review, as soon as I'll build python-pillow-2.7, but I'm waiting for this to be reviewed before building pillow-2.7 to allow for clean upgrades from python-pillow-sane to python-sane.

Comment 1 Mukundan Ragavan 2015-01-05 02:16:25 UTC
Taken.

Comment 2 Mukundan Ragavan 2015-01-06 02:12:24 UTC
Weird.... :(

================================================================================
 Package                    Arch   Version                      Repository
                                                                           Size
================================================================================
Installing:
 python-sane                x86_64 2.7.0-1.fc22                 /python-sane-2.7.0-1.fc22.x86_64
                                                                           68 k
 python3-sane               x86_64 2.7.0-1.fc22                 /python3-sane-2.7.0-1.fc22.x86_64
                                                                           67 k
Installing for dependencies:
 acl                        x86_64 2.2.52-7.fc22                fedora     76 k
 atlas                      x86_64 3.10.1-17.fc22               fedora    4.7 M
 avahi-libs                 x86_64 0.6.31-30.fc22               fedora     61 k
 blas                       x86_64 3.5.0-10.fc22                fedora    406 k
 cryptsetup-libs            x86_64 1.6.6-1.fc22                 fedora    184 k
 cups-libs                  x86_64 1:2.0.1-1.fc22               fedora    387 k
 dbus                       x86_64 1:1.8.12-3.fc22              fedora    351 k
 dbus-libs                  x86_64 1:1.8.12-3.fc22              fedora    167 k
 device-mapper              x86_64 1.02.92-3.fc22               fedora    232 k
 device-mapper-libs         x86_64 1.02.92-3.fc22               fedora    294 k
 fipscheck                  x86_64 1.4.1-7.fc22                 fedora     26 k
 fipscheck-lib              x86_64 1.4.1-7.fc22                 fedora     15 k
 fontconfig                 x86_64 2.11.1-5.fc22                fedora    235 k
 fontpackages-filesystem    noarch 1.44-10.fc21                 fedora     10 k
 freetype                   x86_64 2.5.4-1.fc22                 fedora    409 k
 gd                         x86_64 2.1.0-7.fc22                 fedora    143 k
 ghostscript                x86_64 9.15-6.fc22                  fedora     45 k
 ghostscript-core           x86_64 9.15-6.fc22                  fedora    4.4 M
 ghostscript-fonts          noarch 5.50-33.fc21                 fedora    325 k
 ghostscript-x11            x86_64 9.15-6.fc22                  fedora     72 k
 gnutls                     x86_64 3.3.11-1.fc22                fedora    623 k
 jbigkit-libs               x86_64 2.1-3.fc22                   fedora     51 k
 kmod                       x86_64 19-1.fc22                    fedora    108 k
 kmod-libs                  x86_64 19-1.fc22                    fedora     60 k
 lapack                     x86_64 3.5.0-10.fc22                fedora    5.8 M
 lcms2                      x86_64 2.6-4.fc22                   fedora    154 k
 libICE                     x86_64 1.0.9-2.fc22                 fedora     69 k
 libSM                      x86_64 1.2.2-2.fc22                 fedora     43 k
 libX11                     x86_64 1.6.2-2.fc22                 fedora    608 k
 libX11-common              noarch 1.6.2-2.fc22                 fedora    187 k
 libXau                     x86_64 1.0.8-4.fc22                 fedora     33 k
 libXext                    x86_64 1.3.3-2.fc22                 fedora     42 k
 libXfont                   x86_64 1.5.0-2.fc22                 fedora    152 k
 libXpm                     x86_64 3.5.11-3.fc22                fedora     54 k
 libXt                      x86_64 1.1.4-10.fc22                fedora    178 k
 libexif                    x86_64 0.6.21-8.fc22                fedora    352 k
 libfontenc                 x86_64 1.1.2-3.fc22                 fedora     34 k
 libgfortran                x86_64 4.9.2-3.fc22                 fedora    289 k
 libgphoto2                 x86_64 2.5.5.1-1.fc22               fedora    1.3 M
 libieee1284                x86_64 0.2.11-17.fc22               fedora     43 k
 libjpeg-turbo              x86_64 1.3.90-3.fc22                fedora    148 k
 libpng                     x86_64 2:1.6.14-2.fc22              fedora    265 k
 libquadmath                x86_64 4.9.2-3.fc22                 fedora    176 k
 libseccomp                 x86_64 2.1.1-6.fc22                 fedora     44 k
 libtiff                    x86_64 4.0.3-18.fc22                fedora    172 k
 libtool-ltdl               x86_64 2.4.2-31.fc22                fedora     54 k
 libusbx                    x86_64 1.0.19-2.fc22                fedora     65 k
 libv4l                     x86_64 1.6.2-1.fc22                 fedora    172 k
 libvpx                     x86_64 1.3.0-6.fc22                 fedora    513 k
 libwebp                    x86_64 0.4.2-1.fc22                 fedora    225 k
 libxcb                     x86_64 1.11-2.fc22                  fedora    172 k
 lockdev                    x86_64 1.0.4-0.19.20111007git.fc22  fedora     38 k
 lyx-fonts                  noarch 2.1.2.2-1.fc22               fedora    170 k
 nettle                     x86_64 2.7.1-5.fc22                 fedora    332 k
 numpy                      x86_64 1:1.9.1-1.fc22               fedora    3.0 M
 openjpeg2                  x86_64 2.1.0-3.fc22                 fedora    108 k
 poppler-data               noarch 0.4.7-2.fc22                 fedora    2.2 M
 python                     x86_64 2.7.9-1.fc22                 fedora     92 k
 python-backports           x86_64 1.0-5.fc22                   fedora    9.7 k
 python-backports-ssl_match_hostname
                            noarch 3.4.0.2-4.fc22               fedora     17 k
 python-nose                noarch 1.3.4-1.fc22                 fedora    279 k
 python-pillow              x86_64 2.6.1-1.fc22                 fedora    530 k
 python-setuptools          noarch 11.0-1.fc22                  fedora    415 k
 python3                    x86_64 3.4.2-3.fc22                 fedora     52 k
 python3-libs               x86_64 3.4.2-3.fc22                 fedora    6.6 M
 python3-numpy              x86_64 1:1.9.1-1.fc22               fedora    3.0 M
 python3-pillow             x86_64 2.6.1-1.fc22                 fedora    542 k
 python3-pip                noarch 1.5.6-4.fc22                 fedora    1.4 M
 python3-setuptools         noarch 11.0-1.fc22                  fedora    399 k
 qrencode-libs              x86_64 3.4.2-4.fc22                 fedora     55 k
 sane-backends-libs         x86_64 1.0.24-12.fc22               fedora     99 k
 systemd                    x86_64 218-2.fc22                   fedora    5.4 M
 trousers                   x86_64 0.3.13-3.fc22                fedora    294 k
 urw-fonts                  noarch 2:1.10-1.fc22                fedora    1.5 M
 xorg-x11-font-utils        x86_64 1:7.5-25.fc22                fedora     88 k

Transaction Summary
================================================================================
Install  2 Packages (+75 Dependent packages)

Total size: 51 M
Installed size: 188 M


Transaction check error:
  file /usr/lib64/python3.4/site-packages/__pycache__/sane.cpython-34.pyc conflicts between attempted installs of python3-sane-2.7.0-1.fc22.x86_64 and python3-pillow-2.6.1-1.fc22.x86_64
  file /usr/lib64/python3.4/site-packages/__pycache__/sane.cpython-34.pyo conflicts between attempted installs of python3-sane-2.7.0-1.fc22.x86_64 and python3-pillow-2.6.1-1.fc22.x86_64


I am looking at the rest further...

Comment 3 Sandro Mani 2015-01-06 08:25:09 UTC
Oh, actually that is a python-pillow packaging bug, the sane pycache should really have been in the python-pillow-sane subpackage... Will be fixed when python-pillow-2.7 [1] comes along, don't think it's worth to push an update before that. F21 clearly needs to be fixed also.


[1] https://smani.fedorapeople.org/python-pillow-2.7.0-1.fc22.src.rpm

Comment 4 Mukundan Ragavan 2015-01-08 01:58:47 UTC
(In reply to Sandro Mani from comment #3)
> Oh, actually that is a python-pillow packaging bug, the sane pycache should
> really have been in the python-pillow-sane subpackage... Will be fixed when
> python-pillow-2.7 [1] comes along, don't think it's worth to push an update
> before that. F21 clearly needs to be fixed also.
> 
> 
> [1] https://smani.fedorapeople.org/python-pillow-2.7.0-1.fc22.src.rpm

I have been having some issues with mock (I think) which I am trying to figure out. If I don't post a review today, I will definitely have one tomorrow ... sorry about the delay.

Comment 5 Sandro Mani 2015-01-10 17:26:58 UTC
Would it help if I built a fixed pillow 2.6?

Comment 6 Mukundan Ragavan 2015-01-11 02:21:56 UTC
(In reply to Sandro Mani from comment #5)
> Would it help if I built a fixed pillow 2.6?

Thanks. It was my "destruction" of mock. Now all is well.

Comment 7 Mukundan Ragavan 2015-01-11 02:23:04 UTC

Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Package installs properly.
  Note: Installation errors (see attachment)
  See: https://fedoraproject.org/wiki/Packaging:Guidelines
- 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.
  Note: Cannot find COPYING in rpm(s)
  See:
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text

---> This is already discussed. I am manually installing and checking this.


===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.

---> This seems to be fine. Would be good to check anyway ..

[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 12 files have unknown license. Detailed output of
     licensecheck in /home/mukundan/ownCloud/pkg_reviews/python-sane/python-
     sane/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[?]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/lib64/python3.4/site-
     packages/__pycache__(python3-libs)

---> This seems to be fine.

[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 61440 bytes in 10 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Rpmlint is run on all rpms the build produces.
     Note: No rpmlint messages.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

Python:
[x]: Python eggs must not download any dependencies during the build process.
[x]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python
[x]: Package contains BR: python2-devel or python3-devel
[x]: Binary eggs must be removed in %prep

===== SHOULD items =====

Generic:
[x]: 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]: Final provides and requires are sane (see attachments).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     python3-sane

---> This looks fine to me.

[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.

---> https://koji.fedoraproject.org/koji/taskinfo?taskID=8535271

[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[!]: Rpmlint is run on all installed packages.
     Note: Mock build failed
     See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Installation errors
-------------------
INFO: mock.py version 1.2.3 starting (python version = 2.7.8)...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Start: chroot init
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled yum cache
Start: cleaning yum metadata
Finish: cleaning yum metadata
INFO: enabled ccache
Mock Version: 1.2.3
INFO: Mock Version: 1.2.3
Finish: chroot init
INFO: installing package(s): /home/mukundan/ownCloud/pkg_reviews/python-sane/python-sane/results/python-sane-2.7.0-1.fc22.x86_64.rpm /home/mukundan/ownCloud/pkg_reviews/python-sane/python-sane/results/python3-sane-2.7.0-1.fc22.x86_64.rpm
ERROR: Command failed. See logs for output.
 # /usr/bin/yum --installroot /var/lib/mock/fedora-rawhide-x86_64/root/ --releasever 22 install /home/mukundan/ownCloud/pkg_reviews/python-sane/python-sane/results/python-sane-2.7.0-1.fc22.x86_64.rpm /home/mukundan/ownCloud/pkg_reviews/python-sane/python-sane/results/python3-sane-2.7.0-1.fc22.x86_64.rpm --setopt=tsflags=nocontexts


Rpmlint
-------
Checking: python-sane-2.7.0-1.fc22.x86_64.rpm
          python3-sane-2.7.0-1.fc22.x86_64.rpm
          python-sane-2.7.0-1.fc22.src.rpm
3 packages and 0 specfiles checked; 0 errors, 0 warnings.




Requires
--------
python3-sane (rpmlib, GLIBC filtered):
    /usr/bin/python
    libc.so.6()(64bit)
    libpthread.so.0()(64bit)
    libpython3.4m.so.1.0()(64bit)
    libsane.so.1()(64bit)
    python(abi)
    python3-numpy
    python3-pillow
    rtld(GNU_HASH)

python-sane (rpmlib, GLIBC filtered):
    /usr/bin/python
    libc.so.6()(64bit)
    libpthread.so.0()(64bit)
    libpython2.7.so.1.0()(64bit)
    libsane.so.1()(64bit)
    numpy
    python(abi)
    python-pillow
    rtld(GNU_HASH)



Provides
--------
python3-sane:
    python3-pillow-sane
    python3-sane
    python3-sane(x86-64)

python-sane:
    python-pillow-sane
    python-sane
    python-sane(x86-64)



Unversioned so-files
--------------------
python-sane: /usr/lib64/python2.7/site-packages/_sane.so
python3-sane: /usr/lib64/python3.4/site-packages/_sane.cpython-34m.so

Source checksums
----------------
https://github.com/python-pillow/Sane/tarball/6ade190121839c06220f7f65fe5746c3065ba077/python-pillow-Sane-v2.7.0-0-g6ade190.tar.gz :
  CHECKSUM(SHA256) this package     : 9c92c5939b1a6fbe26669c8849f3c62588628c1e72113bce527d3740cbef5dc9
  CHECKSUM(SHA256) upstream package : 9c92c5939b1a6fbe26669c8849f3c62588628c1e72113bce527d3740cbef5dc9


Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -rn python-sane-2.7.0-1.fc22.src.rpm
Buildroot used: fedora-rawhide-x86_64
Active plugins: Python, Generic, Shell-api, C/C++
Disabled plugins: Java, SugarActivity, fonts, Haskell, Ocaml, Perl, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Comment 8 Mukundan Ragavan 2015-01-11 02:47:30 UTC
(In reply to Mukundan Ragavan from comment #7)
> 
> Package Review
> ==============
> 
> Legend:
> [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
> [ ] = Manual review needed
> 
> 
> Issues:
> =======
> - Package installs properly.
>   Note: Installation errors (see attachment)
>   See: https://fedoraproject.org/wiki/Packaging:Guidelines
> - 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.
>   Note: Cannot find COPYING in rpm(s)
>   See:
>   http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text
> 
> ---> This is already discussed. I am manually installing and checking this.
> 



DEBUG util.py:366:  Total size: 51 M
DEBUG util.py:366:  Downloading packages:
DEBUG util.py:366:  Running transaction check
DEBUG util.py:366:  Running transaction test
DEBUG util.py:366:  Transaction check error:
DEBUG util.py:366:    file /usr/lib64/python3.4/site-packages/__pycache__/sane.cpython-34.pyc conflicts between attempted installs of python3-sane-2.7.0-1.fc22.x86_64 and python3-pillow-2.6.1-1.fc22.x86_64
DEBUG util.py:366:    file /usr/lib64/python3.4/site-packages/__pycache__/sane.cpython-34.pyo conflicts between attempted installs of python3-sane-2.7.0-1.fc22.x86_64 and python3-pillow-2.6.1-1.fc22.x86_64



But, using the source rpm provided in comment 3, fixed python-pillow was built.

http://koji.fedoraproject.org/koji/taskinfo?taskID=8586125

python-sane can be installed.

[root@localhost ~]# rpm -qa python*sane python*pillow | sort
python3-pillow-2.7.0-1.fc22.x86_64
python3-sane-2.7.0-1.fc22.x86_64
python-pillow-2.7.0-1.fc22.x86_64
python-sane-2.7.0-1.fc22.x86_64


rpmlint on installed package does not throw any errors.

[root@localhost ~]# rpmlint python-sane
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 9 Sandro Mani 2015-01-11 10:59:05 UTC
Concerning the unversioned so file, this is ok

Concerning the license file, it is installed using %license, and hence installed in /usr/share/licenses/python-sane/COPYING, see also [1].

I think the rest is ok, providing the fixed python-pillow is built?

[1] https://fedorahosted.org/fpc/ticket/411

Comment 10 Mukundan Ragavan 2015-01-12 01:18:03 UTC
Oh the license file was alright - I had no issues with that. copy/paste snafu.

All is well. Approved. (I actually meant to change the flag along with my comment earlier :()

Comment 11 Sandro Mani 2015-01-12 08:28:22 UTC
Thanks!

New Package SCM Request
=======================
Package Name: python-sane
Short Description: Python SANE interface
Owners: smani
Branches:
InitialCC:

Comment 12 Gwyn Ciesla 2015-01-12 13:51:31 UTC
Git done (by process-git-requests).