Add support for --rdeps-only and --root-deps options which are useful in
authorZac Medico <zmedico@gentoo.org>
Sun, 29 Mar 2009 19:15:01 +0000 (19:15 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 29 Mar 2009 19:15:01 +0000 (19:15 -0000)
combination with $ROOT. Thanks to Ned Ludd <solar@g.o> for the initial
patch.

svn path=/main/trunk/; revision=13245

man/emerge.1
pym/_emerge/__init__.py
pym/_emerge/help.py

index a60fd60a686c1d84d73a9b8a0f13b7b0ab079d90..60e15338fc439de650e4d197fc51ce8a3dff1c54 100644 (file)
@@ -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
index e3886b3997ab75ce7f99c8e266f8d54d0c8f1a56..773ef029c01fd7b7bb2883af5a0557095eef08f1 100644 (file)
@@ -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)),
index 2c5f04bbfab45879fea163a10e12a433abe5e5e9..828f4356be34f7450e7ac30011a4ff532c7404b6 100644 (file)
@@ -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 " + \