# HG changeset patch # User Akim Demaille # Date 1341579713 -7200 # Node ID 65491a7bf362c730f9a469e4dbac12d5d19833db # Parent 426baed517876b22b1e972d20ad282ff55c22c66 bootstrap: let warn be like tests/init.sh's warn_ Reported by Jim Meyering. * build-aux/bootstrap (warn): Remove, replaced by... (warnf_, warn_): these. Adjust callers. Shorten messages that no longer fit in 80 columns. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2012-07-10 Akim Demaille + + bootstrap: let warn be like tests/init.sh's warn_ + Reported by Jim Meyering. + * build-aux/bootstrap (warn): Remove, replaced by... + (warnf_, warn_): these. + Adjust callers. + Shorten messages that no longer fit in 80 columns. + 2012-07-09 Bruno Haible getopt: Simplify after Emacs changed. diff --git a/build-aux/bootstrap b/build-aux/bootstrap --- a/build-aux/bootstrap +++ b/build-aux/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh # Print a version string. -scriptversion=2012-07-06.11; # UTC +scriptversion=2012-07-10.09; # UTC # Bootstrap this package from checked-out sources. @@ -77,15 +77,32 @@ EOF } -warn() +# warnf_ FORMAT-STRING ARG1... +warnf_ () { - for i - do - echo "$i" - done | sed -e "s/^/$me: /" >&2 + warnf_format_=$1 + shift + nl=' +' + case $* in + *$nl*) me_=$(printf "$me"|tr "$nl|" '??') + printf "$warnf_format_" "$@" | sed "s|^|$me_: |" ;; + *) printf "$me: $warnf_format_" "$@" ;; + esac >&2 } -die() { warn "$@"; exit 1; } +# warn_ WORD1... +warn_ () +{ + # If IFS does not start with ' ', set it and emit the warning in a subshell. + case $IFS in + ' '*) warnf_ '%s\n' "$*";; + *) (IFS=' '; warn_ "$@");; + esac +} + +# die WORD1... +die() { warn_ "$@"; exit 1; } # Configuration. @@ -335,8 +352,7 @@ grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \ >/dev/null && found_aux_dir=yes test $found_aux_dir = yes \ - || die "expected line not found in configure.ac. Add the following:" \ - " AC_CONFIG_AUX_DIR([$build_aux])" + || die "configure.ac lacks 'AC_CONFIG_AUX_DIR([$build_aux])'; add it" # If $build_aux doesn't exist, create it now, otherwise some bits # below will malfunction. If creating it, also mark it as ignored. @@ -442,7 +458,7 @@ automake-ng|aclocal-ng) app=${app%-ng} ($app --version | grep '(GNU automake-ng)') >/dev/null 2>&1 || { - warn "Error: '$app' not found or not from Automake-NG" + warn_ "Error: '$app' not found or not from Automake-NG" ret=1 continue } ;; @@ -452,20 +468,21 @@ # so we have to rely on $? rather than get_version. $app --version >/dev/null 2>&1 if [ 126 -le $? ]; then - warn "Error: '$app' not found" + warn_ "Error: '$app' not found" ret=1 fi else # Require app to produce a new enough version string. inst_ver=$(get_version $app) if [ ! "$inst_ver" ]; then - warn "Error: '$app' not found" + warn_ "Error: '$app' not found" ret=1 else latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2) if [ ! "$latest_ver" = "$inst_ver" ]; then - warn "Error: '$app' version == $inst_ver is too old" \ - " '$app' version >= $req_ver is required" + warnf_ '%s\n' \ + "Error: '$app' version == $inst_ver is too old" \ + " '$app' version >= $req_ver is required" ret=1 fi fi @@ -761,7 +778,7 @@ grep -F "/${file##*/}/" "$parent/CVS/Entries" 2>/dev/null | grep '^/[^/]*/[0-9]' > /dev/null else - warn "no version control for $file?" + warn_ "no version control for $file?" false fi }