public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/portage:repoman commit in: pym/_emerge/
@ 2017-06-27 20:06 Brian Dolbec
  0 siblings, 0 replies; 2+ messages in thread
From: Brian Dolbec @ 2017-06-27 20:06 UTC (permalink / raw
  To: gentoo-commits

commit:     2366c903bab8f44463106e878f4e0c1ba81f42f8
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 19 04:17:50 2017 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Thu Apr 20 19:39:00 2017 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=2366c903

depgraph._in_blocker_conflict: call _validate_blockers if needed (bug 615982)

Sometimes _complete_graph calls _slot_operator_update_probe, which
sometimes calls _in_blocker_conflict. This case occurs infrequently,
so call _validate_blockers only if needed.

Fixes: a83bb83909c5 ("depgraph: trigger slot operator rebuilds via _complete_graph (bug 614390)")
X-Gentoo-bug: 615982
X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=615982
Acked-by: Brian Dolbec <dolsen <AT> gentoo.org>

 pym/_emerge/depgraph.py | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 3232816d5..e1119af3c 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2176,9 +2176,9 @@ class depgraph(object):
 		only works after the _validate_blockers method has been called.
 		"""
 
-		if self._dynamic_config._blocked_pkgs is None:
-			raise AssertionError(
-				'_in_blocker_conflict called before _validate_blockers')
+		if (self._dynamic_config._blocked_pkgs is None
+			and not self._validate_blockers()):
+			raise self._unknown_internal_error()
 
 		if pkg in self._dynamic_config._blocked_pkgs:
 			return True
@@ -6728,7 +6728,14 @@ class depgraph(object):
 		packages within the graph.  If necessary, create hard deps to ensure
 		correct merge order such that mutually blocking packages are never
 		installed simultaneously. Also add runtime blockers from all installed
-		packages if any of them haven't been added already (bug 128809)."""
+		packages if any of them haven't been added already (bug 128809).
+
+		Normally, this method is called only after the graph is complete, and
+		after _solve_non_slot_operator_slot_conflicts has had an opportunity
+		to solve slot conflicts (possibly removing some blockers). It can also
+		be called earlier, in order to get a preview of the blocker data, but
+		then it needs to be called again after the graph is complete.
+		"""
 
 		# The _in_blocker_conflict method needs to assert that this method
 		# has been called before it, by checking that it is not None.


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] proj/portage:repoman commit in: pym/_emerge/
@ 2017-06-27 20:06 Brian Dolbec
  0 siblings, 0 replies; 2+ messages in thread
From: Brian Dolbec @ 2017-06-27 20:06 UTC (permalink / raw
  To: gentoo-commits

commit:     0f9bc8659094fe6a100a64e51cc9d51e95c5d659
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sun May 28 10:03:34 2017 +0000
Commit:     Brian Dolbec <dolsen <AT> gentoo <DOT> org>
CommitDate: Tue May 30 07:21:05 2017 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=0f9bc865

depgraph: account for binpkg-multi-instance in unused warning (bug 619620)

With FEATURES=binpkg-multi-instance, it is normal to have some
unused binary packages, so don't warn if the selected package
is the latest version and the most recent build.

X-Gentoo-bug: 619620
X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=619620
Acked-by: Brian Dolbec <dolsen <AT> gentoo.org>

 pym/_emerge/depgraph.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 726835dd4..2dc432431 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -876,6 +876,15 @@ class depgraph(object):
 					self._dynamic_config.ignored_binaries.pop(pkg)
 					break
 
+				# NOTE: The Package.__ge__ implementation accounts for
+				# differences in build_time, so the warning about "ignored"
+				# packages will be triggered if both packages are the same
+				# version and selected_pkg is not the most recent build.
+				if (selected_pkg.type_name == "binary" and
+					selected_pkg >= pkg):
+					self._dynamic_config.ignored_binaries.pop(pkg)
+					break
+
 				if selected_pkg.installed and \
 					selected_pkg.cpv == pkg.cpv and \
 					selected_pkg.build_time == pkg.build_time:


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-06-27 20:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-27 20:06 [gentoo-commits] proj/portage:repoman commit in: pym/_emerge/ Brian Dolbec
  -- strict thread matches above, loose matches on Subject: below --
2017-06-27 20:06 Brian Dolbec

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox