From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 372C81389B0 for ; Mon, 11 Feb 2013 23:57:26 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id BC69EE0230; Mon, 11 Feb 2013 23:57:25 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 4ADBCE0230 for ; Mon, 11 Feb 2013 23:57:25 +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 666D333E030 for ; Mon, 11 Feb 2013 23:57:24 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id B8835E4073 for ; Mon, 11 Feb 2013 23:57:21 +0000 (UTC) From: "Zac Medico" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Zac Medico" Message-ID: <1360626974.0240b8b754ab5f642c50c863d4bec1dc3636ba29.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: 0240b8b754ab5f642c50c863d4bec1dc3636ba29 X-VCS-Branch: master Date: Mon, 11 Feb 2013 23:57:21 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 13e0e730-19ab-45f6-9057-4f439e977624 X-Archives-Hash: 8d491a9fde4369a64b848becf45fed21 commit: 0240b8b754ab5f642c50c863d4bec1dc3636ba29 Author: Zac Medico gentoo org> AuthorDate: Mon Feb 11 23:43:39 2013 +0000 Commit: Zac Medico gentoo org> CommitDate: Mon Feb 11 23:56:14 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=0240b8b7 _slot_operator_update_probe: detect insignificant This avoids rebuilding of two packages due to a sub-slot change in the child package without revision bump. The sub-slot change is considered insignificant until one of its parent packages needs to be rebuilt. --- pym/_emerge/depgraph.py | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 7423ae0..085ac9b 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -1176,6 +1176,7 @@ class depgraph(object): return None debug = "--debug" in self._frozen_config.myopts + selective = "selective" in self._dynamic_config.myparams want_downgrade = None for replacement_parent in self._iter_similar_available(dep.parent, @@ -1225,6 +1226,18 @@ class depgraph(object): if not want_downgrade: continue + insignificant = False + if selective and \ + dep.parent.installed and \ + dep.child.installed and \ + dep.parent.cpv == replacement_parent.cpv and \ + dep.child.cpv == pkg.cpv: + # Then can happen if the child's sub-slot changed + # without a revision bump. The sub-slot change is + # considered insignificant until one of its parent + # packages needs to be rebuilt. + insignificant = True + if debug: msg = [] msg.append("") @@ -1234,10 +1247,15 @@ class depgraph(object): msg.append(" existing parent package: %s" % dep.parent) msg.append(" new child package: %s" % pkg) msg.append(" new parent package: %s" % replacement_parent) + if insignificant: + msg.append("insignificant changes detected") msg.append("") writemsg_level("\n".join(msg), noiselevel=-1, level=logging.DEBUG) + if insignificant: + return None + return pkg if debug: