From cf5616a0aaa6f357b5d74e495dddcc0d8dac100c Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 29 Dec 2008 20:43:48 +0100 Subject: [PATCH] bootstrap: don't use cmp's -s option when reading from a pipe GNU cmp exits without reading all input when given the -s option, and that can cause termination of the writing process via SIGPIPE. Instead, when reading from a pipe, just redirect output to /dev/null so that all input is read. --- bootstrap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bootstrap b/bootstrap index 0b015ef..3264171 100755 --- a/bootstrap +++ b/bootstrap @@ -198,7 +198,7 @@ insert_sorted_if_absent() { file=$1 str=$2 test -f $file || touch $file - echo "$str" | sort -u - $file | cmp -s - $file \ + echo "$str" | sort -u - $file | cmp - $file > /dev/null \ || echo "$str" | sort -u - $file -o $file \ || exit 1 } @@ -585,7 +585,7 @@ slurp() { if test $file = Makefile.am; then copied=$copied${sep}$gnulib_mk; sep=$nl remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g" - sed "$remove_intl" $1/$dir/$file | cmp -s - $dir/$gnulib_mk || { + sed "$remove_intl" $1/$dir/$file | cmp - $dir/$gnulib_mk > /dev/null || { echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." && rm -f $dir/$gnulib_mk && sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk -- 2.7.4