Package: dpkg Version: 1.16.4.3 Severity: normal It appears that dpkg's logic to prevent installing different versions of a multi-arch:foreign package considers removed but-not-purged packages as still installed:
dpkg: error processing /var/cache/apt/archives/libwine_1.4.1-2_i386.deb (--unpack): libwine:i386 1.4.1-2 (Multi-Arch: foreign) is not co-installable with libwine which has multiple installed instances rc libwine:amd64 1.4.1-1.2 Windows API implementation - library ii libwine:i386 1.4.1-1.2 Windows API implementation - library This leads to the odd situation that migrating from one architecture to another in effect requires you to purge the package (and lose config, although I'm not sure m-a:foreign packages can even support config files). The full log of what I was trying to do (shortened for brevity though): # apt-get -t sid install libwine:i386 [..] [..] The following packages will be REMOVED: libwine [..] The following packages will be upgraded: libwine:i386 [..] [..] Removing libwine:amd64 ... [..] Preparing to replace libwine-bin:i386 1.4.1-1.2 (using .../libwine-bin_1.4.1-2_i386.deb) ... Unpacking replacement libwine-bin:i386 ... dpkg: error processing /var/cache/apt/archives/libwine_1.4.1-2_i386.deb (--unpack): libwine:i386 1.4.1-2 (Multi-Arch: foreign) is not co-installable with libwine which has multiple installed instances [..] # dpkg -la|grep libwine rc libwine:amd64 1.4.1-1.2 Windows API implementation - library ii libwine:i386 1.4.1-1.2 Windows API implementation - library [..] # dpkg -P libwine:amd64 (Reading database ... 125749 files and directories currently installed.) Removing libwine:amd64 ... Purging configuration files for libwine:amd64 ... # apt-get -t sid install -f [..] The following extra packages will be installed: libwine:i386 [..] The following packages will be upgraded: libwine:i386 [..] Unpacking replacement libwine ... [..] Setting up libwine (1.4.1-2) ... # dpkg -la|grep libwine ii libwine 1.4.1-2 Windows API implementation - library ii libwine-bin:i386 1.4.1-2 Windows API implementation - system services [..] I also notice that libwine no longer is listed as libwine:i386. Not sure where that comes from though. Maybe because there is a non-multiarch libwine in stable? Filing against dpkg because I think configuration-only packages should not prevent installation like this, but if this is expected behaviour then this bug might need to be reassigned to apt so that apt knows to purge packages in this situation. I also looked through the 1.16.8 changelog but saw no mention of something like this already being fixed, and I also don't know if 1.16.8 might or might not make it into wheezy. Regards, Arno -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (990, 'testing'), (900, 'stable'), (300, 'unstable'), (200, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.2.0-3-amd64 (SMP w/1 CPU core) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages dpkg depends on: ii libbz2-1.0 1.0.6-3 ii libc6 2.13-33 ii liblzma5 5.1.1alpha+20120614-1 ii libselinux1 2.1.9-5 ii tar 1.26-4 ii zlib1g 1:1.2.7.dfsg-13 dpkg recommends no packages. Versions of packages dpkg suggests: ii apt 0.9.7.1 -- no debconf information -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

