diff --git a/scripts/libmakepkg/util/message.sh b/scripts/libmakepkg/util/message.sh index c2c1982e..41a105ac 100644 --- a/scripts/libmakepkg/util/message.sh +++ b/scripts/libmakepkg/util/message.sh @@ -23,6 +23,26 @@ LIBMAKEPKG_UTIL_MESSAGE_SH=1 +colorize() { + # 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="\e[0m" + BOLD="\e[1m" + BLUE="${BOLD}\e[34m" + GREEN="${BOLD}\e[32m" + RED="${BOLD}\e[31m" + YELLOW="${BOLD}\e[33m" + fi + readonly ALL_OFF BOLD BLUE GREEN RED YELLOW +} + plain() { local mesg=$1; shift printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2 diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 8b6557ec..ec8218f2 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1892,26 +1892,12 @@ PACMAN=${PACMAN:-pacman} PACMAN_PATH=$(type -P $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 - # 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="\e[0m" - BOLD="\e[1m" - BLUE="${BOLD}\e[34m" - GREEN="${BOLD}\e[32m" - RED="${BOLD}\e[31m" - YELLOW="${BOLD}\e[33m" - fi + colorize +else + unset ALL_OFF BOLD BLUE GREEN RED YELLOW fi -readonly ALL_OFF BOLD BLUE GREEN RED YELLOW + # override settings with an environment variable for batch processing BUILDDIR=${_BUILDDIR:-$BUILDDIR}