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

Collapse All | Expand All

(-)/tmp/portage.py.orig (-4 / +34 lines)
Lines 887-893 Link Here
887
		self.regenerate()
887
		self.regenerate()
888
	
888
	
889
	def regenerate(self,useonly=0):
889
	def regenerate(self,useonly=0):
890
		global incrementals,usesplit,profiledir
890
		global incrementals,usesplit,pkgusesplit,profiledir
891
		if useonly:
891
		if useonly:
892
			myincrementals=["USE"]
892
			myincrementals=["USE"]
893
		else:
893
		else:
Lines 942-947 Link Here
942
						usesplit.insert(0,self.configdict["defaults"]["ARCH"])
942
						usesplit.insert(0,self.configdict["defaults"]["ARCH"])
943
						self.configlist[-1]["USE"]=string.join(usesplit," ")
943
						self.configlist[-1]["USE"]=string.join(usesplit," ")
944
	
944
	
945
		pkgusesplit={}
946
		self.configlist[-1]["PKGUSE"]=""
947
		mylines=grabdict("/etc/portage/package.use")
948
		for x in mylines:
949
			mypkgusesplit=[]
950
			for y in mylines[x]:
951
				if x=="-*" or x=="*":
952
					continue
953
				if y[0]=="-":
954
					z=y[1:]
955
				else:
956
					z="-"+y
957
				if y not in usesplit and y not in mypkgusesplit and z not in mypkgusesplit:
958
					mypkgusesplit.append(y)
959
			if mypkgusesplit:
960
				pkgusesplit[x]=mypkgusesplit
961
				self.configlist[-1]["PKGUSE"] = self.configlist[-1]["PKGUSE"]+"( "+x+" => "+string.join(mypkgusesplit," ")+" )"
962
945
	def __getitem__(self,mykey):
963
	def __getitem__(self,mykey):
946
		if mykey=="CONFIG_PROTECT_MASK":
964
		if mykey=="CONFIG_PROTECT_MASK":
947
			suffix=" /etc/env.d"
965
			suffix=" /etc/env.d"
Lines 2507-2521 Link Here
2507
		mydep=mydep[1:]
2525
		mydep=mydep[1:]
2508
	return prefix+cpv_expand(mydep,mydb)+postfix
2526
	return prefix+cpv_expand(mydep,mydb)+postfix
2509
2527
2510
def dep_check(depstring,mydbapi,use="yes",mode=None):
2528
def dep_check(depstring,mydbapi,use="yes",mode=None,parent=None):
2511
	"""Takes a depend string and parses the condition."""
2529
	"""Takes a depend string and parses the condition."""
2512
	global usesplit
2530
	global usesplit,pkgusesplit
2513
	if use=="all":
2531
	if use=="all":
2514
		#enable everything (for repoman)
2532
		#enable everything (for repoman)
2515
		myusesplit=["*"]
2533
		myusesplit=["*"]
2516
	elif use=="yes":
2534
	elif use=="yes":
2517
		#default behavior
2535
		#default behavior
2518
		myusesplit=usesplit
2536
		myusesplit=usesplit[:]
2537
		if parent and (pkgusesplit!={}):
2538
			myparent=pkgsplit(parent.split()[2])[0]
2539
			if pkgusesplit.has_key(myparent):
2540
				for x in pkgusesplit[myparent]:
2541
					if x[0]=="-":
2542
						y=x[1:]
2543
					else:
2544
						y="-"+x
2545
					if y in myusesplit:
2546
						myusesplit.remove(y)
2547
					if x not in myusesplit:
2548
						myusesplit.append(x)
2519
	else:
2549
	else:
2520
		#we are being run by autouse(), don't consult USE vars yet.
2550
		#we are being run by autouse(), don't consult USE vars yet.
2521
		myusesplit=[]
2551
		myusesplit=[]

Return to bug 13616