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 1QKOOR-0003Mt-Dz for garchives@archives.gentoo.org; Thu, 12 May 2011 05:25:00 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 347981C023; Thu, 12 May 2011 05:24:51 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 048931C06D for ; Thu, 12 May 2011 05:24:50 +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 6CB921B40A5 for ; Thu, 12 May 2011 05:24:50 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id C3A0C80505 for ; Thu, 12 May 2011 05:24:49 +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: Subject: [gentoo-commits] proj/portage:2.1.9 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: e8025f33863bad51bc5dbebb45e0d561469b2596 Date: Thu, 12 May 2011 05:24:49 +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: 86715871fb9143e89af592af514a276c commit: e8025f33863bad51bc5dbebb45e0d561469b2596 Author: Zac Medico gentoo org> AuthorDate: Mon May 9 06:08:43 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Thu May 12 05:09:11 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3De8025f33 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):