Re: Getting rid of circular dependencies
Ola Lundqvist <firstname.lastname@example.org> writes:
> On Sun, Jul 03, 2005 at 04:39:04PM +0100, Colin Watson wrote:
>> On Sun, Jul 03, 2005 at 04:57:58PM +0200, Ola Lundqvist wrote:
>> > On Fri, Jun 24, 2005 at 05:21:51PM +0200, Bill Allombert wrote:
>> > > `Depends'
>> > > This declares an absolute dependency. A package will not be
>> > > configured unless all of the packages listed in its `Depends'
>> > > field have been correctly configured.
>> > This phrasing is obviously wrong as you can install packages with
>> > circular dependencies. This phrasing say exactly what Pre-Depends is.
>> > Depends should be described as follows:
>> > `Depends'
>> > This declares an absolute dependency. A package will not be
>> > configured unless all of the packages listed in its `Depends'
>> > field have been correctly unpacked.
>> This is incorrect. Depends is as described in policy, with the addition
>> that dpkg will arbitrarily break loops.
>> For the meaning of Pre-Depends, see policy.
> I stand corrected.
> Interesting. Maybe the arbitrary loop thing can be documented too in
> the policy, or otherwise it should be not allowed. Interesting that
> I have missed this delicate problem.
> Actually I think that it should be two types of dependencies. One
> for normal dependencies, that is just need the other software unpacked
> to work, and one for must not be configured until other ones is
> configured. This can probably help a lot.
> // Ola
More usefull is probably a new type 'needs <foo> to run but can be
configured without'. The effect would be just like Depends except that
cycles can be safely broken at that point.