From c2ad910e916517ce2bbc514c7c943d53cab8e1dc Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Fri, 28 Jun 2024 05:40:12 +0000 Subject: [PATCH] jw-pkg compile-templates: Beautify logging Don't renew files with nothing to change, and be verbose about it. Signed-off-by: Jan Lindemann --- scripts/jw-pkg | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/scripts/jw-pkg b/scripts/jw-pkg index 20e1fd87..33d5a463 100644 --- a/scripts/jw-pkg +++ b/scripts/jw-pkg @@ -2,7 +2,25 @@ log() { - echo "$myname: $@" + if [ "$1" = -n ]; then + shift + echo -n "$myname: $*" + return + fi + + if [ "$1" = -c ]; then + shift + echo "$*" + return + fi + + if [ "$1" = -C ]; then + shift + echo -n "$*" + return + fi + + echo "$myname: $*" } channel_present() @@ -309,18 +327,24 @@ cmd_compile_templates() } # TODO: use mktemp -d and keep temporary files in read-only dir local tmp=$to.tmp - log "Applying macros in $table to $f." + log -n "Applying macros in $table to $f" eval `sed "/$conf_patt/ !d; s/$conf_patt//" $table` sed 's|^[ ]*#.*||; s|/|\\/|g; s|\([^ =]\+\)[ =]\+\(.*\)|s/\1/\2/g|' $table | sed -f - $f > $tmp chmod $mode $tmp chown $owner $tmp chgrp $group $tmp + if diff -q $tmp $to >/dev/null 2>&1 && [ "$(stat --format '%u:%g:%A' $to)" = "$(stat --format '%u:%g:%A' $tmp)" ]; then + log -c ", no changes." + rm $tmp + continue + fi local bak=$to$template_bak_ext if [ "$backup" = 1 -a -f $to ] && ! diff -q $to $bak >/dev/null 2>&1; then - log "Saving backup to $to to $bak" + log -C ", saving backup to $to to $bak," cp -p $to $bak fi mv $tmp $to + log -c ", done." done <<< $(cmd_list_templates "$@") if [ "$missing_table" != 0 ]; then