commit: 350b8f486b96871386d721e48e768a77a1c4b1a6 Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Tue Feb 11 20:39:37 2020 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Tue Feb 11 20:48:56 2020 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=350b8f48
depgraph: sort nested package set names for consistent results Traverse the unordered set returned from PackageSet.getNonAtoms() in sorted order, for more consistent results. Use a reverse sort since we pop these sets from a stack. Bug: https://bugs.gentoo.org/649622 Signed-off-by: Zac Medico <zmedico <AT> gentoo.org> lib/_emerge/depgraph.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py index dd29b607c..8e0d79e29 100644 --- a/lib/_emerge/depgraph.py +++ b/lib/_emerge/depgraph.py @@ -2788,8 +2788,10 @@ class depgraph(object): # Traverse nested sets and add them to the stack # if they're not already in the graph. Also, graph - # edges between parent and nested sets. - for token in arg.pset.getNonAtoms(): + # edges between parent and nested sets. Traverse in + # sorted order for consistent results, using reverse + # sort since we pop these sets from a stack. + for token in sorted(arg.pset.getNonAtoms(), reverse=True): if not token.startswith(SETPREFIX): continue s = token[len(SETPREFIX):]
