| One example I vividly remember was Lenny → Squeeze. • Apache was installed, but stopped for the upgrade (resource-constrained device, I figured I'd better free up the memory up front). • Apache's preinstall script tried to stop it anyway • The old init script returned exit code 1 when trying to stop an already stopped service (PID not found, well duh) • …and the preinstall script used set -e • …and was called in the middle of a full dist-upgrade, that among other things installed binary-incompatible library upgrades, so after apt bailed out, it wouldn't start any more. In the end I just wiped the machine. Haven't seen it happening since, but apt/dpkg is way, way more anal than pacman when it detects problems, which usually gets in the way of fixing them (ex.: package didn't list a dependency it needs in its pre-/post-install-script → dpkg gets in an endless loop where it tries to re-execute said script and dies before it gets to installing the dependency). |