From: Zac Medico Date: Sat, 17 Feb 2007 19:44:39 +0000 (-0000) Subject: For bug #166939, make --nodeps work like a normal package for new-style virtuals... X-Git-Tag: v2.1.2.1~68 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f9b7fbbee875834f13893f1683e7a146436f5a2a;p=portage.git For bug #166939, make --nodeps work like a normal package for new-style virtuals. (trunk r5981:5982 and r5983:5984) svn path=/main/branches/2.1.2/; revision=5985 --- diff --git a/bin/emerge b/bin/emerge index 33db36435..593528542 100755 --- a/bin/emerge +++ b/bin/emerge @@ -1517,23 +1517,31 @@ 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] + pprovided = pkgsettings.pprovideddict.get( + portage.dep_getkey(depstring)) + if pprovided and portage.match_from_list(depstring, pprovided): + mymerge = [] + 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):