Bug 1219819 - Review Request: python-pyopencl - Python wrapper for OpenCL
Summary: Review Request: python-pyopencl - Python wrapper for OpenCL
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
(Show other bugs)
Version: rawhide
Hardware: All Linux
medium
medium
Target Milestone: ---
Assignee: Jonathan Underwood
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Keywords:
: 1174959 (view as bug list)
Depends On: 1219815 1250651
Blocks: FE-Legal 1205648
TreeView+ depends on / blocked
 
Reported: 2015-05-08 11:01 UTC by Igor Gnatenko
Modified: 2015-12-09 20:50 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-12-09 20:50:27 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
jonathan.underwood: fedora-review+


Attachments (Terms of Use)

Description Igor Gnatenko 2015-05-08 11:01:53 UTC
Spec URL: https://ignatenkobrain.fedorapeople.org/for-review/pyopencl/python-pyopencl.spec
SRPM URL: https://ignatenkobrain.fedorapeople.org/for-review/pyopencl/python-pyopencl-2015.1-1.fc23.src.rpm
Description: PyOpenCL makes it possible to access GPUs and other massively 
parallel compute devices from Python. Specifically, PyOpenCL 
provides Pythonic access to the OpenCL parallel computation 
API in a manner similar to the sister project `PyCUDA`.
Fedora Account System Username: ignatenkobrain

Comment 1 Jonathan Underwood 2015-08-05 11:15:39 UTC
I'll happily review this once the pytools issue is resolved - I think the maintainer can be considered non-responsive at this point - I suggest you start the non-responsive maintainer process and apply for commit access to pytools so you can update that package, if you're willing.

Comment 2 Igor Gnatenko 2015-08-05 13:28:02 UTC
(In reply to Jonathan Underwood from comment #1)
> I'll happily review this once the pytools issue is resolved - I think the
> maintainer can be considered non-responsive at this point - I suggest you
> start the non-responsive maintainer process and apply for commit access to
> pytools so you can update that package, if you're willing.

I just realized that pyopencl depends on python-compyte which is not packaged. I will package it after 2 hours, so please review it first.

Comment 3 Igor Gnatenko 2015-08-05 13:31:32 UTC
I mean this package works, but not in all cases.

Comment 4 Jonathan Underwood 2015-08-05 13:33:52 UTC
OK, will wait for compyte. Please note the python packaging guidelines were updated yesterday, and quite a lot has changed:

https://fedoraproject.org/wiki/Packaging:Python

https://fedoraproject.org/wiki/Packaging:Python_Appendix

Comment 5 Jonathan Underwood 2015-08-05 13:36:32 UTC
In the meantime, some rpmlint issues:

Checking: python-pyopencl-2015.1-1.fc22.x86_64.rpm
          python3-pyopencl-2015.1-1.fc22.x86_64.rpm
          python-pyopencl-2015.1-1.fc22.src.rpm
python-pyopencl.x86_64: E: version-control-internal-file /usr/share/doc/python-pyopencl/examples/.gitignore
python-pyopencl.x86_64: E: non-standard-executable-perm /usr/lib64/python2.7/si$e-packages/pyopencl/_pvt_struct.so 775
python-pyopencl.x86_64: E: non-standard-executable-perm /usr/lib64/python2.7/sit
e-packages/pyopencl/_cl.so 775
python-pyopencl.x86_64: W: devel-file-in-non-devel-package /usr/lib64/python2.7/
site-packages/pyopencl/cl/pyopencl-complex.h
python-pyopencl.x86_64: W: doc-file-dependency /usr/share/doc/python-pyopencl/ex
amples/download-examples-from-wiki.py /usr/bin/env
python3-pyopencl.x86_64: W: devel-file-in-non-devel-package /usr/lib64/python3.4
/site-packages/pyopencl/cl/pyopencl-complex.h
python3-pyopencl.x86_64: E: non-standard-executable-perm /usr/lib64/python3.4/si
te-packages/pyopencl/_cl.cpython-34m.so 775
python3-pyopencl.x86_64: E: non-standard-executable-perm /usr/lib64/python3.4/si
te-packages/pyopencl/_pvt_struct.cpython-34m.so 775
python3-pyopencl.x86_64: E: version-control-internal-file /usr/share/doc/python3
-pyopencl/examples/.gitignore
python3-pyopencl.x86_64: W: doc-file-dependency /usr/share/doc/python3-pyopencl/
examples/download-examples-from-wiki.py /usr/bin/env
3 packages and 0 specfiles checked; 6 errors, 4 warnings.

Comment 6 Jonathan Underwood 2015-08-05 13:38:17 UTC
Also, I note that upstream has released 2015.1.2. In addition, fedora-review reports installation problems with the built packages.

Comment 7 Jonathan Underwood 2015-08-05 13:39:16 UTC
Oh, ignore the comment about 2015.1.2  - I must have imagined that, as I can't see it now! Sorry.

Comment 8 Jonathan Underwood 2015-09-18 10:41:10 UTC
Any progress here?

Comment 9 Igor Gnatenko 2015-10-24 11:46:20 UTC
New SPEC: https://ignatenkobrain.fedorapeople.org/for-review/python-pyopencl.spec
New SRPM: https://ignatenkobrain.fedorapeople.org/for-review/python-pyopencl-2015.1-2.fc24.src.rpm

Please review ;) Also I finally imported python-compyte and fixed it usage here. Sorry for delay.

Comment 10 Jonathan Underwood 2015-10-24 12:54:10 UTC
PLease *always* use the prescribed format for the spec and srpm url - otherwise the fedora-review tool doesn't find the latest package version.

Comment 11 Jonathan Underwood 2015-10-24 12:56:34 UTC
OK, fedora-review did in fact detect the new package, great. I'll kick off a build and review.

Comment 12 Igor Gnatenko 2015-10-24 13:35:49 UTC
New SPEC: https://ignatenkobrain.fedorapeople.org/for-review/python-pyopencl.spec
New SRPM: https://ignatenkobrain.fedorapeople.org/for-review/python-pyopencl-2015.1-3.fc24.src.rpm

I fixed:
* non-standard-executable-perm
* version-control-internal-file
* non-expandable-macro

Comment 13 Jonathan Underwood 2015-10-24 14:35:39 UTC
Package Review
==============

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


Issues:
=======
See all issues below, quick summary:

1) Some bundled libraries need appropriate Provides.
2) License issue with cephes code.
3) Some files have wrong perms.
4) No license files included with tarball.
5) License tag incorrect
6) Missing %check section


===== 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.
[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]: 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 %license.

No LICENSE or COPYING file is included with upstream release - please
file a bug asking them to add relevant license files to their packaged
releases.

[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "MIT/X11 (BSD like)", "BSL (v1.0)", "Apache (v2.0)", "Unknown
     or generated". 63 files have unknown license. Detailed output of
     licensecheck in /home/jgu/Fedora/1219819-python-
     pyopencl/licensecheck.txt

License field should be MIT and Boost and ASL 2.0.

However, far more worrying is the following. For these files:

pyopencl-2015.1/pyopencl/cl/pyopencl-bessel-j.cl
pyopencl-2015.1/pyopencl/cl/pyopencl-bessel-y.cl
pyopencl-2015.1/pyopencl/cl/pyopencl-eval-tbl.cl

the header at the top says this:

//  Pieced together from Boost C++ and Cephes by
//  Andreas Kloeckner (C) 2012
//
//  Pieces from:
//
//  Copyright (c) 2006 Xiaogang Zhang, John Maddock
//  Use, modification and distribution are subject to the
//  Boost Software License, Version 1.0. (See
//  http://www.boost.org/LICENSE_1_0.txt)
//
// Cephes Math Library Release 2.8:  June, 2000
// Copyright 1984, 1987, 1989, 1992, 2000 by Stephen L. Moshier
// What you see here may be used freely, but it comes with no support or
// guarantee.


It's the Cephes part that's concerning - it's not clear to me that
this is compatible with Fedora's licensing requirements. I'll flag Legal.

In addition pyopencl/cl/pyopencl-airy.cl seems to be also taken from
cephes and has the cephes part of the above header at the top.


[-]: License file installed when any subpackage combination is installed.
[x]: %build honors applicable compiler flags or justifies otherwise.
[!]: Package contains no bundled libraries without FPC exception.

As stated above these three files seem to be bundled bits of Boost and
Cephes:

pyopencl-2015.1/pyopencl/cl/pyopencl-bessel-j.cl
pyopencl-2015.1/pyopencl/cl/pyopencl-bessel-y.cl
pyopencl-2015.1/pyopencl/cl/pyopencl-eval-tbl.cl

They seem to be fairly small fragments of the much larger libraries,
and the new bundling guidelines allow bundling, but I wonder if you've
given any thought as to whether it would be possible to somehow
unbundle these bits? This isn't a blocker, but you should add
something to the effect of

# pyopencl/cl/pyopencl-bessel-[j,y].cl and
# pyopencl/cl/pyopencl-eval-tbl.cl contain snippets taken from boost
# and cephes. pyopencl/cl/pyopencl-airy.cl contains code taken from
# cephes.
Provides: bundled(boost-math) = <version>
Provides: bundled(cephes) = <version>

You'll need to work out what version they've pulled the snippets from.

The file pyopencl/cl/pyopencl-ranluxcl.cl contains a modified and
bundled version of the ranluxcl library, so this is needed:

# pyopencl/cl/pyopencl-ranluxcl.cl contains a modified version of the
# ranluxcl library
Provides: bundled(ranluxcl) = 1.3.1


[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Macros in Summary, %description expandable at SRPM build time.
     Note: Macros in: python2-pyopencl (description), python3-pyopencl
     (description)
[-]: 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.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[-]: 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.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 122880 bytes in 36 files.
[!]: Package complies to the Packaging Guidelines

See bundling issues above

[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[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]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[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:
[!]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.

Please do so, and provide  a link to the request in the review bugzilla.

[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
     python2-pyopencl , python3-pyopencl
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[!]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.

You need to include links to where you've submitted the patches
upstream in the spec file for each patch, or some text describing why
they're unsuitable for upstream.


[-]: 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.
[!]: %check is present and all tests pass.

There seems to be tests under the /test directory - these should be
ran under %check.

[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]: 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:
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: python2-pyopencl-2015.1-2.fc24.x86_64.rpm
          python3-pyopencl-2015.1-2.fc24.x86_64.rpm
          python-pyopencl-2015.1-2.fc24.src.rpm
python2-pyopencl.x86_64: W: unexpanded-macro %description -l C %{description}
python2-pyopencl.x86_64: E: version-control-internal-file /usr/share/doc/python2-pyopencl/examples/.gitignore

This should not be in the package.

python2-pyopencl.x86_64: E: non-standard-executable-perm /usr/lib64/python2.7/site-packages/pyopencl/_pvt_struct.so 775
python2-pyopencl.x86_64: E: non-standard-executable-perm /usr/lib64/python2.7/site-packages/pyopencl/_cl.so 775

These should be 755

python2-pyopencl.x86_64: W: devel-file-in-non-devel-package /usr/lib64/python2.7/site-packages/pyopencl/cl/pyopencl-complex.h

This is fine.


python2-pyopencl.x86_64: W: doc-file-dependency /usr/share/doc/python2-pyopencl/examples/download-examples-from-wiki.py /usr/bin/env

This is fine.

python3-pyopencl.x86_64: W: unexpanded-macro %description -l C %{description}
python3-pyopencl.x86_64: W: devel-file-in-non-devel-package /usr/lib64/python3.4/site-packages/pyopencl/cl/pyopencl-complex.h

These are fine.

python3-pyopencl.x86_64: E: non-standard-executable-perm /usr/lib64/python3.4/site-packages/pyopencl/_cl.cpython-34m.so 775
python3-pyopencl.x86_64: E: non-standard-executable-perm /usr/lib64/python3.4/site-packages/pyopencl/_pvt_struct.cpython-34m.so 775

These should be 755

python3-pyopencl.x86_64: E: version-control-internal-file /usr/share/doc/python3-pyopencl/examples/.gitignore

This needs removing from package.

python3-pyopencl.x86_64: W: doc-file-dependency /usr/share/doc/python3-pyopencl/examples/download-examples-from-wiki.py /usr/bin/env
3 packages and 0 specfiles checked; 6 errors, 6 warnings.




Rpmlint (debuginfo)
-------------------
Checking: python-pyopencl-debuginfo-2015.1-2.fc24.x86_64.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.





Rpmlint (installed packages)
----------------------------
python2-pyopencl.x86_64: W: unexpanded-macro %description -l C %{description}
python2-pyopencl.x86_64: W: devel-file-in-non-devel-package /usr/lib64/python2.7/site-packages/pyopencl/cl/pyopencl-complex.h
python2-pyopencl.x86_64: E: non-standard-executable-perm /usr/lib64/python2.7/site-packages/pyopencl/_cl.so 775
python2-pyopencl.x86_64: E: non-standard-executable-perm /usr/lib64/python2.7/site-packages/pyopencl/_pvt_struct.so 775
python2-pyopencl.x86_64: E: version-control-internal-file /usr/share/doc/python2-pyopencl/examples/.gitignore
python2-pyopencl.x86_64: W: doc-file-dependency /usr/share/doc/python2-pyopencl/examples/download-examples-from-wiki.py /usr/bin/env
python3-pyopencl.x86_64: W: unexpanded-macro %description -l C %{description}
python3-pyopencl.x86_64: E: version-control-internal-file /usr/share/doc/python3-pyopencl/examples/.gitignore
python3-pyopencl.x86_64: W: devel-file-in-non-devel-package /usr/lib64/python3.4/site-packages/pyopencl/cl/pyopencl-complex.h
python3-pyopencl.x86_64: E: non-standard-executable-perm /usr/lib64/python3.4/site-packages/pyopencl/_cl.cpython-34m.so 775
python3-pyopencl.x86_64: E: non-standard-executable-perm /usr/lib64/python3.4/site-packages/pyopencl/_pvt_struct.cpython-34m.so 775
python3-pyopencl.x86_64: W: doc-file-dependency /usr/share/doc/python3-pyopencl/examples/download-examples-from-wiki.py /usr/bin/env
3 packages and 0 specfiles checked; 6 errors, 6 warnings.



Requires
--------
python2-pyopencl (rpmlib, GLIBC filtered):
    /usr/bin/env
    libOpenCL.so.1()(64bit)
    libOpenCL.so.1(OPENCL_1.0)(64bit)
    libOpenCL.so.1(OPENCL_1.1)(64bit)
    libOpenCL.so.1(OPENCL_1.2)(64bit)
    libboost_python.so.1.59.0()(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    libpython2.7.so.1.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    python(abi)
    python2-pytools
    rtld(GNU_HASH)

python3-pyopencl (rpmlib, GLIBC filtered):
    /usr/bin/env
    libOpenCL.so.1()(64bit)
    libOpenCL.so.1(OPENCL_1.0)(64bit)
    libOpenCL.so.1(OPENCL_1.1)(64bit)
    libOpenCL.so.1(OPENCL_1.2)(64bit)
    libboost_python3.so.1.59.0()(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    libpython3.4m.so.1.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    python(abi)
    python3-pytools
    rtld(GNU_HASH)



Provides
--------
python2-pyopencl:
    python-pyopencl
    python-pyopencl(x86-64)
    python2-pyopencl
    python2-pyopencl(x86-64)

python3-pyopencl:
    python3-pyopencl
    python3-pyopencl(x86-64)



Unversioned so-files
--------------------
python2-pyopencl: /usr/lib64/python2.7/site-packages/pyopencl/_cl.so
python2-pyopencl: /usr/lib64/python2.7/site-packages/pyopencl/_pvt_struct.so
python3-pyopencl: /usr/lib64/python3.4/site-packages/pyopencl/_cl.cpython-34m.so
python3-pyopencl: /usr/lib64/python3.4/site-packages/pyopencl/_pvt_struct.cpython-34m.so

Source checksums
----------------
https://github.com/pyopencl/pyopencl/archive/v2015.1/python-pyopencl-2015.1.tar.gz :
  CHECKSUM(SHA256) this package     : 1a88a767d7321e9b2463e3aa7d5cc01468dc42b70885ba5f0c9b5e482d5ca201
  CHECKSUM(SHA256) upstream package : 1a88a767d7321e9b2463e3aa7d5cc01468dc42b70885ba5f0c9b5e482d5ca201


Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1219819
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, DISTTAG, EPEL5, BATCH, EPEL6

Comment 14 Jonathan Underwood 2015-10-24 14:39:25 UTC
Now blocking FE-Legal.

Legal folks, the issue here is that this package bundles some code taken from the Cephes library which is licensed simply as:

// Cephes Math Library Release 2.8:  June, 2000
// Copyright 1984, 1987, 1989, 1992, 2000 by Stephen L. Moshier
// What you see here may be used freely, but it comes with no support or
// guarantee.


... is this compatible with Fedora licensing requirements?

Thanks.

Comment 15 Jonathan Underwood 2015-10-24 15:02:05 UTC
The Cephes issue has previously come up during the grace package review, and these comments seem relevant:

https://bugzilla.redhat.com/show_bug.cgi?id=166414#c9
https://bugzilla.redhat.com/show_bug.cgi?id=166414#c10

It seems like at some point the cephes license header was changed, and also that email sent. The snippets included with pyopencl perhaps have an out of date cephes license? Unclear to me what the situation is. Suggestion for Igor: while we wait for FE Legal, ask upstream pyopencl for some clarification on when they took the code from cephes, and what they regard the license situation to be.

Comment 16 Tom "spot" Callaway 2015-10-26 14:03:50 UTC
I think it is safe to inherit the GPLv2 permission that Debian has secured for Cephes. However, you may not wish to do so because it would change the overall license for pyopencl from MIT (permissive) to GPLv2 (copyleft).

I'd encourage you to reach out to the cephes upstream, explain the issue, and ask if they would permit the use of the cephes code in pyopencl under the same license as the rest of pyopencl (MIT).

Comment 17 Jonathan Underwood 2015-10-26 14:48:51 UTC
Thanks Tom. 

Ignor - are you going to contact Cephes upstream as Tom suggests and ask them to permit the use of the cephes code in pyopencl under the same license as the rest of pyopencl (MIT)?

In the short term, the license field should then be

MIT and Boost and ASL 2.0 and GPLv2

Comment 18 Jonathan Underwood 2015-11-04 11:47:58 UTC
Any progress here, Igor?

Comment 19 Igor Gnatenko 2015-11-04 11:53:43 UTC
I asked upstream of cephes in past week, still no response. I do not understand part from spot about changing license to GPLv2.

Comment 20 Jonathan Underwood 2015-11-04 12:43:29 UTC
(In reply to Igor Gnatenko from comment #19)
> I asked upstream of cephes in past week, still no response. I do not
> understand part from spot about changing license to GPLv2.

Debian has obtained permission from the Cephes author to distribute the Cephes code under GPLv2 licensing. Tom is saying we can therefore assume that the code from Cephes is available under GPLv2. As such, the license tag should be what I posted in Comment #17, and the legal question no longer blocks this package. So, you can go ahead and deal with the issues I pointed out during review, and then we can approve the package.

Comment 21 Igor Gnatenko 2015-11-04 13:17:40 UTC
OK, I will fix all issues in a 30 mins :)

Comment 22 Igor Gnatenko 2015-11-04 13:36:43 UTC
Upstream bug for LICENSE: https://github.com/pyopencl/pyopencl/issues/93
New SPEC: https://github.com/ignatenkobrain/python-pyopencl/raw/master/python-pyopencl.spec
New SRPM: https://github.com/ignatenkobrain/python-pyopencl/raw/master/python-pyopencl-2015.1-4.fc22.src.rpm

Regarding patches.
1 and 2 just disables downloading and using external python-compyte (and upstream don't want to change this. it was discussed in upstream python-compyte). Third is just to fix CFLAGS.

Comment 23 Igor Gnatenko 2015-11-04 13:38:51 UTC
*** Bug 1174959 has been marked as a duplicate of this bug. ***

Comment 24 Jonathan Underwood 2015-11-04 13:57:06 UTC
(In reply to Igor Gnatenko from comment #22)
> Regarding patches.
> 1 and 2 just disables downloading and using external python-compyte (and
> upstream don't want to change this. it was discussed in upstream
> python-compyte). Third is just to fix CFLAGS.

As I stated in the review comment, comments need adding to the spec file explaining this.

You should also add a comment with the license bug url above the license tag.

You haven't added any of the bundled Provides that I helpfully worked out for you in the review comment.

You haven't added a %check section and added the tests during build that I pointed out.

At this point I stopped checking the rest of the issues.

Basically, it seems like you've totally ignored the issues I raised during review :(

Comment 25 Igor Gnatenko 2015-11-04 14:04:13 UTC
I was totally sure that I added Provides =( Give me a some time.

Comment 26 Igor Gnatenko 2015-11-04 15:59:58 UTC
New SPEC: https://github.com/ignatenkobrain/python-pyopencl/raw/master/python-pyopencl.spec
New SRPM: https://github.com/ignatenkobrain/python-pyopencl/raw/master/python-pyopencl-2015.1-4.fc22.src.rpm

I fixed license tag, added license from upstream (they included it), ran tests (in %check, but some of them fails, ignoring and reported to upstream), added bundled provides (couldn't find exact versions of cephes and boost, so just leaved as is).

Again sorry for previous disturbing, I was sure that I did =(

Comment 27 Jonathan Underwood 2015-11-04 17:52:40 UTC
For the bundled Provides please also include the comments that I wrote for you - they will help a future maintainer of the package understand what's bundled and where (and perhaps help in any future efforts at unbundling). 

The bundled version  of cephes is 2.8 as clearly stated in the headers of the files bundling it, so that needs adding to the bundled Provide. The version of boost is entirely unclear, though.

Also, your %changelog entries are too sparse - they don't include all changes you've made at each stage. That information is very useful for other maintainers, so please get in the habit of writing changelog entries which reflect the changes you make.

Comment 28 Igor Gnatenko 2015-11-05 14:27:30 UTC
New SPEC: https://ignatenkobrain.fedorapeople.org/for-review/python-pyopencl.spec
New SRPM: https://ignatenkobrain.fedorapeople.org/for-review/python-pyopencl-2015.2-1.fc22.src.rpm

- Update to 2015.2
- Add some description to bundled libs providing
- Provide exact version of bundled cephes
- Force tests passed
- Fixed dependencies list


Jonathan, I think now it should be okay.

Comment 29 Jonathan Underwood 2015-11-05 15:51:44 UTC
OK, great! This is now fine, so APPROVED. Thanks for contributing this work to Fedora, I realize it's been some work indeed.

Comment 30 Patrick Uiterwijk 2015-11-05 18:47:23 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/python-pyopencl

Comment 31 Jonathan Underwood 2015-11-09 16:35:36 UTC
Igor: I see you've pushedd a build to rawhide. Please can you psuh for F23 as well. And please do close this bug.

Comment 32 Igor Gnatenko 2015-11-09 17:21:14 UTC
(In reply to Jonathan Underwood from comment #31)
> Igor: I see you've pushedd a build to rawhide. Please can you psuh for F23
> as well. And please do close this bug.

not possible right now, bodhi don't allow me to push other stack (pytools, etc.) just because bugs in bodhi. I will do it ASAP

Comment 33 Jonathan Underwood 2015-11-09 17:55:39 UTC
(In reply to Igor Gnatenko from comment #32)
> (In reply to Jonathan Underwood from comment #31)
> > Igor: I see you've pushedd a build to rawhide. Please can you psuh for F23
> > as well. And please do close this bug.
> 
> not possible right now, bodhi don't allow me to push other stack (pytools,
> etc.) just because bugs in bodhi. I will do it ASAP

Oh dear, that doesn't sound good. Are the bodhi problems reported somewhere?

Comment 34 Jonathan Underwood 2015-11-30 18:01:51 UTC
Any progress on pushing for F23?

Comment 35 Igor Gnatenko 2015-11-30 19:11:57 UTC
(In reply to Jonathan Underwood from comment #34)
> Any progress on pushing for F23?

Yes, I'm slowly pushing stuff into f23 (there was problem with bodhi itself)

Comment 36 Fedora Update System 2015-11-30 21:29:54 UTC
python-pyopencl-2015.2-2.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-ad9050aa1b

Comment 37 Fedora Update System 2015-12-01 22:30:50 UTC
python-pyopencl-2015.2-2.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update python-pyopencl'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-ad9050aa1b

Comment 38 Fedora Update System 2015-12-09 20:50:24 UTC
python-pyopencl-2015.2-2.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.


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