From f74cdc93a623f02936a5b3f94d016f874ceb350f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 13 Dec 2007 01:24:08 +0000 Subject: Bug #202036 - In case of blockers, bail out earlier so that later code can assume there are no blockers. (trunk r8889) svn path=/main/branches/2.1.2/; revision=8890 --- bin/emerge | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) (limited to 'bin') diff --git a/bin/emerge b/bin/emerge index 0c29b187b..aee37cea5 100755 --- a/bin/emerge +++ b/bin/emerge @@ -3689,19 +3689,6 @@ class MergeTask(object): ldpath_mtimes = mtimedb["ldpath"] xterm_titles = "notitles" not in self.settings.features - #check for blocking dependencies - if "--fetchonly" not in self.myopts and \ - "--fetch-all-uri" not in self.myopts and \ - "--buildpkgonly" not in self.myopts: - for x in mylist: - if x[0]=="blocks": - print "\n!!! Error: the "+x[2]+" package conflicts with another package;" - print "!!! the two packages cannot be installed on the same system together." - print "!!! Please use 'emerge --pretend' to determine blockers." - if "--quiet" not in self.myopts: - show_blocker_docs_link() - return 1 - if "--resume" in self.myopts: # We're resuming. print colorize("GOOD", "*** Resuming merge...") @@ -6043,13 +6030,27 @@ def action_build(settings, trees, mtimedb, ("--pretend" in myopts), mydbapi=trees[pkgline[1]]["porttree"].dbapi, tree="porttree") - if "--fetchonly" in myopts or "--fetch-all-uri" in myopts: - pkglist = [] - for pkg in mydepgraph.altlist(): - if pkg[0] != "blocks": - pkglist.append(pkg) + + pkglist = mydepgraph.altlist() + + if fetchonly or "--buildpkgonly" in myopts: + pkglist = [pkg for pkg in pkglist if pkg[0] != "blocks"] else: - pkglist = mydepgraph.altlist() + for x in pkglist: + if x[0] != "blocks": + continue + msg = "Error: the " + x[2] + " package conflicts " + \ + "with another package; the two packages cannot " + \ + "be installed on the same system together. " + \ + "Please use 'emerge --pretend' to determine blockers." + prefix = red(" * ") + from textwrap import wrap + for line in wrap(msg, 70): + print prefix + line + if "--quiet" not in myopts: + show_blocker_docs_link() + return 1 + if favorites: mydepgraph.saveNomergeFavorites() del mydepgraph -- cgit v1.2.3-1-g7c22