From 1cc9b5f31812a4963c16d6b7b4304dbf5958e9bd Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 1 Apr 2009 01:49:22 +0000 Subject: Combine the --rdeps-only and --root-deps options into a single --root-deps option which takes an optional 'rdeps' argument. svn path=/main/trunk/; revision=13267 --- pym/_emerge/__init__.py | 27 ++++++++++++++++++++++++--- pym/_emerge/help.py | 22 ++++++++-------------- 2 files changed, 32 insertions(+), 17 deletions(-) (limited to 'pym/_emerge') diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 103689c80..63fc92262 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -207,7 +207,6 @@ options=[ "--nospinner", "--oneshot", "--onlydeps", "--pretend", "--quiet", "--resume", -"--rdeps-only", "--root-deps", "--searchdesc", "--selective", "--skipfirst", "--tree", @@ -5277,9 +5276,11 @@ class depgraph(object): bdeps_root = "/" if self.target_root != "/": - if "--root-deps" in self.myopts: + root_deps = self.myopts.get("--root-deps") + if root_deps is not None: + if root_deps is True: bdeps_root = myroot - if "--rdeps-only" in self.myopts: + elif root_deps == "rdeps": bdeps_root = "/" edepend["DEPEND"] = "" @@ -14769,11 +14770,22 @@ def insert_optional_args(args): new_args = [] jobs_opts = ("-j", "--jobs") + root_deps_opt = '--root-deps' + root_deps_choices = ('True', 'rdeps') arg_stack = args[:] arg_stack.reverse() while arg_stack: arg = arg_stack.pop() + if arg == root_deps_opt: + new_args.append(arg) + if arg_stack and arg_stack[-1] in root_deps_choices: + new_args.append(arg_stack.pop()) + else: + # insert default argument + new_args.append('True') + continue + short_job_opt = bool("j" in arg and arg[:1] == "-" and arg[:2] != "--") if not (short_job_opt or arg in jobs_opts): new_args.append(arg) @@ -14866,6 +14878,12 @@ def parse_opts(tmpcmdline, silent=False): "help" : "specify the target root filesystem for merging packages", "action" : "store" }, + + "--root-deps": { + "help" : "modify interpretation of depedencies", + "type" : "choice", + "choices" :("True", "rdeps") + }, } from optparse import OptionParser @@ -14894,6 +14912,9 @@ def parse_opts(tmpcmdline, silent=False): myoptions, myargs = parser.parse_args(args=tmpcmdline) + if myoptions.root_deps == "True": + myoptions.root_deps = True + if myoptions.jobs: jobs = None if myoptions.jobs == "True": diff --git a/pym/_emerge/help.py b/pym/_emerge/help.py index 15aa88a02..033c93a55 100644 --- a/pym/_emerge/help.py +++ b/pym/_emerge/help.py @@ -410,15 +410,6 @@ def help(myaction,myopts,havecolor=1): print " Effects vary, but the general outcome is a reduced or condensed" print " output from portage's displays." print - print " "+green("--rdeps-only") - desc = "Discard all build-time dependencies. This option is commonly used together " + \ - "with ROOT and it should not be enabled under normal circumstances. For " + \ - "currently supported EAPI values, the dependencies specified in the " + \ - "DEPEND variable are discarded. However, behavior may change for new " + \ - "EAPIs when related extensions are added in the future." - for line in wrap(desc, desc_width): - print desc_indent + line - print print " "+green("--reinstall ") + turquoise("changed-use") print " Tells emerge to include installed packages where USE flags have" print " changed since installation. Unlike --newuse, this option does" @@ -431,11 +422,14 @@ def help(myaction,myopts,havecolor=1): for line in wrap(desc, desc_width): print desc_indent + line print - print " "+green("--root-deps") - desc = "Install build-time dependencies to ROOT instead of /. This option " + \ - "should not be enabled under normal circumstances. For currently supported " + \ - "EAPI values, the dependencies specified in the DEPEND variable " + \ - "are used. However, behavior may change for new " + \ + print " "+green("--root-deps[=rdeps]") + desc = "If no argument is given then build-time dependencies are installed to " + \ + "ROOT instead of /. If the rdeps argument is given then discard " + \ + "all build-time dependencies of packages for ROOT. This option is " + \ + "only meaningful when used together with ROOT and it should not " + \ + "be enabled under normal circumstances. For currently supported " + \ + "EAPI values, the build-time dependencies are specified in the " + \ + "DEPEND variable. However, behavior may change for new " + \ "EAPIs when related extensions are added in the future." for line in wrap(desc, desc_width): print desc_indent + line -- cgit v1.2.3-1-g7c22