Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 149208 | Differences between
and this patch

Collapse All | Expand All

(-)bin/emerge (-5 / +7 lines)
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

Return to bug 149208