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