Skip to content

Commit c9fdcf2

Browse files
committed
bugs: prefer using user selected targets
Resolves: #161 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
1 parent 290143b commit c9fdcf2

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

src/pkgdev/scripts/pkgdev_bugs.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@ def __init__(self, out: Formatter, err: Formatter, options):
279279

280280
self.nodes: set[GraphNode] = set()
281281
self.starting_nodes: set[GraphNode] = set()
282+
self.targets: tuple[package] = ()
282283

283284
def mk_fake_pkg(self, pkg: package, keywords: set[str]):
284285
return FakePkg(
@@ -295,6 +296,9 @@ def find_best_match(self, restrict, pkgset: list[package]) -> package:
295296
*restrict,
296297
packages.PackageRestriction("properties", values.ContainmentMatch("live", negate=True)),
297298
)
299+
# prefer using user selected targets
300+
if intersect := tuple(filter(restrict.match, self.targets)):
301+
return max(intersect)
298302
# prefer using already selected packages in graph
299303
all_pkgs = (pkg for node in self.nodes for pkg, _ in node.pkgs)
300304
if intersect := tuple(filter(restrict.match, all_pkgs)):
@@ -345,6 +349,7 @@ def _find_dependencies(self, pkg: package, keywords: set[str]):
345349
yield from results.items()
346350

347351
def build_full_graph(self, targets: list[package]):
352+
self.targets = tuple(targets)
348353
check_nodes = [(pkg, set()) for pkg in targets]
349354

350355
vertices: dict[package, GraphNode] = {}

0 commit comments

Comments
 (0)