]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
livepatch/klp-build: add terminal color output
authorJoe Lawrence <joe.lawrence@redhat.com>
Tue, 10 Mar 2026 20:37:50 +0000 (16:37 -0400)
committerJosh Poimboeuf <jpoimboe@kernel.org>
Mon, 16 Mar 2026 19:52:53 +0000 (12:52 -0700)
Improve the readability of klp-build output by implementing a basic
color scheme.  When the standard output and error are connected to a
terminal, highlight status messages in bold and warning/error prefixes
in yellow/red.

Acked-by: Song Liu <song@kernel.org>
Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com>
Link: https://patch.msgid.link/20260310203751.1479229-12-joe.lawrence@redhat.com
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
scripts/livepatch/klp-build

index dc0a23a8908b65cacefe7bb3b9676fd13e2e900c..d628e2c86078cb34ac89d310b60adc31d64c574a 100755 (executable)
@@ -52,6 +52,15 @@ PATCH_TMP_DIR="$TMP_DIR/tmp"
 
 KLP_DIFF_LOG="$DIFF_DIR/diff.log"
 
+# Terminal output colors
+read -r COLOR_RESET COLOR_BOLD COLOR_ERROR COLOR_WARN <<< ""
+if [[ -t 1 && -t 2 ]]; then
+       COLOR_RESET="\033[0m"
+       COLOR_BOLD="\033[1m"
+       COLOR_ERROR="\033[0;31m"
+       COLOR_WARN="\033[0;33m"
+fi
+
 grep0() {
        # shellcheck disable=SC2317
        command grep "$@" || true
@@ -65,15 +74,15 @@ grep() {
 }
 
 status() {
-       echo "$*"
+       echo -e "${COLOR_BOLD}$*${COLOR_RESET}"
 }
 
 warn() {
-       echo "error: $SCRIPT: $*" >&2
+       echo -e "${COLOR_WARN}warning${COLOR_RESET}: $SCRIPT: $*" >&2
 }
 
 die() {
-       warn "$@"
+       echo -e "${COLOR_ERROR}error${COLOR_RESET}: $SCRIPT: $*" >&2
        exit 1
 }
 
@@ -110,7 +119,7 @@ cleanup() {
 }
 
 trap_err() {
-       warn "line ${BASH_LINENO[0]}: '$BASH_COMMAND'"
+       die "line ${BASH_LINENO[0]}: '$BASH_COMMAND'"
 }
 
 trap cleanup  EXIT INT TERM HUP