Lines 707-713
class depgraph:
Link Here
|
707 |
If the package has new iuse flags or different use flags then if |
707 |
If the package has new iuse flags or different use flags then if |
708 |
--newuse is specified, we need to merge the package. """ |
708 |
--newuse is specified, we need to merge the package. """ |
709 |
if merging==0 and "--newuse" in self.myopts and \ |
709 |
if merging==0 and "--newuse" in self.myopts and \ |
710 |
vardbapi.cpv_exists(mykey): |
710 |
mytype != "installed" and vardbapi.cpv_exists(mykey): |
711 |
old_use = vardbapi.aux_get(mykey, ["USE"])[0].split() |
711 |
old_use = vardbapi.aux_get(mykey, ["USE"])[0].split() |
712 |
if mytype == "binary": |
712 |
if mytype == "binary": |
713 |
iuses = bindb.aux_get(mykey, ["IUSE"])[0].split() |
713 |
iuses = bindb.aux_get(mykey, ["IUSE"])[0].split() |
Lines 764-769
class depgraph:
Link Here
|
764 |
edepend["RDEPEND"]=string.join(mytbz2.getelements("RDEPEND")," ") |
764 |
edepend["RDEPEND"]=string.join(mytbz2.getelements("RDEPEND")," ") |
765 |
edepend["PDEPEND"]=string.join(mytbz2.getelements("PDEPEND")," ") |
765 |
edepend["PDEPEND"]=string.join(mytbz2.getelements("PDEPEND")," ") |
766 |
edepend["SLOT"] =mytbz2.getfile("SLOT",mypkgparts[2]) |
766 |
edepend["SLOT"] =mytbz2.getfile("SLOT",mypkgparts[2]) |
|
|
767 |
elif mytype == "installed": |
768 |
myfoo = self.trees[myroot]["vartree"].dbapi.aux_get( |
769 |
mykey, ["RDEPEND","PDEPEND"]) |
770 |
edepend["DEPEND"] = "" |
771 |
edepend["RDEPEND"] = myfoo[0] |
772 |
edepend["PDEPEND"] = myfoo[1] |
767 |
elif mytype=="ebuild": |
773 |
elif mytype=="ebuild": |
768 |
try: |
774 |
try: |
769 |
mymeta = ["DEPEND","RDEPEND","PDEPEND"] |
775 |
mymeta = ["DEPEND","RDEPEND","PDEPEND"] |
Lines 965-970
class depgraph:
Link Here
|
965 |
|
971 |
|
966 |
portdb = self.trees[myroot]["porttree"].dbapi |
972 |
portdb = self.trees[myroot]["porttree"].dbapi |
967 |
bindb = self.trees[myroot]["bintree"].dbapi |
973 |
bindb = self.trees[myroot]["bintree"].dbapi |
|
|
974 |
vartree = self.trees[myroot]["vartree"] |
968 |
pkgsettings = self.pkgsettings[myroot] |
975 |
pkgsettings = self.pkgsettings[myroot] |
969 |
|
976 |
|
970 |
if "--debug" in self.myopts: |
977 |
if "--debug" in self.myopts: |
Lines 1048-1059
class depgraph:
Link Here
|
1048 |
old_use = bindb.aux_get(myeb_pkg, ["USE"])[0].split() |
1055 |
old_use = bindb.aux_get(myeb_pkg, ["USE"])[0].split() |
1049 |
pkgsettings.setcpv(myeb_pkg) |
1056 |
pkgsettings.setcpv(myeb_pkg) |
1050 |
now_use = pkgsettings["USE"].split() |
1057 |
now_use = pkgsettings["USE"].split() |
1051 |
for x in iuses: |
1058 |
for useflag in iuses: |
1052 |
if (old_use.count(x) and not now_use.count(x)) or (not old_use.count(x) and now_use.count(x)): |
1059 |
if (old_use.count(useflag) and \ |
|
|
1060 |
not now_use.count(useflag)) or \ |
1061 |
(not old_use.count(useflag) and \ |
1062 |
now_use.count(useflag)): |
1053 |
myeb_pkg = None |
1063 |
myeb_pkg = None |
1054 |
break |
1064 |
break |
1055 |
|
1065 |
|
1056 |
if (not myeb) and (not myeb_pkg): |
1066 |
myeb_inst = None |
|
|
1067 |
if not arg: |
1068 |
myeb_inst = portage.best(vartree.dbapi.match(x)) |
1069 |
if myeb_inst and "--newuse" in self.myopts: |
1070 |
iuses, old_use = \ |
1071 |
vartree.dbapi.aux_get(myeb_inst, ["IUSE","USE"]) |
1072 |
iuses = iuses.split() |
1073 |
old_use = old_use.split() |
1074 |
now_use = pkgsettings["USE"].split() |
1075 |
for useflag in iuses: |
1076 |
if (old_use.count(useflag) and \ |
1077 |
not now_use.count(useflag)) or \ |
1078 |
(not old_use.count(useflag) and \ |
1079 |
now_use.count(useflag)): |
1080 |
myeb_inst = None |
1081 |
break |
1082 |
|
1083 |
if (not myeb_inst) and (not myeb) and (not myeb_pkg): |
1057 |
if raise_on_missing: |
1084 |
if raise_on_missing: |
1058 |
raise ValueError |
1085 |
raise ValueError |
1059 |
if not arg: |
1086 |
if not arg: |
Lines 1105-1111
class depgraph:
Link Here
|
1105 |
else: |
1132 |
else: |
1106 |
myeb_pkg = None |
1133 |
myeb_pkg = None |
1107 |
|
1134 |
|
1108 |
if myeb: |
1135 |
def cpvpkgsplit(cpv): |
|
|
1136 |
mysplit = portage.catpkgsplit(cpv) |
1137 |
return [mysplit[0] + "/" + mysplit[1], |
1138 |
mysplit[2], mysplit[3]] |
1139 |
|
1140 |
if myeb_inst and (myeb or myeb_pkg): |
1141 |
if myeb: |
1142 |
if portage.pkgcmp( |
1143 |
cpvpkgsplit(myeb), cpvpkgsplit(myeb_inst)) > 0: |
1144 |
myeb_inst = None |
1145 |
else: |
1146 |
myeb = None |
1147 |
else: |
1148 |
if portage.pkgcmp( |
1149 |
cpvpkgsplit(myeb_pkg), cpvpkgsplit(myeb_inst)) > 0: |
1150 |
myeb_inst = None |
1151 |
else: |
1152 |
myeb_pkg = None |
1153 |
|
1154 |
if myeb_inst: |
1155 |
binpkguseflags = \ |
1156 |
vartree.dbapi.aux_get(myeb_inst, ["USE"])[0].split() |
1157 |
myk = ["installed", myroot, myeb_inst] |
1158 |
elif myeb: |
1109 |
myk=["ebuild",myroot,myeb] |
1159 |
myk=["ebuild",myroot,myeb] |
1110 |
elif myeb_pkg: |
1160 |
elif myeb_pkg: |
1111 |
binpkguseflags = \ |
1161 |
binpkguseflags = \ |