--- pym/portage.py.orig 2005-01-30 07:17:42.000000000 +0100 +++ pym/portage.py 2005-01-30 08:56:06.331668944 +0100 @@ -5023,6 +5023,8 @@ self.auxdb = {} self.auxdbmodule = self.mysettings.load_best_module("portdbapi.auxdbmodule") + self.recacheupd = {} + #if the portdbapi is "frozen", then we assume that we can cache everything (that no updates to it are happening) self.xcache={} self.frozen=0 @@ -5192,6 +5194,16 @@ else: doregen=1 + if not doregen \ + and "RESTRICT" in self.auxdb[mylocation][cat][pkg] \ + and "recache" in self.auxdb[mylocation][cat][pkg]["RESTRICT"].split(): + if cat not in self.recacheupd: + self.recacheupd[cat]=[] + if pkg not in self.recacheupd[cat]: + self.recacheupd[cat].append(pkg) + doregen=1 + writemsg("Forcing cache entry regeneration because of RESTRICT=recache in "+str(pkg)+"\n", 1) + if doregen or not self.eclassdb.is_current(mylocation,cat,pkg,self.auxdb[mylocation][cat][pkg]["INHERITED"].split()): writemsg("doregen: %s %s\n" % (doregen,mycpv), 2) writemsg("Generating cache entry(0) for: "+str(myebuild)+"\n",1)