python packaging, egg-info file vs. directory
Joel Andres Granados
jgranado at fedoraproject.org
Tue Apr 15 16:32:17 UTC 2008
Toshio Kuratomi wrote:
> Joel Andres Granados wrote:
>> Toshio Kuratomi wrote:
>>> Thomas Moschny wrote:
>>>> Hi!
>>>>
>>>> Recently encountered a problem with the python-demjson rpm I maintain:
>>>> The demjson package does not use setuptools, so, in accordance with
>>>> the python packaging guidelines, I used the trick of preloading
>>>> setuptools prior to executing setup.py, for F7 and F8 only. This
>>>> produces an egg-info directory, fine.
>>>>
>>>> Now, for F9, egg-info is generated automatically, but it turns out
>>>> that this produces an egg-info file instead of an directory. This in
>>>> turn causes problems when upgrading from F8 to F9, because rpm can't
>>>> replace a dir with a file.
>>>>
>>>> Any advices on how to solve this?
>>>>
>>>
>>> Do you have a reason to need eggs on F7 and F8?
>>
>> Thats strange, I thought it was added because of policy as opposed to
>> reason. Firstaidkit has no need for eggs, but the reviewer insisted
>> on adding to them. FWI, firstaidkit chooses to handle the plugins
>> with rpm, which is a valid alternative to eggs.
>>
> Maybe the Guidelines need rewording. Can you point at something in the
> Guidelines that could be improved to show that using setuptools to add
> eggs in F7/F8 is optional? (All packages must handle the egg files in
> F9+ and they must handle eggs created by packages which use setuptools
> normally. The optional part is when adding eggs to a package which
> doesn't provide them on its own.)
>
> -Toshio
>
maybe change it a little:
Change the "when to provide eggs" in http://fedoraproject.org/wiki/Packaging/Python/Eggs
"
Starting with Fedora 9, our python package provides egg-info for any distutils and setuptools packages. Since this establishes a base of functionality that upstream authors can expect, we need to be sure we include those files when needed. In Fedora 8 and below eggs can be provided when the package uses setuptools. In this case eggs are optional. In F9+ eggs have to be provided when the upstream package provides them and are optional when the upstream package does not provide them.
"
What do you think about this?
--
Joel Andres Granados
More information about the fedora-devel-list
mailing list