Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 44796 | Differences between
and this patch

Collapse All | Expand All

(-)pym/portage.py (-1 / +34 lines)
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 1258-1263 Link Here
1258
		self.modifiedkeys = []
1270
		self.modifiedkeys = []
1259
		if not keeping_pkg:
1271
		if not keeping_pkg:
1260
			self.puse = ""
1272
			self.puse = ""
1273
			self.penv = ""
1261
			self.configdict["pkg"].clear()
1274
			self.configdict["pkg"].clear()
1262
		self.regenerate(use_cache=use_cache)
1275
		self.regenerate(use_cache=use_cache)
1263
1276
Lines 1300-1310 Link Here
1300
			self.pusekey = best_match_to_list(self.mycpv, self.pusedict[cp].keys())
1313
			self.pusekey = best_match_to_list(self.mycpv, self.pusedict[cp].keys())
1301
			if self.pusekey:
1314
			if self.pusekey:
1302
				newpuse = string.join(self.pusedict[cp][self.pusekey])
1315
				newpuse = string.join(self.pusedict[cp][self.pusekey])
1303
		if newpuse == self.puse:
1316
		newpenv = ""
1317
		if self.penvdict.has_key(cp):
1318
			self.penvkey = best_match_to_list(self.mycpv, self.penvdict[cp].keys())
1319
			if self.penvkey:
1320
				newpenv = self.penvdict[cp][self.penvkey]
1321
		if self.puse == newpuse and self.penv == newpenv:
1304
			return
1322
			return
1305
		self.puse = newpuse
1323
		self.puse = newpuse
1324
		self.penv = newpenv
1306
		self.configdict["pkg"]["PKGUSE"] = self.puse[:] # For saving to PUSE file
1325
		self.configdict["pkg"]["PKGUSE"] = self.puse[:] # For saving to PUSE file
1307
		self.configdict["pkg"]["USE"]    = self.puse[:] # this gets appended to USE
1326
		self.configdict["pkg"]["USE"]    = self.puse[:] # this gets appended to USE
1327
		for envname in self.penv:
1328
			penvfile = USER_CONFIG_PATH + "/env/" + envname
1329
			if not os.access(penvfile, os.R_OK):
1330
				writemsg("!!! Can't access package.env file %s\n" % penvfile)
1331
			else:
1332
				penvconfig = getconfig(penvfile)
1333
				if penvconfig is None:
1334
					writemsg("!!! Parsing error in %s\n" % penvfile)
1335
				else:
1336
					for penv in penvconfig.keys():
1337
						if penv in self.configdict["pkg"] and penv in INCREMENTALS:
1338
							self.configdict["pkg"][penv] += " "+penvconfig[penv]
1339
						else:
1340
							self.configdict["pkg"][penv] = penvconfig[penv]
1308
		self.reset(keeping_pkg=1,use_cache=use_cache)
1341
		self.reset(keeping_pkg=1,use_cache=use_cache)
1309
1342
1310
	def setinst(self,mycpv,mydbapi):
1343
	def setinst(self,mycpv,mydbapi):

Return to bug 44796