summaryrefslogtreecommitdiffstats
path: root/bin/emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-07-31 18:16:24 +0000
committerZac Medico <zmedico@gentoo.org>2006-07-31 18:16:24 +0000
commit219c473c1f42c31e60f3d5a9ccd4f9e2b7d2bbe6 (patch)
tree83f29aab89e1142cfcc51b7d32c835a302deeb73 /bin/emerge
parent8e9d8306017174a5422c657ebf651c796d5c3d8c (diff)
downloadportage-219c473c1f42c31e60f3d5a9ccd4f9e2b7d2bbe6.tar.gz
portage-219c473c1f42c31e60f3d5a9ccd4f9e2b7d2bbe6.tar.bz2
portage-219c473c1f42c31e60f3d5a9ccd4f9e2b7d2bbe6.zip
Make depclean account for old-style virtuals so that it doesn't remove the providers. See bug #136178. This patch is from trunk r3985:3987.
svn path=/main/branches/2.1/; revision=4067
Diffstat (limited to 'bin/emerge')
-rwxr-xr-xbin/emerge8
1 files changed, 7 insertions, 1 deletions
diff --git a/bin/emerge b/bin/emerge
index 1b5de9765..1f86800d1 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -3343,7 +3343,13 @@ elif "depclean"==myaction:
sys_world_unversioned = set()
from itertools import chain
for x in chain(syslist, worldlist):
- sys_world_unversioned.add(portage.dep_getkey(x))
+ mycp = portage.dep_getkey(x)
+ try:
+ # include any old-style virtual providers that may exist
+ sys_world_unversioned.update(portage.settings.getvirtuals()[mycp])
+ except KeyError:
+ pass
+ sys_world_unversioned.add(mycp)
cleanlist=[]
for x in myvarlist: