On Thu, Jan 12, 2006 at 09:01:58AM +0100, Tollef Fog Heen wrote:
> | >These are all necessary, and debconf is an essential package which is
> | >not subject to the circular dependency postinst ordering problems afaik.
> |
> | Well, I'm not sure if that is an excuse for violating policy.
>
> Essential: yes packages must work while unconfigured, so they won't be
> bitten by the bug in question here.
They could be bitten by this bug. Or speaking more accurately: they can make
apt be bitten by this bug. The problem is not that they are not working; the
problem is that apt breaks lists of to-be-configured packages at arbitrary
points, which depend only on the list length; while dpkg can only handle
circular dependencies if all elements of the circular dependency are passed
to it at the same time.
To illustrate the scenario:
- Package A depends on package B, which in turn depends on A
0) User calls 'apt-get install <long-list-of-packages1> A B
<long-list-of-packages2>':
1) apt splits the whole list into smaller parts after sorting by dependency
where, in case this bug occurs:
<part1>="<long-list-of-packages3> A"
<part2>="B <long-list-of-packages4>"
2) apt calls 'dpkg --unpack' for each element of <part1> and <part2>
== so far no problem ==
3) apt calls 'dpkg --configure <part1>' and 'dpkg --configure <part2>'
where the first step already fails, because B is not in
<part1>, but A depends on B
== complete failure, user has to recover manually:
a) dpkg --configure -a
b) goto 0
--
c u
henning
Attachment:
signature.asc
Description: Digital signature