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 = {}
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
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:
# 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: