From owner-cvs-ports@FreeBSD.ORG Fri Apr 16 11:18:07 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 D039516A4CE; Fri, 16 Apr 2004 11:18:07 -0700 (PDT) Received: from postman.arcor.de (postman1.arcor-online.net [151.189.20.156]) by mx1.FreeBSD.org (Postfix) with ESMTP id C6FEC43D45; Fri, 16 Apr 2004 11:18:06 -0700 (PDT) (envelope-from eikemeier@fillmore-labs.com) Received: from fillmore.dyndns.org (port-212-202-49-130.reverse.qsc.de [212.202.49.130]) (authenticated bits=0)i3GII4KA029534 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Fri, 16 Apr 2004 20:18:05 +0200 (MEST) Received: from [172.16.0.2] (helo=fillmore-labs.com) by fillmore.dyndns.org with esmtp (Exim 4.32; FreeBSD) id 1BEXuX-000Kpb-5I; Fri, 16 Apr 2004 20:18:04 +0200 Message-ID: <40802354.3030202@fillmore-labs.com> Date: Fri, 16 Apr 2004 20:17:56 +0200 From: Oliver Eikemeier Organization: Fillmore Labs GmbH - http://www.fillmore-labs.com/ MIME-Version: 1.0 To: "Jacques A. Vidrine" References: <200404160124.i3G1OlUd067575@repoman.freebsd.org> <20040416163635.GB49780@madman.celabo.org> <4080151C.1070200@fillmore-labs.com> <20040416173857.GA50670@madman.celabo.org> <20040416174418.GC50670@madman.celabo.org> In-Reply-To: <20040416174418.GC50670@madman.celabo.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit User-Agent: KMail/1.5.9 cc: cvs-ports@FreeBSD.org cc: cvs-all@FreeBSD.org cc: ports-committers@FreeBSD.org Subject: Re: cvs commit: ports/sysutils/pkg_install-devel Makefile distinfo 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: Fri, 16 Apr 2004 18:18:08 -0000 Jacques A. Vidrine wrote: > On Fri, Apr 16, 2004 at 12:38:57PM -0500, Jacques A. Vidrine wrote: > >>On Fri, Apr 16, 2004 at 07:17:16PM +0200, Oliver Eikemeier wrote: >> >>>Jacques A. Vidrine wrote: >>> >>>>On Thu, Apr 15, 2004 at 06:24:47PM -0700, Oliver Eikemeier wrote: >>>> >>>>>Introduce '*' as the lowest possible version number, so that >>>>> >=2.* <3.* >>>>>matches all 2.X versions, even alpha. >>>> >>>>How is this different from ` >=2.a <3.a ' ? >>> >>>It matches 2.a.b, does not match 3.a.b2 >> >>*scratches head* I still don't see a difference. >> >> 2.a <= 2.a.b < 3.a >> 2.a <= 3.a < 3.a.b2 > > *blink* Oh, wait, I got that wrong. 2.a > 2.a.b and 3.a > > 3.a.b2. Except that version names such as `2.a.b' and `3.a.b2' are > unacceptable. See biology/fasta3 for an example. They may be unacceptable for portlint, but pkg_install has to be as tolerant as possible, and needs a consistent definition of version numbers. >>>and is more similar to >=2.X than >= 2.a is. >> >>How so? Maybe you mean to say that 2.a > 2.* ? >>I find that rather confusing. I meant that 2.* is somewhat similar to 'all 2.X versions'. Of course you have to be careful to get things right, but at least it is a proper definition of 'the lowest possible version number' instead of hoping that it would be 2.a. There are already lot of entries in VuXML which erroneously assume it would be 2.0. > I think I'm with you now. `*' is not a version number, but a glob? Nope, * is a version number that can not be assigned to a port. It is guaranteed to be the lowest possible one, and there is a similarity between portname-2.* and portname>=2.* the first being a glob (matching all 2.X versions, but not 02.1), the second a relational comparison (matching all 2.X versions, but 3.2 too) . It may be confusing, but in most cases it is easy to do the right thing, and things like 2.# or 2.% aren't really better. >>Btw, at least for pkg_install-devel we have 2.pl0 < 2.a. > > How did that become broken? What does 2.pl0 even mean? Do you have > an example? I'm certain that is against our naming conventions. Nope, refer to the FreeBSD Porter's Handbook, 5.2.4 Package Naming Conventions: Item 4. mentions `pl' as a version number, so it is special (like NetBSD's nb), and it makes no sense to allow it only as a standalone component. > I'm concerned because I have a function that converts a package > version into a 128 bit integer, such that if the package version A is > greater than package version B, then f(A) > f(B). If the versioning > rules are being changed, I wanna know (and I'd also like to know why). I have a function that converts a version number into a floating point number < 1.0, such that A > B iff f(A) > f(B). I doubt that 128 bits are sufficient in every case, but I may be wrong. Do you have a reference to a definition of the versioning rules besides PR 56961? -Oliver