Hi,
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??
Alan
On 1/25/06, Alan Milligan alan@balclutha.org wrote:
Hi,
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??
I have been watching this too and wondering the best response to packaging requirements myself.
Any thoughts? Michael Weiner
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.
The biggest challenge I ran into was getting setuptools to recognize the 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 nicely.
Perhaps the maintainer of the python-setuptools package can shed additional insights, since that's where all the magic happens.
Best, -- Elliot
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 the 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 nicely.
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.
On Thu, 2006-01-26 at 00:10 -0500, Ignacio Vazquez-Abrams wrote:
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 the 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 nicely.
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.
Why can't we do what debian and conary is doing already for eggs.
there's some option you can pass in for packaging this sort of thing, iirc.
-sv
On Thu, 26 Jan 2006, Ignacio Vazquez-Abrams wrote:
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.
Yea, I think it'd be good to figure out a way to fake the egg information in the main python package. Mihai, do you have any thoughts in this area?
Best, -- Elliot
packaging@lists.fedoraproject.org