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

Collapse All | Expand All

(-)bin/repoman.0 (-34 / +12 lines)
Lines 26-31 Link Here
26
import portage_checksum
26
import portage_checksum
27
import portage_const
27
import portage_const
28
import portage_dep
28
import portage_dep
29
import portage_use_desc
29
import cvstree
30
import cvstree
30
import time
31
import time
31
import codecs
32
import codecs
Lines 489-520 Link Here
489
else:
490
else:
490
	print green("RepoMan scours the neighborhood...")
491
	print green("RepoMan scours the neighborhood...")
491
492
492
# retreive local USE list
493
# get a use_desc object for local/global USE flags checking
493
luselist={}
494
try:
494
try:
495
	mylist=portage.grabfile(portdir+"/profiles/use.local.desc")
495
	use_desc=portage_use_desc.use_desc(portdir)
496
	for mypos in range(0,len(mylist)):
497
		mysplit=mylist[mypos].split()[0]
498
		myuse=string.split(mysplit,":")
499
		if len(myuse)==2:
500
			if not luselist.has_key(myuse[0]):
501
				luselist[myuse[0]] = []
502
			luselist[myuse[0]].append(myuse[1])
503
except SystemExit, e:
496
except SystemExit, e:
504
	raise  # Need to propogate this
497
	raise  # Need to propogate this
505
except:
498
except:
506
	err("Couldn't read from use.local.desc")
499
	err("Couldn't read USE flags from use.[local.]desc")
507
508
# setup a uselist from portage
509
uselist=[]
510
try:
511
	uselist=portage.grabfile(portdir+"/profiles/use.desc")
512
	for l in range(0,len(uselist)):
513
		uselist[l]=string.split(uselist[l])[0]
514
except SystemExit, e:
515
	raise  # Need to propogate this
516
except:
517
	err("Couldn't read USE flags from use.desc")
518
500
519
# retrieve a list of current licenses in portage
501
# retrieve a list of current licenses in portage
520
liclist=portage.listdir(portdir+"/licenses")
502
liclist=portage.listdir(portdir+"/licenses")
Lines 1058-1077 Link Here
1058
		if not os.system("egrep '^[^#]*\([^)]*\<die\>' "+checkdir+"/"+y+".ebuild >/dev/null 2>&1"):
1040
		if not os.system("egrep '^[^#]*\([^)]*\<die\>' "+checkdir+"/"+y+".ebuild >/dev/null 2>&1"):
1059
			stats["ebuild.nesteddie"]=stats["ebuild.nesteddie"]+1
1041
			stats["ebuild.nesteddie"]=stats["ebuild.nesteddie"]+1
1060
			fails["ebuild.nesteddie"].append(x+"/"+y+".ebuild")
1042
			fails["ebuild.nesteddie"].append(x+"/"+y+".ebuild")
1061
		# uselist checks - global
1043
1044
		# check IUSE flags against use[.local].desc
1062
		myuse = myaux["IUSE"].split()
1045
		myuse = myaux["IUSE"].split()
1063
		for mypos in range(len(myuse)-1,-1,-1):
1064
			if myuse[mypos] and (myuse[mypos] in uselist):
1065
				del myuse[mypos]
1066
		# uselist checks - local
1067
		mykey = portage.dep_getkey(catpkg)
1046
		mykey = portage.dep_getkey(catpkg)
1068
		if luselist.has_key(mykey):
1047
		for myflag in myuse:
1069
			for mypos in range(len(myuse)-1,-1,-1):
1048
			if myflag not in use_desc.desc \
1070
				if myuse[mypos] and (myuse[mypos] in luselist[mykey]):
1049
			   and (mykey not in use_desc.local_desc \
1071
					del myuse[mypos]
1050
			        or myflag not in use_desc.local_desc[mykey]):
1072
		for mypos in range(len(myuse)):
1051
				stats["IUSE.invalid"]=stats["IUSE.invalid"]+1
1073
			stats["IUSE.invalid"]=stats["IUSE.invalid"]+1
1052
				fails["IUSE.invalid"].append(x+"/"+y+".ebuild: %s" % myflag)
1074
			fails["IUSE.invalid"].append(x+"/"+y+".ebuild: %s" % myuse[mypos])	
1075
1053
1076
		# license checks
1054
		# license checks
1077
		if not badlicsyntax:
1055
		if not badlicsyntax:

Return to bug 84884