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.77) (envelope-from ) id 1SrXua-0006Q7-52 for garchives@archives.gentoo.org; Wed, 18 Jul 2012 17:19:44 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id F3727E0462; Wed, 18 Jul 2012 17:19:35 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id C4184E0462 for ; Wed, 18 Jul 2012 17:19:35 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2DBB51B402F for ; Wed, 18 Jul 2012 17:19:35 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id E89F6E5434 for ; Wed, 18 Jul 2012 17:19:33 +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: <1342631947.ed4e91f0473b5cfcbb1d6de22991bbf3e270a6e3.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/DependencyArg.py pym/_emerge/depgraph.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: ed4e91f0473b5cfcbb1d6de22991bbf3e270a6e3 X-VCS-Branch: master Date: Wed, 18 Jul 2012 17:19:33 +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: 29333f4c-40ff-414f-b0dc-877293e7d32c X-Archives-Hash: ba252b5b6a6cb02c439edbf8435da7e3 commit: ed4e91f0473b5cfcbb1d6de22991bbf3e270a6e3 Author: Zac Medico gentoo org> AuthorDate: Wed Jul 18 17:19:07 2012 +0000 Commit: Zac Medico gentoo org> CommitDate: Wed Jul 18 17:19:07 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3Ded4e91f0 depgraph: __auto_rebuild__ KeyError, bug #427036 --- pym/_emerge/DependencyArg.py | 5 +++-- pym/_emerge/depgraph.py | 7 ++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pym/_emerge/DependencyArg.py b/pym/_emerge/DependencyArg.py index ba36f78..80134c8 100644 --- a/pym/_emerge/DependencyArg.py +++ b/pym/_emerge/DependencyArg.py @@ -7,9 +7,9 @@ from portage import _encodings, _unicode_encode, _unicode= _decode =20 class DependencyArg(object): =20 - __slots__ =3D ('arg', 'force_reinstall', 'reset_depth', 'root_config') + __slots__ =3D ('arg', 'force_reinstall', 'internal', 'reset_depth', 'ro= ot_config') =20 - def __init__(self, arg=3DNone, force_reinstall=3DFalse, + def __init__(self, arg=3DNone, force_reinstall=3DFalse, internal=3DFals= e, reset_depth=3DTrue, root_config=3DNone): """ Use reset_depth=3DFalse for special arguments that should not interact @@ -17,6 +17,7 @@ class DependencyArg(object): """ self.arg =3D arg self.force_reinstall =3D force_reinstall + self.internal =3D internal self.reset_depth =3D reset_depth self.root_config =3D root_config =20 diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 552d578..0f3bc93 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -2533,7 +2533,8 @@ class depgraph(object): if isinstance(arg, (AtomArg, PackageArg)): myfavorites.add(arg.atom) elif isinstance(arg, SetArg): - myfavorites.add(arg.arg) + if not arg.internal: + myfavorites.add(arg.arg) myfavorites =3D list(myfavorites) =20 if debug: @@ -2566,6 +2567,7 @@ class depgraph(object): # to behave like normal arguments in most other respects. pset=3DInternalPackageSet(initial_atoms=3Datoms), force_reinstall=3DTrue, + internal=3DTrue, reset_depth=3DFalse, root_config=3Dself._frozen_config.roots[root]) =20 @@ -6793,6 +6795,9 @@ class depgraph(object): continue if arg.root_config.root !=3D root_config.root: continue + if arg.internal: + # __auto_* sets + continue k =3D arg.name if k in ("selected", "world") or \ not root_config.sets[k].world_candidate: