--- /usr/bin/emerge 2004-01-08 22:06:20.000000000 -0800 +++ ./emerge 2004-01-31 13:51:09.254616400 -0800 @@ -81,6 +81,7 @@ myaction=None myopts=[] myfiles=[] +ignorance=[] edebug=0 # process short actions and options @@ -145,9 +146,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." @@ -599,10 +606,12 @@ olddbapi=None class depgraph: - def __init__(self,myaction,myopts): + def __init__(self,myaction,myopts,ignorance): global olddbapi self.missingbins=[] + self.ignorance=[] self.myaction=myaction + self.ignorance=ignorance self.virts=portage.getvirtuals("/") self.digraph=portage.digraph() self.orderedkeys=[] @@ -1005,7 +1014,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) @@ -2164,7 +2174,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):