diff options
-rwxr-xr-x | bin/emerge | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/bin/emerge b/bin/emerge index 8e070a51a..a99b3add2 100755 --- a/bin/emerge +++ b/bin/emerge @@ -3128,7 +3128,7 @@ else: if x[3]!="nomerge": mergecount+=1 #check for blocking dependencies - if x[0]=="blocks": + if x[0]=="blocks" and "--fetchonly" not in myopts and "--fetch-all-uri" not in myopts: print "\n!!! Error: The above package list contains packages which cannot be installed" print "!!! on the same system." print @@ -3179,7 +3179,14 @@ else: y=portage.portdb.findname(pkgline[2]) tmpsettings = portage.config(clone=portage.settings) retval=portage.doebuild(y,"digest",portage.root,tmpsettings,edebug,("--pretend" in myopts)) - mydepgraph.merge(mydepgraph.altlist()) + if "--fetchonly" in myopts or "--fetch-all-uri" in myopts: + pkglist = [] + for pkg in mydepgraph.altlist(): + if pkg[0] != "blocks": + pkglist.append(pkg) + else: + pkglist = mydepgraph.altlist() + mydepgraph.merge(pkglist) if portage.mtimedb.has_key("resume"): del portage.mtimedb["resume"] |