summaryrefslogtreecommitdiff
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-04-01 01:49:22 +0000
committerZac Medico <zmedico@gentoo.org>2009-04-01 01:49:22 +0000
commit1cc9b5f31812a4963c16d6b7b4304dbf5958e9bd (patch)
tree20f0a8f57bc976094b10efb677eb958004c83964 /pym
parentAdd support for a EGENCACHE_DEFAULT_OPTS variable in make.conf. (diff)
downloadportage-multirepo-1cc9b5f31812a4963c16d6b7b4304dbf5958e9bd.tar.gz
portage-multirepo-1cc9b5f31812a4963c16d6b7b4304dbf5958e9bd.tar.bz2
portage-multirepo-1cc9b5f31812a4963c16d6b7b4304dbf5958e9bd.zip
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
Diffstat (limited to 'pym')
-rw-r--r--pym/_emerge/__init__.py27
-rw-r--r--pym/_emerge/help.py22
2 files changed, 32 insertions, 17 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 103689c8..63fc9226 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 15aa88a0..033c93a5 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