Lines 50-51
Link Here
|
50 |
incrementals=["USE","FEATURES","ACCEPT_KEYWORDS","ACCEPT_LICENSE","CONFIG_PROTECT_MASK","CONFIG_PROTECT","PRELINK_PATH","PRELINK_PATH_MASK"] |
50 |
incrementals=["USE","PKGUSE","FEATURES","ACCEPT_KEYWORDS","ACCEPT_LICENSE","CONFIG_PROTECT_MASK","CONFIG_PROTECT","PRELINK_PATH","PRELINK_PATH_MASK"] |
51 |
stickies=["KEYWORDS_ACCEPT","USE","CFLAGS","CXXFLAGS","MAKEOPTS","EXTRA_ECONF","EXTRA_EMAKE"] |
51 |
stickies=["KEYWORDS_ACCEPT","USE","PKGUSE","CFLAGS","CXXFLAGS","MAKEOPTS","EXTRA_ECONF","EXTRA_EMAKE"] |
Line 842
Link Here
|
842 |
global incrementals,usesplit,profiledir |
842 |
global incrementals,usesplit,pkgusesplit,profiledir |
Line 858
Link Here
|
|
|
859 |
if mykey=="USE": |
860 |
mysplit=self.parseuse(mysplit) |
Line 882
Link Here
|
|
|
885 |
|
Line 895
Link Here
|
|
|
899 |
|
900 |
mypkgusesplit=pkgusesplit |
901 |
pkgusesplit={} |
902 |
for x in mypkgusesplit: |
903 |
mypos=0 |
904 |
while mypos<len(mypkgusesplit[x]): |
905 |
if mypkgusesplit[x][mypos] in usesplit: |
906 |
del mypkgusesplit[x][mypos] |
907 |
else: |
908 |
mypos=mypos+1 |
909 |
if mypkgusesplit[x]!=[]: |
910 |
pkgusesplit[x]=mypkgusesplit[x] |
911 |
|
912 |
self.configlist[-1]["PKGUSE"]="" |
913 |
for x in pkgusesplit: |
914 |
self.configlist[-1]["PKGUSE"]=self.configlist[-1]["PKGUSE"]+"( "+x+" => "+string.join(pkgusesplit[x]," ")+" )" |
Line 896
Link Here
|
|
|
916 |
def parseuse(self,myusesplit,mypos=0): |
917 |
global pkgusesplit |
918 |
try: |
919 |
if pkgusesplit: pass |
920 |
except: |
921 |
pkgusesplit={} |
922 |
while mypos<len(myusesplit): |
923 |
if myusesplit[mypos]=="(": |
924 |
firstpos=mypos |
925 |
mypos=mypos+1 |
926 |
while mypos<len(myusesplit): |
927 |
if myusesplit[mypos]==")": |
928 |
if mypos==firstpos+3: |
929 |
myitems=[myusesplit[mypos-1]] |
930 |
elif mypos>firstpos+3: |
931 |
myitems=myusesplit[firstpos+2:mypos] |
932 |
pkg=myusesplit[firstpos+1] |
933 |
pkgusesplit[pkg]=[] |
934 |
for x in myitems: |
935 |
if x=="-*" or x=="*": |
936 |
myusesplit[firstpos:mypos+1]=[] |
937 |
mypos=firstpos-1 |
938 |
break |
939 |
if x[0]=="-": |
940 |
y=x[1:] |
941 |
else: |
942 |
y="-"+x |
943 |
if x not in pkgusesplit[pkg] and y not in pkgusesplit[pkg]: |
944 |
pkgusesplit[pkg].append(x) |
945 |
myusesplit[firstpos:mypos+1]=[] |
946 |
mypos=firstpos-1 |
947 |
break |
948 |
mypos=mypos+1 |
949 |
mypos=mypos+1 |
950 |
return myusesplit |
951 |
|
Line 2290
Link Here
|
2290 |
def dep_check(depstring,mydbapi,use="yes",mode=None): |
2345 |
def dep_check(depstring,mydbapi,use="yes",mode=None,parent=None): |
Line 2292
Link Here
|
2292 |
global usesplit |
2347 |
global usesplit,pkgusesplit |
Line 2298
Link Here
|
2298 |
myusesplit=usesplit |
2353 |
myusesplit=[] |
|
|
2354 |
for x in usesplit: |
2355 |
myusesplit.append(x) |
2356 |
|
2357 |
if parent and (pkgusesplit!={}): |
2358 |
myparent=pkgsplit(parent.split()[2])[0] |
2359 |
if pkgusesplit.has_key(myparent): |
2360 |
for x in pkgusesplit[myparent]: |
2361 |
if x[0]=="-": |
2362 |
y=x[1:] |
2363 |
else: |
2364 |
y="-"+x |
2365 |
if y in myusesplit: |
2366 |
myusesplit.remove(y) |
2367 |
if x not in myusesplit: |
2368 |
myusesplit.append(x) |