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]

Reply via email to