Warren's Package Naming Proposal - Revision 2

Mike A. Harris mharris at redhat.com
Mon Nov 10 08:14:58 UTC 2003


On Sun, 9 Nov 2003, Warren Togami wrote:

>> PLEASE, take a look at dpkg's and apt-get's way of handling pre-release 
>> versions, I really do think that should be used in rpm-based distros 
>> too.
>> The idea is to introduce a character, namely '~' (tilde), which is 
>> sorted specially: in comparison it comes before anything else.
>> 
>> This way, you can get ordering like this:
>> 
>> 1.0~alpha1 < 1.0~alpha2 < 1.0~beta < 1.0 < 1.0a < 1.0b
>> 1.0~pre1 < 1.0~rc1 < 1.0 < 1.0.1 < 1.0.2
>> ... and so on.
>> 
>> Hope you got the point.
>> 
>> I know it should be implemented in rpm, and this is not a trivial move, 
>> but please do think about it. It will make all these 
>> pre-release-versioning nightmares go away.
>> 
>
>Interesting concept.  This is the first time I heard of this.  It would 
>take a serious amount of analysis to figure out if this can be 
>implemented in rpm in a way that wont break backward compatibility. 
>There is also the question of if we *want* to do this or not.  Much 
>discussion is needed.  In any case it would take a long time to analyze 
>if we want to implement this in rpm and all related tools or not.  I 
>currently have no opinion on this matter because I don't know enough 
>about it.
>
>In the mean time this package naming scheme describes how to properly 
>avoid packaging problems in the rpm of today.

One problem is that the word "pre", or "rc" or others are not
used consistently between software projects.

Some use "pre" like:

	Prerelease: 2.7.95pre1  (prerelease of version 2.8, or perhaps 2.7.96)
	   Release: 2.8

Others use "pre" like:

	Prerelease: 2.8pre1   (Prerelease of version 2.8)
	   Release: 2.8

It's possible that one project does it like above, and another 
does it like:

	   Release: 2.8
	Prerelease: 2.8pre1   (Prerelease of version 2.9)

Both types of versioning are out there.  There is no way of 
knowing wether the "pre" part is newer or older based solely upon 
alphanumeric comparison, because different projects use the 
keyword differently.  The only way is by human interpretation.  
As such, having the software consistently use one single 
interpretation is the best solution, as you know 50% of the 
projects out there will work without thinking about it.  Then 
it's only the other 50% that need manual developer attention, and 
that can't be voided as it isn't possible to know which of the 
two interpretations is intended via software alone.

-- 
Mike A. Harris     ftp://people.redhat.com/mharris
OS Systems Engineer - XFree86 maintainer - Red Hat





More information about the fedora-devel-list mailing list