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.orig (-36 / +14 lines)
Lines 19-24 Link Here
19
import portage_checksum
19
import portage_checksum
20
import portage_const
20
import portage_const
21
import portage_dep
21
import portage_dep
22
import portage_use_desc
22
import cvstree
23
import cvstree
23
import time
24
import time
24
from output import *
25
from output import *
Lines 465-496 Link Here
465
else:
466
else:
466
	print green("RepoMan scours the neighborhood...")
467
	print green("RepoMan scours the neighborhood...")
467
468
468
# retreive local USE list
469
# get a use_desc object for local/global USE flags checking
469
luselist={}
470
try:
470
try:
471
	mylist=portage.grabfile(portdir+"/profiles/use.local.desc")
471
	use_desc=portage_use_desc.use_desc(portdir)
472
	for mypos in range(0,len(mylist)):
473
		mysplit=mylist[mypos].split()[0]
474
		myuse=string.split(mysplit,":")
475
		if len(myuse)==2:
476
			if not luselist.has_key(myuse[0]):
477
				luselist[myuse[0]] = []
478
			luselist[myuse[0]].append(myuse[1])
479
except SystemExit, e:
472
except SystemExit, e:
480
	raise  # Need to propogate this
473
	raise # Need to propagate this
481
except:
474
except:
482
	err("Couldn't read from use.local.desc")
475
	err("Couldn't read use.[local.]desc.")
483
484
# setup a uselist from portage
485
uselist=[]
486
try:
487
	uselist=portage.grabfile(portdir+"/profiles/use.desc")
488
	for l in range(0,len(uselist)):
489
		uselist[l]=string.split(uselist[l])[0]
490
except SystemExit, e:
491
	raise  # Need to propogate this
492
except:
493
	err("Couldn't read USE flags from use.desc")
494
476
495
# retrieve a list of current licenses in portage
477
# retrieve a list of current licenses in portage
496
liclist=portage.listdir(portdir+"/licenses")
478
liclist=portage.listdir(portdir+"/licenses")
Lines 975-994 Link Here
975
		if not os.system("egrep '^[^#]*\([^)]*\<die\>' "+checkdir+"/"+y+".ebuild >/dev/null 2>&1"):
957
		if not os.system("egrep '^[^#]*\([^)]*\<die\>' "+checkdir+"/"+y+".ebuild >/dev/null 2>&1"):
976
			stats["ebuild.nesteddie"]=stats["ebuild.nesteddie"]+1
958
			stats["ebuild.nesteddie"]=stats["ebuild.nesteddie"]+1
977
			fails["ebuild.nesteddie"].append(x+"/"+y+".ebuild")
959
			fails["ebuild.nesteddie"].append(x+"/"+y+".ebuild")
978
		# uselist checks - global
960
979
		myuse=string.split(portage.db["/"]["porttree"].dbapi.aux_get(catdir+"/"+y,["IUSE"])[0])
961
		# check IUSE flags against use[.local].desc
980
		for mypos in range(len(myuse)-1,-1,-1):
962
		myuse = string.split(portage.db["/"]["porttree"].dbapi.aux_get(catdir+"/"+y,["IUSE"])[0])
981
			if myuse[mypos] and (myuse[mypos] in uselist):
982
				del myuse[mypos]
983
		# uselist checks - local
984
		mykey = portage.dep_getkey(catpkg)
963
		mykey = portage.dep_getkey(catpkg)
985
		if luselist.has_key(mykey):
964
		for myflag in myuse:
986
			for mypos in range(len(myuse)-1,-1,-1):
965
			if myflag not in use_desc.desc \
987
				if myuse[mypos] and (myuse[mypos] in luselist[mykey]):
966
			   and (mykey not in use_desc.local_desc \
988
					del myuse[mypos]
967
			        or myflag not in use_desc.local_desc[mykey]):
989
		for mypos in range(len(myuse)):
968
				stats["IUSE.invalid"]=stats["IUSE.invalid"]+1
990
			stats["IUSE.invalid"]=stats["IUSE.invalid"]+1
969
				fails["IUSE.invalid"].append(x+"/"+y+".ebuild: %s" % myflag)
991
			fails["IUSE.invalid"].append(x+"/"+y+".ebuild: %s" % myuse[mypos])	
992
970
993
		# license checks
971
		# license checks
994
		if not badlicsyntax:
972
		if not badlicsyntax:

Return to bug 84884