Package Versioning Feedback

Michael Schwendt mschwendt.tmp0701.nospam at arcor.de
Sat Jan 26 22:50:13 UTC 2008


On Sat, 26 Jan 2008 14:52:12 -0700, Richi Plana wrote:

> Hi,
> 
> I wanted to start my own little project and wanted some feedback from
> the community who've had much dealings with versioning. My plan is to
> use a versioning system similar to most (digits separated by a dot
> character) with each successive number being less significant. The only
> change in semantics is that the most minor number would be interpreted
> as
> 
> 0 = Alpha
> 1 = Beta
> 3+ = Stable
> 
> I thought this might be a better way of dealing with projects which
> transition to a greater major number. Systems which use .99+ to
> designate "almost next major" aren't easy to test as the next major
> version (since the computer parses the major version and sees the
> previous major version.
> 
> Some systems increase the major and tack on the word "alpha" or
> "beta" ... which screws up the computer's sorting mechanism (is alpha >
> 0?)
> 
> My question is: will there be any problems with packaging systems like
> rpm and yum using such a scheme?

It depends on what your numbers look like. Preferably, use only natural
numbers (as they can be compared with each other in a well-defined way),
and don't make up your own notation for the numbers. In particular, never
use any numbers with 0 prefix, not in the least significant position
either. For RPM, 2 and 02 and 000002 are equal. Hence 1.1 is smaller than
1.02, but equal to 1.01. And a 1.3001 release, which may look like a
very minor release after 1.3, would be higher than all 1.X with X < 3001,
including 1.4, 1.50, 1.99 and so on.

As a side-note, adding non-numerical characters somewhere to a version
number string not only compares numbers to characters, it alters the
length of what is compared. Due to that, the longer version wins, as in
1.3.0 is lower than 1.3.0a or 1.3.0rc2




More information about the fedora-devel-list mailing list