summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-02-17 19:08:08 +0000
committerZac Medico <zmedico@gentoo.org>2007-02-17 19:08:08 +0000
commitc8a30aad144339ebe00ca69318d48bd28da19f6e (patch)
tree165bb6e97b583372205356b3bf0981fbb769136b /pym
parent344c94a32baf1fec5ac650aa7475adc643887915 (diff)
downloadportage-c8a30aad144339ebe00ca69318d48bd28da19f6e.tar.gz
portage-c8a30aad144339ebe00ca69318d48bd28da19f6e.tar.bz2
portage-c8a30aad144339ebe00ca69318d48bd28da19f6e.zip
For bug #166939, make --nodeps work like a normal package for new-style virtuals.
svn path=/main/trunk/; revision=5982
Diffstat (limited to 'pym')
-rw-r--r--pym/emerge/__init__.py38
1 files changed, 21 insertions, 17 deletions
diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py
index 08b11d8b5..4929f0845 100644
--- a/pym/emerge/__init__.py
+++ b/pym/emerge/__init__.py
@@ -1521,23 +1521,27 @@ class depgraph:
#processing dependencies
""" Call portage.dep_check to evaluate the use? conditionals and make sure all
dependencies are satisfiable. """
- try:
- if myparent and p_status == "nomerge":
- portage.dep._dep_check_strict = False
- mycheck = portage.dep_check(depstring, None,
- pkgsettings, myuse=myuse,
- use_binaries=("--usepkgonly" in self.myopts),
- myroot=myroot, trees=self.trees)
- finally:
- portage.dep._dep_check_strict = True
-
- if not mycheck[0]:
- if myparent:
- show_invalid_depstring_notice(myparent, depstring, mycheck[1])
- else:
- sys.stderr.write("\n%s\n%s\n" % (depstring, mycheck[1]))
- return 0
- mymerge = mycheck[1]
+ if arg:
+ mymerge = [depstring]
+ else:
+ try:
+ if myparent and p_status == "nomerge":
+ portage.dep._dep_check_strict = False
+ mycheck = portage.dep_check(depstring, None,
+ pkgsettings, myuse=myuse,
+ use_binaries=("--usepkgonly" in self.myopts),
+ myroot=myroot, trees=self.trees)
+ finally:
+ portage.dep._dep_check_strict = True
+
+ if not mycheck[0]:
+ if myparent:
+ show_invalid_depstring_notice(
+ myparent, depstring, mycheck[1])
+ else:
+ sys.stderr.write("\n%s\n%s\n" % (depstring, mycheck[1]))
+ return 0
+ mymerge = mycheck[1]
if not mymerge and arg and \
portage.best_match_to_list(depstring, self.args_keys):