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 Fri, Nov 19, 2010 at 06:11:57PM +0100, Corinna Vinschen wrote:
> On Nov 19 10:15, Christopher Faylor wrote:
> > On Fri, Nov 19, 2010 at 02:20:13PM +0000, Jon TURNEY wrote:
> > >On 19/11/2010 13:36, Corinna Vinschen wrote:
> > >> On Nov 19 13:23, Jon TURNEY wrote:
> > >>> On 19/11/2010 13:13, Corinna Vinschen wrote:
> > >>>> The code in question was supposed to make sure that the order is always
> > >>>> "base-cygwin base-passwd [...]" and that was the case so far.  Of
> > >>>> course, given the obvious mishandling of the casecompare return value
> > >>>> it's not clear why this ever worked.  Even more mysterious is the fact
> > >>>> that the bugfix *breaks* this order.  Well, time to debug...
> > >>>
> > >>> Well, the bugfix breaks the order because visit() on "base-cygwin" inserts it
> > >>> and all it's dependencies depth-first (ignoring loops).
> > >> 
> > >> 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 :-)
> > 
> > I believe that I actually added this so that we wouldn't need to special-case
> > packages in setup.
> 
> For some reason, even if I remove the cygwin dependency from base-cygwin
> in setup.ini, I still get the "base-passwd cygwin base-cygwin" dependency
> order.  Hmm.

EMBI, 
Is there a chance that this bug provides an opportunity to merge
base-files and base-passwd? I was told it was difficult (or at least
not recommended) because of a dependency chain issue.

Please excuse me if this is non-sense.

-- 
Huella de clave primaria: 0FDA C36F F110 54F4 D42B  D0EB 617D 396C 448B 31EB

Attachment: signature.asc
Description: Digital signature


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