[PATCH setup] Allow setup to parse more than 3 versions from the setup.ini file

Jon Turney jon.turney@dronecode.org.uk
Tue Dec 6 17:22:00 GMT 2016


On 06/12/2016 14:41, Jon Turney wrote:
> On 31/08/2016 11:48, Jon Turney wrote:
>> On 08/06/2015 14:43, Corinna Vinschen wrote:
>>> On Jun  3 17:30, Jon TURNEY wrote:
>>>> Reminded by a recent request as to how to install
>>>> xorg-server-1.17.1-2, which
>>>> has disappeared beyond setup's ken (in order to determine if there
>>>> was a
>>>> regression in the curent version), this is a re-send of a patch I
>>>> originally
>>>> submitted back in 2011 [1], which received an ambiguous response then.
>>>>
>>>> [1] https://cygwin.com/ml/cygwin-apps/2011-04/msg00053.html
>>>>
>>>> This recognizes any "[foo]" line as introducing the information for
>>>> another
>>>> version, which doesn't have one of the trust levels [curr], [prev] or
>>>> [test],
>>>> and so isn't automatically selected when setup is told to install all
>>>> packages
>>>> at that trust level (by default, [curr]).
>>>>
>>>> Setup already does all the neccessary sorting in version order etc.
>>>> to use these
>>>> additional versions.
>>>>
[...]
>
> calm now handles package expiry as of [1], so, pinging this.

As requested, resending the patch.

-------------- next part --------------
From 35ecf968425762c72076059464dfb6c8b21a9331 Mon Sep 17 00:00:00 2001
From: Jon Turney <jon.turney@dronecode.org.uk>
Date: Wed, 31 Aug 2016 11:31:22 +0100
Subject: [PATCH setup] Allow setup to parse more than 3 versions from the
 setup.ini file

This recognizes any "[foo]" line as introducing the information for another
version, which doesn't have one of the trust levels [curr], [prev] or
[test], and so isn't automatically selected when setup is told to install
all packages at that trust level (by default, [curr]).

Setup already does all the necessary sorting in version order etc. to use
these additional versions.

The value of <foo> carries no meaning, but the setup.ini specification
mandates the use of "[ver<digits>]".

	* PackageTrust.h (trusts): Add TRUST_OTHER.
	* inilex.ll: tokenize any other [version] as the T_OTHER token.
	* iniparse.yy: Add T_OTHER token and set package trust
	to TRUST_OTHER when it is used.
---
 PackageTrust.h | 2 +-
 inilex.ll      | 1 +
 iniparse.yy    | 3 ++-
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/PackageTrust.h b/PackageTrust.h
index 3e6801d..4904705 100644
--- a/PackageTrust.h
+++ b/PackageTrust.h
@@ -20,10 +20,10 @@
 typedef enum
 {
   TRUST_UNKNOWN,
+  TRUST_OTHER,
   TRUST_PREV,
   TRUST_CURR,
   TRUST_TEST,
-  NTRUST
 }
 trusts;
 
diff --git a/inilex.ll b/inilex.ll
index 49bbfa6..7daca34 100644
--- a/inilex.ll
+++ b/inilex.ll
@@ -159,6 +159,7 @@ B64	[a-zA-Z0-9_-]
 "[test]"		return T_TEST;
 "[exp]"			return T_TEST;
 "[prev]"		return T_PREV;
+"["{STR}"]"		return T_OTHER;
 
 "("			return OPENBRACE;
 ")"			return CLOSEBRACE;
diff --git a/iniparse.yy b/iniparse.yy
index 7645171..8ae1e2d 100644
--- a/iniparse.yy
+++ b/iniparse.yy
@@ -41,7 +41,7 @@ void add_correct_version();
 %token SETUP_TIMESTAMP SETUP_VERSION PACKAGEVERSION INSTALL SOURCE SDESC LDESC
 %token CATEGORY DEPENDS REQUIRES
 %token APATH PPATH INCLUDE_SETUP EXCLUDE_PACKAGE DOWNLOAD_URL
-%token T_PREV T_CURR T_TEST
+%token T_PREV T_CURR T_TEST T_OTHER
 %token INSTALLEDSIZE MAINTAINER PRIORITY
 %token MD5 MD5LINE SHA512 SHA512LINE
 %token DESCTAG DESCRIPTION FILESIZE ARCHITECTURE SOURCEPACKAGE
@@ -99,6 +99,7 @@ singleitem /* non-empty */
  | T_PREV NL 			{ iniBuilder->buildPackageTrust (TRUST_PREV); }
  | T_CURR NL			{ iniBuilder->buildPackageTrust (TRUST_CURR); }
  | T_TEST NL			{ iniBuilder->buildPackageTrust (TRUST_TEST); }
+ | T_OTHER NL			{ iniBuilder->buildPackageTrust (TRUST_OTHER); }
  | PRIORITY STRING NL		{ iniBuilder->buildPriority ($2); }
  | INSTALLEDSIZE STRING NL	{ iniBuilder->buildInstalledSize ($2); }
  | MAINTAINER STRING NL		{ iniBuilder->buildMaintainer ($2); }
-- 
2.8.3



More information about the Cygwin-apps mailing list