Add a --color < y | n > option so that color output can be forced. This is
authorZac Medico <zmedico@gentoo.org>
Fri, 9 Oct 2009 20:16:45 +0000 (20:16 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 9 Oct 2009 20:16:45 +0000 (20:16 -0000)
going to be used by emerge to force color fetch output when appropriate.

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

bin/ebuild
man/ebuild.1

index bcb55555cba4505165f43545aec6f66bfaae4418..dc3f448c46e903be705e2bfe6d61184274695fd5 100755 (executable)
@@ -40,6 +40,8 @@ force_help = "When used together with the digest or manifest " + \
        "that do not already exist in ${DISTDIR} will be automatically fetched."
 
 parser.add_option("--force", help=force_help, action="store_true", dest="force")
+parser.add_option("--color", help="enable or disable color output",
+       type="choice", choices=("y", "n"))
 parser.add_option("--debug", help="show debug output",
        action="store_true", dest="debug")
 parser.add_option("--ignore-default-opts",
@@ -83,8 +85,14 @@ if debug and "python-trace" in portage.features:
        import portage.debug
        portage.debug.set_trace(True)
 
-if portage.settings["NOCOLOR"] in ("yes","true") or not sys.stdout.isatty():
+if not opts.color == 'y' and \
+       (opts.color == 'n' or \
+       portage.settings.get('NOCOLOR') in ('yes', 'true') or \
+       not sys.stdout.isatty()):
        portage.output.nocolor()
+       portage.settings.unlock()
+       portage.settings['NOCOLOR'] = 'true'
+       portage.settings.lock()
 
 ebuild = pargs.pop(0)
 
index 6c134c7cb48404d495057c124e91d1e4a9b404d6..87fd63b79abf812b8cd1a404bf11709cdb603251 100644 (file)
@@ -185,6 +185,11 @@ information is not incorporated into the RPM.
 Run bash with the \-x option, causing it to output verbose debugging
 information to stdout.
 .TP
+.BR "\-\-color < y | n >"
+Enable or disable color output.  This option will override \fINOCOLOR\fR
+(see \fBmake.conf\fR(5)) and may also be used to force color output when stdout
+is not a tty (by default, color is disabled unless stdout is a tty).
+.TP
 .BR "\-\-force"
 When used together with the digest or manifest command,
 this option forces regeneration of