Anthony Towns <aj@azure.humbug.org.au> wrote: > Aha! More importantly, there's the non-essential, but required and depended > upon by perl (not perl-base) package libdb2, which doesn't Pre-Depend: on > libc6.
Correct. > I think what's happening is that: > /usr/bin/perl (provided by perl-base.deb) is essential and must > always work Actually, it's perl-5.005-base in potato. > when perl.deb is installed, /usr/bin/perl only works if libdb.so.3 > (provided by libdb2) works, which in turn only works with a new > libc6. perl depends on libdb2 (not pre-depends), libdb2 depends on > the new libc6 (not pre-depends). libdb.so.3 is in potato as well, in libc6. > Hrm. Further, libc6 Depends on libdb2, but doesn't Pre-Depend on it. > Not sure what the correct fix here is. > Perhaps: > libc6 Depends: libdb2 > libdb2 Pre-Depends: libc6 > perl Pre-Depends: libdb2 This still doesn't prevent the reverse of the observed problem from happening, i.e., the new libc6 gets unpacked first, and then some other package gets unpacked before libdb2 is, in which case perl will be broken for that duration since libc6 no longer provides libdb.so.3. > ? Are Depends/Pre-Depends loops allowed, or are they as bad as Pre-Depends > loops? I don't see why this won't work, as pre-dependencies are considered to be satisfied during unpacking if the package that is depended on has been unpacked and has been configured successfully before. However, a pre-depends loop will cause problems. <rant> Something that has been a pet peeve of mine for a long time: dpkg does not deconfigure a package when upgrading its dependencies. If we did that here, then this problem disappears. Since to unpack the new libdb2, you have to deconfigure perl, which is essential. So this forces you to configure libdb2 as soon as possible. The same thing applies when you unpack the new libc6. </rant> -- Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ ) Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt