[pacman-dev] [PATCH] Refactor testing for color message output

Allan McRae allan at archlinux.org
Sat Mar 14 10:11:44 EDT 2009


Signed-off-by: Allan McRae <allan at archlinux.org>
---
 scripts/makepkg.sh.in |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 3ff256f..d44fe0d 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -69,6 +69,7 @@ IGNOREARCH=0
 HOLDVER=0
 PKGFUNC=0
 SPLITPKG=0
+COLORMSG=0
 
 # Forces the pkgver of the current PKGBUILD. Used by the fakeroot call
 # when dealing with svn/cvs/etc PKGBUILDs.
@@ -80,7 +81,7 @@ PACMAN_OPTS=
 
 plain() {
 	local mesg=$1; shift
-	if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
+	if [ COLORMSG -eq 1 ]; then
 		printf "\033[1;1m    ${mesg}\033[1;0m\n" "$@" >&2
 	else
 		printf "    ${mesg}\n" "$@" >&2
@@ -89,7 +90,7 @@ plain() {
 
 msg() {
 	local mesg=$1; shift
-	if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
+	if [ COLORMSG -eq 1 ]; then
 		printf "\033[1;32m==>\033[1;0m\033[1;1m ${mesg}\033[1;0m\n" "$@" >&2
 	else
 		printf "==> ${mesg}\n" "$@" >&2
@@ -98,7 +99,7 @@ msg() {
 
 msg2() {
 	local mesg=$1; shift
-	if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
+	if [ COLORMSG -eq 1 ]; then
 		printf "\033[1;34m  ->\033[1;0m\033[1;1m ${mesg}\033[1;0m\n" "$@" >&2
 	else
 		printf "  -> ${mesg}\n" "$@" >&2
@@ -107,7 +108,7 @@ msg2() {
 
 warning() {
 	local mesg=$1; shift
-	if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
+	if [ COLORMSG -eq 1 ]; then
 		printf "\033[1;33m==> $(gettext "WARNING:")\033[1;0m\033[1;1m ${mesg}\033[1;0m\n" "$@" >&2
 	else
 		printf "==> $(gettext "WARNING:") ${mesg}\n" "$@" >&2
@@ -116,7 +117,7 @@ warning() {
 
 error() {
 	local mesg=$1; shift
-	if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
+	if [ COLORMSG -eq 1 ]; then
 		printf "\033[1;31m==> $(gettext "ERROR:")\033[1;0m\033[1;1m ${mesg}\033[1;0m\n" "$@" >&2
 	else
 		printf "==> $(gettext "ERROR:") ${mesg}\n" "$@" >&2
@@ -1303,6 +1304,11 @@ if [ ! $(type -t gettext) ]; then
 	}
 fi
 
+# check if messages are to be printed using color
+if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then
+	COLORMSG=1
+fi
+
 ARGLIST=$@
 
 # Parse Command Line Options.
-- 
1.6.2



More information about the pacman-dev mailing list