hybrid: Explicitly pull in debugsource packages
This should cover case where we there's a build like this: foo-1-1.src.rpm foo-sub-1-1.noarch.rpm foo-debugsource-1-1.x86_64.rpm The compose contains the noarch package, and should also have the debugsource package. The original code only checked for foo-sub-debugsource though. JIRA: RHELCMP-7628 Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
parent
fe986d68b9
commit
32221e8f36
@ -349,8 +349,11 @@ class GatherMethodHybrid(pungi.phases.gather.method.GatherMethodBase):
|
|||||||
|
|
||||||
# There are two ways how the debuginfo package can be named. We
|
# There are two ways how the debuginfo package can be named. We
|
||||||
# want to get them all.
|
# want to get them all.
|
||||||
for pattern in ["%s-debuginfo", "%s-debugsource"]:
|
source_name = kobo.rpmlib.parse_nvra(pkg.rpm_sourcerpm)["name"]
|
||||||
debuginfo_name = pattern % pkg.name
|
for debuginfo_name in [
|
||||||
|
"%s-debuginfo" % pkg.name,
|
||||||
|
"%s-debugsource" % source_name,
|
||||||
|
]:
|
||||||
debuginfo = self._get_debuginfo(debuginfo_name, pkg_arch)
|
debuginfo = self._get_debuginfo(debuginfo_name, pkg_arch)
|
||||||
for dbg in debuginfo:
|
for dbg in debuginfo:
|
||||||
# For each debuginfo package that matches on name and
|
# For each debuginfo package that matches on name and
|
||||||
|
@ -391,7 +391,7 @@ class TestRunSolver(HelperMixin, helpers.PungiTestCase):
|
|||||||
),
|
),
|
||||||
}
|
}
|
||||||
po.return_value = ([("p-1-1", "x86_64", frozenset())], ["m1"])
|
po.return_value = ([("p-1-1", "x86_64", frozenset())], ["m1"])
|
||||||
self.phase.packages = {"p-1-1.x86_64": mock.Mock()}
|
self.phase.packages = {"p-1-1.x86_64": mock.Mock(rpm_sourcerpm="p-1-1.src.rpm")}
|
||||||
|
|
||||||
res = self.phase.run_solver(
|
res = self.phase.run_solver(
|
||||||
self.compose.variants["Server"],
|
self.compose.variants["Server"],
|
||||||
@ -431,7 +431,9 @@ class TestRunSolver(HelperMixin, helpers.PungiTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def test_with_comps(self, run, gc, po, wc):
|
def test_with_comps(self, run, gc, po, wc):
|
||||||
self.phase.packages = {"pkg-1.0-1.x86_64": mock.Mock()}
|
self.phase.packages = {
|
||||||
|
"pkg-1.0-1.x86_64": mock.Mock(rpm_sourcerpm="pkg-1.0-1.src.rpm")
|
||||||
|
}
|
||||||
self.phase.debuginfo = {"x86_64": {}}
|
self.phase.debuginfo = {"x86_64": {}}
|
||||||
po.return_value = ([("pkg-1.0-1", "x86_64", frozenset())], [])
|
po.return_value = ([("pkg-1.0-1", "x86_64", frozenset())], [])
|
||||||
res = self.phase.run_solver(
|
res = self.phase.run_solver(
|
||||||
@ -473,11 +475,23 @@ class TestRunSolver(HelperMixin, helpers.PungiTestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def test_with_comps_with_debuginfo(self, run, gc, po, wc):
|
def test_with_comps_with_debuginfo(self, run, gc, po, wc):
|
||||||
dbg1 = NamedMock(name="pkg-debuginfo", arch="x86_64", sourcerpm="pkg.src.rpm")
|
# dbg1 and dbg2 mocks both package from Kobo (with sourcerpm) and from
|
||||||
dbg2 = NamedMock(name="pkg-debuginfo", arch="x86_64", sourcerpm="x.src.rpm")
|
# createrepo_c (with rpm_sourcerpm)
|
||||||
|
dbg1 = NamedMock(
|
||||||
|
name="pkg-debuginfo",
|
||||||
|
arch="x86_64",
|
||||||
|
sourcerpm="pkg-1.0-1.src.rpm",
|
||||||
|
rpm_sourcerpm="pkg-1.0-1.src.rpm",
|
||||||
|
)
|
||||||
|
dbg2 = NamedMock(
|
||||||
|
name="pkg-debuginfo",
|
||||||
|
arch="x86_64",
|
||||||
|
sourcerpm="pkg-1.0-2.src.rpm",
|
||||||
|
rpm_sourcerpm="pkg-1.0-2.src.rpm",
|
||||||
|
)
|
||||||
self.phase.packages = {
|
self.phase.packages = {
|
||||||
"pkg-1.0-1.x86_64": NamedMock(
|
"pkg-1.0-1.x86_64": NamedMock(
|
||||||
name="pkg", arch="x86_64", rpm_sourcerpm="pkg.src.rpm"
|
name="pkg", arch="x86_64", rpm_sourcerpm="pkg-1.0-1.src.rpm"
|
||||||
),
|
),
|
||||||
"pkg-debuginfo-1.0-1.x86_64": dbg1,
|
"pkg-debuginfo-1.0-1.x86_64": dbg1,
|
||||||
"pkg-debuginfo-1.0-2.x86_64": dbg2,
|
"pkg-debuginfo-1.0-2.x86_64": dbg2,
|
||||||
@ -558,8 +572,8 @@ class TestRunSolver(HelperMixin, helpers.PungiTestCase):
|
|||||||
]
|
]
|
||||||
po.side_effect = [([("pkg-1.0-1", "x86_64", frozenset())], []), (final, [])]
|
po.side_effect = [([("pkg-1.0-1", "x86_64", frozenset())], []), (final, [])]
|
||||||
self.phase.packages = {
|
self.phase.packages = {
|
||||||
"pkg-1.0-1.x86_64": mock.Mock(),
|
"pkg-1.0-1.x86_64": mock.Mock(rpm_sourcerpm="pkg-1.0-1.src.rpm"),
|
||||||
"pkg-en-1.0-1.noarch": mock.Mock(),
|
"pkg-en-1.0-1.noarch": mock.Mock(rpm_sourcerpm="pkg-1.0-1.src.rpm"),
|
||||||
}
|
}
|
||||||
|
|
||||||
res = self.phase.run_solver(
|
res = self.phase.run_solver(
|
||||||
@ -628,9 +642,15 @@ class TestRunSolver(HelperMixin, helpers.PungiTestCase):
|
|||||||
cr.Metadata.return_value.keys.return_value = []
|
cr.Metadata.return_value.keys.return_value = []
|
||||||
self.phase.package_maps = {
|
self.phase.package_maps = {
|
||||||
"x86_64": {
|
"x86_64": {
|
||||||
"pkg-devel-1.0-1.x86_64": NamedMock(name="pkg-devel"),
|
"pkg-devel-1.0-1.x86_64": NamedMock(
|
||||||
"pkg-devel-1.0-1.i686": NamedMock(name="pkg-devel"),
|
name="pkg-devel", rpm_sourcerpm="pkg-1.0-1.src.rpm"
|
||||||
"foo-1.0-1.x86_64": NamedMock(name="foo"),
|
),
|
||||||
|
"pkg-devel-1.0-1.i686": NamedMock(
|
||||||
|
name="pkg-devel", rpm_sourcerpm="pkg-1.0-1.src.rpm"
|
||||||
|
),
|
||||||
|
"foo-1.0-1.x86_64": NamedMock(
|
||||||
|
name="foo", rpm_sourcerpm="foo-1.0-1.src.rpm"
|
||||||
|
),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.phase.packages = self.phase.package_maps["x86_64"]
|
self.phase.packages = self.phase.package_maps["x86_64"]
|
||||||
@ -718,6 +738,7 @@ class TestRunSolver(HelperMixin, helpers.PungiTestCase):
|
|||||||
release="1",
|
release="1",
|
||||||
arch="x86_64",
|
arch="x86_64",
|
||||||
provides=[("/usr/lib/libfoo.1.so.1", None, None)],
|
provides=[("/usr/lib/libfoo.1.so.1", None, None)],
|
||||||
|
rpm_sourcerpm="foo-1.0-1.src.rpm",
|
||||||
),
|
),
|
||||||
"def": NamedMock(
|
"def": NamedMock(
|
||||||
name="foo",
|
name="foo",
|
||||||
@ -726,6 +747,7 @@ class TestRunSolver(HelperMixin, helpers.PungiTestCase):
|
|||||||
release="1",
|
release="1",
|
||||||
arch="i686",
|
arch="i686",
|
||||||
provides=[("/usr/lib/libfoo.1.so.1", None, None)],
|
provides=[("/usr/lib/libfoo.1.so.1", None, None)],
|
||||||
|
rpm_sourcerpm="foo-1.0-1.src.rpm",
|
||||||
),
|
),
|
||||||
"ghi": NamedMock(
|
"ghi": NamedMock(
|
||||||
name="pkg-devel",
|
name="pkg-devel",
|
||||||
@ -734,6 +756,7 @@ class TestRunSolver(HelperMixin, helpers.PungiTestCase):
|
|||||||
release="1",
|
release="1",
|
||||||
arch="x86_64",
|
arch="x86_64",
|
||||||
provides=[],
|
provides=[],
|
||||||
|
rpm_sourcerpm="pkg-devel-1.0-1.src.rpm",
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
cr.Metadata.return_value.keys.return_value = packages.keys()
|
cr.Metadata.return_value.keys.return_value = packages.keys()
|
||||||
|
Loading…
Reference in New Issue
Block a user