From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 105FB1382C5 for ; Fri, 30 Mar 2018 03:50:16 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0A5D6E08EC; Fri, 30 Mar 2018 03:50:15 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id D2645E08EC for ; Fri, 30 Mar 2018 03:50:14 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id ECE1F335D26 for ; Fri, 30 Mar 2018 03:50:12 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id AA95E26B for ; Fri, 30 Mar 2018 03:50:02 +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: <1522381675.c5ad40dbe8f74dcdb2b08d42240e217a8ef440e6.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: c5ad40dbe8f74dcdb2b08d42240e217a8ef440e6 X-VCS-Branch: master Date: Fri, 30 Mar 2018 03:50:02 +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: 7e9c679a-ab60-40e0-b160-cb2b37a3082c X-Archives-Hash: 061c9553cc312aca5febb38d082fb767 commit: c5ad40dbe8f74dcdb2b08d42240e217a8ef440e6 Author: Zac Medico gentoo org> AuthorDate: Fri Mar 30 03:35:24 2018 +0000 Commit: Zac Medico gentoo org> CommitDate: Fri Mar 30 03:47:55 2018 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=c5ad40db depgraph._serialize_tasks: resolve portage/repoman blockers (bug 651936) When ensuring that all runtime dependencies are installed before a new instance of portage, ignore uninstalls. This makes it possible to solve a blocker between a new version of portage and an older version of repoman, where an uninstall task for the older version of repoman appears in the runtime dependencies of the new instance of portage. Bug: https://bugs.gentoo.org/651936 pym/_emerge/depgraph.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 6af7d5714..963bf25f4 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -7671,11 +7671,13 @@ class depgraph(object): return True if node not in mergeable_nodes: return False - if node == replacement_portage and \ - mygraph.child_nodes(node, - ignore_priority=priority_range.ignore_medium_soft): - # Make sure that portage always has all of it's - # RDEPENDs installed first. + if node == replacement_portage and any( + getattr(rdep, 'operation', None) != 'uninstall' + for rdep in mygraph.child_nodes(node, + ignore_priority=priority_range.ignore_medium_soft)): + # Make sure that portage always has all of its + # RDEPENDs installed first, but ignore uninstalls + # (these occur when new portage blocks older repoman). return False selected_nodes.add(node) for child in mygraph.child_nodes(node,