[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