From: Zac Medico Date: Sat, 22 Jul 2006 00:33:15 +0000 (-0000) Subject: Make depclean account for old-style virtuals so that it doesn't remove the providers. X-Git-Tag: v2.1.1~155 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=61dbcb8ebf741610ca8f7d77f6deefe576372b18;p=portage.git Make depclean account for old-style virtuals so that it doesn't remove the providers. svn path=/main/trunk/; revision=3986 --- 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: