--- /usr/bin/emerge 2004-01-31 14:21:20.202319096 -0800 +++ ./emergeworking 2004-01-31 14:33:47.824663224 -0800 @@ -89,6 +89,7 @@ myaction=None myopts=[] myfiles=[] +ignorance=[] edebug=0 # process short actions and options @@ -153,9 +154,15 @@ myaction=x elif x[-1]=="/": # this little conditional helps tab completion - myfiles.append(x[:-1]) + if x[0]=="^": + ignorance.append(portage.dep_expand(x[1:-1],portage.portdb)) + else: + myfiles.append(x[:-1]) else: - myfiles.append(x) + if x[0]=="^": + ignorance.append(portage.dep_expand(x[1:],portage.portdb)) + else: + myfiles.append(x) if (myaction in ["world", "system"]) and myfiles: print "emerge: please specify a package class (\"world\" or \"system\") or individual packages, but not both." @@ -635,11 +642,12 @@ olddbapi=None class depgraph: - def __init__(self,myaction,myopts): + def __init__(self,myaction,myopts,ignorance): global olddbapi self.pkgsettings = portage.config(clone=portage.settings) self.applied_useflags = {} - + self.ignorance=[] + self.ignorance=ignorance self.missingbins=[] self.myaction=myaction self.digraph=portage.digraph() @@ -1037,7 +1045,8 @@ print "\n*** Package in world file is not installed: "+x mylist=[] for x in sysdict.keys(): - mylist.append(sysdict[x]) + if not self.ignorance.__contains__(sysdict[x]): + mylist.append(sysdict[x]) for mydep in mylist: myeb=portage.portdb.xmatch("bestmatch-visible",mydep) @@ -2360,7 +2369,7 @@ print darkgreen("emerge: It seems we have nothing to resume...") sys.exit(0) - mydepgraph=depgraph(myaction,myopts) + mydepgraph=depgraph(myaction,myopts,ignorance) if myaction in ["system","world"]: print "Calculating",myaction,"dependencies ", if not mydepgraph.xcreate(myaction):