Tarek Ziadé wrote:
On Fri, Jan 9, 2009 at 4:42 PM, Gerry Reno <[email protected]> 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
_______________________________________________
Distutils-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig