Bug 751925 - Review Request: python-tables - Hierarchical datasets in Python
Summary: Review Request: python-tables - Hierarchical datasets in Python
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Brendan Jones
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-11-08 03:39 UTC by Thibault North
Modified: 2015-05-29 20:51 UTC (History)
5 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2011-11-25 23:27:18 UTC
zbyszek: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Thibault North 2011-11-08 03:39:01 UTC
Spec URL: http://tnorth.fedorapeople.org/python-tables.spec
SRPM URL: http://tnorth.fedorapeople.org/python-tables-2.3.1-1.fc15.src.rpm

Description: 
PyTables is a package for managing hierarchical datasets and designed 
to efficiently and easily cope with extremely large amounts of data.

A few licenses for each components of that package can be found in LICENSES/. IMHO, they are just AFL and BSD with various restrictions. But this might need a check.

Comment 1 Thibault North 2011-11-08 03:44:28 UTC
rpmlint -v output:
python-tables.src: I: checking
python-tables.src: W: spelling-error Summary(en_US) datasets -> data sets, data-sets, databases
python-tables.src: W: spelling-error %description -l en_US datasets -> data sets, data-sets, databases
python-tables.src: I: checking-url http://www.pytables.org (timeout 10 seconds)
python-tables.src: I: checking-url http://sourceforge.net/projects/pytables/files/pytables/2.3.1/tables-2.3.1.tar.gz (timeout 10 seconds)
python-tables.x86_64: I: checking
python-tables.x86_64: W: spelling-error Summary(en_US) datasets -> data sets, data-sets, databases
python-tables.x86_64: W: spelling-error %description -l en_US datasets -> data sets, data-sets, databases
python-tables.x86_64: I: checking-url http://www.pytables.org (timeout 10 seconds)
python-tables.x86_64: W: no-manual-page-for-binary ptrepack
python-tables.x86_64: W: no-manual-page-for-binary nctoh5
python-tables.x86_64: W: no-manual-page-for-binary ptdump
python-tables-debuginfo.x86_64: I: checking
python-tables-debuginfo.x86_64: I: checking-url http://www.pytables.org (timeout 10 seconds)
3 packages and 0 specfiles checked; 0 errors, 7 warnings.

Comment 2 Brendan Jones 2011-11-10 20:27:27 UTC
I'll take this review

Comment 3 Brendan Jones 2011-11-10 22:21:58 UTC
Hi Thibault,

pretty much there, I've just got a couple of questions. The %check seems to take an awfully long time, and there are a number of test directories installed.

I'm just wondering if they're really necessary. 

You could consider a separate doc package also for the examples and documentation, but that's just a suggestion. Full review below, I'll wait for your reply before passing.



[-] N/A
[+] Good
[!] Attention
[?] Clarification


Required
========

[+] named according to the Package Naming Guidelines 
[+] The spec file name must match the base package %{name}, in the format
%{name}.spec 
[+] Meet the Packaging Guidelines
unless building for F12 and below  or EPEL   

[!] Be licensed with a Fedora approved license and meet the Licensing
Guidelines 
*** You just need to specify the lrucache.py is licensed under AFL

[+] The License field in the package spec file must match the actual license 
[+] License file must be included in %doc
[+] The spec file must be written in American English
[+] The spec file for the package MUST be legible
*** I would split the Requires on separate lines for legibility but thats just 
personal preference

[+] The sources used to build the package must match the upstream source
shasum c8592ce71809120cf3e8ee8e7befcfaa54085b3c OK
[+] Successfully compile and build into binary rpms on at least one primary
architecture
[+] Proper use of ExcludeArch 
[!] All build dependencies must be listed in BuildRequires
*** perhaps python2-devel rather than python-devel, although this is rather cosmetic

[+] The spec file MUST handle locales properly
[-] Shared library files (not just symlinks) in any of the dynamic linker's
default paths, must call ldconfig in %post and %postun
[+] Packages must NOT bundle copies of system libraries
[+] If the package is designed to be relocatable, the packager must state this
fact in the request for review, along with the rationalization for relocation
of that specific package
[+] A package must own all directories that it creates
directories under this
[+] A Fedora package must not list a file more than once in the spec file's
%files listings
[ ] Permissions on files must be set properly. %defattr(...) no longer required
[+] Each package must consistently use macros
[+] The package must contain code, or permissable content
[+] Large documentation files must go in a -doc subpackage

[-] If a package includes something as %doc, it must not affect the runtime of
the application
[-] Header files must be in a -devel package
[-] Static libraries must be in a -static package
[-] library files that end in .so (without suffix) must go in a -devel package
[-] devel packages must require the base package using a fully versioned
dependency
[-] Packages must NOT contain any .la libtool archives
[-] GUI apps must include a %{name}.desktop file, properly installed with
desktop-file-install in the %install section 
[+] Packages must not own files or directories already owned by other packages
[+] All filenames in rpm packages must be valid UTF-8

[!] Has BuildRequires: python2-devel and/or python3-devel
https://fedoraproject.org/wiki/Packaging:Python#BuildRequires (As mentioned above)

[-] Defines and uses %{python_sitelib} or %{python_sitearch}:
%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5)
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
%endif
https://fedoraproject.org/wiki/Packaging:Python#Macros


[?] Has BuildRequires: python-setuptools-devel

I'm really not sure if this is still required?

[+] Python eggs must be built from source. They cannot simply drop an egg from upstream into the proper directory.
[+] Python eggs must not download any dependencies during the build process.
[+] If egg-info files are generated by the modules build scripts they must be included in the package.
[-] When building a compat package, it must install using easy_install -m so it won't conflict with the main package.
[-] When building multiple versions (for a compat package) one of the packages must contain a default version that is usable via "import MODULE" with no prior setup.
[+] A package which is used by another package via an egg interface should provide egg info. 
[+] Requires OK

[+] Egg install:
%install
%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT 

Should Items
============
[-] the packager SHOULD query upstream for any missing license text files to
include it
[-] Non-English language support for description and summary sections in the
package spec if available
[+] The reviewer should test that the package builds in mock
[+] The package should compile and build into binary rpms on all supported
architectures
[+] The reviewer should test that the package functions as described
tests OK
[+] If scriptlets are used, those scriptlets must be sane
[-] Usually, subpackages other than devel should require the base package using
a fully versioned dependency
[-] The placement of pkgconfig(.pc) should usually be placed in a -devel pkg
[-] If the package has file dependencies outside of /etc, /bin, /sbin,
/usr/bin, or /usr/sbin consider requiring the package which provides the file
instead of the file itself
[+] Should contain man pages for binaries/scripts
None in source although adequate documentation

Comment 4 Thibault North 2011-11-11 02:04:10 UTC
Hello Brendan,
Thanks for your review.

>The %check seems to
>take an awfully long time, and there are a number of test directories
>installed.

>I'm just wondering if they're really necessary. 

I don't really know. For python-numexpr, I was suggested to add these kind of checks. I guess it will help the tracking of some bugs if tests fail at a rebuild.

>You could consider a separate doc package also for the examples and
>documentation, but that's just a suggestion. Full review below, I'll wait for
>your reply before passing.

Done.

>[!] Be licensed with a Fedora approved license and meet the Licensing
>Guidelines 
>*** You just need to specify the lrucache.py is licensed under AFL

License is set to BSD and AFL: is that good enough?

>[?] Has BuildRequires: python-setuptools-devel
>
>I'm really not sure if this is still required?

I don't know. Other python- packages I have seen don't have it.

>[!] All build dependencies must be listed in BuildRequires
>*** perhaps python2-devel rather than python-devel, although this is rather
>cosmetic

Fixed.
Thanks again,
Thibault

Comment 5 Thibault North 2011-11-11 02:05:27 UTC
...and new URLs of course:

