summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--ChangeLog3
-rwxr-xr-xbin/emerge10
2 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index bc90eadcd..b6d196dd1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,9 @@
2. /var/cache/edb/world is now /var/lib/portage/world.
3. /etc/portage/profile/virtuals is _USER_ configs only.
+ 08 Sep 2005; Jason Stubbs <jstubbs@gentoo.org> bin/emerge: Only warn on
+ removal of system virtuals if there is only one satisfying package.
+
21 Aug 2005; Jason Stubbs <jstubbs@gentoo.org> bin/ebuild.sh: Skip protecting
ownership of symlinks. Patch by truedfx #94199
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)