commit:     4c578f0280638442da5a3f60d0b568c38de09b06
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 24 06:59:07 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Feb 24 06:59:07 2020 +0000
URL:        https://gitweb.gentoo.org/proj/qa-scripts.git/commit/?id=4c578f02

genrdeps: Deduplicate USE flags in output

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 genrdeps-index.py | 6 +++---
 1 file 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:

Reply via email to