<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'Tahoma'; font-size:12pt; font-weight:400; font-style:normal;">Great.  I just pushed onto the various trackers tracking the issue -- among which is the python tracker -- support for prerelease packages (...dev and ...dev-r77655 versioned packages) so they do not overwrite alphas, betas, or final -1 and above releases.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>El Miércoles 11 Marzo 2009, Tarek Ziadé escribió:<br>
&gt; Hi,<br>
&gt;<br>
&gt; Great work !<br>
&gt;<br>
&gt; FYI it's on my pile in the bug tracker in Python. I'll try to work on<br>
&gt; these before Pycon<br>
&gt;<br>
&gt; Also, note that I am planning to release Distutils as a standalone<br>
&gt; package before Pycon;<br>
&gt; since the current trunk targets Python 2.3 to 3.1<br>
&gt;<br>
&gt; Regards<br>
&gt; Tarek<br>
&gt;<br>
&gt; On Wed, Mar 11, 2009 at 1:28 PM, Gerry Reno &lt;greno@verizon.net&gt; wrote:<br>
&gt; &gt; Manuel Amador (Rudd-O) wrote:<br>
&gt; &gt;<br>
&gt; &gt; Hello, guys,<br>
&gt; &gt;<br>
&gt; &gt; I have fixed distutils (and setuptools remains working) with the attached<br>
&gt; &gt; patch. Now, RPMs will be built according to the Fedora Package Naming<br>
&gt; &gt; Guidelines:<br>
&gt; &gt;<br>
&gt; &gt; http://fedoraproject.org/wiki/Packaging/NamingGuidelines#Non-Numeric_Vers<br>
&gt; &gt;ion_in_Release<br>
&gt; &gt;<br>
&gt; &gt; which I understand to be the most useful reference in terms of naming<br>
&gt; &gt; pre-release packages. This should work correctly in at least:<br>
&gt; &gt;<br>
&gt; &gt; - Fedora<br>
&gt; &gt; - RHEL<br>
&gt; &gt; - SUSE<br>
&gt; &gt;<br>
&gt; &gt; I urge you patch your python 2.4s and 2.5s and 2.6s and push this update<br>
&gt; &gt; to distributions. I have done that myself at my own repository.<br>
&gt; &gt;<br>
&gt; &gt; Now we can enjoy one more reason to build RPMs (and eggs! ... according<br>
&gt; &gt; to my workbench at http://yum.rudd-o.com/SCRIPTS/ -- feel free to pick<br>
&gt; &gt; its brains) DIRECTLY from the cheese shop, especially if you're using<br>
&gt; &gt; pip.<br>
&gt; &gt;<br>
&gt; &gt; Oh, I also have pip at my repo (cd ../RPMS/noarch in my workbench).<br>
&gt; &gt;<br>
&gt; &gt; See attached patch. I will log bugs where it corresponds too.<br>
&gt; &gt; --<br>
&gt; &gt;<br>
&gt; &gt; Manuel Amador (Rudd-O) &lt;rudd-o@rudd-o.com&gt;<br>
&gt; &gt; Rudd-O.com - http://rudd-o.com/<br>
&gt; &gt; GPG key ID 0xC8D28B92 at http://wwwkeys.pgp.net/<br>
&gt; &gt;<br>
&gt; &gt; Now playing, courtesy of Amarok: Aqua - Cartoon heroes<br>
&gt; &gt; Windows 95 is not a virus. Viruses actually do something.<br>
&gt; &gt;<br>
&gt; &gt; Hi Manuel,<br>
&gt; &gt;   You worked on my problem!  Great.<br>
&gt; &gt;   So today what we have been doing to deal with the pre-release and<br>
&gt; &gt; lexical ordering problem involving pre-releases is this:<br>
&gt; &gt;     We impose a restriction on how the pre-release is identified.  So for<br>
&gt; &gt; example if you intend to end up with a final version-release of 5.0.0-1<br>
&gt; &gt; and you want to first put out some betas or release candidates then we<br>
&gt; &gt; have to name them as, 5.0.0-0_beta1, or 5.0.0-0_rc1 and this is so that<br>
&gt; &gt; the lexical ordering for RPM will be correct.  In other words you must<br>
&gt; &gt; put the pre-release designation into the 'release' part of<br>
&gt; &gt; VERSION-RELEASE.  What we had seen developers doing previously was to<br>
&gt; &gt; name these as 5.0.0_beta1 or 5.0.0_rc1 (making the pre-release<br>
&gt; &gt; designation part of the 'version' string) which then did not work for the<br>
&gt; &gt; lexical ordering of the final release of 5.0.0-1 because 5.0.0 (version)<br>
&gt; &gt; was not lexically superior to 5.0.0_rc1.  So we were able to solve this<br>
&gt; &gt; problem without any code changes to distutils. But this also presented a<br>
&gt; &gt; challenge for the other distribution targets such as 'sdist' because they<br>
&gt; &gt; were totally unaware of this 'version-release' combination and only knew<br>
&gt; &gt; about 'version'.  So as a workaround we were doing this:<br>
&gt; &gt; # WORKAROUND<br>
&gt; &gt; # define both version AND release<br>
&gt; &gt; version='5.0.0'<br>
&gt; &gt; release='1'<br>
&gt; &gt; # combine them for all targets except 'bdist_rpm'<br>
&gt; &gt; if sys.argv[1] != 'bdist_rpm':<br>
&gt; &gt;     version = version+'-'+release<br>
&gt; &gt; So this wasn't perfect but it actually worked quite well and we could get<br>
&gt; &gt; 'sdist' to work properly in conjunction with 'bdist_rpm'.<br>
&gt; &gt; So now with your patch all the targets should be able to set and use both<br>
&gt; &gt; 'version' and 'release' and we don't need our workaround and that will be<br>
&gt; &gt; great.<br>
&gt; &gt;<br>
&gt; &gt; Regards,<br>
&gt; &gt; Gerry<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>-- <br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>        Manuel Amador (Rudd-O) &lt;rudd-o@rudd-o.com&gt;<br>
        Rudd-O.com - http://rudd-o.com/<br>
        GPG key ID 0xC8D28B92 at http://wwwkeys.pgp.net/<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>A copy of the universe is not what is required of art; one of the damned<br>
things is ample.<br>
                -- Rebecca West<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p></body></html>