public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Jon Turney <jon.turney@dronecode.org.uk>
To: cygwin-apps@cygwin.com
Subject: Re: [PATCH setup] Allow setup to parse more than 3 versions from the setup.ini file
Date: Mon, 09 Oct 2017 19:32:00 -0000	[thread overview]
Message-ID: <6faced4d-c577-3c0b-4b07-2672445a58d0@dronecode.org.uk> (raw)
In-Reply-To: <20161206184310.GE4078@calimero.vinschen.de>

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

  reply	other threads:[~2017-10-09 19:32 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-03 16:30 Jon TURNEY
2015-06-08 13:43 ` Corinna Vinschen
2015-06-08 19:24   ` Achim Gratz
2016-08-31 10:48     ` Jon Turney
2016-08-31 10:48   ` Jon Turney
2016-12-06 14:41     ` Jon Turney
2016-12-06 17:22       ` Jon Turney
2016-12-06 18:43         ` Corinna Vinschen
2017-10-09 19:32           ` Jon Turney [this message]
2017-11-03 13:38             ` Jon Turney
2017-11-03 20:20               ` Achim Gratz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6faced4d-c577-3c0b-4b07-2672445a58d0@dronecode.org.uk \
    --to=jon.turney@dronecode.org.uk \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).