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 1QPTyZ-0003Xf-Q4 for garchives@archives.gentoo.org; Thu, 26 May 2011 06:23:20 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id E92271C513; Thu, 26 May 2011 06:18:39 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id A6EF11C512 for ; Thu, 26 May 2011 06:18:39 +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 5FA501B402D for ; Thu, 26 May 2011 06:18:39 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id C681E8001B for ; Thu, 26 May 2011 06:18:38 +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: <0a7d76f7ea98aaa041a314f607e46cc7f81ce588.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:2.1.9 commit in: pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/DepPriority.py pym/_emerge/DepPrioritySatisfiedRange.py pym/_emerge/depgraph.py X-VCS-Directories: pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 0a7d76f7ea98aaa041a314f607e46cc7f81ce588 Date: Thu, 26 May 2011 06:18:38 +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: b5bd9eadc7cd67a498775f477f0ce15c commit: 0a7d76f7ea98aaa041a314f607e46cc7f81ce588 Author: Zac Medico gentoo org> AuthorDate: Sun May 22 00:46:11 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Thu May 26 03:51:11 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D0a7d76f7 DepPriority: remove "rebuild" attribute Since the addition of DepPriorityNormalRange and DepPrioritySatisfiedRange in commit bd369956b2a2fbc019a655a372628998499156c0, which solves most cases of bug 199856, the Depriority.rebuild attribute doesn't appear to make any difference. The edges that this attribute differentiates are already naturally differentiated by the fact that the child node of a satisfied buildtime dependency that's not being rebuilt will naturally be identified as a leaf node earlier and removed from the graph, thereby eliminating the edge before there's an opportunity to compare it with a higher priority rebuild edge. The addition of the "optional" attribute (in commit 15476805a156acd11fdaaa19212691e8ee09b309) also plays a role here, since it converts some satisfied buildtime edges to optional edges, thereby reducing their priority. --- pym/_emerge/DepPriority.py | 2 +- pym/_emerge/DepPrioritySatisfiedRange.py | 31 +++++++-----------------= ----- pym/_emerge/depgraph.py | 12 ----------- 3 files changed, 9 insertions(+), 36 deletions(-) diff --git a/pym/_emerge/DepPriority.py b/pym/_emerge/DepPriority.py index f99b726..91afc05 100644 --- a/pym/_emerge/DepPriority.py +++ b/pym/_emerge/DepPriority.py @@ -4,7 +4,7 @@ from _emerge.AbstractDepPriority import AbstractDepPriority class DepPriority(AbstractDepPriority): =20 - __slots__ =3D ("satisfied", "optional", "rebuild") + __slots__ =3D ("satisfied", "optional") =20 def __int__(self): """ diff --git a/pym/_emerge/DepPrioritySatisfiedRange.py b/pym/_emerge/DepPr= ioritySatisfiedRange.py index aa32d8f..7c2ea81 100644 --- a/pym/_emerge/DepPrioritySatisfiedRange.py +++ b/pym/_emerge/DepPrioritySatisfiedRange.py @@ -7,18 +7,17 @@ class DepPrioritySatisfiedRange(object): DepPriority Index Category =20 not satisfied and buildtime HARD - not satisfied and runtime 7 MEDIUM - not satisfied and runtime_post 6 MEDIUM_SOFT - satisfied and buildtime and rebuild 5 SOFT + not satisfied and runtime 6 MEDIUM + not satisfied and runtime_post 5 MEDIUM_SOFT satisfied and buildtime 4 SOFT satisfied and runtime 3 SOFT satisfied and runtime_post 2 SOFT optional 1 SOFT (none of the above) 0 NONE """ - MEDIUM =3D 7 - MEDIUM_SOFT =3D 6 - SOFT =3D 5 + MEDIUM =3D 6 + MEDIUM_SOFT =3D 5 + SOFT =3D 4 NONE =3D 0 =20 @classmethod @@ -51,21 +50,8 @@ class DepPrioritySatisfiedRange(object): def _ignore_satisfied_buildtime(cls, priority): if priority.__class__ is not DepPriority: return False - if priority.optional: - return True - if not priority.satisfied: - return False - if priority.buildtime: - return not priority.rebuild - return True - - @classmethod - def _ignore_satisfied_buildtime_rebuild(cls, priority): - if priority.__class__ is not DepPriority: - return False - if priority.optional: - return True - return bool(priority.satisfied) + return bool(priority.optional or \ + priority.satisfied) =20 @classmethod def _ignore_runtime_post(cls, priority): @@ -84,7 +70,7 @@ class DepPrioritySatisfiedRange(object): =20 ignore_medium =3D _ignore_runtime ignore_medium_soft =3D _ignore_runtime_post - ignore_soft =3D _ignore_satisfied_buildtime_rebuild + ignore_soft =3D _ignore_satisfied_buildtime =20 =20 DepPrioritySatisfiedRange.ignore_priority =3D ( @@ -93,7 +79,6 @@ DepPrioritySatisfiedRange.ignore_priority =3D ( DepPrioritySatisfiedRange._ignore_satisfied_runtime_post, DepPrioritySatisfiedRange._ignore_satisfied_runtime, DepPrioritySatisfiedRange._ignore_satisfied_buildtime, - DepPrioritySatisfiedRange._ignore_satisfied_buildtime_rebuild, DepPrioritySatisfiedRange._ignore_runtime_post, DepPrioritySatisfiedRange._ignore_runtime ) diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 808103c..d0409a4 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -831,18 +831,6 @@ class depgraph(object): return 0 =20 if not pkg.onlydeps: - if not pkg.installed and \ - "empty" not in self._dynamic_config.myparams and \ - vardbapi.match(pkg.slot_atom): - # Increase the priority of dependencies on packages that - # are being rebuilt. This optimizes merge order so that - # dependencies are rebuilt/updated as soon as possible, - # which is needed especially when emerge is called by - # revdep-rebuild since dependencies may be affected by ABI - # breakage that has rendered them useless. Don't adjust - # priority here when in "empty" mode since all packages - # are being merged in that case. - priority.rebuild =3D True =20 existing_node, existing_node_matches =3D \ self._check_slot_conflict(pkg, dep.atom)