Prevent makepkg aborting whe colors are enabled and the terminal
does not support setting colors by tput.

Signed-off-by: Allan McRae <[email protected]>
---
 scripts/makepkg.sh.in |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 516e1d7..0527bd6 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1629,12 +1629,22 @@ PACMAN=${PACMAN:-pacman}
 # check if messages are to be printed using color
 unset ALL_OFF BOLD BLUE GREEN RED YELLOW
 if [[ -t 2 && ! $USE_COLOR = "n" && $(check_buildenv color) = "y" ]]; then
-       ALL_OFF="$(tput sgr0)"
-       BOLD="$(tput bold)"
-       BLUE="${BOLD}$(tput setaf 4)"
-       GREEN="${BOLD}$(tput setaf 2)"
-       RED="${BOLD}$(tput setaf 1)"
-       YELLOW="${BOLD}$(tput setaf 3)"
+       # prefer terminal safe colored and bold text when tput is supported
+       if tput setaf 0 &>/dev/null; then
+               ALL_OFF="$(tput sgr0)"
+               BOLD="$(tput bold)"
+               BLUE="${BOLD}$(tput setaf 4)"
+               GREEN="${BOLD}$(tput setaf 2)"
+               RED="${BOLD}$(tput setaf 1)"
+               YELLOW="${BOLD}$(tput setaf 3)"
+       else
+               ALL_OFF="\033[1;0m"
+               BOLD="\033[1;1m"
+               BLUE="${BOLD}\033[1;34m"
+               GREEN="${BOLD}\033[1;32m"
+               RED="${BOLD}\033[1;31m"
+               YELLOW="${BOLD}\033[1;33m"
+       fi
 fi
 readonly ALL_OFF BOLD BLUE GREEN RED YELLOW
 
-- 
1.7.2.1


Reply via email to