Bug 634036

Summary: Review Request: python-zope-i18nmessageid - Message Identifiers for internationalization
Product: [Fedora] Fedora Reporter: Robin Lee <robinlee.sysu>
Component: Package ReviewAssignee: Toshio Ernie Kuratomi <a.badger>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: a.badger, fedora-package-review, notting, rbean
Target Milestone: ---Flags: a.badger: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
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-17 02:56:17 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:    
Bug Blocks: 633138, 634515    

Description Robin Lee 2010-09-15 00:56:14 UTC
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-16 00:55:58 UTC
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-16 03:16:53 UTC
* 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 05:05:23 UTC
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 06:29:20 UTC
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 07:13:14 UTC
approved.

Comment 6 Robin Lee 2010-09-16 08:24:22 UTC
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 23:01:58 UTC
Git done (by process-git-requests).

Comment 8 Ralph Bean 2014-10-14 12:21:02 UTC
Package Change Request
======================
Package Name: python-zope-i18nmessageid
New Branches: epel7
Owners: ralph

Comment 9 Gwyn Ciesla 2014-10-14 12:51:20 UTC
Git done (by process-git-requests).