Package: dpkg
Version: 1.14.16.6
Severity: normal

I downgraded glade from sid -> etch to get code generation functionality
back, and then upgraded it from etch -> sid, which failed because dpkg
was doing rm on an empty directory instead of rmdir. Initially I thought
this was a bug in glade for not supporting upgrades from etch, but it
turns out to be due to a bug in dpkg where downgrading from glade
3.4.1-1 in sid to glade 2.12.1-7 in etch does not convert the glade doc
directory from a directory to a symlink as it should:

 Package: glade
 Version: 2.12.1-7
 Architecture: i386
...
lrwxrwxrwx root/root         0 2006-12-24 17:57 ./usr/share/doc/glade -> 
glade-common

 Package: glade
 Source: glade-3
 Version: 3.4.1-1
 Architecture: i386
...
drwxr-xr-x root/root         0 2007-12-31 02:30 ./usr/share/doc/
drwxr-xr-x root/root         0 2007-12-31 02:31 ./usr/share/doc/glade/
-rw-r--r-- root/root      8641 2007-12-31 02:23 
./usr/share/doc/glade/changelog.Debian.gz
-rw-r--r-- root/root      3019 2007-11-06 15:59 ./usr/share/doc/glade/README
-rw-r--r-- root/root      2539 2007-11-06 15:59 ./usr/share/doc/glade/TODO
-rw-r--r-- root/root      4333 2007-12-31 02:23 ./usr/share/doc/glade/copyright
-rw-r--r-- root/root       308 2007-11-06 15:59 ./usr/share/doc/glade/AUTHORS
-rw-r--r-- root/root      9353 2007-12-19 00:53 ./usr/share/doc/glade/NEWS.gz
-rw-r--r-- root/root     97775 2007-12-19 01:01 
./usr/share/doc/glade/changelog.gz
...

I tested this by downgrading sid -> etch, attempting to upgrade from
etch -> sid, purging etch, installing etch, upgrading etch -> sid: 

# ls -ld /usr/share/doc/glade
drwxr-xr-x 2 root root 248 Feb 27 11:45 /usr/share/doc/glade
# dpkg -s glade | grep Version
Version: 3.4.1-1
# dpkg -i glade_2.12.1-7_i386.deb
dpkg - warning: downgrading glade from 3.4.1-1 to 2.12.1-7.
(Reading database ... 329968 files and directories currently installed.)
Preparing to replace glade 3.4.1-1 (using glade_2.12.1-7_i386.deb) ...
Unpacking replacement glade ...
Setting up glade (2.12.1-7) ...
# ls -ld /usr/share/doc/glade
drwxr-xr-x 2 root root 48 Feb 27 11:46 /usr/share/doc/glade
# dpkg -s glade | grep Version
Version: 2.12.1-7
# dpkg -i glade_3.4.1-1_i386.deb
(Reading database ... 329963 files and directories currently installed.)
Preparing to replace glade 2.12.1-7 (using glade_3.4.1-1_i386.deb) ...
rm: cannot remove `/usr/share/doc/glade': Is a directory
dpkg: error processing glade_3.4.1-1_i386.deb (--install):
 subprocess pre-installation script returned error exit status 1
Errors were encountered while processing:
 glade_3.4.1-1_i386.deb
# ls -ld /usr/share/doc/glade
drwxr-xr-x 2 root root 48 Feb 27 11:47 /usr/share/doc/glade
# dpkg -s glade | grep Version
Version: 2.12.1-7
# dpkg -P glade
(Reading database ... 329961 files and directories currently installed.)
Removing glade ...
Purging configuration files for glade ...
# ls -ld /usr/share/doc/glade
ls: cannot access /usr/share/doc/glade: No such file or directory
# dpkg -s glade 
Package: glade
Status: purge ok not-installed
Priority: extra
Section: devel
# dpkg -i glade_2.12.1-7_i386.deb
Selecting previously deselected package glade.
(Reading database ... 329905 files and directories currently installed.)
Unpacking glade (from glade_2.12.1-7_i386.deb) ...
Setting up glade (2.12.1-7) ...
# ls -ld /usr/share/doc/glade
lrwxrwxrwx 1 root root 12 Feb 27 11:48 /usr/share/doc/glade -> glade-common
# dpkg -s glade | grep Version
Version: 2.12.1-7
# dpkg -i glade_3.4.1-1_i386.deb
(Reading database ... 329963 files and directories currently installed.)
Preparing to replace glade 2.12.1-7 (using glade_3.4.1-1_i386.deb) ...
Unpacking replacement glade ...
Setting up glade (3.4.1-1) ...
# ls -ld /usr/share/doc/glade
drwxr-xr-x 2 root root 248 Feb 27 11:50 /usr/share/doc/glade
# dpkg -s glade | grep Version
Version: 3.4.1-1

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.24-1-686 (SMP w/2 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dpkg depends on:
ii  coreutils                     6.10-3     The GNU core utilities
ii  libc6                         2.7-8      GNU C Library: Shared libraries

-- 
bye,
pabs

http://wiki.debian.org/PaulWise

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to