[Fedora-packaging] Python Egg Draft 3

Toshio Kuratomi a.badger at gmail.com
Thu Sep 13 00:28:36 UTC 2007


Panu Matilainen wrote:
> 
> Separating the namespaces is a fundamental problem for the dependency
> extractor. For provides this is obviously not an issue, but requires
> need to be generated without being able to actually locate (and possibly
> import) the actual module. Python syntax for importing egg- and regular
> modules is the same, so they need to live in the same namespace,
>  otherwise the manual Requires just turn into manual BuildRequires and
> the depency extractor will be just adding syntactic sugar for nothing :)
> 
I think I've figured out a way to make this almost work::
  import sqlalchemy

is equal to Requires python(sqlalchemy)

Any of these::
  __requires__='SQLAlchemy'
  pkg_resources.require('SQLAlchemy')
  requires.txt:
    install_requires = [ 'SQLAlchemy' ]

are equal to python-egg(sqlalchemy)

This breaks down when thinking about what happens in this case::
  __requires__='TurboGears'
  import pkg_requires
  import sqlachemy

At this point you have to know whether TurboGears or anything that it
requires has a requires.txt which includes ['SQLAlchemy'].  If it does
we are using the egg interface to sqlalchemy.  If it doesn't we are
using the normal interface.

So, assuming we remove our patch that stops generation of egg-info files
for distutils generated modules for F9, I agree that there isn't very
much value for quite a bit of work.

-Toshio

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 251 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/fedora-packaging/attachments/20070912/9b30212b/attachment.sig>


More information about the Fedora-packaging mailing list