Bug#442922: live-helper: d-l overwrites its own files due to symlinks
- Subject: Bug#442922: live-helper: d-l overwrites its own files due to symlinks
- From: jpryzby+d at quoininc.com (Justin Pryzby)
- Date: Mon, 17 Sep 2007 17:25:59 -0400
- Message-id: <[🔎] 20070917212559.GA26766@quoininc.com>
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: