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: Unbelievably obscure setup bug


On Sat, Nov 20, 2010 at 01:42:07PM +0000, Jon TURNEY wrote:
>On 19/11/2010 14:20, Jon TURNEY wrote:
>> On 19/11/2010 13:36, Corinna Vinschen wrote:
>>>
>>> In theory base-cygwin has no dependecies.  Here are the setup.hint
>>> snippets:
>>>
>>>   base-cygwin:
>>>
>>>     category: Base
>>>
>>>   base-passwd:
>>>
>>>     requires: base-cygwin
>>>     category: Base
>>>     noautodep: cygwin
>>>
>>>   cygwin:
>>>
>>>     requires: base-passwd base-cygwin
>>>     noautodep: _update-info-dir
>>>
>>> I think that explains it.  The problem in base-cygwin is that it depends
>>> on cygwin since the "noautodep: cygwin" is missing.  So there's a
>>> dependency chain which goes "base-cygwin -> cygwin -> base-passwd".
>>> That's how this order is generated.  If we add "noautodep: cygwin" to
>>> base-cygwin, it would really have no dependency and should always become
>>> the first package.
>> 
>> I wasn't aware of the existence of noautodep. Now it all makes sense :-)
>> 
>> If everything else depends on cygwin, I think that should give the correct
>> ordering without any special casing?
>
>I did some tests with these special cases in ConnectedLoopFinder::doIt()
>removed, which seemed to give the required postinstall scripts order
>('base-cygwin base-passwd cygwin'), except that libgcc can appear before that.
>
>In the current setup.ini, libgcc1 has no requires: line.  I don't understand
>why that is, it has a empty requires: in it's setup.hint and no noautodep, so
>it should automatically be given a dependency on cygwin?

It's probably an upset bug.  I'll bet the auto-cygwin stuff is triggered
on the existence of a requires: line.  I'll look into it.

>> If not, you perhaps might want to tweak the comment to indicate the order
>> which is required, and note that we rely base-cygwin and base-passwd having no
>> unvisited dependencies to get the required ordering.
>
>s/you perhaps might/I should/ :-)

I don't understand why we need to document this in setup sources.  If we can
get the right behavior with no special-case comments then why not just do that.
It was really a setup bug that we couldn't get the ordering we required.

cgf


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