This is an automated email from the git hooks/post-receive script. guillem pushed a commit to branch master in repository dpkg.
commit 8998ff736606402771745ff27dc43b2cc1165b09 Author: Guillem Jover <[email protected]> Date: Sun Oct 22 17:29:10 2017 +0200 dpkg-maintscript-helper: Add color support The initial color support only covered the C and perl programs, and missed this shell script. --- debian/changelog | 1 + man/dpkg-maintscript-helper.man | 8 +++++ scripts/dpkg-maintscript-helper.sh | 64 +++++++++++++++++++++++++++++++++++--- 3 files changed, 69 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index d5fd0a0..e299527 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,6 +11,7 @@ dpkg (1.19.1) UNRELEASED; urgency=medium dpkg-buildpackage, instead of changing directory back and forth. * Setup and check rootcommand in dpkg-buildpackage only if it is going to be needed. Reported by Niels Thykier <[email protected]>. + * Add color support to dpkg-maintscript-helper (a shell script). * Perl modules: - Check that $tarname is defined before use in Dpkg::Source::Package::V1. Thanks to Christoph Biedl <[email protected]>. diff --git a/man/dpkg-maintscript-helper.man b/man/dpkg-maintscript-helper.man index 0d608ab..a927b9f 100644 --- a/man/dpkg-maintscript-helper.man +++ b/man/dpkg-maintscript-helper.man @@ -254,6 +254,14 @@ The command \fBsupports\fP will return 0 on success, 1 otherwise. The \fBsupports\fP command will check if the environment variables as set by dpkg and required by the script are present, and will consider it a failure in case the environment is not sufficient. +. +.SH ENVIRONMENT +.TP +.B DPKG_COLORS +Sets the color mode (since dpkg 1.19.1). +The currently accepted values are: \fBauto\fP (default), \fBalways\fP and +\fBnever\fP. +. .SH SEE ALSO .ad l .BR dh_installdeb (1). diff --git a/scripts/dpkg-maintscript-helper.sh b/scripts/dpkg-maintscript-helper.sh index 378d03c..2e5d207 100755 --- a/scripts/dpkg-maintscript-helper.sh +++ b/scripts/dpkg-maintscript-helper.sh @@ -537,19 +537,72 @@ symlink_match() [ "$(readlink -f "$SYMLINK")" = "$SYMLINK_TARGET" ] } +# Standard ANSI colors and attributes. +COLOR_NORMAL='' +COLOR_RESET='[0m' +COLOR_BOLD='[1m' +COLOR_BLACK='[30m' +COLOR_RED='[31m' +COLOR_GREEN='[32m' +COLOR_YELLOW='[33m' +COLOR_BLUE='[34m' +COLOR_MAGENTA='[35m' +COLOR_CYAN='[36m' +COLOR_WHITE='[37m' +COLOR_BOLD_BLACK='[1;30m' +COLOR_BOLD_RED='[1;31m' +COLOR_BOLD_GREEN='[1;32m' +COLOR_BOLD_YELLOW='[1;33m' +COLOR_BOLD_BLUE='[1;34m' +COLOR_BOLD_MAGENTA='[1;35m' +COLOR_BOLD_CYAN='[1;36m' +COLOR_BOLD_WHITE='[1;37m' + +setup_colors() +{ + : ${DPKG_COLORS=auto} + + case "$DPKG_COLORS" in + auto) + if [ -t 1 ]; then + USE_COLORS=yes + else + USE_COLORS=no + fi + ;; + always) + USE_COLORS=yes + ;; + *) + USE_COLORS=no + ;; + esac + + if [ $USE_COLORS = yes ]; then + COLOR_PROG="$COLOR_BOLD" + COLOR_INFO="$COLOR_GREEN" + COLOR_NOTICE="$COLOR_YELLOW" + COLOR_WARN="$COLOR_BOLD_YELLOW" + COLOR_ERROR="$COLOR_BOLD_RED" + else + COLOR_RESET="" + fi + FMT_PROG="$COLOR_PROG$PROGNAME$COLOR_RESET" +} + debug() { if [ -n "$DPKG_DEBUG" ]; then - echo "DEBUG: $PROGNAME: $*" >&2 + echo "DEBUG: $FMT_PROG: $*" >&2 fi } error() { - echo "$PROGNAME: error: $*" >&2 + echo "$FMT_PROG: ${COLOR_ERROR}error${COLOR_RESET}: $*" >&2 exit 1 } warning() { - echo "$PROGNAME: warning: $*" >&2 + echo "$FMT_PROG: ${COLOR_WARN}warning${COLOR_RESET}: $*" >&2 } usage() { @@ -576,7 +629,7 @@ END } badusage() { - echo "$PROGNAME: error: $1" >&2 + echo "$FMT_PROG: ${COLOR_ERROR}error${COLOR_RESET}: $1" >&2 echo >&2 echo "Use '$PROGNAME help' for program usage information." >&2 exit 1 @@ -587,6 +640,9 @@ set -e PROGNAME=$(basename "$0") version="unknown" + +setup_colors + command="$1" [ $# -gt 0 ] || badusage "missing command" shift -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/dpkg/dpkg.git

