[Gllug] 2.4.15

David Damerell damerell at chiark.greenend.org.uk
Sat Nov 24 12:03:19 UTC 2001


On Friday, 23 Nov 2001, Paul Brazier wrote:
>>It's a great tool relative to what the RH boys have, but it's pretty
>>broken by Debian's standards; it was written with a fairly fundamental
>>misunderstanding of how dpkg works.
>What is the fundamental misunderstanding in a nutshell?

There is more than one - IWJ would be happy to rant at you about them
- but an example of it is that the package system has some information
about the desired state of a package as well as the actual
state. Normally this information is changed by the package selection
front-end (although it can be updated by the low-level tools - at the
most basic level, if you do 'dpkg --install foo.deb', it marks the
desired state of 'foo' as 'install' before doing anything else.) In
the original model, the package selection interface then leaves a lot
of the work of deciding how exactly to achieve the desired state (not
just what to install and remove, but what order to do it in) up to
dpkg.

However, apt does not typically update the desired state of packages,
and invokes dpkg telling it precisely what to do. This is awkward
because it effectively replicates all the code in dpkg which does
this, only less competently. Furthermore, because the desired state of
packages is not updated, dpkg cannot gracefully handle situations like
the one where package A replaces and conflicts with package B. Dpkg
will handle the installation of A nicely if it can see that B is
selected for removal; but apt doesn't give it this information.
Regrettably, the response of the apt programmers to this problem has
been to invoke dpkg (always) with some of the --force options on,
which of course can quite seriously fuck your system.

Apt's a good idea, but it needs looked at by someone who really
understands dpkg.

-- 
David Damerell <damerell at chiark.greenend.org.uk> flcl?

-- 
Gllug mailing list  -  Gllug at linux.co.uk
http://list.ftech.net/mailman/listinfo/gllug




More information about the GLLUG mailing list