Lines 796-802
Link Here
|
796 |
emerge --deep <pkgspec>; we need to recursively check dependencies of pkgspec |
796 |
emerge --deep <pkgspec>; we need to recursively check dependencies of pkgspec |
797 |
If we are in --nodeps (no recursion) mode, we obviously only check 1 level of dependencies. |
797 |
If we are in --nodeps (no recursion) mode, we obviously only check 1 level of dependencies. |
798 |
""" |
798 |
""" |
799 |
if "deep" not in self.myparams and not merging: |
799 |
if "deep" not in self.myparams and not merging and \ |
|
|
800 |
not ("--update" in self.myopts and arg and merging): |
800 |
return 1 |
801 |
return 1 |
801 |
elif "recurse" not in self.myparams: |
802 |
elif "recurse" not in self.myparams: |
802 |
return 1 |
803 |
return 1 |
Lines 825-831
Link Here
|
825 |
|
826 |
|
826 |
try: |
827 |
try: |
827 |
if not self.select_dep("/", edepend["DEPEND"], myparent=mp, |
828 |
if not self.select_dep("/", edepend["DEPEND"], myparent=mp, |
828 |
myuse=myuse): |
829 |
myuse=myuse, parent_arg=arg): |
829 |
return 0 |
830 |
return 0 |
830 |
"""RDEPEND is soft by definition. However, in order to ensure |
831 |
"""RDEPEND is soft by definition. However, in order to ensure |
831 |
correct merge order, we make it a hard dependency. Otherwise, a |
832 |
correct merge order, we make it a hard dependency. Otherwise, a |
Lines 833-845
Link Here
|
833 |
dependencies not being installed yet. |
834 |
dependencies not being installed yet. |
834 |
""" |
835 |
""" |
835 |
if not self.select_dep(myroot,edepend["RDEPEND"], myparent=mp, |
836 |
if not self.select_dep(myroot,edepend["RDEPEND"], myparent=mp, |
836 |
myuse=myuse, soft_deps=False): |
837 |
myuse=myuse, soft_deps=False, parent_arg=arg): |
837 |
return 0 |
838 |
return 0 |
838 |
if edepend.has_key("PDEPEND") and edepend["PDEPEND"]: |
839 |
if edepend.has_key("PDEPEND") and edepend["PDEPEND"]: |
839 |
# Post Depend -- Add to the list without a parent, as it depends |
840 |
# Post Depend -- Add to the list without a parent, as it depends |
840 |
# on a package being present AND must be built after that package. |
841 |
# on a package being present AND must be built after that package. |
841 |
if not self.select_dep(myroot, edepend["PDEPEND"], myparent=mp, |
842 |
if not self.select_dep(myroot, edepend["PDEPEND"], myparent=mp, |
842 |
myuse=myuse, soft_deps=True, rev_deps=True): |
843 |
myuse=myuse, soft_deps=True, rev_deps=True, parent_arg=arg): |
843 |
return 0 |
844 |
return 0 |
844 |
except ValueError, e: |
845 |
except ValueError, e: |
845 |
pkgs = e.args[0] |
846 |
pkgs = e.args[0] |
Lines 1007-1013
Link Here
|
1007 |
return match |
1008 |
return match |
1008 |
|
1009 |
|
1009 |
def select_dep(self, myroot, depstring, myparent=None, arg=None, |
1010 |
def select_dep(self, myroot, depstring, myparent=None, arg=None, |
1010 |
myuse=None, raise_on_missing=False, soft_deps=False, rev_deps=False): |
1011 |
myuse=None, raise_on_missing=False, soft_deps=False, rev_deps=False, |
|
|
1012 |
parent_arg=None): |
1011 |
""" Given a depstring, create the depgraph such that all dependencies are satisfied. |
1013 |
""" Given a depstring, create the depgraph such that all dependencies are satisfied. |
1012 |
myroot = $ROOT from environment, where {R,P}DEPENDs are merged to. |
1014 |
myroot = $ROOT from environment, where {R,P}DEPENDs are merged to. |
1013 |
myparent = the node whose depstring is being passed in |
1015 |
myparent = the node whose depstring is being passed in |
Lines 1095-1100
Link Here
|
1095 |
discarded here.""" |
1097 |
discarded here.""" |
1096 |
if "empty" not in self.myparams and \ |
1098 |
if "empty" not in self.myparams and \ |
1097 |
"deep" not in self.myparams and \ |
1099 |
"deep" not in self.myparams and \ |
|
|
1100 |
not ("--update" in self.myopts and parent_arg) and \ |
1098 |
vardb.match(x): |
1101 |
vardb.match(x): |
1099 |
continue |
1102 |
continue |
1100 |
|
1103 |
|