Bug#379630: circular dependencies, improved guarantees
Ian Jackson <ian@davenant.greenend.org.uk> writes:
> Package: debian-policy
>
> ,----[ § 7.2 ]
> | In case of circular dependencies, since installation or removal order
> | honoring the dependency order can't be established, dependency loops
> | are broken at some random point, and some packages may not be able to
> | rely on their dependencies being present when being installed or
> | removed, depending on which side of the break of the circular dependcy
> | loop they happen to be on.
> `----
>
> In fact, dpkg will try to break the cycle at a package without a
> postinst script. And the word `random' is wrong; `arbitrary' is more
> accurate. I suggest this wording instead:
>
> In case of circular dependencies, since installation or removal
> order honoring the dependency order can't be established,
> dependency loops are broken at some arbitrary point, and some
> packages may not be able to rely on their dependencies being
> present when being installed or removed, depending on which side
> of the break of the circular dependcy loop they happen to be on.
> If one of the packages in the loop has no postinst script, then
> the cycle will be broken at that package, so as to ensure that
> all postinst scripts run with the dependencies properly
> configured if this is possible.
>
> Ian.
The text should not say it is arbitrary only to revert that in the
next sentence. How about this:
In case of circular dependencies, since installation or removal
order honoring the dependency order can't be established,
dependency loops are broken acording to the rule below, and some
packages may not be able to rely on their dependencies being
present when being installed or removed, depending on which side
of the break of the circular dependcy loop they happen to be on.
If one of the packages in the loop has no postinst script, then
the cycle will be broken at that package, so as to ensure that
all postinst scripts run with the dependencies properly
configured if this is possible. Otherwise the brekaing point is
arbitrary.
MfG
Goswin
Reply to: