Package: dpkg
Version: 1.13.25
Severity: grave

If the old version of the package contains symlink, and the new version
tries to save a directory into the same place, then an upgrade won't be 
correct.

example:

nb:[/root/temp]# ls

nb:[/root/temp]# export LANG=en_US.UTF-8

nb:[/root/temp]# mkdir 1 2 2/test-dir

nb:[/root/temp]# ln -s /bin 1/test-dir

nb:[/root/temp]# for i in 1 2; do cd $i && tar -czf ../packet-$i.tgz . && cd 
..; done

nb:[/root/temp]# alien -kd packet-1.tgz && alien -kd packet-2.tgz
packet_1-1_all.deb generated
packet_2-1_all.deb generated

nb:[/root/temp]# dpkg -c packet_1-1_all.deb 
drwxr-xr-x root/root         0 2007-06-12 13:19 ./
drwxr-xr-x root/root         0 2007-06-12 13:19 ./usr/
drwxr-xr-x root/root         0 2007-06-12 13:19 ./usr/share/
drwxr-xr-x root/root         0 2007-06-12 13:19 ./usr/share/doc/
drwxr-xr-x root/root         0 2007-06-12 13:19 ./usr/share/doc/packet/
-rw-r--r-- root/root       236 2007-06-12 13:19 ./usr/share/doc/packet/copyright
-rw-r--r-- root/root       175 2007-06-12 13:19 
./usr/share/doc/packet/changelog.Debian.gz
lrwxrwxrwx root/root         0 2007-06-12 13:19 ./test-dir -> /bin

nb:[/root/temp]# dpkg -c packet_2-1_all.deb 
drwxr-xr-x root/root         0 2007-06-12 13:19 ./
drwxr-xr-x root/root         0 2007-06-12 13:19 ./usr/
drwxr-xr-x root/root         0 2007-06-12 13:19 ./usr/share/
drwxr-xr-x root/root         0 2007-06-12 13:19 ./usr/share/doc/
drwxr-xr-x root/root         0 2007-06-12 13:19 ./usr/share/doc/packet/
-rw-r--r-- root/root       236 2007-06-12 13:19 ./usr/share/doc/packet/copyright
-rw-r--r-- root/root       175 2007-06-12 13:19 
./usr/share/doc/packet/changelog.Debian.gz
drwxrwx--- root/root         0 2007-06-12 13:18 ./test-dir/

nb:[/root/temp]# dpkg -i packet_1-1_all.deb 
Selecting previously deselected package packet.
(Reading database ... 128644 files and directories currently installed.)
Unpacking packet (from packet_1-1_all.deb) ...
Setting up packet (1-1) ...

nb:[/root/temp]# ls -l /|grep test-dir 
lrwxrwxrwx   1 root   root        4 2007-06-12 13:20 test-dir -> /bin

nb:[/root/temp]# dpkg -i packet_2-1_all.deb 
(Reading database ... 128648 files and directories currently installed.)
Preparing to replace packet 1-1 (using packet_2-1_all.deb) ...
Unpacking replacement packet ...
Setting up packet (2-1) ...

nb:[/root/temp]# ls -l /|grep test-dir     
lrwxrwxrwx   1 root   root        4 2007-06-12 13:20 test-dir -> /bin

nb:[/root/temp]# dpkg --remove packet             
(Reading database ... 128643 files and directories currently installed.)
Removing packet ...

nb:[/root/temp]# ls -l /|grep test-dir

nb:[/root/temp]# dpkg -i packet_2-1_all.deb
Selecting previously deselected package packet.
(Reading database ... 128644 files and directories currently installed.)
Unpacking packet (from packet_2-1_all.deb) ...
Setting up packet (2-1) ...

nb:[/root/temp]# ls -l /|grep test-dir     
drwxrwx---   2 root   root     4096 2007-06-12 13:18 test-dir

nb:[/root/temp]# dpkg -i packet_1-1_all.deb 
dpkg - warning: downgrading packet from 2-1 to 1-1.
(Reading database ... 128648 files and directories currently installed.)
Preparing to replace packet 2-1 (using packet_1-1_all.deb) ...
Unpacking replacement packet ...
Setting up packet (1-1) ...

nb:[/root/temp]# ls -l /|grep test-dir     
drwxrwx---   2 root   root     4096 2007-06-12 13:18 test-dir

nb:[/root/temp]# dpkg --remove packet      
(Reading database ... 128643 files and directories currently installed.)
Removing packet ...

nb:[/root/temp]# dpkg -i packet_1-1_all.deb
Selecting previously deselected package packet.
(Reading database ... 128644 files and directories currently installed.)
Unpacking packet (from packet_1-1_all.deb) ...
Setting up packet (1-1) ...

nb:[/root/temp]# ls -l /|grep test-dir     
lrwxrwxrwx   1 root   root        4 2007-06-12 13:25 test-dir -> /bin

nb:[/root/temp]# dpkg --remove packet      
(Reading database ... 128643 files and directories currently installed.)
Removing packet ...


-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.20.4dimka
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages dpkg depends on:
ii  coreutils                     5.97-5.3   The GNU core utilities
ii  libc6                         2.5-9+b1   GNU C Library: Shared libraries

dpkg recommends no packages.

-- debconf-show failed


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to