From 61dbcb8ebf741610ca8f7d77f6deefe576372b18 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 22 Jul 2006 00:33:15 +0000 Subject: Make depclean account for old-style virtuals so that it doesn't remove the providers. svn path=/main/trunk/; revision=3986 --- bin/emerge | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'bin/emerge') diff --git a/bin/emerge b/bin/emerge index 90ec7e435..740660881 100755 --- a/bin/emerge +++ b/bin/emerge @@ -3257,7 +3257,14 @@ def action_depclean(settings, trees, ldpath_mtimes, 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) + if mycp in settings.getvirtuals(): + providers = [] + for provider in settings.getvirtuals()[mycp]: + if vartree.dbapi.match(provider): + providers.append(provider) + sys_world_unversioned.update(providers) + sys_world_unversioned.add(mycp) cleanlist=[] for x in myvarlist: -- cgit v1.2.3-1-g7c22