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

glibc2.1 upgrade braindamage (bash broken, failing postinsts)


The upgrade of libc from 2.0 to 2.1 caused some notable problems, some
minor, some major.  The cause of the problems appears to be described in
Bug#35049 ( <http://www.debian.org/Bugs/db/35/35049.html> .)

The problems started after doing a complete upgrade from stable slink to
unstable potato.  The upgrade seemingly went well for me, I did not follow
the entire process with fullest scrutiny, but when it had finished,
everything seemed fine. 

However, after I while, I found that "date" gave weird output: instead of
printing the timezone, it printed "/etc/localtime".  This is obviously not
correct and unfortunately I could not find a manpage about the file, so I 
knew neither where things had broken, nor where to fix them.

Silly timezone information in date being a minor problem (I don't know the
scope of damage caused by an incorrect timezone setting in general
though,) the effects on certain scripts were more annoying.  For instance,
dwww's daily cronjob began printing errors, because "/etc/localtime" made
a sed expression crash in dwww-build.

More worse, a colleague found his bash completely broken after the
upgrade.  The consequence was, that dpkg in effect broke also, as any
installation script using bash or sh would crash.  

To his luck, he still had a root shell open and we were able to unpack the
bash deb from potato manually and copy the bash executable to /bin, which
fixed bash.  After that, we could install the bash deb regularly.

When I read about Bug#35049, I figured where the cause of my timezone
problems might be.  I guess that libc6.postinst crashed, causing the
proper symlinks not to have been made.  Manually rerunning
"/var/lib/dpkg/info/libc6.postinst configure" cured the timezone problem.

I now wonder how many more installation scripts were not run due to bash
being broken at a certain stage in the upgrade.  Maybe I should run 
"find /var/lib/dpkg/info -name \*.postinst -exec {} configure" just to be
sure everything is configured okay.

There's a good chance that people will experience bugs because of the
abovementioned problems, please check if the breakage is not due to a
(couple of) installation scripts not having run correctly before filing
bugs to the package that doesn't behave.  

Anyway, apart from these "glitches", I'm quite content about my system 
running potato - thanks to everyone's fine efforts making this possible.



Reply to: