gather: Filter arches similarly to pkgset

There should not be multilib arches when checking if noarch package is
compatible with current arch. Otherwise we might be excluding a package
from x86_64 just because it does not work on i686.

JIRA: COMPOSE-2885
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
Lubomír Sedlář 2018-09-14 13:27:39 +02:00
parent e580ad6db1
commit be81aeaa7d
1 changed files with 4 additions and 1 deletions

View File

@ -52,6 +52,9 @@ class GatherSourceModule(pungi.phases.gather.source.GatherSourceBase):
compatible_arches = pungi.arch.get_compatible_arches(arch, multilib=True)
multilib_arches = set(compatible_arches) - set(
pungi.arch.get_compatible_arches(arch))
exclusivearchlist = pungi.arch.get_valid_arches(
arch, multilib=False, add_noarch=False
)
# Generate architecture specific modulemd metadata, so we can
# store per-architecture artifacts there later.
@ -78,7 +81,7 @@ class GatherSourceModule(pungi.phases.gather.source.GatherSourceBase):
log.write('Examining %s for inclusion\n' % rpm_obj)
# Skip the RPM if it is excluded on this arch or exclusive
# for different arch.
if pungi.arch.is_excluded(rpm_obj, compatible_arches):
if pungi.arch.is_excluded(rpm_obj, exclusivearchlist):
log.write('Skipping %s due to incompatible arch\n' % rpm_obj)
continue