This is an .spec or a document solution, as you cannot rpm -Uvh
kernel-headers from symlink style to the current way in .21.rpm.
The .21.rpm installs following the symlinks in /usr/include, and you get
the following output errors (as well as the error of the files all over the
cannot remove /usr/src/linux-2.4.0/include/linux - directory not empty
cannot remove /usr/src/linux-2.4.0/include/asm-i386 - directory not empty
cannot remove /usr/src/linux-2.4.0 - directory not empty
I used kernel-headers-2.4.0-0.16.i386.rpm ->
kernel-headers-2.4.0-0.21.i386.rpm to see this, but I'm sure it's valid in
other upgrade situations.
I don't how rpm upgrades operate, but shouldn't rpm's dirs that were
symlinks in older rpms, have in the pre-install:
[ -L /usr/include/asm ] && rm -f /usr/include/asm
[ -L /usr/include/linux ] && rm -f /usr/include/linux
Fixed in our current internal source tree, thanks!