summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/depgraph.py9
-rw-r--r--pym/portage/const.py1
2 files changed, 10 insertions, 0 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index fd9fe12bd..7a4872424 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -3335,6 +3335,15 @@ class depgraph(object):
runtime_deps.update(atom for atom in atoms \
if not atom.blocker)
+ # Merge libc asap, in order to account for implicit
+ # dependencies. See bug #303567.
+ libc_pkg = self._dynamic_config.mydbapi[running_root].match_pkgs(
+ portage.const.LIBC_PACKAGE_ATOM)
+ if libc_pkg:
+ libc_pkg = libc_pkg[0]
+ if libc_pkg.operation == 'merge':
+ asap_nodes.append(libc_pkg)
+
def gather_deps(ignore_priority, mergeable_nodes,
selected_nodes, node):
"""
diff --git a/pym/portage/const.py b/pym/portage/const.py
index 8d06bb31a..95ea76cb9 100644
--- a/pym/portage/const.py
+++ b/pym/portage/const.py
@@ -71,6 +71,7 @@ REPO_NAME_FILE = "repo_name"
REPO_NAME_LOC = "profiles" + "/" + REPO_NAME_FILE
PORTAGE_PACKAGE_ATOM = "sys-apps/portage"
+LIBC_PACKAGE_ATOM = "virtual/libc"
INCREMENTALS = ("USE", "USE_EXPAND", "USE_EXPAND_HIDDEN",
"FEATURES", "ACCEPT_KEYWORDS",