summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-03-29 19:15:01 +0000
committerZac Medico <zmedico@gentoo.org>2009-03-29 19:15:01 +0000
commit7ba9d8dd2a0da019c16341197b52a14ac6eff9da (patch)
treec361d9f3423b1224a46056c4d9cca0f65d634ecf
parentIn order to eliminate the possibility of integer overflay, replace things like (diff)
downloadportage-idfetch-7ba9d8dd2a0da019c16341197b52a14ac6eff9da.tar.gz
portage-idfetch-7ba9d8dd2a0da019c16341197b52a14ac6eff9da.tar.bz2
portage-idfetch-7ba9d8dd2a0da019c16341197b52a14ac6eff9da.zip
Add support for --rdeps-only and --root-deps options which are useful in
combination with $ROOT. Thanks to Ned Ludd <solar@g.o> for the initial patch. svn path=/main/trunk/; revision=13245
-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 a60fd60a..60e15338 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 e3886b39..773ef029 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 2c5f04bb..828f4356 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 " + \