[Distutils] Specifying eggs and build manifest ?
cournape at gmail.com
Tue Dec 22 02:24:07 CET 2009
I wonder if there is any interest in the current distribute effort to
specify some low-level commonalities outside the distutils code for
interoperation. In particular, I had two things in mind:
1 Formally specifying the egg format (and versioning it !) - or is
egg format outside distribute goal ?
2 Formally specifying something like a build manifest which would be
used for installation.
I think the first point is self-explanatory. Concerning the second
point, the current way of installing things in distutils is a bit too
ad-hoc to my taste, and could be fixed inside distutils to make it
easier to interoperate with other methods (be it native OS methods or
other python-related tools). Right now, distutils install things from
a list of files, but this only contains the target location for some
kind of files. What about the following kind of format instead (or in
complement for backward-compatibility):
- split the flat list into a list of "typed" sections, where type
would be e.g. data, python files, extensions, scripts, etc...
- for each section, specify both the source and target directory.
- the format should be easy to parse/produce, and versioned.
The rationale is that such a format would enable the following:
- it becomes easier to post-process files at install time, with
different methods for each type
- such a format could form a basis to produce "conventional" install,
eggs and other kind of installers, including convertion between them.
Assuming this idea fits into what people involved in distribute are
doing, I would be willing to propose a more formal description - I
already have the implementation in my own project toydist, where I use
build manifest to do explicit install and eggs/wininst conversion.
More information about the Distutils-SIG