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

Bug#323702: symlink arch from previous version not removed



The problem is, there is still a symlink from a previous version there if 
you upgrade.

Suppose we start from a system without any linux-headers-2.6.12-1* package.
Then we install the -2 version (which used to be in unstable) of 
linux-headers-2.6.12-1 and the -686 one:
# dpkg -i linux-headers-2.6.12-1_2.6.12-2_i386.deb 
linux-headers-2.6.12-1-686_2.6.12-2_i386.deb

If we now look at the arch directory, we'll see it's a symlink:
# ls -ld /usr/src/linux-headers-2.6.12-1-686/arch
lrwxrwxrwx  1 root root 30 2005-08-18 
12:31 /usr/src/linux-headers-2.6.12-1-686/arch 
-> ../linux-headers-2.6.12-1/arch

Then we upgrade to the -5 versions:
# dpkg -i linux-headers-2.6.12-1_2.6.12-5_i386.deb 
linux-headers-2.6.12-1-686_2.6.12-5_i386.deb

Then the symlink is still there:
# ls -ld /usr/src/linux-headers-2.6.12-1-686/arch
lrwxrwxrwx  1 root root 30 2005-08-18 
12:31 /usr/src/linux-headers-2.6.12-1-686/arch 
-> ../linux-headers-2.6.12-1/arch

Because the linux-headers-2.6.12-1-686 package should have replaced that 
arch symlink with a real dir, but instead, it wrote within the dir the 
symlink points to.
linux-headers-2.6.12-1-686's files overwrite the files from  
linux-headers-2.6.12-1 in /usr/src/linux-headers-2.6.12-1/arch/i386/

And that's what causes the Makefile to point to itself.

If we remove them, and reinstall them, this time just the -5 version, all is 
fine:
# dpkg -r linux-headers-2.6.12-1 linux-headers-2.6.12-1-686
# dpkg -i linux-headers-2.6.12-1_2.6.12-5_i386.deb 
linux-headers-2.6.12-1-686_2.6.12-5_i386.deb
# ls -ld /usr/src/linux-headers-2.6.12-1-686/arch
drwxr-xr-x  3 root root 4096 2005-08-18 
12:33 /usr/src/linux-headers-2.6.12-1-686/arch

Wouter.

Attachment: pgpAFet6vcKZn.pgp
Description: PGP signature


Reply to: