--- portage.py.orig 2004-01-01 17:08:16.000000000 -0500 +++ portage.py 2004-01-01 17:05:42.000000000 -0500 @@ -3677,6 +3677,13 @@ self.frozen=0 #overlays="overlay roots" self.overlays=[] + self.local_keywords = {} # {'cat/pkg-version': 'keywords'} + if os.path.exists('/etc/local_keywords'): + f = open('/etc/local_keywords', 'r') + for line in f.readlines(): + cpv, keywords = line.split(None, 1) + self.local_keywords[cpv.strip()] = keywords.strip() + f.close() def finddigest(self,mycpv): try: @@ -3972,7 +3979,9 @@ #finally, we look at our internal cache entry and return the requested data. returnme=[] for x in mylist: - if self.auxcache[cat][pkg].has_key(x): + if x == 'KEYWORDS' and self.local_keywords.has_key(mycpv): + returnme.append(self.local_keywords[mycpv]) + elif self.auxcache[cat][pkg].has_key(x): returnme.append(self.auxcache[cat][pkg][x]) else: returnme.append("")