diff options
-rw-r--r-- | pym/_emerge/Scheduler.py | 7 | ||||
-rw-r--r-- | pym/_emerge/depgraph.py | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index c35c2eaba..46767e47b 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -425,6 +425,7 @@ class Scheduler(PollScheduler): list contains both a new-style virtual and an old-style PROVIDE virtual, the new-style virtual is used. """ + implicit_libc_roots = set([self._running_root.root]) libc_set = InternalPackageSet([LIBC_PACKAGE_ATOM]) norm_libc_pkgs = {} virt_libc_pkgs = {} @@ -434,7 +435,8 @@ class Scheduler(PollScheduler): continue if pkg.installed: continue - if pkg.operation == 'merge': + if pkg.root in implicit_libc_roots and \ + pkg.operation == 'merge': if libc_set.findAtomForPackage(pkg): if pkg.category == 'virtual': d = virt_libc_pkgs @@ -458,7 +460,8 @@ class Scheduler(PollScheduler): continue if pkg.installed: continue - if pkg.operation == 'merge': + if pkg.root in implicit_libc_roots and \ + pkg.operation == 'merge': if pkg in libc_pkgs: earlier_libc_pkgs.add(pkg) else: diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index e34d6d021..d096c4358 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -3363,7 +3363,7 @@ class depgraph(object): # Merge libc asap, in order to account for implicit # dependencies. See bug #303567. - for root in self._dynamic_config.mydbapi: + for root in (running_root,): libc_pkg = self._dynamic_config.mydbapi[root].match_pkgs( portage.const.LIBC_PACKAGE_ATOM) if libc_pkg: |