aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2024-02-25 10:39:18 +0100
committerFabian Groffen <grobian@gentoo.org>2024-02-25 10:39:18 +0100
commit451552da1dcebde961cbc1ce7a95180d9e1c073f (patch)
treee3009068259e8af473f5a8483937426260fb821f /lib/_emerge/depgraph.py
parentMerge remote-tracking branch 'origin/master' into prefix (diff)
parentNEWS, meson.build: prepare for portage-3.0.63 (diff)
downloadportage-prefix.tar.gz
portage-prefix.tar.bz2
portage-prefix.zip
Merge remote-tracking branch 'origin/master' into prefixprefix
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Diffstat (limited to 'lib/_emerge/depgraph.py')
-rw-r--r--lib/_emerge/depgraph.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py
index a53eaaba9..63e7ad1ee 100644
--- a/lib/_emerge/depgraph.py
+++ b/lib/_emerge/depgraph.py
@@ -783,7 +783,7 @@ class depgraph:
ebuild_hash=ebuild_hash,
portdb=portdb,
repo_path=repo_path,
- settings=portdb.doebuild_settings,
+ settings=settings,
deallocate_config=deallocate_config,
)
proc.addExitListener(self._dynamic_deps_proc_exit(pkg, fake_vartree))
@@ -7640,6 +7640,19 @@ class depgraph:
continue
if (
+ empty
+ and pkg.installed
+ and not self._frozen_config.excluded_pkgs.findAtomForPackage(
+ pkg, modified_use=self._pkg_use_enabled(pkg)
+ )
+ ):
+ # With --emptytree option we assume no packages
+ # are installed, so we do not select them.
+ # But we allow installed packages to satisfy dependency requirements
+ # if they're explicitly excluded, so we allow them to be selected.
+ continue
+
+ if (
not pkg.installed
and self._frozen_config.excluded_pkgs.findAtomForPackage(
pkg, modified_use=self._pkg_use_enabled(pkg)