New (optional) python egg dependency generator for RPM

Neal Gompa ngompa13 at gmail.com
Tue Nov 17 12:05:35 UTC 2015


On Tue, Nov 17, 2015 at 3:26 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> I'm not clear on what you mean by depending on an egg. Eggs are a
> binary format that isn't compatible with Linux distro packaging
> policies, since they lose too much structural information regarding
> where files should be installed for policy compliance - that's one of
> the major reasons we defined the wheel format as a next generation
> replacement: https://www.python.org/dev/peps/pep-0427/.
>

I don't think I've ever heard of this, much less seen it in use. And
it looks like the format was approved well over two years ago, so I'm
*really* surprised nothing has happened since then. That said, the
dependency generator only reads egg info data about the module name
and the modules it requires and translates them into RPM
Provides/Requires. The other information is too unreliable to use.

> Is the goal to enable installation commands like "dnf install
> python3egg(Django)" and have that install the distro's Django package?
>

Essentially, yes.

> If so, then there's some relevant work currently under way upstream to
> improve the interaction between Python installation tools and build
> systems to improve the metadata extraction process, rather than
> relying on implementation details of setuptools.
>

That's great, and I hope to see something soon out of that. For a
little bit of history on the pythonegg dependency generator, it was
developed by Per Øyvind Karlsen for Mandriva to have more Perl-like
automatic dependency generation for Python. He brought it forward and
upstreamed it to RPM in August, and I made several fixes to it which
were upstreamed earlier this month.

Variants of this generator are in use in both Mandriva and Mageia, and
I wanted to give the Python SIG in Fedora the opportunity to try it
out and see if we might want to enable it in Fedora.

Essentially, for things that have egg info that includes the
requirements and the name of the module, it makes it simpler to figure
out what how to install Python packages in a more cross-distro manner.



-- 
真実はいつも一つ!/ Always, there's only one truth!


More information about the python-devel mailing list