Lines 816-822
Link Here
|
816 |
emerge --deep <pkgspec>; we need to recursively check dependencies of pkgspec |
816 |
emerge --deep <pkgspec>; we need to recursively check dependencies of pkgspec |
817 |
If we are in --nodeps (no recursion) mode, we obviously only check 1 level of dependencies. |
817 |
If we are in --nodeps (no recursion) mode, we obviously only check 1 level of dependencies. |
818 |
""" |
818 |
""" |
819 |
if "deep" not in self.myparams and not merging: |
819 |
if "deep" not in self.myparams and not merging and not arg: |
820 |
return 1 |
820 |
return 1 |
821 |
elif "recurse" not in self.myparams: |
821 |
elif "recurse" not in self.myparams: |
822 |
return 1 |
822 |
return 1 |
Lines 845-851
Link Here
|
845 |
|
845 |
|
846 |
try: |
846 |
try: |
847 |
if not self.select_dep("/", edepend["DEPEND"], myparent=mp, |
847 |
if not self.select_dep("/", edepend["DEPEND"], myparent=mp, |
848 |
myuse=myuse): |
848 |
myuse=myuse, parent_arg=arg): |
849 |
return 0 |
849 |
return 0 |
850 |
"""RDEPEND is soft by definition. However, in order to ensure |
850 |
"""RDEPEND is soft by definition. However, in order to ensure |
851 |
correct merge order, we make it a hard dependency. Otherwise, a |
851 |
correct merge order, we make it a hard dependency. Otherwise, a |
Lines 853-865
Link Here
|
853 |
dependencies not being installed yet. |
853 |
dependencies not being installed yet. |
854 |
""" |
854 |
""" |
855 |
if not self.select_dep(myroot,edepend["RDEPEND"], myparent=mp, |
855 |
if not self.select_dep(myroot,edepend["RDEPEND"], myparent=mp, |
856 |
myuse=myuse, soft_deps=False): |
856 |
myuse=myuse, soft_deps=False, parent_arg=arg): |
857 |
return 0 |
857 |
return 0 |
858 |
if edepend.has_key("PDEPEND") and edepend["PDEPEND"]: |
858 |
if edepend.has_key("PDEPEND") and edepend["PDEPEND"]: |
859 |
# Post Depend -- Add to the list without a parent, as it depends |
859 |
# Post Depend -- Add to the list without a parent, as it depends |
860 |
# on a package being present AND must be built after that package. |
860 |
# on a package being present AND must be built after that package. |
861 |
if not self.select_dep(myroot, edepend["PDEPEND"], myparent=mp, |
861 |
if not self.select_dep(myroot, edepend["PDEPEND"], myparent=mp, |
862 |
myuse=myuse, soft_deps=True, rev_deps=True): |
862 |
myuse=myuse, soft_deps=True, rev_deps=True, parent_arg=arg): |
863 |
return 0 |
863 |
return 0 |
864 |
except ValueError, e: |
864 |
except ValueError, e: |
865 |
pkgs = e.args[0] |
865 |
pkgs = e.args[0] |
Lines 1027-1033
Link Here
|
1027 |
return match |
1027 |
return match |
1028 |
|
1028 |
|
1029 |
def select_dep(self, myroot, depstring, myparent=None, arg=None, |
1029 |
def select_dep(self, myroot, depstring, myparent=None, arg=None, |
1030 |
myuse=None, raise_on_missing=False, soft_deps=False, rev_deps=False): |
1030 |
myuse=None, raise_on_missing=False, soft_deps=False, rev_deps=False, |
|
|
1031 |
parent_arg=None): |
1031 |
""" Given a depstring, create the depgraph such that all dependencies are satisfied. |
1032 |
""" Given a depstring, create the depgraph such that all dependencies are satisfied. |
1032 |
myroot = $ROOT from environment, where {R,P}DEPENDs are merged to. |
1033 |
myroot = $ROOT from environment, where {R,P}DEPENDs are merged to. |
1033 |
myparent = the node whose depstring is being passed in |
1034 |
myparent = the node whose depstring is being passed in |
Lines 1112-1117
Link Here
|
1112 |
discarded here.""" |
1113 |
discarded here.""" |
1113 |
if "empty" not in self.myparams and \ |
1114 |
if "empty" not in self.myparams and \ |
1114 |
"deep" not in self.myparams and \ |
1115 |
"deep" not in self.myparams and \ |
|
|
1116 |
not parent_arg and \ |
1115 |
vardb.match(x): |
1117 |
vardb.match(x): |
1116 |
continue |
1118 |
continue |
1117 |
|
1119 |
|