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

Bug#592477: squeeze directory overwrites symlink causing upgrade failure



Package: live-build
Version: 2.0~a22-1
Severity: grave

A package upgrade from 2.0~a21-1 to 2.0~a22-1 fails with:

Preparing to replace live-build 2.0~a21-1 (using .../live-build_2.0~a22-1_all.deb) ...
Unpacking replacement live-build ...
dpkg: error processing /var/cache/apt/archives/live-build_2.0~a22-1_all.deb (--unpack):
 unable to install new version of `/usr/share/live-helper/data/debian-cd/squeeze/mipsel_netinst_udeb_include': No such file or directory

The reason for the failure is apparently the 'squeeze' symlink in ~a21 is
replaced with a directory in ~a22, which policy prohibits in 6.6.4:

http://www.debian.org/doc/debian-policy/ch-maintainerscripts.html#s-unpackphase

    A directory will never be replaced by a symbolic link to a directory or
    vice versa; instead, the existing state (symlink or not) will be left alone
    and dpkg will follow the symlink if there is one.

As a workaround, remove the old package and install the new.

We should check in preinst if the symlink exists and points where it is supposed
to, then remove it before unpacking.  Also, preinst should handle putting the
symlink back if called with abort-install.

Ben

-- Package-specific info:

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (900, 'testing'), (800, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages live-build depends on:
ii  cdebootstrap                  0.5.5      Bootstrap a Debian system
ii  debootstrap                   1.0.23     Bootstrap a basic Debian system

Versions of packages live-build recommends:
ii  cpio                          2.11-4     GNU cpio -- a program to manage ar
ii  gettext-base                  0.18.1.1-1 GNU Internationalization utilities
ii  gnu-fdisk                     1.2.4-3    Linux fdisk replacement based on l

Versions of packages live-build suggests:
ii  dosfstools                 3.0.9-1       utilities for making and checking 
ii  fakeroot                   1.14.4-1      Gives a fake root environment
ii  genisoimage                9:1.1.10-1    Creates ISO-9660 CD-ROM filesystem
pn  memtest86+ | memtest86     <none>        (no description available)
ii  mtools                     4.0.12-1      Tools for manipulating MSDOS files
ii  parted                     2.3-1         The GNU Parted disk partition resi
pn  squashfs-tools | genext2fs <none>        (no description available)
ii  sudo                       1.7.2p7-1     Provide limited super user privile
ii  syslinux                   2:4.02+dfsg-1 collection of boot loaders
ii  uuid-runtime               2.17.2-3.1    runtime components for the Univers
pn  win32-loader               <none>        (no description available)

-- no debconf information



Reply to: