From 1d9a88ffdc49fdf85f42d4cbf2b3e21b38d5ab21 Mon Sep 17 00:00:00 2001 From: Jason Stubbs Date: Thu, 8 Sep 2005 13:55:27 +0000 Subject: Only warn on removal of system virtuals if there is only one satisfying package. svn path=/main/branches/2.0/; revision=1991 --- ChangeLog | 3 +++ bin/emerge | 10 ++++++++-- 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 bin/emerge: Only warn on + removal of system virtuals if there is only one satisfying package. + 21 Aug 2005; Jason Stubbs 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) -- cgit v1.2.3-1-g7c22