summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorJason Stubbs <jstubbs@gentoo.org>2005-09-08 13:55:27 +0000
committerJason Stubbs <jstubbs@gentoo.org>2005-09-08 13:55:27 +0000
commit1d9a88ffdc49fdf85f42d4cbf2b3e21b38d5ab21 (patch)
tree69b4342d3cc1b19c0ea5f3bf93ca64ab168ee9fb /bin
parentcecbaf9597bdd07d71e67ff28bd5b76c3b8c0b39 (diff)
downloadportage-1d9a88ffdc49fdf85f42d4cbf2b3e21b38d5ab21.tar.gz
portage-1d9a88ffdc49fdf85f42d4cbf2b3e21b38d5ab21.tar.bz2
portage-1d9a88ffdc49fdf85f42d4cbf2b3e21b38d5ab21.zip
Only warn on removal of system virtuals if there is only one satisfying package.
svn path=/main/branches/2.0/; revision=1991
Diffstat (limited to 'bin')
-rwxr-xr-xbin/emerge10
1 files changed, 8 insertions, 2 deletions
diff --git a/bin/emerge b/bin/emerge
index e749b5356..ce45fe3b4 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -2044,8 +2044,14 @@ def unmerge(unmerge_action, unmerge_files):
for x in realsyslist:
mycp = portage.dep_getkey(x)
if mycp in portage.settings.virtuals:
- syslist.extend(portage.settings.virtuals[mycp])
- syslist.append(mycp)
+ providers = []
+ for provider in portage.settings.virtuals[mycp]:
+ if portage.db[portage.root]["vartree"].dbapi.match(provider):
+ providers.append(provider)
+ if len(providers) == 1:
+ syslist.extend(providers)
+ else:
+ syslist.append(mycp)
global myopts
mysettings = portage.config(clone=portage.settings)