Spec URL: http://tnorth.fedorapeople.org/python-tables.spec
SRPM URL: http://tnorth.fedorapeople.org/python-tables-2.3.1-2.fc15.src.rpm

Comment 6 Brendan Jones 2011-11-11 04:34:38 UTC
Thanks Thibault, you just need to be a little more specific as to why its multi-licensed: http://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Multiple_Licensing_Scenarios

On closer inspection it looks like pytables bundles lrucache which looks to be a separate package in its own right, although it has been modified slightly by the pytables developers:

http://evan.prodromou.name/Software/Python/LRUCache 

I will try and get some confirmation on this.

Comment 7 Brendan Jones 2011-11-12 21:44:38 UTC
Hi Thibault,

I've run your package by the packing mail list and Toshio has some clear advice on how to proceed:

http://lists.fedoraproject.org/pipermail/packaging/2011-November/007985.html

Comment 8 Thibault North 2011-11-13 21:18:55 UTC
Hi Brendan,

Thanks for that. I will contact upstream and see what can be done about that.

Comment 9 Thibault North 2011-11-14 19:46:41 UTC
Hi Brendan,

According to upstream, Toshio's suggestion was good: remove lrucache.py and get rid of the AFL license.
A patch was sent upstream.

Here is an updated build. In the %prep section, that file is removed along with its license. Is that good enough for this version of PyTables? Or do we need to remove lrucache.py from the tarball ?

Spec URL: http://tnorth.fedorapeople.org/python-tables.spec
SRPM URL: http://tnorth.fedorapeople.org/python-tables-2.3.1-3.fc14.src.rpm

Comment 10 Brendan Jones 2011-11-14 20:28:26 UTC
All good Thibault. This package is APPROVED

Comment 11 Thibault North 2011-11-14 21:34:44 UTC
Thank you Brendan.

Comment 12 Thibault North 2011-11-14 21:36:07 UTC
New Package SCM Request
=======================
Package Name: python-tables
Short Description: Hierarchical datasets in Python
Owners: tnorth
Branches: f15 f16
InitialCC:

Comment 13 Gwyn Ciesla 2011-11-15 13:00:58 UTC
Git done (by process-git-requests).

Comment 14 Fedora Update System 2011-11-15 15:06:25 UTC
python-tables-2.3.1-3.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/python-tables-2.3.1-3.fc15

Comment 15 Fedora Update System 2011-11-15 15:06:34 UTC
python-tables-2.3.1-3.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/python-tables-2.3.1-3.fc16

Comment 16 Fedora Update System 2011-11-16 00:26:31 UTC
python-tables-2.3.1-3.fc15 has been pushed to the Fedora 15 testing repository.

Comment 17 Fedora Update System 2011-11-25 23:27:18 UTC
python-tables-2.3.1-3.fc16 has been pushed to the Fedora 16 stable repository.

Comment 18 Fedora Update System 2011-11-25 23:30:29 UTC
python-tables-2.3.1-3.fc15 has been pushed to the Fedora 15 stable repository.

Comment 19 Orion Poplawski 2015-05-21 17:03:16 UTC
Thibault/Zbigniew - either of you willing to maintain this in EPEL7?

Comment 20 Zbigniew Jędrzejewski-Szmek 2015-05-21 17:19:12 UTC
I don't think this should be any issue. I can't provide any special support for EPEL7, but I can build it along with the Fedora version and deal with any bugs which can be reproduced in Fedora.

Comment 21 Orion Poplawski 2015-05-21 17:53:53 UTC
That would be great.  I can help out too.  Thanks.

Comment 22 Zbigniew Jędrzejewski-Szmek 2015-05-21 18:03:43 UTC
(In reply to Orion Poplawski from comment #21)
> That would be great.  I can help out too.  Thanks.
Great, thanks.

Package Change Request
======================
Package Name: python-tables
New Branches: epel7
Owners: tnorth zbyszek
InitialCC:

Comment 23 Gwyn Ciesla 2015-05-21 19:01:30 UTC
Git done (by process-git-requests).


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