From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1J1OeS-0000fK-TK for garchives@archives.gentoo.org; Sun, 09 Dec 2007 16:05:09 +0000 Received: from robin.gentoo.org (localhost [127.0.0.1]) by robin.gentoo.org (8.14.2/8.14.0) with SMTP id lB9G4GVx014498; Sun, 9 Dec 2007 16:04:16 GMT Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.174]) by robin.gentoo.org (8.14.2/8.14.0) with ESMTP id lB9G1w3t011333 for ; Sun, 9 Dec 2007 16:01:58 GMT Received: by ug-out-1314.google.com with SMTP id j3so1267846ugf for ; Sun, 09 Dec 2007 08:01:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:reply-to:to:subject:date:user-agent:cc:mime-version:content-type:message-id:sender; bh=Rabd44uh8HRHqJD4g/pnbEOtzhg0lDZEiG4bshETnX8=; b=MslGphl6AQ5tr/FY1HVVMfGY45Omt+k78G7ZPduWkiILkQPOyD+yXnZyCFa7MpgCndJxWDd9DoLy443bdQd4XBTYapyl2G6BdFj0UMIvXfIxt5VQ7wJA8X4as5lYagbOKAl8uHspuYVg9z5w+Do5Q5aHzMKMxeT/JBCtzVXnb88= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:reply-to:to:subject:date:user-agent:cc:mime-version:content-type:message-id:sender; b=Axl8rsLAo0L1H0tSf9uyNTnt1Ulh+3by1wNG/hfVe90bPbLS6kWOZBYOxWHISnkaR570K2qZXADSA5GmLOqOy1lkJE9xHVxTnXzchk51QlK/jzy2jNEaqtPjJYYD6l6wMkOZhs/z6dYiaGZyvX01ZVHnvWKwKzyVhaRAryFmWTc= Received: by 10.78.122.16 with SMTP id u16mr1805441huc.1197216117623; Sun, 09 Dec 2007 08:01:57 -0800 (PST) Received: from phoebe.lan ( [212.76.57.12]) by mx.google.com with ESMTPS id i5sm5284755mue.2007.12.09.08.01.55 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 09 Dec 2007 08:01:55 -0800 (PST) From: Piotr =?utf-8?q?Jaroszy=C5=84ski?= To: gentoo-dev@lists.gentoo.org Subject: [gentoo-dev] [GLEP] scm package version suffix Date: Sun, 9 Dec 2007 17:01:49 +0100 User-Agent: KMail/1.9.7 Cc: glep@gentoo.org Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_uFBXHO8O2TGlSEk" Message-Id: <200712091701.50364.peper@gentoo.org> Sender: =?UTF-8?B?UGlvdHIgSmFyb3N6ecWEc2tp?= X-Archives-Salt: a43f6ab5-ed60-4a07-933e-9a2988af31b6 X-Archives-Hash: 4aa3b789ea450fa149051e3f6e6bbf3a --Boundary-00=_uFBXHO8O2TGlSEk Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hello, Attaching the GLEP source. Current html version available here: http://dev.gentoo.org/~peper/glep-0054.html =2D-=20 Best Regards, Piotr Jaroszy=C5=84ski --Boundary-00=_uFBXHO8O2TGlSEk Content-Type: text/plain; charset="utf-8"; name="glep-0054.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="glep-0054.txt" GLEP: 54 Title: scm package version suffix Version: $Revision: $ Last-Modified: $Date: $ Author: Piotr Jaroszy=C5=84ski Status: Draft Type: Standards Track Content-Type: text/x-rst Created: 09-Dec-2007 Post-History: 09-Dec-2007 Abstract =3D=3D=3D=3D=3D=3D=3D=3D This GLEP proposes addition of a new special package version suffix - ``scm= `` - for ebuilds checking out source directly from a source code management syst= em. Motivation =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Currently there is no standard way of marking SCM ebuilds. Using 9999 as the version is pretty common, but it is handled like any other ebuild and hence portage cannot provide any additional features for packages with such a ver= sion. Another way is adding separate package with -cvs suffix in its name, but th= at forces to use ``|| ( cat/pkg cat/pkg-cvs )`` dependencies. The closest to w= hat is proposed in this GLEP is the ``cvs`` version part, but its implementatio= n is of very limited use. It has strange comparison rules, no documentation, has never been used in the tree and has a misleading name. The possibility for package managers to recognise SCM ebuilds would allow t= hem to add features dedicated specially to said ebuilds. One such feature could= be automatic re-installation of SCM packages once a day or week, but that's be= yond this GLEP. Specification =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ``scm`` is a special suffix. It can be used on its own, but also in any oth= er valid version spec, just before the place where revision would go. And just= like revision it can be used only once in a version spec, e.g.: * ``cat/pkg-1.0_alpha0-scm`` * ``cat/pkg-1.0_alpha-scm`` * ``cat/pkg-1.0-scm-r3`` * ``cat/pkg-1-scm`` * ``cat/pkg-1-scm-r2`` * ``cat/pkg-scm`` These package atoms are sorted in ascending order (see `Version Comparison`= _). Version Comparison =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D The addition of the scm suffix yields changes in version comparison: * When comparing version components from left to right the scm component= has the highest priority. * Current suffixes with no number part no longer default to zero if they= are followed by an scm suffix. If that's the case the number part is consi= dered to be of a maximum value. Hence ``1_alpha2-scm < 1_alpha-scm``, but st= ill ``1_alpha =3D=3D 1_alpha0``. Example parsing: * ``cat/pkg-scm > cat/pkg-1`` When parsing from left to right the first difference is ``scm`` and ``1``. ``cat/pkg-scm`` wins. * ``cat/pkg-1-scm > cat/pkg-1.0-scm`` When parsing from left to right the first difference is ``scm`` and ``0``. ``cat/pkg-1-scm`` wins. * ``cat/pkg-1_alpha-scm > cat/pkg-1_alpha1-scm`` In the first package version ``alpha`` doesn't have a number part *a= nd* is followed by an ``scm`` suffix, hence it is considered to have a m= aximum value as the number part. When parsing from left to right the first difference is the number part of the ``alpha`` suffix. Maximum value yielded by the following ``scm`` suffix wins with ``1``. List of version specs in ascending order: * ``1`` * ``1.1-scm`` * ``1.2_alpha-scm`` * ``1.2_beta_p`` * ``1.2_beta_p0-scm`` * ``1.2_beta_p1-scm`` * ``1.2_beta_p-scm`` * ``1.2_beta1_p-scm`` * ``1.2_beta10`` * ``1.2_beta10_p1-scm`` * ``1.2_beta10-scm`` * ``1.2_beta-scm`` * ``1.2`` * ``1.2-scm`` * ``1.2-scm-r1`` * ``1-scm`` * ``10`` * ``scm`` * ``scm-r3`` Backwards Compatibility =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Portage versions prior to 2.1.2.12 (included in 2007.0) doesn't handle arbi= trary version suffixes and die during various tasks making portage hard or imposs= ible to use. Later versions just ignore them displaying warnings. Hence use of ``scm`` suffixes in gentoo-x86 tree will probably have to wait till 2008.0 release or later. Copyright =3D=3D=3D=3D=3D=3D=3D=3D=3D This document has been placed in the public domain. =2E. vim: set tw=3D80 fileencoding=3Dutf-8 spell spelllang=3Den et : --Boundary-00=_uFBXHO8O2TGlSEk-- -- gentoo-dev@gentoo.org mailing list