From b8bb4f7daa8f4c53b7642c25db02925b53568dbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Sedl=C3=A1=C5=99?= Date: Tue, 17 Dec 2019 22:54:34 +0100 Subject: [PATCH] Improve detection of lookaside packages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is possible we only ever see a package from non-lookaside repo, but it actually is in lookaside. This patch should check for that before adding the package to result set. JIRA: RCM-71946 Signed-off-by: Lubomír Sedlář --- pungi/gather_dnf.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pungi/gather_dnf.py b/pungi/gather_dnf.py index 714c8d2c..1c7e0f06 100644 --- a/pungi/gather_dnf.py +++ b/pungi/gather_dnf.py @@ -291,6 +291,18 @@ class Gather(GatherBase): return [i for i in multilib_pkgs if i.sourcerpm == match.sourcerpm] return [match] + def is_from_lookaside(self, pkg): + if not self.opts.lookaside_repos: + return False + pkgs = self.dnf.sack.query().filter( + name=pkg.name, + version=pkg.version, + release=pkg.release, + arch=pkg.arch, + reponame=self.opts.lookaside_repos + ) + return pkg in pkgs + def _add_packages(self, packages, pulled_by=None, req=None, reason=None, dest=None): dest = dest or self.result_binary_packages for i in packages: @@ -306,7 +318,7 @@ class Gather(GatherBase): self.logger.debug("Added package %s%s" % (i, pb)) dest.add(i) # lookaside - if i.repoid in self.opts.lookaside_repos: + if self.is_from_lookaside(i): self._set_flag(i, PkgFlag.lookaside) if i.sourcerpm.rsplit('-', 2)[0] in self.opts.fulltree_excludes: self._set_flag(i, PkgFlag.fulltree_exclude)