From owner-cvs-all Thu Apr 19 14:17:49 2001 Delivered-To: cvs-all@freebsd.org Received: from mail.clickarray.com (clickwall.clickarray.com [216.132.92.2]) by hub.freebsd.org (Postfix) with ESMTP id 3403337B422; Thu, 19 Apr 2001 14:17:43 -0700 (PDT) (envelope-from asami@cs.berkeley.edu) Received: from vader.clickarray.com (nattedaddress.clickarray.com [10.2.1.199]) by mail.clickarray.com (Postfix) with ESMTP id BF83F5EF06; Thu, 19 Apr 2001 14:28:21 -0700 (PDT) Received: (from asami@localhost) by vader.clickarray.com (8.11.0/8.11.0) id f3JLHfG53582; Thu, 19 Apr 2001 14:17:41 -0700 (PDT) (envelope-from asami@cs.berkeley.edu) X-Authentication-Warning: vader.clickarray.com: asami set sender to asami@cs.berkeley.edu using -f To: bmah@FreeBSD.org Cc: Kris Kennaway , "David O'Brien" , Akinori MUSHA , Chris Faulhaber , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: ports/editors/vim6 Makefile distinfo pkg-plist References: <200104111956.f3BJukl93003@freefall.freebsd.org> <20010419140501.A253@jive.44bsd.net> <8666g0d8ws.wl@archon.local.idaemons.org> <20010419122255.B29435@dragon.nuxi.com> <20010419123216.A53260@xor.obsecurity.org> <200104191955.f3JJtQV60074@bmah-freebsd-0.cisco.com> From: asami@FreeBSD.org (Satoshi - Ports Wraith - Asami) MIME-Version: 1.0 (generated by SEMI 1.13.7 - "Awazu") Content-Type: text/plain; charset=US-ASCII Date: 19 Apr 2001 14:17:41 -0700 In-Reply-To: <200104191955.f3JJtQV60074@bmah-freebsd-0.cisco.com> (Bruce A. Mah's message of "Thu, 19 Apr 2001 12:55:26 -0700") Message-ID: Lines: 50 User-Agent: T-gnus/6.14.5 (based on Gnus v5.8.7) (revision 06) SEMI/1.13.7 (Awazu) FLIM/1.13.2 (Kasanui) Emacs/20.7 (i386--freebsd) MULE/4.0 =?ISO-2022-JP?B?KBskQjJWMWMbKEIp?= Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG * From: "Bruce A. Mah" * The Porters Handbook nominally defines this but it doesn't handle the * case of versions with *multiple* letters in them. Also it doesn't try * to define the semantics of what the letters mean. That's because when I wrote that section I didn't think that there would be cases where there are multiple letters, and more than one of those would be significant. ;) I.e., if the alphabetical string in the version number is "alpha", "beta", etc., you can just take the first letter and have it sort before the numbers. 1.0alpha -> 1.0.a 1.0beta1 -> 1.0.b1 1.0beta2 -> 1.0.b2 1.0 -> 1.0 1.1alpha -> 1.1.a and so on. (The things on the right are supposed to sort in this order.) Of course, it will still break down with 1.0gamma -> 1.0.g sorting before 1.0delta -> 1.0.d, but most software only have alpha, beta and release candidates (and they all come before real releases, in this order). ;) As for multiple letters, I think the only sensible thing to do if it is really necessary is to compare them in dictionary order. * Also note that pkg_version has to handle some cases that are technically * not allowed by the Porters Handbook. Technically there can't be a * letter after a digit where there isn't an intervening dot, but a lot of * ports do this anyways. (Why is this disallowed? Heck if I know.) I thought it would make the semantics unclear. The idea is to compare version components (strings between dots) as whole integers if they are composed entirely of digits, and as strings if they have at least one non-digit in them. That works reasonably well with the examples shown above, except when the beta goes to 10, we'll have 1.0.b10 which will sort before 1.0.b9 in dictionary order. Do you think we should treat the string of digits and string of non-digits separately, and sort them in numerical order and in dictionary order, respectively? That will handle the 1.0.b10 case as well as allowing a 1.0b release to follow 1.0 release (like emacs did with 19.34 and 19.34b). -PW To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message