From owner-cvs-ports@FreeBSD.ORG Thu May 6 15:08:58 2004 Return-Path: Delivered-To: cvs-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CF02116A4CF; Thu, 6 May 2004 15:08:58 -0700 (PDT) Received: from gw.celabo.org (gw.celabo.org [208.42.49.153]) by mx1.FreeBSD.org (Postfix) with ESMTP id BEFDC43D54; Thu, 6 May 2004 15:08:56 -0700 (PDT) (envelope-from nectar@celabo.org) Received: from madman.celabo.org (madman.celabo.org [10.0.1.111]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "madman.celabo.org", Issuer "celabo.org CA" (not verified)) by gw.celabo.org (Postfix) with ESMTP id 2497B54846; Thu, 6 May 2004 17:08:56 -0500 (CDT) Received: by madman.celabo.org (Postfix, from userid 1001) id B3B716FF36; Thu, 6 May 2004 17:08:55 -0500 (CDT) Date: Thu, 6 May 2004 17:08:55 -0500 From: "Jacques A. Vidrine" To: Kris Kennaway Message-ID: <20040506220855.GI2316@madman.celabo.org> Mail-Followup-To: "Jacques A. Vidrine" , Kris Kennaway , Garance A Drosihn , Oliver Eikemeier , ports-committers@freebsd.org, cvs-ports@freebsd.org, cvs-all@freebsd.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> <20040506212442.GF2316@madman.celabo.org> <20040506213641.GA93452@xor.obsecurity.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040506213641.GA93452@xor.obsecurity.org> X-Url: http://www.celabo.org/ User-Agent: Mutt/1.5.6i cc: cvs-ports@freebsd.org cc: ports-committers@freebsd.org cc: Garance A Drosihn cc: cvs-all@freebsd.org cc: Oliver Eikemeier Subject: Re: discussion on package-version numbers... (PR 56961) X-BeenThere: cvs-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 May 2004 22:08:59 -0000 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: > > > Another sticky area is e.g. openssh 3.8p2 versus 3.8.1p2. Under > > current rules, 3.8p2 > 3.8.1p2, which is obviously not intended by > > the ports committer. A workaround would have been to use 3.8.p2 < > > 3.8.1.p2. I don't particularly like that, because 3.8 > 3.8.p2 --- it > > wouldn't be a problem in practice, since all openssh portable versions > > have the `p', but it is ugly. > > > > This is really very similar to the previous thing... there is an > > inadvertant attempt to use `p' to add another level of structure to > > the version name. The problem is again clearer when it is viewed like > > so: 3.8.2 > 3.8.1.2. > > > > Hmm, I guess this might be part of why Oliver wanted to introduce a > > special behavior for `pl' ? > > 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 ::= ( ()? )? '_' ',' ::= ::= ::= ('.' )? ::= ::= ::= 'a'..'z' ::= 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 component, but no component. All prerelease versions are less than all non-prerelease versions with the same and 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 ? :-) You might even be able to kill the exception if you allow and to have different meanings... Cheers, -- Jacques Vidrine / nectar@celabo.org / jvidrine@verio.net / nectar@freebsd.org