[Fedora-packaging] release tag question.

Michael Schwendt bugs.michael at gmx.net
Thu Jun 22 11:22:45 UTC 2006


On Thu, 22 Jun 2006 15:24:04 +1200, Michael J. Knox wrote:

> Hi..
> 
> Just looking at the cvsup package, as I need to use it at work. Anywho..
> 
> Just curious the rationale for the release tag. The actual version of 
> the package is 16.1h, but its packaged as 16.1 and the "h" is pushed out 
> into the release tag. Like:
> 
> cvsup-16.1-9h

A bit wierd to not separate '9' and 'h' with a dot, but:
 
> Why?

It's the same old rationale. To avoid comparing numerical bits with
non-numerical bits, as all digits are higher than all letters. It's _not_
needed everytime there is a non-numerical piece in a version. But you
cannot predict whether it will be needed some day when upstream changes
versioning in a way that is incompatible with RPM version comparison.

Just like 1.0a (alpha pre-release) is newer than 1.0 (final release)
and 2.0 (final) release is older than 2.0a (post-release fix) and
3.0rc4 (release candidate) is newer than 3.0c (post-release fix),
and so on.

[There are other examples where RPM version comparison does not work with
upstream versioning schemes. The most infamous example is 2.11 being a
newer upstream release than 2.104 and the opposite for RPM.]

> Would this not work:
> 
> cvsup-16.1h-9

16.12 would be newer than 16.1x, 16.12 would be newer than 16.2c, too.
Who knows what will come after 16.1h?
 
> My first guess is that version comparisons would be messed up if the h 
> was in the version tag, but then would it not mess up the release 
> comparison also?

Not if you move the non-numerical bit to the least-significant
place (= the very right).




More information about the Fedora-packaging mailing list