[Distutils] pre-release versioning problems with sdist, bdist_rpm, bdist_debian
Gerry Reno
greno at verizon.net
Fri Jan 9 20:57:23 CET 2009
Tarek Ziadé wrote:
> On Fri, Jan 9, 2009 at 4:42 PM, Gerry Reno <greno at verizon.net> wrote:
>
>> Thanks Tarek. I think if it would do the same thing as bdist_rpm that it
>> would be ok. bdist_rpm looks like it does VERSION-RELEASE (hyphen
>> separator). So then doing this for 'sdist' I guess would produce a
>> tarball name of foo-VERSION-RELEASE.tar.gz and an extracted directory of
>> foo-VERSION-RELEASE. What this would allow then is for the 'version'
>> string to stay at '5.0.0' and then the 'release' string to contain any
>> pre-release information such as '0_rc1' and then the final release would
>> contain '1' which is lexically superior to the '0_rc1'. I'm not sure though
>> what other targets in distutils also use 'version' so I don't know if this
>> would affect anything else.
>>
>> Updating my comment: Yes, and all the 'bdist' targets would have to do the
>> same type of thing as 'bdist_rpm'. That is use the combination of
>> VERSION-RELEASE.
>>
>> Also, I'm hoping this can be implemented as some kind of extension so that
>> it can be made to work for existing installations as well.
>>
>
> In other words, introduce it globally. That is a big change,
>
Yes, but it solves a big problem. I've seen this issue brought up on
the fedora-devel mailing list several times. And Toshio has commented
about it. The RPM-based distros appear to ignore 'bdist_rpm' and the
distro packagers go about creating their own way of building python
RPMS. And when I inquired about this, the pre-release versioning issue
was the first thing that was mentioned. I think this was the
showstopper that caused them to abandon 'bdist_rpm' because they
couldn't find sanity between 'sdist' and 'bdist' command treatment of
'version' and 'release' strings. If this gets fixed now, I think they
could be persuaded to consider using 'bdist_rpm' for building python
packages which would bring a lot of consistency to the process between
distros. (yes, I know distros all want to store things in different
areas, but that's just a config/preference thing).
> I think this could stay compatible with the previous installations as long as :
>
> - if the release string is not specified, then it is not used at all,
> (unlike version which becomes 0.0 when not specified)
>
> - the "Package-Version-Release" string is OK with the tools out there
> (I have to double-check on how setuptools and zc.buildout works on
> fragments to extract version numbers for instance)
>
That sounds like it will work.
I'm looking forward to any prototype you could generate for this and
I'll be glad to help test it.
Regards,
Gerry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20090109/111e59b2/attachment.htm>
More information about the Distutils-SIG
mailing list