[Distutils] PEP 376 -- support for release versions?
sridharr at activestate.com
Thu Nov 5 23:39:24 CET 2009
On Thu, 05 Nov 2009 14:14:19 -0800, Tarek Ziadé <ziade.tarek at gmail.com>
>> I actually now think that storing the release number inside the
>> directory may be a better idea. Like:
>> $ cat python_ldap-2.3.10.egg-info/pypm.txt
>> release: 2
>> What do you think?
> In that case, an arbitrary file that gets installed in the .egg-info/
> directory, that you can read back when needed through the PEP 376
> pkgutil new API, seem to be a good idea.
> This implies that Python+distutils itself will not be able to
> distinguish two different releases that have the same version, but a
> different build version.
I assume that the user is not supposed to have two copies of
python-ldap-2.3.10 (but with different release versions) anyway. The
purpose of multiple release version is to provide upgrades to a package
within a single package version.
The *value* of the release version itself is specific to PyPM, of course.
Other binary installers will not have a need for it (they will use their
own format -- see below).
> e.g. that just Active State's package manager is able to manage this
> extra number.
Yes. And package manager FooBar may use different release number formats,
$ foobar install python-ldap
FooBar should not read PyPM's release number.
> The other option, if this extra binary version number is a generic
> need, would be to add a new metadata field in PEP 345. (like in RPMs
> IIRC) and build an egg info folder name that contains this extra info
> when present.
Since release numbers are specific to the installer (and repository), how
about having it in the .egg-info/INSTALLER file?
$ cat .egg-info/INSTALLER
This will also enable adding extra metadata (specific to installer) like
More information about the Distutils-SIG