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: Wed, 31 Aug 2016 10:48:00 -0000	[thread overview]
Message-ID: <05b7266e-6a83-b860-9079-f8fd8c310175@dronecode.org.uk> (raw)
In-Reply-To: <20150608134318.GO3416@calimero.vinschen.de>

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.
>>
>> Since the value of <foo> carries no meaning, it might make sense to update the
>> setup.ini specification to mandate the use of specific strings like "[also]" or
>> "[other]", or perhaps "[prev-1]", "[prev-2]", etc.
>>
>> I have written a corresponding patch to genini.
>>
>> I'm not sure what expiry policy is currently used by upset for old packages, but
>> presumably that would need to be made more sophisticated, along with the changes
>> needed to generate setup.ini entries for other versions.
>
> Upset does not handle expiry of packages at all.  Versions are mentioned
> in setup.hint as test, curr, prev, or exp (yes, really) and those are
> handled, everything else throws an error message.  Package versions not
> mentioned in setup.hint are simply ignored.

Yes, upset doesn't (didn't) explicitly handle expiry, but the fact that 
a package version is not mentioned in setup.ini causes it to be removed 
by stalepkgs, when that is next run.

After the corresponding change to setup.ini generation, it will list all 
versions, so none would ever be eligible for expiry under that policy.

Anyhow, improving that is close to the top of my hit-list for calm.

> I'm not against adding some functionality along these lines (provided
> you also fix upset), but I'm not so sure about the broad definition of
> the version state pattern.  It feels as generating problems down the
> road.  Think setup.hint.  Your patch would requite to recognize more or
> less any string as version state:
>
>   category: [...]
>   requires: [...]
>   sdesc: [...]
>   ldesc: [...]
>   prev: 1.2.3-1
>   curr: 1.2.4-1
>   test: 1.2.5-1
>   blub: 1.2.6-1
>   fwexf3efx24x: 1.2.7-1

I wasn't envisioning these labels appearing in setup.hint at all, since 
that only gives the information 'this version exists', which is already 
apparent from the existence of the package file.

(In fact, even 'prev' has no real meaning any more since the removal of 
the 'prev' stability selector in setup [1], apart from 'don't expire me')

Nevertheless, you are correct, so (by specification) let's restrict the 
label to 'ver<digits>'.

I should also have mentioned that existing versions of setup cannot 
parse setup.ini with these extra labels (reporting an error and asking 
'do you have the latest setup?'), so it would be nice to get this into 
setup sooner rather than later, if possible.

[1] 
https://sourceware.org/git/?p=cygwin-setup.git;a=commit;h=ec9c1d708418e05c4ba02b58a9869f1e232ad381

  parent reply	other threads:[~2016-08-31 10:48 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 [this message]
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
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=05b7266e-6a83-b860-9079-f8fd8c310175@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).