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 1SiIcI-0007zP-Ow for garchives@archives.gentoo.org; Sat, 23 Jun 2012 05:10:39 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id BACFDE09FF; Sat, 23 Jun 2012 05:10:28 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 7F2C5E09FF for ; Sat, 23 Jun 2012 05:10:28 +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 7E1291B4002 for ; Sat, 23 Jun 2012 05:10:27 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 592F7E5435 for ; Sat, 23 Jun 2012 05:10:25 +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: <1340428214.5497c9f1443f1f615f145ee645f17959ed20168c.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/depgraph.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 5497c9f1443f1f615f145ee645f17959ed20168c X-VCS-Branch: master Date: Sat, 23 Jun 2012 05:10:25 +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: b19cc63c-df52-4b57-865b-555eefecdcba X-Archives-Hash: 82becdcf5c5e01e1d980ca915dab1082 commit: 5497c9f1443f1f615f145ee645f17959ed20168c Author: Zac Medico gentoo org> AuthorDate: Sat Jun 23 05:10:14 2012 +0000 Commit: Zac Medico gentoo org> CommitDate: Sat Jun 23 05:10:14 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D5497c9f1 Fix success_without_autounmask logic wrt rebuilds --- pym/_emerge/depgraph.py | 34 ++++++++++++++++++++-------------- 1 files changed, 20 insertions(+), 14 deletions(-) diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 039dbdc..75e3500 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -2658,20 +2658,6 @@ class depgraph(object): "slot conflict" in self._dynamic_config._backtrack_infos): return False, myfavorites =20 - digraph_nodes =3D self._dynamic_config.digraph.nodes - - if any(x in digraph_nodes for x in - self._dynamic_config._needed_unstable_keywords) or \ - any(x in digraph_nodes for x in - self._dynamic_config._needed_p_mask_changes) or \ - any(x in digraph_nodes for x in - self._dynamic_config._needed_use_config_changes) or \ - any(x in digraph_nodes for x in - self._dynamic_config._needed_license_changes) : - #We failed if the user needs to change the configuration - self._dynamic_config._success_without_autounmask =3D True - return False, myfavorites - if self._rebuild.trigger_rebuilds(): backtrack_infos =3D self._dynamic_config._backtrack_infos config =3D backtrack_infos.setdefault("config", {}) @@ -2686,6 +2672,26 @@ class depgraph(object): self.need_restart(): return False, myfavorites =20 + # Any failures except those due to autounmask *alone* should return + # before this point, since the success_without_autounmask flag that's + # set below is reserved for cases where there are *zero* other + # problems. For reference, see backtrack_depgraph, where it skips the + # get_best_run() call when success_without_autounmask is True. + + digraph_nodes =3D self._dynamic_config.digraph.nodes + + if any(x in digraph_nodes for x in + self._dynamic_config._needed_unstable_keywords) or \ + any(x in digraph_nodes for x in + self._dynamic_config._needed_p_mask_changes) or \ + any(x in digraph_nodes for x in + self._dynamic_config._needed_use_config_changes) or \ + any(x in digraph_nodes for x in + self._dynamic_config._needed_license_changes) : + #We failed if the user needs to change the configuration + self._dynamic_config._success_without_autounmask =3D True + return False, myfavorites + # We're true here unless we are missing binaries. return (True, myfavorites) =20