PDA

View Full Version : glibc rpm upgrade FUBAR



vherva
25th March 2004, 09:03 AM
This is a longish story, and I'm not sure where I should report this bug... Anyway,
I was upgrading my Fedora Core Development installation with yum command

yum --exclude=xorg\* --exclude=anaconda --exclude=gdm --exclude=kdebase --exclude=kde\* --exclude=chkfontpath --exclude=XFree86\* --exclude=epiphany --exclude=gkrellm --exclude=rpmdb-fedora update

in preparation to move from XFree86 to x-org. At the time, I only had Fedora Devel base path in my yum.conf. yum downloaded the rpms slowly, but hell broke loose when rpm begun installing the first packages. Basically, glibc-common and
glibc didn't install properly:

glibc-common 100 % done 4/208
error: unpacking of archive failed on file /usr/lib/locale/zh_CN/LC_PAPER: cpio link exists
warning: /etc/ld.so.conf created as /etc/ld.so.conf.rpmnew

glibc 100 % done 5/208
error: unpacking of archive failed on file /lib/ld-2.3.3.so: cpio: open

and after that, most of the rpm installs were fubar, because rpm could not execute
anything due to missing ls-linux.so.2:

pango 100 % done 7/208
error: %post(pango-1.4.0-1) scriptlet failed, exit status 255

I had left yum running by itself (as the upgrade took about 5 hours), so it
kept on going these fubared installs for about 100 rpm's before it mis-upgraded python
and sigbus'ed:

zsh: bus error yum --exclude=xorg\* --exclude=anaconda --exclude=gdm --excl

I found out that /lib/ld-linux.so.2, /lib/ld-2.2.3.so and /lib/tls/libc.so.6 were
missing. Through various LD_LIBRARY_PATH, LD_PRELOAD, "/backup/lib/ld-linux.so.2 /bin/cp ..." and ash.static hacks I was able to restore so much glibc libraries that I could try
to reinstall the rpm's.

I verified the glibc rpm signatures, and md5 sums were ok. Installing glibc-utils-2.3.3-18, glibc-headers-2.3.3-18, glibc-2.3.3-18, glibc-devel-2.3.3-18, glibc-common-2.3.3-18 didn't prove easy, though. I got the same errors and lost the libraries again. The same story when trying to the previous glibc-2.3.3-16.

This is using rpm-4.3-0.22 and rpm-4.3-0.20 (it was upgraded in the process.) I reinstalled
rpm-4.3-0.22 with rpm -Uvh --force before retrying.)

Basically it, appeared that rpm had become completely unable to handle cases where it should replace a file with a link, replace a running binary/library, or anything non-trivial. After I did rm -rf /usr/lib/locale and some other offending files, I was able to install
glibc*. However, the same problems continued when I reinstalled the misinstalled rpm's:

python 100 % done 18/208
error: unpacking of archive failed on file /usr/bin/python: cpio: link
gcc-c++ 100 % done 82/208
error: unpacking of archive failed on file /usr/bin/c++: cpio: link
e2fsprogs-devel 100 % done 69/208
error: unpacking of archive failed on file /usr/share/man/man3/uuid_generate.3.gz
emacs 100 % done 96/208
error: unpacking of archive failed on file /usr/bin/emacs: cpio: link

and reinstalling SysVinit complained that /sbin/init textfile was busy. Well, duh!

(Sorry for the possibly inexact error messages, the rxvt where I cut'n'pasted these from
was a bit garbled.)

So, all in all, I'm not sure if this is a bug in the rpm packages, rpm itself, yum, or perhaps in cpio. I would suspect rpm. But is quite serious.

ghenry
25th March 2004, 12:16 PM
Is this Test1 or rawhide? What repositories are you using?

vherva
25th March 2004, 01:13 PM
Rawhide (aka development).

I only had these development mirrors in yum.conf at the time:

[development]
name=Fedora Core $releasever - Development Tree
failovermethod=priority
baseurl=ftp://ftp.funet.fi/pub/mirrors/fedora.redhat.com/pub/fedora/linux/core/development/i386/
ftp://ftp.chl.chalmers.se/pub/fedora/linux/core/development/i386/
http://download.fedora.redhat.com/pub/fedora/linux/core/development/i386/

Occasionally, I've installed some Livna and Freshrpms stuff, but not this time. (I wanted to keep the upgrade clean as I was aiming for XFree86 -> x-org transition.)

ghenry
25th March 2004, 01:17 PM
Just a quick thought. Do you have plenty of space in /var/tmp and /tmp / etc.?

vherva
25th March 2004, 01:59 PM
About 2.2G free on rootfs (/var, /tmp, /lib, /usr all reside there).

ghenry
26th March 2004, 11:24 AM
I'm not sure then.

vherva
26th March 2004, 12:05 PM
Where should I report this?

I opened up a bugzilla entry for rpm
(http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=119122), but no-one seems interested. I'm not even sure if this was an rpm bug.

ghenry
26th March 2004, 12:41 PM
You've done the right thing. Just keep an eye on bugzilla.