Description of problem: Since upgrading from Fedora 25 to Fedora 27 I have an issue running repoquery against multilib x86_64 repository sets with --best. The set of packages checked against now only includes one of the multilib arches instead of both. Version-Release number of selected component (if applicable): dnf-plugins-core-2.1.5-1.fc27.noarch How reproducible: Pretty easy. Steps to Reproduce: 1. Use a Fedora 27 x86_64 system 2. Run "dnf repoclosure --check=updates --best" Actual results: Lots of errors about missing libraries, among other things, because only one of glibc.x86_64 and glibc.i686 will be checked against. e.g.: package: 389-ds-base-1.3.7.8-1.fc27.x86_64 from updates unresolved deps: libdb-5.3.so()(64bit) libdl.so.2(GLIBC_2.2.5)(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.17)(64bit) libnspr4.so()(64bit) libnss3.so()(64bit) libnss3.so(NSS_3.9.2)(64bit) libns-dshttpd-1.3.7.8.so()(64bit) libssl3.so(NSS_3.14)(64bit) libssl3.so(NSS_3.2)(64bit) libssl3.so(NSS_3.7.4)(64bit) libcrypt.so.1()(64bit) libcrypt.so.1(GLIBC_2.2.5)(64bit) libdl.so.2()(64bit) libcom_err.so.2()(64bit) libldap_r-2.4.so.2()(64bit) libnss3.so(NSS_3.3)(64bit) libnss3.so(NSS_3.2)(64bit) liblber-2.4.so.2()(64bit) libldap-2.4.so.2()(64bit) libk5crypto.so.3()(64bit) libplc4.so()(64bit) libplds4.so()(64bit) libkrb5.so.3()(64bit) libssl3.so()(64bit) libpthread.so.0()(64bit) libnss3.so(NSS_3.12)(64bit) libnss3.so(NSS_3.4)(64bit) libsasl2.so.3()(64bit) Expected results: A much smaller list, consisting only of actual broken dependencies. Additional info: I believe this is due to an underlying change in the dnf query filter API, in which query.filter(latest=True) now only picks the one latest version of a package across all repos and arches (arbitrarily picking one arch when there are multiple with the same NEVR). The previous behavior can be obtained by using query.filter(latest_per_arch=True), which fixes this problem. Whilst debugging this issue I also came across another change. It appears that query.latest() now behaves the same as query.filter(latest_per_arch=True), which finds the latest package per arch across all repos, whereas it used to find the latest package per arch in each repo. The result of this is that repoclosure --newest and repoclosure --best now do the same thing.
The issue is solved by dnf-plugins-core-3.0.1-1 that was released into rawhide.