On Wed, 2006-01-25 at 23:54 -0500, Elliot Lee wrote:
On Wed, 25 Jan 2006, Michael Weiner wrote:
> > Unfortunately, the Python community is becoming intoxicated with eggs!
> > Is there a strategy (preferably backed by rpm macros) to deal with this
> > - ie sanely packaging all egg'd installed prerequisites??
Having just become familiar with this stuff myself yesterday, it seems
like it should be fairly simple to package up the .egg's themselves. I
think the main challenge is to come up with a way of automatically turning
egg dependencies (both provides & requires) into rpm dependencies... This
should be doable with minimal rpm modifications. .egg's already have all
the information necessary to do this.
Certainly it is feasible to write a script that could look at setup.py
after the fact and extract the requirements from there, or even to
inject a bit of code into setuptools itself. Provides might require a
little more work unless we switch to using the python() namespace.
The biggest challenge I ran into was getting setuptools to recognize
existence of some non-eggd dependencies. For example, python-elementtree
was installed but setuptools keeps insisting that it couldn't find
cElementTree >= 0.2. This is more of a pythonland issue than an rpmland
issue, but we'll definitely have to address it in order to make .eggs work
Unfortunately [c]ElementTree et al will be a persistent issue until
either setuptools becomes part of Core, or the maintainers of the Python
packages in Core are convinced to include additional information within
the package (which may or may not be egg information). If you look at
how I did it in TurboGears you see that I commented out the packages in
setup.py that don't provide egg/package information, but this certainly
isn't something we want to do long-term.
Ignacio Vazquez-Abrams <ivazquez(a)ivazquez.net>
gpg --keyserver hkp://subkeys.pgp.net