Let's say I have a debian package A-1.0.0.deb
(which contains a library), and another package B-1.0.0.deb
(which contains a service) which depends on the A
library. Now let's say I want to upgrade to A-1.0.1.deb
.
According to this document, dpkg
goes through a pretty involved algorithm to figure which package maintainer scripts are called for each package as part of the upgrade process. If some of these steps fail, then A
can be left in some sort of limbo state (for example, "Half-installed").
However, when you break A
, then B
is broken too since it depends on A
. So my question is does dpkg
have any built-in way to deal with this situation? Does B
's install status change depending on A
's status? Ideally dpkg
would have some built-in functionality to move B
from the installed state to another state (so that the B
service can be stopped & restarted when A
is healthy), but I can't find anything in the dpkg
documentation that suggests this is done.
If dpkg
doesn't handle this situation intelligently, does apt
?