When merging in Packages files with 'dpkg --merge-avail', dpkg apparently doesn't care about the architecture of the package entries it reads. If there is more than one entry for the same package (each with a different architecture) it only keeps one of them, and this one needn't be the right one. I got a lot of dependency problems in dselect after merging the Packages file from potato-proposed-updates, because there are a lot of entries for traceroute and dpkg chose to keep the one for alpha architecure instead of i386. That, in turn, depends on libc6.1 which is only available for alpha and conflicts with libc6 ... Regards, Daniel
Hi! got implemented when multiarch support got merged. As an example session: ,--- # cat Packages.amd64 Package: test-arch-duped Version: 1.0 Architecture: amd64 Maintainer: Some One <some@example.org> Description: test package with duped arch entries # cat Packages.alpha Package: test-arch-duped Version: 2.0 Architecture: alpha Maintainer: Some One <some@example.org> Description: test package with duped arch entries # dpkg --clear-avail # dpkg --merge-avail Packages.amd64 Updating available packages information from Packages.amd64. Information about 1 package was updated. # dpkg --merge-avail Packages.alpha Updating available packages information from Packages.alpha. Information about 1 package was updated. # dpkg-query -p Package: test-arch-duped Maintainer: Some One <some@example.org> Architecture: amd64 Version: 1.0 Description: test package with duped arch entries Package: test-arch-duped Maintainer: Some One <some@example.org> Architecture: alpha Version: 2.0 Description: test package with duped arch entries `--- Thus closing. Thanks, Guillem