[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#36016: I tried a partial upgrade and hosed my system



reassign 36016 libreadlineg2
retitle 36016 libreadlineg2 should use Pre-Dependencies on shared libraries
thanks

Hi.

Before the upgrade, you had:

hamm's bash, which Pre-Depends on
hamm's libreadlineg2, which in turn Depends on
hamm's ncurses3.4

Then you tried to install a new libc6 and a new libreadlineg2
(libncurses4 was not installed because you didn't have it selected).

Unpacking libreadlineg2 is exactly what messed up bash, because
slink's libreadlineg2 is based on libncurses4, not on ncurses3.4,
and you didn't have libncurses4 installed.

Pre-Dependencies were created to avoid this, and so far we were using the
following "rule of thumb":

"Essential packages should have pre-dependencies on shared libraries".

However, unless you want to consider this a dpkg bug (in which case
I encourage you to do the reassign yourself :-), this example shows
that this rule is not enough.

I would strongly suggest to use also this rule:

"Whenever an essential package depends on a library, and that library
depends on yet another library. the first library should use a Pre-Depends
on the second library".

In this case, a way to avoid the problem would be to have libreadlineg2
a Pre-Depends field on libncurses4 (not the simple Depends it had),
because then libncurses4 would be unpacked and configured before
unpacking the libreadlineg2 on which bash depends.


Guy, if you agree with this analisys, could you please turn
the Depends field in libreadlineg2 into a Pre-Depends field?

[ Also, for smooth upgrades from Debian 1.3.1, the same should be
done for the libc5-based libreadline2, on which the bash in bo depends ].

Thanks.

-- 
 "3530d626918d97c34b703343d7f8ef73" (a truly random sig)


Reply to: