[Pkg-ia32-libs-maintainers] Bug#602810: ia32-libs fails in postinst due to wrong version conditioning prior to dpkg-divert
Daniel Reichelt
debian at nachtgeist.net
Mon Nov 8 12:16:08 UTC 2010
Package: ia32-libs
Version: 20090808
Severity: serious
Tags: patch
Justification: Appendix G
Hi,
on my system I have installed a 3rd party package which adds a diversion like
this:
$ dpkg-divert --list /usr/bin/ldd
diversion of /usr/bin/ldd to /usr/bin/ldd.real by myutils-lddwrapper
When installing ia32-libs it fails like this:
===============================
The following NEW packages will be installed:
ia32-libs
0 packages upgraded, 1 newly installed, 0 to remove and 22 not upgraded.
Need to get 0 B/29.1 MB of archives. After unpacking 74.6 MB will be used.
Selecting previously deselected package ia32-libs.
(Reading database ... 132112 files and directories currently installed.)
Unpacking ia32-libs (from .../ia32-libs_20090808_amd64.deb) ...
Setting up ia32-libs (20090808) ...
dpkg-divert: mismatch on divert-to
when removing `diversion of /usr/bin/ldd to /usr/bin/ldd.ia32-libs by ia32-libs'
found `diversion of /usr/bin/ldd to /usr/bin/ldd.real by myutils-lddwrapper'
dpkg: error processing ia32-libs (--configure):
subprocess installed post-installation script returned error exit status 2
configured to not write apport reports
Errors were encountered while processing:
ia32-libs
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install. Trying to recover:
Setting up ia32-libs (20090808) ...
dpkg-divert: mismatch on divert-to
when removing `diversion of /usr/bin/ldd to /usr/bin/ldd.ia32-libs by ia32-libs'
found `diversion of /usr/bin/ldd to /usr/bin/ldd.real by myutils-lddwrapper'
dpkg: error processing ia32-libs (--configure):
subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
ia32-libs
===============================
I tracked down the problem to postinst:26. The operator '<<' treats the in my case
empty argument $2 as earlier than 1.5.2, hence the "cleanup code" gets executed by
mistake. I suggest the said operator to be changed to 'lt-nl' which in turn treats
the empty $2 as "later than 1.5.2" and everything's fine.
HTH, cheers,
Daniel
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.35.7-1-amd64-dhr (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 ia32-libs depends on:
ii dpkg 1.15.8.5 Debian package management system
ii lib32asound2 1.0.23-2.1 shared library for ALSA applicatio
ii lib32gcc1 1:4.4.5-4 GCC support library (32 bit Versio
ii lib32ncurses5 5.7+20100313-4 shared libraries for terminal hand
ii lib32stdc++6 4.4.5-4 The GNU Standard C++ Library v3 (3
ii lib32z1 1:1.2.3.4.dfsg-3 compression library - 32 bit runti
ii libc6-i386 2.11.2-6+squeeze1 Embedded GNU C Library: 32-bit sha
ii lsb-release 3.2-23.1 Linux Standard Base version report
ia32-libs recommends no packages.
Versions of packages ia32-libs suggests:
pn ia32-libs-gtk <none> (no description available)
-- no debconf information
More information about the Pkg-ia32-libs-maintainers
mailing list