Bug 581344

Summary: Review Request: python-drizzle - Python wrappers for libdrizzle
Product: [Fedora] Fedora Reporter: BJ Dierkes <derks>
Component: Package ReviewAssignee: Martin Gieseking <martin.gieseking>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: martin.gieseking, notting
Target Milestone: ---Flags: martin.gieseking: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: python-drizzle-0.08.2-5.el5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-06-08 19:29:22 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:
Bug Depends On: 578981    
Bug Blocks:    

Description BJ Dierkes 2010-04-11 21:42:09 UTC
Spec URL: http://5dollarwhitebox.org/tmp/python-drizzle.spec
SRPM URL: http://5dollarwhitebox.org/tmp/python-drizzle-0.08.2-2.fc12.src.rpm

Description: 
Drizzle is a transactional SQL92 compliant relational database, geared
towards a plugin based architecture. This package provides Python wrappers
via the libdrizzle client protocol library.

Comment 1 Martin Gieseking 2010-05-07 08:15:23 UTC
Here are some initial comments:

- According to the naming guidelines, the package name should match the name of the tarball. Hence, rename it to python-libdrizzle.

- Drop Source1 and the separately added file LICENSE. License files must only be packaged if they are part of the tarball. Instead, ask upstream to add it.

- The package seems to be licensed under BSD, so change the License field accordingly.

- Please add a complete link to the mentioned LaunchPad ticket.

- Replace the definition of python_sitearch as mentioned in https://fedoraproject.org/wiki/Packaging:Python#Macros

Comment 2 Martin Gieseking 2010-05-07 13:44:55 UTC
- I just noticed that packages providing Python modules should follow a slightly different naming scheme. So you can leave the package name as is.

- Explicitly BR the version of python-devel required (https://fedoraproject.org/wiki/Packaging:Python#BuildRequires).

- Drop option --single-version-externally-managed (https://fedoraproject.org/wiki/Packaging:Python_Eggs#Providing_Eggs_using_Setuptools).

Comment 3 BJ Dierkes 2010-05-07 16:23:03 UTC
Thank you for the feedback, updated as requested:

Spec URL: http://5dollarwhitebox.org/tmp/python-drizzle.spec
SRPM URL: http://5dollarwhitebox.org/tmp/python-drizzle-0.08.2-3.fc12.src.rpm


$ rpmlint -i RPMS/x86_64/python-drizzle-*
python-drizzle.x86_64: I: enchant-dictionary-not-found en_US
A dictionary for the Enchant spell checking library is not available for the
language given in the info message.  Spell checking will proceed with
rpmlint's built-in implementation for localized tags in this language.

2 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 4 Martin Gieseking 2010-05-10 20:16:44 UTC
Here's the formal review of python-drizzle. The package looks almost fine. As far as I noticed, there are just 2 further things to be fixed:

- replace %define with %global in the definition of pyver (%global should be preferred over %define)

- add BR: python-setuptools to prevent downloading the setup tools during buildtime


$ rpmlint RPMS/x86_64/python-drizzle-0.08.2-3.fc12.x86_64.rpm 
python-drizzle.x86_64: W: spelling-error Summary(en_US) libdrizzle -> lib drizzle, lib-drizzle, drizzle
python-drizzle.x86_64: W: spelling-error %description -l en_US transactional -> transaction, transnational, transactor
python-drizzle.x86_64: W: spelling-error %description -l en_US plugin -> plug in, plug-in, plugging
python-drizzle.x86_64: W: spelling-error %description -l en_US libdrizzle -> lib drizzle, lib-drizzle, drizzle
1 packages and 0 specfiles checked; 0 errors, 4 warnings.

The above spelling errors can be ignored.

---------------------------------
keys used in following checklist:

[+] OK
[.] OK, not applicable
[X] needs work
---------------------------------

[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}.
[+] MUST: The package must meet the Packaging Guidelines.
[+] MUST: The package must be licensed with a Fedora approved license.
[+] MUST: The License field in the package spec file must match the actual license.
[.] MUST: The bundled file containing the text of the license(s) for the package must be included in %doc.
    - no license file in package

[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source.
    $ md5sum python-libdrizzle-0.08.2.tar.gz*
    796f54e88675f57ae4cfb9a094832977  python-libdrizzle-0.08.2.tar.gz
    796f54e88675f57ae4cfb9a094832977  python-libdrizzle-0.08.2.tar.gz.1

[+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
    - builds in mock
    - doesn't build in koji because of missing libdrizzle-devel which is currently in updates-testing

[.] MUST: If the package does not successfully compile, build or work on an architecture, ...
[+] MUST: All build dependencies must be listed in BuildRequires.
[.] MUST: The spec file MUST handle locales properly. 
[.] MUST: Packages storing shared library files (not just symlinks) must call ldconfig in %post and %postun.
[+] MUST: Packages must NOT bundle copies of system libraries.
[.] MUST: If the package is designed to be relocatable, ...
[+] MUST: A package must own all directories that it creates. 
[+] MUST: A Fedora package must not list a file more than once in %files.
[+] MUST: Permissions on files must be set properly.
[+] MUST: Each package must consistently use macros.
[+] MUST: The package must contain code, or permissable content.
[.] MUST: Large documentation files must go in a -doc subpackage.
[+] MUST: Files in %doc must not affect the runtime of the application.
[.] MUST: Header files must be in a -devel package.
[.] MUST: Static libraries must be in a -static package.
[.] MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), ...
[.] MUST: devel packages must require the base package 
[.] MUST: Packages must NOT contain any .la libtool archives
[.] MUST: Packages containing GUI applications must include a %{name}.desktop file
[+] MUST: Packages must not own files or directories already owned by other packages.
[+] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}.
[+] MUST: All filenames in rpm packages must be valid UTF-8.
[+] MUST: Python eggs must be built from source. 
[X] MUST: Python eggs must not download any dependencies during the build process.
    - add BR: python-setuptools to prevent downloading them during buildtime

[+] MUST: If egg-info files are generated by the modules build scripts they must be included in the package.
[.] MUST: When building a compat package, it must install using easy_install -m so it won't conflict with the main package.
[.] MUST: When building multiple versions (for a compat package) ...
[.] SHOULD: A package which is used by another package via an egg interface should provide egg info. 

[+] SHOULD: The packager SHOULD query upstream to include the license text.
[+] SHOULD: The reviewer should test that the package builds in mock.
[.] SHOULD: The package should compile and build into binary rpms on all supported architectures.
[.] SHOULD: If scriptlets are used, those scriptlets must be sane.
[.] SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency.
[.] SHOULD: pkgconfig(.pc) files  this is usually for development purposes, so should be placed in a -devel pkg. A reasonable exception is that the main pkg itself is a devel tool not installed in a user runtime, e.g. gcc or gdb.

Comment 5 BJ Dierkes 2010-05-10 20:35:41 UTC
Thanks Martin, updated as requested.

Spec URL: http://5dollarwhitebox.org/tmp/python-drizzle.spec
SRPM URL: http://5dollarwhitebox.org/tmp/python-drizzle-0.08.2-4.fc12.src.rpm


$ rpmlint  -i RPMS/x86_64/python-drizzle*0.08.2-4*
python-drizzle.x86_64: I: enchant-dictionary-not-found en_US
A dictionary for the Enchant spell checking library is not available for the
language given in the info message.  Spell checking will proceed with
rpmlint's built-in implementation for localized tags in this language.

2 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 6 Martin Gieseking 2010-05-11 06:24:01 UTC
OK, fine. Since I couldn't find any further issues we're finished here.
In order to get python-drizzle built in koji, you have to request rel-eng to add libdrizzle as a buildroot override.

----------------
Package APPROVED
----------------

Comment 7 BJ Dierkes 2010-05-11 17:31:07 UTC
New Package CVS Request
=======================
Package Name: python-drizzle
Short Description: Python wrappers for libdrizzle 
Owners: derks
Branches: F-12 F-13 EL-5 EL-6
InitialCC:

Comment 8 Kevin Fenzi 2010-05-12 17:22:10 UTC
CVS done (by process-cvs-requests.py).

Comment 9 Fedora Update System 2010-05-21 19:00:36 UTC
python-drizzle-0.08.2-5.el5 has been submitted as an update for Fedora EPEL 5.
http://admin.fedoraproject.org/updates/python-drizzle-0.08.2-5.el5

Comment 10 Fedora Update System 2010-05-21 19:01:11 UTC
python-drizzle-0.08.2-5.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/python-drizzle-0.08.2-5.fc12

Comment 11 Fedora Update System 2010-05-21 19:01:30 UTC
python-drizzle-0.08.2-5.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/python-drizzle-0.08.2-5.fc13

Comment 12 Fedora Update System 2010-05-24 19:16:06 UTC
python-drizzle-0.08.2-5.el5 has been pushed to the Fedora EPEL 5 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 'yum --enablerepo=updates-testing update python-drizzle'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/python-drizzle-0.08.2-5.el5

Comment 13 Fedora Update System 2010-05-24 19:34:04 UTC
python-drizzle-0.08.2-5.fc13 has been pushed to the Fedora 13 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 'yum --enablerepo=updates-testing update python-drizzle'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/python-drizzle-0.08.2-5.fc13

Comment 14 Fedora Update System 2010-05-24 19:38:08 UTC
python-drizzle-0.08.2-5.fc12 has been pushed to the Fedora 12 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 'yum --enablerepo=updates-testing update python-drizzle'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/python-drizzle-0.08.2-5.fc12

Comment 15 Fedora Update System 2010-06-08 19:29:17 UTC
python-drizzle-0.08.2-5.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 16 Fedora Update System 2010-06-08 19:41:31 UTC
python-drizzle-0.08.2-5.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 17 Fedora Update System 2010-06-09 15:48:32 UTC
python-drizzle-0.08.2-5.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.