diff options
author | Zac Medico <zmedico@gentoo.org> | 2006-07-22 00:33:15 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2006-07-22 00:33:15 +0000 |
commit | 61dbcb8ebf741610ca8f7d77f6deefe576372b18 (patch) | |
tree | 962f5ad4acecdc836b908d8b798768d86a5bef28 | |
parent | 8e8eaf08fb928f90de502c9ee4eb65bbd7ae93d8 (diff) | |
download | portage-61dbcb8ebf741610ca8f7d77f6deefe576372b18.tar.gz portage-61dbcb8ebf741610ca8f7d77f6deefe576372b18.tar.bz2 portage-61dbcb8ebf741610ca8f7d77f6deefe576372b18.zip |
Make depclean account for old-style virtuals so that it doesn't remove the providers.
svn path=/main/trunk/; revision=3986
-rwxr-xr-x | bin/emerge | 9 |
1 files changed, 8 insertions, 1 deletions
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: |