summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--man/emerge.114
-rw-r--r--pym/_emerge/__init__.py11
-rw-r--r--pym/_emerge/help.py18
3 files changed, 42 insertions, 1 deletions
diff --git a/man/emerge.1 b/man/emerge.1
index a60fd60a6..60e15338f 100644
--- a/man/emerge.1
+++ b/man/emerge.1
@@ -414,12 +414,26 @@ b blocked by another package (automatically resolved conflict)
Results may vary, but the general outcome is a reduced or condensed
output from portage's displays.
.TP
+.BR "\-\-rdeps\-only"
+Discard all build\-time dependencies. This option is commonly used together
+with \fBROOT\fR and it should not be enabled under normal circumstances. For
+currently supported \fBEAPI\fR values, the dependencies specified in the
+\fBDEPEND\fR variable are discarded. However, behavior may change for new
+\fBEAPI\fRs when related extensions are added in the future.
+.TP
.BR "\-\-reinstall changed\-use"
Tells emerge to include installed packages where USE flags have
changed since installation. Unlike \fB\-\-newuse\fR, this option does
not trigger reinstallation when flags that the user has not
enabled are added or removed.
.TP
+.BR "\-\-root\-deps"
+Install build\-time dependencies to \fBROOT\fR instead of /. This option
+should not be enabled under normal circumstances. For currently supported
+\fBEAPI\fR values, the dependencies specified in the \fBDEPEND\fR variable
+are used. However, behavior may change for new
+\fBEAPI\fRs when related extensions are added in the future.
+.TP
.BR "\-\-skipfirst"
This option is only valid when used with \fB\-\-resume\fR. It removes the
first package in the resume list. Dependencies are recalculated for
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index e3886b399..773ef029c 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -207,6 +207,7 @@ options=[
"--nospinner", "--oneshot",
"--onlydeps", "--pretend",
"--quiet", "--resume",
+"--rdeps-only", "--root-deps",
"--searchdesc", "--selective",
"--skipfirst",
"--tree",
@@ -5275,8 +5276,16 @@ class depgraph(object):
if removal_action and self.myopts.get("--with-bdeps", "y") == "n":
edepend["DEPEND"] = ""
+ bdeps_root = "/"
+ if self.target_root != "/":
+ if "--root-deps" in self.myopts:
+ bdeps_root = myroot
+ if "--rdeps-only" in self.myopts:
+ bdeps_root = "/"
+ edepend["DEPEND"] = ""
+
deps = (
- ("/", edepend["DEPEND"],
+ (bdeps_root, edepend["DEPEND"],
self._priority(buildtime=(not bdeps_optional),
optional=bdeps_optional)),
(myroot, edepend["RDEPEND"], self._priority(runtime=True)),
diff --git a/pym/_emerge/help.py b/pym/_emerge/help.py
index 2c5f04bbf..828f4356b 100644
--- a/pym/_emerge/help.py
+++ b/pym/_emerge/help.py
@@ -404,12 +404,30 @@ 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"
print " not trigger reinstallation when flags that the user has not"
print " enabled are added or removed."
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 " + \
+ "EAPIs when related extensions are added in the future."
+ for line in wrap(desc, desc_width):
+ print desc_indent + line
+ print
print " "+green("--skipfirst")
desc = "This option is only valid when " + \
"used with --resume. It removes the " + \