From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QJJeg-0007Gu-MH for garchives@archives.gentoo.org; Mon, 09 May 2011 06:09:19 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6BF851C065; Mon, 9 May 2011 06:09:08 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 362CB1C065 for ; Mon, 9 May 2011 06:09:08 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id BCD3A1B4013 for ; Mon, 9 May 2011 06:09:07 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id DA45780504 for ; Mon, 9 May 2011 06:09:06 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1a693adbc6ea559e92f88268c0d5b3d54c0f7c06.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/unmerge.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 1a693adbc6ea559e92f88268c0d5b3d54c0f7c06 Date: Mon, 9 May 2011 06:09:06 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: dd6bade450044ff204fed7e29d6d7b1d commit: 1a693adbc6ea559e92f88268c0d5b3d54c0f7c06 Author: Zac Medico gentoo org> AuthorDate: Mon May 9 06:08:43 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Mon May 9 06:08:43 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D1a693adb unmerge: skip getvirtuals() if cat is not virtual This allows us to avoid triggering the old-style virtual code which scans /var/db/pkg/*/*/PROVIDE. --- pym/_emerge/unmerge.py | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pym/_emerge/unmerge.py b/pym/_emerge/unmerge.py index 7e66ff9..6c0ef8d 100644 --- a/pym/_emerge/unmerge.py +++ b/pym/_emerge/unmerge.py @@ -67,8 +67,14 @@ def unmerge(root_config, myopts, unmerge_action, =20 syslist =3D [] for x in realsyslist: - mycp =3D portage.dep_getkey(x) - if mycp in settings.getvirtuals(): + mycp =3D x.cp + # Since Gentoo stopped using old-style virtuals in + # 2011, typically it's possible to avoid getvirtuals() + # calls entirely. It will not be triggered here by + # new-style virtuals since those are expanded to + # non-virtual atoms above by expand_new_virt(). + if mycp.startswith("virtual/") and \ + mycp in settings.getvirtuals(): providers =3D [] for provider in settings.getvirtuals()[mycp]: if vartree.dbapi.match(provider):