summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-10-06 06:57:06 +0000
committerZac Medico <zmedico@gentoo.org>2009-10-06 06:57:06 +0000
commit23b2d39e7dd8de9bc78b4ad7fe35e820b27f9eba (patch)
tree6608bb3ff0970c695d9bde9159d2f8dec0ddf85d /pym
parentdaff4f017cbe9d14f147d0f7d46eef9ac776be49 (diff)
downloadportage-23b2d39e7dd8de9bc78b4ad7fe35e820b27f9eba.tar.gz
portage-23b2d39e7dd8de9bc78b4ad7fe35e820b27f9eba.tar.bz2
portage-23b2d39e7dd8de9bc78b4ad7fe35e820b27f9eba.zip
Add a new --accept-properties option so that users can temporarily override
ACCEPT_PROPERTIES on the commandline, without relying on emerge's legacy behavior of allowing variables to leak in from the calling environment. A typical usage example for this option would be to use --accept-properties=-interactive to temporarily mask interactive packages. With default configuration, this would result in an effective ACCEPT_PROPERTIES value of "* -interactive". svn path=/main/trunk/; revision=14501
Diffstat (limited to 'pym')
-rw-r--r--pym/_emerge/help.py16
-rw-r--r--pym/_emerge/main.py6
2 files changed, 22 insertions, 0 deletions
diff --git a/pym/_emerge/help.py b/pym/_emerge/help.py
index f34691682..3cb5a9f54 100644
--- a/pym/_emerge/help.py
+++ b/pym/_emerge/help.py
@@ -232,6 +232,22 @@ def help(myopts, havecolor=1):
print(" "+bold("emerge info")+" for more advanced information.")
print()
print(turquoise("Options:"))
+ print(" "+green("--accept-properties=ACCEPT_PROPERTIES"))
+ desc = "This option temporarily overrides the ACCEPT_PROPERTIES " + \
+ "variable. The ACCEPT_PROPERTIES variable is incremental, " + \
+ "which means that the specified setting is appended to the " + \
+ "existing value from your configuration. The special -* " + \
+ "token can be used to discard the existing configuration " + \
+ "value and start fresh. See the MASKED PACKAGES section " + \
+ "and make.conf(5) for more information about " + \
+ "ACCEPT_PROPERTIES. A typical usage example for this option " + \
+ "would be to use --accept-properties=-interactive to " + \
+ "temporarily mask interactive packages. With default " + \
+ "configuration, this would result in an effective " + \
+ "ACCEPT_PROPERTIES value of \"* -interactive\"."
+ for line in wrap(desc, desc_width):
+ print(desc_indent + line)
+ print()
print(" "+green("--alphabetical"))
print(" When displaying USE and other flag output, combines the enabled")
print(" and disabled flags into a single list and sorts it alphabetically.")
diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py
index 777d10192..4635cdaf2 100644
--- a/pym/_emerge/main.py
+++ b/pym/_emerge/main.py
@@ -498,6 +498,10 @@ def parse_opts(tmpcmdline, silent=False):
longopt_aliases = {"--cols":"--columns", "--skip-first":"--skipfirst"}
argument_options = {
+ "--accept-properties": {
+ "help":"temporarily override ACCEPT_PROPERTIES",
+ "action":"store"
+ },
"--config-root": {
"help":"specify the location for portage configuration files",
"action":"store"
@@ -1047,6 +1051,8 @@ def emerge_main():
os.environ["PORTAGE_CONFIGROOT"] = myopts["--config-root"]
if "--root" in myopts:
os.environ["ROOT"] = myopts["--root"]
+ if "--accept-properties" in myopts:
+ os.environ["ACCEPT_PROPERTIES"] = myopts["--accept-properties"]
# Portage needs to ensure a sane umask for the files it creates.
os.umask(0o22)