Skip to content

Commit 39e47a5

Browse files
committed
RequiredUseDefaults: use deterministic profile choice for non-verbose reports
Assumes that dict order is guaranteed to be insertion order which is an implementation detail in py3.6 and a language feature in py3.7.
1 parent 93debd3 commit 39e47a5

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

src/pkgcheck/checks/metadata.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from datetime import datetime
55
from difflib import SequenceMatcher
66
from itertools import chain
7+
from operator import attrgetter
78

89
from pkgcore.ebuild import atom
910
from pkgcore.ebuild.atom import atom as atom_cls
@@ -310,7 +311,7 @@ def feed(self, pkg):
310311
# check both stable/unstable profiles for stable KEYWORDS and only
311312
# unstable profiles for unstable KEYWORDS
312313
keywords = []
313-
for keyword in pkg.keywords:
314+
for keyword in pkg.sorted_keywords:
314315
if keyword[0] != '~':
315316
keywords.append(keyword)
316317
keywords.append('~' + keyword.lstrip('~'))
@@ -319,7 +320,7 @@ def feed(self, pkg):
319320
# REQUIRED_USE for all profiles matching a pkg's KEYWORDS
320321
failures = defaultdict(list)
321322
for keyword in keywords:
322-
for profile in self.profiles.get(keyword, ()):
323+
for profile in sorted(self.profiles.get(keyword, ()), key=attrgetter('name')):
323324
# skip packages masked by the profile
324325
if profile.visible(pkg):
325326
src = FakeConfigurable(pkg, profile)

0 commit comments

Comments
 (0)