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

Bug#442922: live-helper: d-l overwrites its own files due to symlinks

Package: live-helper
Version: 1.0~a27-1
File: /usr/share/live-helper/data/debian-cd/

On an amd64 machine which had the following upgrade path:
.../dpkg.log.1:2007-08-31 install live-helper <none> 1.0~a24-1
.../dpkg.log:2007-09-04 upgrade live-helper 1.0~a24-1 1.0~a25-1
.../dpkg.log:2007-09-06 upgrade live-helper 1.0~a25-1 1.0~a26-1
.../dpkg.log:2007-09-10 upgrade live-helper 1.0~a26-1 1.0~a27-1

debsums gives the following:
/usr/share/live-helper/data/debian-cd/etch/i386_udeb_include              FAILED
/usr/share/live-helper/data/debian-cd/etch/exclude-udebs                  FAILED
/usr/share/live-helper/data/debian-cd/etch/i386_netinst_udeb_include      FAILED
/usr/share/live-helper/data/debian-cd/etch/i386_businesscard_udeb_include FAILED
/usr/share/live-helper/data/debian-cd/etch/powerpc_udeb_include           FAILED

Likely due to the following wrongness:
drwxr-xr-x 2 root root 4096 2007-09-10 05:07 etch
lrwxrwxrwx 1 root root    4 2007-09-04 10:28 lenny -> etch
lrwxrwxrwx 1 root root    5 2007-09-10 05:07 sid -> lenny

I think the rule is: dpkg will not replace a directory with a symlink
or a symlink with a directory.  So it's necessary when converting a
pathname between the two types to rm it in preinst, probably
conditionally on its existence, the version, and its target (and
perhaps the existence thereof).  Ideal is inverse support in postrm
abort-upgrade to undo that change.

Reply to: