prefer native arch over higher priority for providers
authorColin Watson <cjwatson@ubuntu.com>
Thu, 1 Aug 2013 11:19:43 +0000 (13:19 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Thu, 1 Aug 2013 11:37:52 +0000 (13:37 +0200)
commit096bd9f59750f6bea754d3a05e240c9eea0f6b53
treedf89bbb78f0484983fd0d0020a6e551a64d1a3c8
parent55732492ddea83e7d97b2e0c3e6799948fc5f152
prefer native arch over higher priority for providers

The rational from the buglog:
> The problem here is that the Priority field in one of the Packages files
> is incorrect due to a mishap with reprepro configuration, […] the
> amd64 version is Priority: standard but the arm64 version is Priority:
> optional (and has a stray "optional: interpreters" field).
> […]
> However, Priority is a rather weak property of a package because it's
> typically applied via overrides, and it's easy for maintainers of
> third-party repositories to misconfigure them so that overrides aren't
> applied correctly.  It shouldn't be ranked ahead of choosing packages
> from the native architecture.  In this case, I have no user-mode
> emulation for arm64 set up, so choosing m4:arm64 simply won't work.

This effectly makes the priority the least interesting data point in
chosing a provider, which is in line with the other checks we have
already order above priority in the past and also has a certain appeal by
the soft irony it provides.

Closes: #718482
apt-pkg/depcache.cc
test/integration/test-prefer-native-architecture-over-higher-priority [new file with mode: 0755]