discussion on package-version numbers... (PR 56961)
Jacques A. Vidrine
nectar at FreeBSD.org
Wed May 12 09:10:17 PDT 2004
On Thu, May 06, 2004 at 03:44:27PM -0700, Kris Kennaway wrote:
> On Thu, May 06, 2004 at 05:08:55PM -0500, Jacques A. Vidrine wrote:
>
> > > Some ports use "p1" for "patchlevel 1", some use it for "prerelease
> > > version 1". Since we can't have it both ways, committers need to
> > > remember to use pkg_version -t and some careful foresight to avoid
> > > running version numbers backwards. However ultimately there will be
> > > continue to be mistakes made, even if version monotonicity is somehow
> > > enforced at commit-time.
> >
> > That's true, mistakes will happen. But simpler conventions could make
> > the mistakes more obvious.
> >
> > Strawman version grammar
> >
> > <version> ::= <major> (<letter> (<minor>)? )? '_' <revision> ',' <epoch>
> > <major> ::= <dotted>
> > <minor> ::= <dotted>
> > <dotted> ::= <integer> ('.' <dotted>)?
> > <revision> ::= <integer>
> > <epoch> ::= <integer>
> > <letter> ::= 'a'..'z'
> > <integer> ::= 32-bit integer
> >
> >
> > The components are compared in this order:
> > { epoch, major, letter, minor, revision }
> > with this exception:
> > - Certain combinations represent `prereleases'. These are
> > versions with a <letter> component, but no <minor> component.
> > All prerelease versions are less than all non-prerelease versions
> > with the same <epoch> and <major> components.
> >
> > The troublesome ports we discussed are now tame.
> >
> > 3.8.1p2 > 3.8p2 > 3.8 > 3.8b > 3.8a
> > 1.0.1x2003.09.16 > 1.0x2003.09.16
> >
> > Perhaps we want '+' to be a `letter' :-)
> >
> > Obviously, things like 1.0rc1, 1.0rc2,... (where RC is release
> > candidate) would need to become 1.0a, 1.0b... But one exception sure
> > seems like a win. Now, what have I left out ? :-)
>
> openssl 0.9.7d > 0.9.7
Just as it is today, not all `native' versions fit the Ports Collection
scheme, and so some adjustment is required. For example, appending a
zero works well in this case: 0.9.7d0 > 0.9.7
> > You might even be able to kill the exception if you allow
> > <uppercase-letter> and <lowercase-letter> to have different meanings...
>
> The more special cases, the more mistakes people will make and the
> more PORTEPOCH bumps that will need to be made to correct for it.
Yes, thus my desire to minimize them. We have many now. I think
Oliver's proposal introduces more.
Cheers,
--
Jacques Vidrine / nectar at celabo.org / jvidrine at verio.net / nectar at freebsd.org
More information about the cvs-all
mailing list