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 1QOIOm-0005HD-UR for garchives@archives.gentoo.org; Sun, 22 May 2011 23:49:29 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D329EE02CE; Sun, 22 May 2011 23:49:21 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 85EEBE02CE for ; Sun, 22 May 2011 23:49:21 +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 DE5691B401D for ; Sun, 22 May 2011 23:49:20 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id EDCE080506 for ; Sun, 22 May 2011 23:49:19 +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: <6e6b9c5928e175af42615542866fc9b3aef694e6.zmedico@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/tests/resolver/, pym/_emerge/ X-VCS-Repository: proj/portage X-VCS-Files: pym/_emerge/depgraph.py pym/portage/tests/resolver/test_merge_order.py X-VCS-Directories: pym/portage/tests/resolver/ pym/_emerge/ X-VCS-Committer: zmedico X-VCS-Committer-Name: Zac Medico X-VCS-Revision: 6e6b9c5928e175af42615542866fc9b3aef694e6 Date: Sun, 22 May 2011 23:49:19 +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: ae008aef37ab9708d58dd1a82d6ca726 commit: 6e6b9c5928e175af42615542866fc9b3aef694e6 Author: Zac Medico gentoo org> AuthorDate: Sun May 22 23:48:42 2011 +0000 Commit: Zac Medico gentoo org> CommitDate: Sun May 22 23:48:42 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/portage.git;a= =3Dcommit;h=3D6e6b9c59 _add_pkg_dep_string: handle satisfied virt_dep This fixes a problem with the asap LIBC_PACKAGE_ATOM test case for bug #303567. --- pym/_emerge/depgraph.py | 14 ++++++++++++++ pym/portage/tests/resolver/test_merge_order.py | 10 +++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index caf150a..37fdeed 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -1571,6 +1571,20 @@ class depgraph(object): =20 if not dep_priority.ignored or \ self._dynamic_config._traverse_ignored_deps: + + inst_pkgs =3D [inst_pkg for inst_pkg in vardb.match_pkgs(virt_dep.at= om) + if not reinstall_atoms.findAtomForPackage(inst_pkg, + modified_use=3Dself._pkg_use_enabled(inst_pkg))] + if inst_pkgs: + for inst_pkg in inst_pkgs: + if self._pkg_visibility_check(inst_pkg): + # highest visible + virt_dep.priority.satisfied =3D inst_pkg + break + if not virt_dep.priority.satisfied: + # none visible, so use highest + virt_dep.priority.satisfied =3D inst_pkgs[0] + if not self._add_pkg(virt_pkg, virt_dep): return 0 =20 diff --git a/pym/portage/tests/resolver/test_merge_order.py b/pym/portage= /tests/resolver/test_merge_order.py index 1b7cddd..ee3c786 100644 --- a/pym/portage/tests/resolver/test_merge_order.py +++ b/pym/portage/tests/resolver/test_merge_order.py @@ -127,18 +127,22 @@ class MergeOrderTestCase(TestCase): }, "sys-libs/glibc-2.11" : { "DEPEND" : "virtual/os-headers", + "RDEPEND": "", }, "sys-libs/glibc-2.13" : { "DEPEND" : "virtual/os-headers", + "RDEPEND": "", }, "virtual/os-headers-0" : { "RDEPEND" : "sys-kernel/linux-headers", }, "sys-kernel/linux-headers-2.6.38": { "DEPEND" : "app-arch/xz-utils", + "RDEPEND": "", }, "sys-kernel/linux-headers-2.6.39": { "DEPEND" : "app-arch/xz-utils", + "RDEPEND": "", }, "app-arch/xz-utils-5.0.1" : {}, "app-arch/xz-utils-5.0.2" : {}, @@ -182,12 +186,14 @@ class MergeOrderTestCase(TestCase): }, "sys-libs/glibc-2.11" : { "DEPEND" : "virtual/os-headers", + "RDEPEND": "", }, "virtual/os-headers-0" : { "RDEPEND" : "sys-kernel/linux-headers", }, "sys-kernel/linux-headers-2.6.38": { "DEPEND" : "app-arch/xz-utils", + "RDEPEND": "", }, "app-arch/xz-utils-5.0.1" : {}, } @@ -321,14 +327,12 @@ class MergeOrderTestCase(TestCase): # Test that OS_HEADERS_PACKAGE_ATOM and LIBC_PACKAGE_ATOM # are merged asap, in order to account for implicit # dependencies. See bug #303567. - # TODO: optimize this to ensure that glibc comes before xz-utils ResolverPlaygroundTestCase( ["app-arch/xz-utils", "sys-kernel/linux-headers", "sys-libs/glibc"], options =3D {"--complete-graph" : True}, success =3D True, all_permutations =3D True, - ambiguous_merge_order =3D True, - mergelist =3D ['sys-kernel/linux-headers-2.6.39', ('app-arch/xz-util= s-5.0.2', 'sys-libs/glibc-2.13')]), + mergelist =3D ['sys-kernel/linux-headers-2.6.39', 'sys-libs/glibc-2.= 13', 'app-arch/xz-utils-5.0.2']), ) =20 playground =3D ResolverPlayground(ebuilds=3Debuilds, installed=3Dinsta= lled)