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. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat
