Lines 843-848
Link Here
|
843 |
self.locked = 0 |
843 |
self.locked = 0 |
844 |
self.mycpv = None |
844 |
self.mycpv = None |
845 |
self.puse = [] |
845 |
self.puse = [] |
|
|
846 |
self.penv = [] |
846 |
self.modifiedkeys = [] |
847 |
self.modifiedkeys = [] |
847 |
|
848 |
|
848 |
self.virtuals = {} |
849 |
self.virtuals = {} |
Lines 888-893
Link Here
|
888 |
"env": self.configlist[6] } |
889 |
"env": self.configlist[6] } |
889 |
self.profiles = copy.deepcopy(clone.profiles) |
890 |
self.profiles = copy.deepcopy(clone.profiles) |
890 |
self.backupenv = copy.deepcopy(clone.backupenv) |
891 |
self.backupenv = copy.deepcopy(clone.backupenv) |
|
|
892 |
self.penvdict = copy.deepcopy(clone.penvdict) |
891 |
self.pusedict = copy.deepcopy(clone.pusedict) |
893 |
self.pusedict = copy.deepcopy(clone.pusedict) |
892 |
self.categories = copy.deepcopy(clone.categories) |
894 |
self.categories = copy.deepcopy(clone.categories) |
893 |
self.pkeywordsdict = copy.deepcopy(clone.pkeywordsdict) |
895 |
self.pkeywordsdict = copy.deepcopy(clone.pkeywordsdict) |
Lines 1054-1059
Link Here
|
1054 |
if os.environ.get("PORTAGE_CALLER","") == "repoman": |
1056 |
if os.environ.get("PORTAGE_CALLER","") == "repoman": |
1055 |
# repoman shouldn't use local settings. |
1057 |
# repoman shouldn't use local settings. |
1056 |
locations = [self["PORTDIR"] + "/profiles"] |
1058 |
locations = [self["PORTDIR"] + "/profiles"] |
|
|
1059 |
self.penvdict = {} |
1057 |
self.pusedict = {} |
1060 |
self.pusedict = {} |
1058 |
self.pkeywordsdict = {} |
1061 |
self.pkeywordsdict = {} |
1059 |
self.punmaskdict = {} |
1062 |
self.punmaskdict = {} |
Lines 1064-1069
Link Here
|
1064 |
if os.path.isdir(ov+"/profiles"): |
1067 |
if os.path.isdir(ov+"/profiles"): |
1065 |
locations.append(ov+"/profiles") |
1068 |
locations.append(ov+"/profiles") |
1066 |
|
1069 |
|
|
|
1070 |
#package.env |
1071 |
penvdict=grabdict_package(USER_CONFIG_PATH+"/package.env") |
1072 |
self.penvdict = {} |
1073 |
for key in penvdict.keys(): |
1074 |
cp = dep_getkey(key) |
1075 |
if not self.penvdict.has_key(cp): |
1076 |
self.penvdict[cp] = {} |
1077 |
self.penvdict[cp][key] = penvdict[key] |
1078 |
|
1067 |
pusedict=grabdict_package(USER_CONFIG_PATH+"/package.use") |
1079 |
pusedict=grabdict_package(USER_CONFIG_PATH+"/package.use") |
1068 |
self.pusedict = {} |
1080 |
self.pusedict = {} |
1069 |
for key in pusedict.keys(): |
1081 |
for key in pusedict.keys(): |
Lines 1223-1228
Link Here
|
1223 |
|
1235 |
|
1224 |
if mycpv: |
1236 |
if mycpv: |
1225 |
self.setcpv(mycpv) |
1237 |
self.setcpv(mycpv) |
|
|
1238 |
self.setenv(mycpv) |
1226 |
|
1239 |
|
1227 |
def loadVirtuals(self,root): |
1240 |
def loadVirtuals(self,root): |
1228 |
self.virtuals = self.getvirtuals(root) |
1241 |
self.virtuals = self.getvirtuals(root) |
Lines 1258-1263
Link Here
|
1258 |
self.modifiedkeys = [] |
1271 |
self.modifiedkeys = [] |
1259 |
if not keeping_pkg: |
1272 |
if not keeping_pkg: |
1260 |
self.puse = "" |
1273 |
self.puse = "" |
|
|
1274 |
self.penv = "" |
1261 |
self.configdict["pkg"].clear() |
1275 |
self.configdict["pkg"].clear() |
1262 |
self.regenerate(use_cache=use_cache) |
1276 |
self.regenerate(use_cache=use_cache) |
1263 |
|
1277 |
|
Lines 1291-1296
Link Here
|
1291 |
return 1 |
1305 |
return 1 |
1292 |
return 0 |
1306 |
return 0 |
1293 |
|
1307 |
|
|
|
1308 |
def setenv(self,mycpv,use_cache=1): |
1309 |
# self.modifying() |
1310 |
cp = dep_getkey(mycpv) |
1311 |
newpenv = "" |
1312 |
if self.penvdict.has_key(cp): |
1313 |
self.pusekey = best_match_to_list(self.mycpv, self.penvdict[cp].keys()) |
1314 |
if self.pusekey: |
1315 |
newpenv = string.join(self.penvdict[cp][self.pusekey]) |
1316 |
if self.penv == newpenv: |
1317 |
return |
1318 |
self.penv = newpenv |
1319 |
self.configdict["pkg"]["ENV"] = self.penv[:] |
1320 |
self["PACKAGE_ENV"] = USER_CONFIG_PATH + "/env/" + self.configdict["pkg"]["ENV"] |
1321 |
if os.path.exists(self["PACKAGE_ENV"]): |
1322 |
penvconfig = getconfig(self["PACKAGE_ENV"]) |
1323 |
if penvconfig == None: |
1324 |
writemsg("!!! Parsing error in "+self["PACKAGE_ENV"]+"\n") |
1325 |
else: |
1326 |
for penv in penvconfig.keys(): |
1327 |
if not self.has_key(penv): |
1328 |
self[penv] = penvconfig[penv] |
1329 |
self.regenerate() |
1330 |
# self.reset(keeping_pkg=2,use_cache=use_cache) |
1331 |
|
1294 |
def setcpv(self,mycpv,use_cache=1): |
1332 |
def setcpv(self,mycpv,use_cache=1): |
1295 |
self.modifying() |
1333 |
self.modifying() |
1296 |
self.mycpv = mycpv |
1334 |
self.mycpv = mycpv |
Lines 2379-2384
Link Here
|
2379 |
# XXX: that creates a deadlock... Really need to isolate that. |
2417 |
# XXX: that creates a deadlock... Really need to isolate that. |
2380 |
mysettings.reset(use_cache=use_cache) |
2418 |
mysettings.reset(use_cache=use_cache) |
2381 |
mysettings.setcpv(mycpv,use_cache=use_cache) |
2419 |
mysettings.setcpv(mycpv,use_cache=use_cache) |
|
|
2420 |
mysettings.setenv(mycpv,use_cache=use_cache) |
2382 |
|
2421 |
|
2383 |
validcommands = ["help","clean","prerm","postrm","preinst","postinst", |
2422 |
validcommands = ["help","clean","prerm","postrm","preinst","postinst", |
2384 |
"config","setup","depend","fetch","digest", |
2423 |
"config","setup","depend","fetch","digest", |