setup -g ???

Ken Brown kbrown@cornell.edu
Mon Jun 25 15:17:00 GMT 2018


On 4/23/2018 4:45 PM, Ken Brown wrote:
> On 4/2/2018 1:03 PM, Ken Brown wrote:
>> [Redirected to cygwin-apps from 
>> https://cygwin.com/ml/cygwin/2018-03/msg00365.html.]
>>
>> On 3/22/2018 6:46 PM, Jon Turney wrote:
>>> On 14/03/2018 15:26, David Allsopp wrote:
>>>> [reformatted for top-posting]
>>>>
>>>> Lee wrote:
>>>>>> ---------- Forwarded message ----------
>>>>>> From: Jon Turney
>>>>>> Date: Fri, 3 Nov 2017 15:26:27 +0000
>>>>>> Subject: Re: Problem running the latest python2-2.7.14-1 under 
>>>>>> AppVeyor
>>>>>> To: The Cygwin Mailing List <cygwin@cygwin.com>
>>>>>>
>>>>>> On 03/11/2017 14:45, Vadim Zeitlin wrote:
>>>>>>> Our build has started on AppVeyor, a continuous integration 
>>>>>>> provider,
>>>>>>> started failing since a couple of days as a makefile command 
>>>>>>> running a
>>>>>>> Python script started failing with exit code 127 without any more
>>>>>>> information. This is a strange situation as I can't reproduce the
>>>>>>> problem locally, but something definitely seems to be wrong with 
>>>>>>> this
>>>>>>> package on the AppVeyor machine as Python just doesn't seem to be
>>>>>>> executable, e.g. the output of these commands in our batch file
>>>>>> driving the build:
>>>>>>
>>>>>> Perhaps you need to provide the -g (--upgrade-also) flag to cygwin's
>>>>>> setup.
>>>>>>
>>>>>> Due to setup terribleness, without this flag, it will install the
>>>>>> requested packages, and any missing dependencies of them, but not
>>>>>> upgrade any of the dependencies which are already installed to the
>>>>>> current (and perhaps needed) version...
>>>>>>
>>>>>> See also [1].
>>>>>>
>>>>>> [1] https://sourceware.org/ml/cygwin/2017-03/msg00365.html
>>>>>
>>>>> Should we still be using the -g (--upgrade-also) flag on setup?
>>>>
>>>> I believe so (or at least hope so). I think it's the case that setup 
>>>> should now know to upgrade a dependency if you install a new package 
>>>> which requires a newer version of it, but I hope that's not become 
>>>> the same as setup effectively acting with --upgrade-also every time 
>>>> you run it (that would be a real nuisance, unless the entire Cygwin 
>>>> package universe is going to be recompiled on every new Cygwin 
>>>> release).
>>>
>>> This is basically correct.
>>>
>>> setup is now capable of being told about dependencies where upgrading 
>>> an already installed package is required, but this information isn't 
>>> currently collected
>>>
>>> (For example, some packages now exist (e.g. vim [1]), which were 
>>> built with gcc 6.4.0-5 and cygport 0.31.0-1.  These packages almost 
>>> certainly use ssp/fortify functions in the cygwin DLL, and so require 
>>> a cygwin package >=2.10.0-1 (technically, the requirement is cygwin 
>>> API >=0.320), but the dependency recorded is only on the cygwin 
>>> package at any version)
>>>
>>> That's something someone could usefully work on, if they were so 
>>> inclined.
>>
>> The attached cygport patch attempts to address this by requiring, for 
>> each dependency of a package, a version >= the version installed at 
>> the time the package was built.  It treats only dependencies found by 
>> cygport, not those added via REQUIRES in the cygport file.  My 
>> thinking is that the cygport user should be in control of added 
>> dependencies; s/he can add version numbers if desired.
>>
>> mksetupini would need to be updated to parse versioned dependencies. 
>> (Or maybe it's expecting a different syntax; I didn't check.)
> 
> I finally got around to checking this, and it seems that mksetupini 
> already recognizes dependencies with version relations, provided that 
> the hint file uses "depends:" instead of "requires:".

I've just sent a patch series that does this, among other things.

Ken



More information about the Cygwin-apps mailing list