From: Jason Stubbs Date: Thu, 8 Sep 2005 13:55:27 +0000 (-0000) Subject: Only warn on removal of system virtuals if there is only one satisfying package. X-Git-Tag: v2.0.53_rc4_2111~71 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=1d9a88ffdc49fdf85f42d4cbf2b3e21b38d5ab21;p=portage.git Only warn on removal of system virtuals if there is only one satisfying package. svn path=/main/branches/2.0/; revision=1991 --- 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)