[PATCH setup] Add setup-minimum-version: to setup.ini

cyg Simple cygsimple@gmail.com
Tue Feb 27 14:32:00 GMT 2018

On 2/26/2018 12:45 PM, Jon Turney wrote:
> On 26/02/2018 17:10, cyg Simple wrote:
>> On 2/26/2018 9:02 AM, Jon Turney wrote:
>>> This allows setup.ini to require a certain setup version, rather than
>>> advise
>>> a newer version when one is available.
>>> Unfortunately, versions of setup prior to this one don't implement
>>> this, but
>>> at least we have this going forward.
>>> When we want to start using this, we can break backwards
>>> compatibility with
>>> even older setup in a less clean way, simply by using setup.ini
>>> grammar that
>>> they can't parse.
>> While you're breaking backward compatibility may I be so bold as to
> Um, what?  This doesn't do anything of the sort.
>> suggest a change in the name of setup EXE to include the version of
>> setup?  And then with that change a query to the user to download and
>> use the newest version of setup?
> This will break more than backwards compatibility with old versions of
> setup, but also any scripts that do 'wget -N
> https://cygwin.com/setup-x86_64.exe', or equivalent.

Easily remedied by a symlink to the current version.  Many packages have
such a link as an aid to such scripts.

> It also invalidates a lot of written references to this executable, so
> we should probably only make this change with good reason.

Versioning the executable to the version setup.ini expects can add
visual documentation for problems that someone might have based on a
private setup.ini file.  If someone downloads a current version of the
setup executable and points it to his older private setup.ini then
things break.

Versioning the executable also prevents the user from having to guess
which version of setup-x86[_64].exe is sitting in his downloads folder
when he has more than one.  Windows adds its own versioning indicators
which is simply nothing more than trying to avoid file name collision
which makes it difficult to determine which version of the file it
actually is.

Versioning the executable is more in line with other open source
projects that version the files it delivers to the version being
released.  I am aware that this anomaly with the setup executable has
been in play for many years but that doesn't mean that it is correct to
continue it.

>> The change stems from a long standing desire to do just what I've
>> described.  Since setup knows that it is out of date why force the user
>> to exit it, go to cygwin.com to download the current version and then
>> restart that version of setup?  The name change would allow for an easy
>> method to apply a change to do the download of the newer version from
>> the older version as it removes the name conflict.
> You might find the code in [1] a good starting point for an alternate
> implementation, which doesn't require renaming the executable.
> [1] https://cygwin.com/ml/cygwin-apps/2011-04/msg00054.html

I'll take a look at your reference and provide comment under a different
response.  However, not versioning the file isn't something I am
promoting as I am of the belief that the delivered executable should
have a version attached to its name.

cyg Simple

More information about the Cygwin-apps mailing list