--- /usr/lib/python2.2/site-packages/portage.py.old 2003-05-04 20:50:41.000000000 -0700 +++ /usr/lib/python2.2/site-packages/portage.py.old 2003-05-04 21:17:52.000000000 -0700 @@ -3234,7 +3234,7 @@ self.xcache={} self.frozen=0 #oroot="overlay root" - self.oroot=None + self.oroot=[] def findname(self,mycpv): "returns file location for this particular package" @@ -3247,8 +3247,8 @@ sys.exit(1) psplit=pkgsplit(mysplit[1]) - if self.oroot: - myloc=self.oroot+"/"+mysplit[0]+"/"+psplit[0]+"/"+mysplit[1]+".ebuild" + for od in self.oroot: + myloc=od+"/"+mysplit[0]+"/"+psplit[0]+"/"+mysplit[1]+".ebuild" try: os.stat(myloc) return myloc @@ -3488,8 +3488,8 @@ if y=="CVS": continue biglist.append(x+"/"+y) - if self.oroot: - for y in listdir(self.oroot+"/"+x,EmptyOnError=1): + for od in self.oroot: + for y in listdir(od+"/"+x,EmptyOnError=1): if y=="CVS": continue mykey=x+"/"+y @@ -3502,8 +3502,8 @@ for x in listdir(self.root+"/"+mycp,EmptyOnError=1): if x[-7:]==".ebuild": returnme.append(x[:-7]) - if self.oroot: - for x in listdir(self.oroot+"/"+mycp,EmptyOnError=1): + for od in self.oroot: + for x in listdir(od+"/"+mycp,EmptyOnError=1): if x[-7:]==".ebuild": mye=x[:-7] if not mye in returnme: @@ -3518,8 +3518,8 @@ for x in list: if x[-7:]==".ebuild": returnme.append(mysplit[0]+"/"+x[:-7]) - if self.oroot: - list=listdir(self.oroot+"/"+mycp,EmptyOnError=1) + for od in self.oroot: + list=listdir(od+"/"+mycp,EmptyOnError=1) if list: for x in list: if x[-7:]==".ebuild": @@ -4815,12 +4815,15 @@ #the new standardized db names: portdb=portdbapi() if settings["PORTDIR_OVERLAY"]: - if os.path.isdir(settings["PORTDIR_OVERLAY"]): - portdb.oroot=settings["PORTDIR_OVERLAY"] - else: - sys.stderr.write("!!! PORTDIR_OVERLAY points to "+settings["PORTDIR_OVERLAY"]+"\n") - sys.stderr.write("!!! which isn't a directory... Exiting.\n") - sys.exit(1) + #grab all overlay dirs + overlaylist=string.split(settings["PORTDIR_OVERLAY"], ":") + for od in overlaylist: + if os.path.isdir(od): + portdb.oroot.append(od) + else: + sys.stderr.write("!!! PORTDIR_OVERLAY points to "+od+"\n") + sys.stderr.write("!!! which isn't a directory... Exiting.\n") + sys.exit(1) def portageexit(): global uid,portage_gid