Package: dpkg
Version: 1.18.9
Severity: wishlist

Hi,

dpkg currently supports crossgrades if a package is installed in one
instance via simply unpacking the package (of the other arch) just like
a regular upgrade.

What currently doesn't work is if the package is installed in multiple
instances (aka: a Multi-Arch: same package) and a (non-M-A-same) new
version of said package is unpacked, even if the instances are selected
for deinstallation.

A constructed example follows, but in the real world that would e.g. be
a package which has architecture-dependent contents in v1 and is hence
arch:any and M-A:same, but gets architecture-independent in v2 and
becomes arch:all (and probably M-A:foreign) as a result.

Package: crosser
Architecture: any
Version: 1
Multi-Arch: same

Package: crosser
Architecture: all
Version: 2

If I install just crosser:amd64=1 and upgrade to crosser:all=2
the 'crossgrade' works as expected.

But if I install crosser:amd64=1 and crosser:i386=1:

$ dpkg -i incoming/crosser_1_*.deb
$ echo 'crosser:i386 deinstall
crosser:amd64 deinstall' | dpkg --set-selections
$ dpkg -B -i incoming/crosser_2_all.deb
dpkg: error processing archive incoming/crosser_2_all.deb (--install):
 crosser:all 2 (Multi-Arch: no) is not co-installable with crosser which has 
multiple installed instances
Errors were encountered while processing:
 incoming/crosser_2_all.deb

I would have expected dpkg to figure out on its own that it should
remove instances until just one remains and crossgrade that one.
Or did I miss something?


Not sure about severity as I predict this to be a relatively esoteric
thing; the error message is pretty clear & a workaround by hand is easy
enough and with apt/current you can't hit it (and for apt/future I have
a simple enough detection to not worry for the moment), so I aim low and
treat it as a feature request rather than a bug. Not sure how
non-apt-based frontends like dselect behave through, so for them that
might be one…


Best regards

David Kalnischkies

Attachment: signature.asc
Description: PGP signature

Reply via email to