Bug 634036 - Review Request: python-zope-i18nmessageid - Message Identifiers for internationalization
Review Request: python-zope-i18nmessageid - Message Identifiers for internati...
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Toshio Ernie Kuratomi
Fedora Extras Quality Assurance
:
Depends On:
Blocks: 633138 634515
  Show dependency treegraph
 
Reported: 2010-09-14 20:56 EDT by Robin Lee
Modified: 2014-10-14 08:51 EDT (History)
4 users (show)

See Also:
Fixed In Version: python-zope-i18nmessageid-3.5.3-2.fc15
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-09-16 22:56:17 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
a.badger: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Robin Lee 2010-09-14 20:56:14 EDT
Spec URL: http://cheeselee.fedorapeople.org/python-zope-i18nmessageid.spec
SRPM URL: http://cheeselee.fedorapeople.org/python-zope-i18nmessageid-3.5.3-1.fc14.src.rpm
Description:
This module provides message identifiers for internationalization.

$ rpmlint ./python-zope-i18nmessageid.spec /home/cheese/rpmbuild/SRPMS/python-zope-i18nmessageid-3.5.3-1.fc14.src.rpm /home/cheese/rpmbuild/RPMS/i686/python-zope-i18nmessageid-3.5.3-1.fc14.i686.rpm /home/cheese/rpmbuild/RPMS/i686/python-zope-i18nmessageid-debuginfo-3.5.3-1.fc14.i686.rpm 
./python-zope-i18nmessageid.spec: W: no-cleaning-of-buildroot %clean
./python-zope-i18nmessageid.spec: W: no-buildroot-tag
./python-zope-i18nmessageid.spec: W: no-%clean-section
python-zope-i18nmessageid.src: W: no-cleaning-of-buildroot %clean
python-zope-i18nmessageid.src: W: no-buildroot-tag
python-zope-i18nmessageid.src: W: no-%clean-section
python-zope-i18nmessageid.i686: W: private-shared-object-provides /usr/lib/python2.7/site-packages/zope/i18nmessageid/_zope_i18nmessageid_message.so _zope_i18nmessageid_message.so
3 packages and 1 specfiles checked; 0 errors, 7 warnings.
Comment 1 Toshio Ernie Kuratomi 2010-09-15 20:55:58 EDT
Good:
* Package follows naming guidelines
* spec file matches package name
* License in spec and source is ZPLv2.1 which is approved
* License file included in package
* Spec file is readable
* Sources match upstream
* No locale files
* Not a shared library
* No bundled libraries
* Not relocatable
* Package owns all directories that it creates and nothing else but see below.
* Permissions are proper
* macros used consistently
* Package contains code, not content
* Not a GUI
* All filesnames are UTF8
* Builds in koji

Needswork:
* Why take out the setuptools and zope-filesystem deps?
* Owns %{python_sitearch}/zope which is owned by python-zope-filesystem.  Since
  python-zope-filesystem exists, why co-own %{python_sitearch}/zope instead of
  requiring zope-filesystem?


Output fronm rpmlint:
python-zope-i18nmessageid.src: W: no-cleaning-of-buildroot %clean
python-zope-i18nmessageid.src: W: no-buildroot-tag
python-zope-i18nmessageid.src: W: no-%clean-section

These are not needed if you only build for F13 or greater.  If you build for
EPEL5 or F12, you need to add them.  You pointed at the guidelines for this in
another review so I assume you know what to do if needed :-)

python-zope-i18nmessageid.x86_64: W: private-shared-object-provides /usr/lib64/python2.6/site-packages/zope/i18nmessageid/_zope_i18nmessageid_message.so _zope_i18nmessageid_message.so()(64bit)

It's not likely that a real shared library will have that name so it's unlikely
that that name will end up in an rpm requires.  However, we can filter it out
by setting this at the top of the spec::

  # Supplement rpm's internal dependency generator so that we don't get erroneous
  # provides
  %global _use_internal_dependency_generator 0
  %global __find_provides /bin/sh -c "%{_rpmconfigdir}/find-provides | grep -v '_zope_i18nmessageid_message.so' || /bin/true"
  %global __find_requires /bin/sh -c "%{_rpmconfigdir}/find-requires | grep -v '_zope_i18nmessageid_message.so' || /bin/true"


Also note: I'm trying to get python-Chameleon into Fedora.  If you'd like to submit your python-zope-i18n package for review, I'll review it since it's a dep of python-Chameleon.
Comment 2 Robin Lee 2010-09-15 23:16:53 EDT
* The first issue refer to https://bugzilla.redhat.com/show_bug.cgi?id=632808

* About namespaces
We don't prefer using filesystem package. The python-zope-filesystem package has been retired. We make some fundamental packages in that namespace to co-own the namespace directory and use the provided .pth files to make the modules importable. And we don't want to employ the filesystem mechanism just for packages from the Zope world which uses a dozen of namespaces[1]. And we don't want to make a filesystem package for each namespace and also don't want to make an all-in-one filesystem package to contain all those namespaces.

* About private-shared-object
Python extension usually contains private-shared-object. are you going to popularize your method as a good practice over all Python packages?

I will make this done and submit a review request for python-zope-i18n a moment later. Spec files of all the ZTK packages have been done in my git[2].

[1] http://grok.zope.org/about/overview-of-namespaces
[2] http://fedorapeople.org/gitweb?p=cheeselee/public_git/zope-rpm.git;a=tree;h=refs/heads/master;hb=master
Comment 3 Toshio Ernie Kuratomi 2010-09-16 01:05:23 EDT
Okay, coownership for the zope namespace sounds like it makes sense.  No need to require python-zope-filesystem.

You do need a Requires on python-setuptools as explained in the other bug.

Private shared object -- this method is good practice.  But I haven't been requiring it unless the shared object is likely to provide a conflicting provide with something else that really needs it.  It seems that the packaging guidelines that require doing this (and give a different example of how to) was moved into approved status but I don't remember us approving them:

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

I need to try to find out whether those were moved into the accepted state by mistake or really had been approved.  If they have, the page says that removing private shared objects is a must item and that you must use the procedure outlined on that page.  Feel free to use the instructions there for filtering instead of what I wrote before.
Comment 4 Robin Lee 2010-09-16 02:29:20 EDT
3.5.3-2

Spec URL: http://cheeselee.fedorapeople.org/python-zope-i18nmessageid.spec
SRPM URL:
http://cheeselee.fedorapeople.org/python-zope-i18nmessageid-3.5.3-2.fc14.src.rpm

Change:
- Filter private shared library provides

$ rpmlint ./python-zope-i18nmessageid-3.5.3-2.fc14.i686.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
Comment 5 Toshio Ernie Kuratomi 2010-09-16 03:13:14 EDT
approved.
Comment 6 Robin Lee 2010-09-16 04:24:22 EDT
Arigatou

New Package SCM Request
=======================
Package Name: python-zope-i18nmessageid
Short Description: Message Identifiers for internationalization
Owners: cheeselee
Branches: el5 el6 f13 f14
InitialCC:
Comment 7 Kevin Fenzi 2010-09-16 19:01:58 EDT
Git done (by process-git-requests).
Comment 8 Ralph Bean 2014-10-14 08:21:02 EDT
Package Change Request
======================
Package Name: python-zope-i18nmessageid
New Branches: epel7
Owners: ralph
Comment 9 Gwyn Ciesla 2014-10-14 08:51:20 EDT
Git done (by process-git-requests).

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