This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


On 06/12/2016 18:43, Corinna Vinschen wrote:
On Dec  6 17:21, Jon Turney wrote:
 From 35ecf968425762c72076059464dfb6c8b21a9331 Mon Sep 17 00:00:00 2001
From: Jon Turney <jon.turney-GrJqePx9RPPAJUdA+FbntA@public.gmane.org>
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.

So, thinking about this change some more, I realize that there is a another way to do this, which doesn't break backwards compatibility with setup, by having multiple [prev] and [test] sections.

[1] doesn't say that these section names are unique, and setup doesn't require that, I'm going to claim that it's valid :)

Because of the way setup works, the last [test] section is the version which is selected when 'test' is selected, so a specific ordering of the sections would be required. The calm change to implement this is at [1].

So, for example we could have:

@foo
...
version: 250-0
...
[prev]
version: 241-0
...
[prev]
version: 243-0
...
[test]
version: 251-0
...
[test]
version: 252-0
...

250-0 would be current, 252-0 would be test, and the other versions would also be available to install.

[1] https://sourceware.org/cygwin-apps/setup.ini.html
[2] https://github.com/jon-turney/calm/commit/c21cfdc8f8c94f615ff97000428c6e542d335dca


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]