aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2020-02-24 07:59:07 +0100
committerMichał Górny <mgorny@gentoo.org>2020-02-24 07:59:07 +0100
commit4c578f0280638442da5a3f60d0b568c38de09b06 (patch)
tree12fe9cb24a62ec1d7e8d021c7fff8fc721cc3a70 /genrdeps-index.py
parentAdd new genrdeps-index script using pkgcore (diff)
downloadqa-scripts-4c578f0280638442da5a3f60d0b568c38de09b06.tar.gz
qa-scripts-4c578f0280638442da5a3f60d0b568c38de09b06.tar.bz2
qa-scripts-4c578f0280638442da5a3f60d0b568c38de09b06.zip
genrdeps: Deduplicate USE flags in output
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'genrdeps-index.py')
-rwxr-xr-xgenrdeps-index.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/genrdeps-index.py b/genrdeps-index.py
index d0d6a31..cdb94c0 100755
--- a/genrdeps-index.py
+++ b/genrdeps-index.py
@@ -28,7 +28,7 @@ GROUPS = (
)
-def process_deps(deps, useflags=()):
+def process_deps(deps, useflags=frozenset()):
for d in deps:
if isinstance(d, atom):
yield DepTuple(d.key, d.blocks, useflags)
@@ -43,7 +43,7 @@ def process_deps(deps, useflags=()):
r = next(iter(d.restriction.vals))
if d.restriction.negate:
r = '!' + r
- for sd in process_deps(d, useflags + (r,)):
+ for sd in process_deps(d, useflags | frozenset((r,))):
yield sd
else:
raise AssertionError("Unknown dep type: " + d.__class__)
@@ -85,7 +85,7 @@ def main():
if blocks:
dep = '[B]' + dep
if flags:
- dep += ':' + '+'.join(flags)
+ dep += ':' + '+'.join(sorted(flags))
f.write(dep + '\n')
for g, gi in GROUPS: