diff options
author | Sam James <sam@gentoo.org> | 2023-11-02 13:59:05 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-11-06 15:57:56 +0000 |
commit | a6853d5493b7bed37e60c2e3b7536b209500ba3f (patch) | |
tree | 38a280d1bade267173e54fd8feee129c133281f8 /lib/_emerge/depgraph.py | |
parent | emerge: fix binpkg-respect-use notice with blockers (diff) | |
download | gentoo-portage-a6853d5493b7bed37e60c2e3b7536b209500ba3f.tar.xz gentoo-portage-a6853d5493b7bed37e60c2e3b7536b209500ba3f.zip |
emerge: account for EROOT in _show_ignored_binaries_respect_use
Zac suggested this when reviewing the fix for bug #916336.
Bug: https://bugs.gentoo.org/916336
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'lib/_emerge/depgraph.py')
-rw-r--r-- | lib/_emerge/depgraph.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py index 0717e0429f60..d1fed0d6520f 100644 --- a/lib/_emerge/depgraph.py +++ b/lib/_emerge/depgraph.py @@ -1235,23 +1235,28 @@ class depgraph: seen = {} messages = [] merging = { - pkg.cpv + (pkg.root, pkg.cpv) for pkg in self._dynamic_config._displayed_list if isinstance(pkg, Package) } for pkg, flags in respect_use.items(): # Don't include recursive deps which aren't in the merge list anyway. - if pkg.cpv not in merging: + if (pkg.root, pkg.cpv) not in merging: continue + flag_display = [] for flag in sorted(flags): if flag not in pkg.use.enabled: flag = "-" + flag flag_display.append(flag) flag_display = " ".join(flag_display) + # We don't want to list the same USE flags for multiple build IDs - if pkg.cpv not in seen or flag_display not in seen[pkg.cpv]: - seen.setdefault(pkg.cpv, set()).add(flag_display) + seen.setdefault(pkg.root, dict()) + if (pkg.root, pkg.cpv) not in seen or flag_display not in seen[pkg.root][ + pkg.cpv + ]: + seen[pkg.root].setdefault(pkg.cpv, set()).add(flag_display) # The user can paste this line into package.use messages.append(f" ={pkg.cpv} {flag_display}") if pkg.root_config.settings["ROOT"] != "/": |