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: |