Hi list of dpkg-glory, Sometimes packages change their arch from arch:any to arch:all (or v.v.). This used to be no problem for packages where any was the native arch and this is still the case, but if it is a foreign arch dpkg refuses to install the new arch:all version with the following error message: (assuming we are on amd64 and pkg-a:i386 was installed) dpkg: error processing pkg-a_2_all.deb (--install): pkg-a 2 (Multi-Arch: no) is not co-installable with pkg-a:i386 1 (Multi-Arch: no) which is currently installed If we flip from arch:all to arch:any the error message is similar: pkg-a:i386 3 (Multi-Arch: no) is not co-installable with pkg-a:all 2 (Multi- Arch: no) which is currently installed (in the first message the :all is omitted from the error message and in the second it is present, so you might want to make that consistent) Now, pkg-a:all 2 is not really co-installable with pkg-a:amd64 1 either, but dpkg happily applies the change in such a context as an "upgrade". Attached is a small script showing the issue. It's basically an enormously stripped down version of an APT testcase in case you wonder how I was hit by the bug (the real test works with an apt configured to have i386 as native, while my machine on which i run this is in reality amd64, creating something similar to a cross-grade situation.) I am not sure through if this is really a bug in dpkg, given that arch:all is to be interpreted as arch:native in multiarch, so on an amd64 system a flip from arch:amd64 to arch:all is not really a flip (and therefore works) while arch:i386 to arch:all is not (and therefore doesn't work). So this might be very well the intended behavior and not a bug. It just has interesting consequences for cross-grades and similar cases in which apt has a different native architecture than dpkg and it is hard to solve on APT side as it requires in extreme cases that in the middle of an upgrade the installation actions and there sequence must be recalculated as dpkg has changed it's architecture in the meantime… Somehow I get the impression it would be good to have an option in dpkg to tell dpkg what it should consider as "native" architecture similar to APT::Architecture to easily solve these kind of communication problems. Best regards David Kalnischkies P.S.: Yes, this was started as a bugreport, but half way though i figured that's a bit too esoteric and with too many question marks to deserve a #.
Description: Bourne shell script