mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-02-12 09:34:57 +08:00
Fix wrong inclusion of non-multilib packages in final MMD.
The original Pungi code, on which MBS code is based on, always passed only RPMs with valid architectures to further decide if their subset should end up in a final modulemd file. In MBS, we pass RPMs with all architecture and there was no code to actually filter out the RPMs which are from architectures which should never end up in a final MMD. This commit checks that RPMs for completely different architectures will never be considered to be included in a final MMD.
This commit is contained in:
@@ -465,6 +465,13 @@ class KojiContentGenerator(object):
|
|||||||
# Check each RPM in `self.rpms_dict` to find out if it can be included in mmd
|
# Check each RPM in `self.rpms_dict` to find out if it can be included in mmd
|
||||||
# for this architecture.
|
# for this architecture.
|
||||||
for nevra, rpm in self.rpms_dict.items():
|
for nevra, rpm in self.rpms_dict.items():
|
||||||
|
# Filter out RPMs which will never end up in final modulemd:
|
||||||
|
# - the architecture of an RPM is not multilib architecture for `arch`.
|
||||||
|
# - the architecture of an RPM is not the final mmd architecture.
|
||||||
|
# - the architecture of an RPM is not "noarch".
|
||||||
|
if rpm["arch"] not in multilib_arches and rpm["arch"] not in [arch, "noarch"]:
|
||||||
|
continue
|
||||||
|
|
||||||
srpm = rpm["srpm_name"]
|
srpm = rpm["srpm_name"]
|
||||||
|
|
||||||
# Skip the RPM if it is excluded on this arch or exclusive
|
# Skip the RPM if it is excluded on this arch or exclusive
|
||||||
|
|||||||
@@ -432,8 +432,10 @@ class TestBuild:
|
|||||||
def test_fill_in_rpms_list(self):
|
def test_fill_in_rpms_list(self):
|
||||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64", "dhcp")
|
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.x86_64", "dhcp")
|
||||||
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.i686", "dhcp")
|
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.i686", "dhcp")
|
||||||
|
self._add_test_rpm("dhcp-libs-12:4.3.5-5.module_2118aef6.s390x", "dhcp")
|
||||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64", "perl-Tangerine")
|
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.x86_64", "perl-Tangerine")
|
||||||
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.i686", "perl-Tangerine")
|
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.i686", "perl-Tangerine")
|
||||||
|
self._add_test_rpm("perl-Tangerine-12:4.3.5-5.module_2118aef6.s390x", "perl-Tangerine")
|
||||||
|
|
||||||
mmd = self.cg.module.mmd()
|
mmd = self.cg.module.mmd()
|
||||||
mmd = self.cg._fill_in_rpms_list(mmd, "x86_64")
|
mmd = self.cg._fill_in_rpms_list(mmd, "x86_64")
|
||||||
|
|||||||
Reference in New Issue
Block a user