summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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)