summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Scheduler.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-03-09 21:23:33 +0000
committerZac Medico <zmedico@gentoo.org>2010-03-09 21:23:33 +0000
commite3ab573fa40ce847203545ba87b0ffea7f7d1a04 (patch)
tree43faffc3c760ce1804c6c094e800976a933d40bc /pym/_emerge/Scheduler.py
parentb0070b9eef8ab713632c9341942082ee994af0a6 (diff)
downloadportage-e3ab573fa40ce847203545ba87b0ffea7f7d1a04.tar.gz
portage-e3ab573fa40ce847203545ba87b0ffea7f7d1a04.tar.bz2
portage-e3ab573fa40ce847203545ba87b0ffea7f7d1a04.zip
Only create implicit libc deps when the version changes.
svn path=/main/trunk/; revision=15810
Diffstat (limited to 'pym/_emerge/Scheduler.py')
-rw-r--r--pym/_emerge/Scheduler.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index 46767e47b..404a4483b 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -451,6 +451,16 @@ class Scheduler(PollScheduler):
# Prefer new-style virtuals over old-style PROVIDE virtuals.
libc_pkg_map = norm_libc_pkgs.copy()
libc_pkg_map.update(virt_libc_pkgs)
+
+ # Only add a dep when the version changes.
+ for libc_pkg in list(libc_pkg_map.values()):
+ if libc_pkg.root_config.trees['vartree'].dbapi.cpv_exists(
+ libc_pkg.cpv):
+ del libc_pkg_map[pkg.root]
+
+ if not libc_pkg_map:
+ return
+
libc_pkgs = set(libc_pkg_map.values())
earlier_libc_pkgs = set()