Re: apt-get /lib/ld-linux.so.3 deletion screwup disaster
+++ Phil Endecott [2013-05-10 13:17 +0000]:
> Wookey <wookey <at> wookware.org> writes:
> > that's a big pile of work
> > we decided wasn't worthwhile/necessary in this case.
>
> My concern is exactly that it is a "big pile of work"; I'm sure you're
> right, but I'm disappointed to discover that apt doesn't make this easy.
> Anyway, moving on...
>
> > Don't forget to re-install everything, not just stuff that has a new
> > verison number
>
> Are you suggesting that a package might have been recompiled to refer to the
> new dynamic linker, yet somehow have the same version number as the previous
> version? That sounds wrong.
That's exactly what I'm saying and it's not wrong. Rebuilding a
package with a toochain that uses the correct linker path is not a
change in the version of the code built. Which is part of why apt
doesn't deal with it by itself. We could upload every package in the
archive with a binnmu suffix to indicate that, but in this case that
was a cure much worse than the disease.
You still seem to be thinking about this in terms of a classic Debian
upgrade from one stable release to the next where this sort of problem
is automagically dealt with. But that's not the situation you have:
What you have installed is a 'proof of concept/pre-release/absoutely no
guarantees' repo. Ideally that really wouldn't have had any visible
consequences, and would have upgraded cleanly, but in this case
upstreaming resulted in a linker-path change, which means upgrades are
not smooth. (They are still possible).
So you need do:
dpkg --get-selections | awk '/\winstall$/ {print $1}' > packagelist
for package in `cat packagelist`; do apt-get --reinstall install $package; done
This ought to be available as a handy 'reinstall-all-packages' script
somewhere. Maybe it already is.
Wookey
--
Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/
Reply to: