--- /usr/bin/emerge 2004-04-08 16:53:30.000000000 -0700 +++ ./emerge 2004-04-08 17:23:39.513667648 -0700 @@ -130,6 +130,7 @@ shortmapping={ myaction=None myopts=[] myfiles=[] +ignorance=[] edebug=0 # process short actions and options @@ -194,9 +195,15 @@ for x in cmdline: 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." @@ -690,7 +697,7 @@ def genericdict(mylist): olddbapi=None class depgraph: - def __init__(self,myaction,myopts): + def __init__(self,myaction,myopts,ignorance): global olddbapi self.pkgsettings = portage.config(clone=portage.settings) if not self.pkgsettings["ARCH"]: @@ -698,7 +705,8 @@ class depgraph: portage.writemsg(red("\a!!! Is the symlink correct? Is your portage tree complete?\n\n")) sys.exit(9) self.applied_useflags = {} - + self.ignorance=[] + self.ignorance=ignorance self.missingbins=[] self.myaction=myaction self.digraph=portage.digraph() @@ -1103,7 +1111,8 @@ class depgraph: 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) @@ -2391,7 +2400,7 @@ elif "depclean"==myaction: countdown(10, ">>> Depclean") emergelog(" >>> depclean") - mydepgraph=depgraph(myaction,myopts) + mydepgraph=depgraph(myaction,myopts,[]) syslist=getlist("system") worldlist=getlist("world") @@ -2502,7 +2511,7 @@ else: if myopt not in myresumeopts: myresumeopts.append(myopt) myopts=myresumeopts - mydepgraph=depgraph("resume",myopts) + mydepgraph=depgraph("resume",myopts,[]) if "--resume" not in myopts: myopts+=["--resume"] else: @@ -2511,7 +2520,7 @@ else: 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):