[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Getting rid of circular dependencies, stage 5

Steve Greenland <steveg@moregruel.net> writes:

> On 27-Jul-06, 06:13 (CDT), Goswin von Brederlow <brederlo@informatik.uni-tuebingen.de> wrote: 
>> No harder than all the other apt operations are already. install,
>> upgrade, dist-upgrade are all already NP-hard. And dpkg does handle
>> cycles correctly so why shouldn't apt be able to?  I don't buy that
>> argument.
> Dpkg doesn't handle them "correctly". It breaks the cycle arbitrarily,
> except it prefers packages without postinstall scripts. This may be
> adequate for most (mis-)uses of circular dependencies, but it's not
> "correct". Hmmm, "correct" is probably not the right word to use here,
> since there is no "correct" answer, per se. "Reproducibly" is what I
> mean.
> Steve

Dpkg does it the way policy says it should do it and even slightly
better since it checks for postinst files. There is no absoluetly
correct with circular dependencies, one of them has to be broken and
nothing says which one. Arbitrary is the best there is unless you
break at the alphanumericaly lowest package name or something else
arbitray but reproducible.

For a package to work with circular dependencies according to policy
it has to work with dpkg breaking the circle at an arbitrary
point. Imho that means the maintainer scripts can not rely on the
circular depends being installed, nothing from the other package(s)
can be used that needs configuring.


Reply to: