Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 May 2004 14:01:05 -0400
From:      Garance A Drosihn <drosih@rpi.edu>
To:        "Jacques A. Vidrine" <nectar@freebsd.org>, Kris Kennaway <kris@obsecurity.org>
Cc:        cvs-ports@freebsd.org
Subject:   Re: discussion on package-version numbers... (PR 56961)
Message-ID:  <p0602040ebcc178ae7b88@[128.113.24.47]>
In-Reply-To: <20040506220855.GI2316@madman.celabo.org>
References:  <20040416163635.GB49780@madman.celabo.org> <4080151C.1070200@fillmore-labs.com> <20040416173857.GA50670@madman.celabo.org> <20040416174418.GC50670@madman.celabo.org> <40802354.3030202@fillmore-labs.com> <20040417152242.GA5543@madman.celabo.org> <20040506190729.GD1777@madman.celabo.org> <p0602040bbcc04f36c2aa@[128.113.24.47]> <20040506212442.GF2316@madman.celabo.org> <20040506213641.GA93452@xor.obsecurity.org> <20040506220855.GI2316@madman.celabo.org>

next in thread | previous in thread | raw e-mail | index | archive | help
At 5:08 PM -0500 5/6/04, Jacques A. Vidrine wrote:
>On Thu, May 06, 2004 at 02:36:41PM -0700, Kris Kennaway wrote:
>  > On Thu, May 06, 2004 at 04:24:42PM -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

Is it fair to say that the real problem is that we are trying to
impose order on version-numbers which are being picked by the
10,000 different developers of the original programs that we are
creating ports for?  So, basically, no matter what scheme we come
up with, we have absolutely no way to force any of the original
authors to conform to our scheme.  None.  We can not do it.  It
will not happen.  We have no way to make it happen.  Even if we
pick something that works today, there is nothing we can do to
prevent 1,000 of those independent developers deciding on some
new version-numbering scheme for *their* products tomorrow, and
thus break whatever clever grammar we dreamed up today.

If so, then let's just give up on that.  Alternate idea for
handling versions:

  <portversion> -> *our* idea of the version of the sources
                   for this port.  Make it a date string.
                   [personal twist on that idea: make the month
                   a letter from A-L, instead of 01-12]
  <portrevision> -> incremented when *our* files for a port
                   changes (our makefiles, our patches, etc),
                   but we are still basing the port on the
                   same sources from the original developer.
  <origversion> -> the version which the original developer
                   tagged on their source files.

So, a full portname might look like:

   bash2-2003E16.0-2.05b.007

We use the '2003E16.0' part for all our own FreeBSD-ports
processing, and we basically ignore whatever version the
original author gave their source.  The *author's* version is
only there for humans to eyeball and nod at, when they want to
compare what they have installed on FreeBSD to what they have
on other operating systems.  It is not to be used by ports-
processing, since we have no control over those values.

. . . . . . or was my initial premise not fair to say?   :-)

-- 
Garance Alistair Drosehn            =   gad@gilead.netel.rpi.edu
Senior Systems Programmer           or  gad@freebsd.org
Rensselaer Polytechnic Institute    or  drosih@rpi.edu



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?p0602040ebcc178ae7b88>