diff options
author | Jim Meyering <meyering@redhat.com> | 2010-10-17 15:32:03 +0200 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2010-10-17 15:56:01 +0200 |
commit | 840e8c9cfb3f73b4274280cdeb480bda39154a36 (patch) | |
tree | 7647786562be49fc3782614da5a22b07b5d41611 /bootstrap | |
parent | b1b23d894b1aeb03ac59a570b634f5d248268b8c (diff) | |
download | coreutils-840e8c9cfb3f73b4274280cdeb480bda39154a36.tar.xz |
maint: update bootstrap from gnulib
* bootstrap: Update from gnulib.
Diffstat (limited to 'bootstrap')
-rwxr-xr-x | bootstrap | 51 |
1 files changed, 40 insertions, 11 deletions
@@ -1,6 +1,6 @@ #! /bin/sh # Print a version string. -scriptversion=2010-10-05.15; # UTC +scriptversion=2010-10-08.16; # UTC # Bootstrap this package from checked-out sources. @@ -80,6 +80,10 @@ gnulib_modules= # Any gnulib files needed that are not in modules. gnulib_files= +# A function to be called to edit gnulib.mk right after it's created. +# Override it via your own definition in bootstrap.conf. +gnulib_mk_hook() { :; } + # A function to be called after everything else in this script. # Override it via your own definition in bootstrap.conf. bootstrap_epilogue() { :; } @@ -257,6 +261,21 @@ insert_sorted_if_absent() { || exit 1 } +# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with +# insert_sorted_if_absent. +insert_vc_ignore() { + vc_ignore_file="$1" + pattern="$2" + case $vc_ignore_file in + *.gitignore) + # A .gitignore entry that does not start with `/' applies + # recursively to subdirectories, so prepend `/' to every + # .gitignore entry. + pattern=`echo "$pattern" | sed s,^,/,`;; + esac + insert_sorted_if_absent "$vc_ignore_file" "$pattern" +} + # Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac. found_aux_dir=no grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \ @@ -275,7 +294,7 @@ if test ! -d $build_aux; then mkdir $build_aux for dot_ig in x $vc_ignore; do test $dot_ig = x && continue - insert_sorted_if_absent $dot_ig $build_aux + insert_vc_ignore $dot_ig $build_aux done fi @@ -394,7 +413,7 @@ fi if ! printf "$buildreq" | check_versions; then echo >&2 if test -f README-prereq; then - echo "See README-prereq for notes on obtaining the prerequisite programs" >&2 + echo "See README-prereq for how to get the prerequisite programs" >&2 else echo "Please install the prerequisite programs" >&2 fi @@ -561,7 +580,7 @@ symlink_to_dir() for dot_ig in x $vc_ignore; do test $dot_ig = x && continue ig=$parent/$dot_ig - insert_sorted_if_absent $ig `echo "$dst_dir"|sed 's,.*/,,'` + insert_vc_ignore $ig `echo "$dst_dir"|sed 's,.*/,,'` done fi @@ -678,7 +697,8 @@ slurp() { for file in `ls -a $1/$dir`; do case $file in .|..) continue;; - .*) continue;; # FIXME: should all file names starting with "." be ignored? + # FIXME: should all file names starting with "." be ignored? + .*) continue;; esac test -d $1/$dir/$file && continue for excluded_file in $excluded_files; do @@ -687,10 +707,12 @@ slurp() { if test $file = Makefile.am && test "X$gnulib_mk" != XMakefile.am; then copied=$copied${sep}$gnulib_mk; sep=$nl remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g" - sed "$remove_intl" $1/$dir/$file | cmp - $dir/$gnulib_mk > /dev/null || { + 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 + sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk && + gnulib_mk_hook $dir/$gnulib_mk } elif { test "${2+set}" = set && test -r $2/$dir/$file; } || version_controlled_file $dir $file; then @@ -718,18 +740,25 @@ slurp() { test $dot_ig = x && continue ig=$dir/$dot_ig if test -n "$copied"; then - insert_sorted_if_absent $ig "$copied" + insert_vc_ignore $ig "$copied" # If an ignored file name ends with .in.h, then also add # the name with just ".h". Many gnulib headers are generated, # e.g., stdint.in.h -> stdint.h, dirent.in.h ->..., etc. # Likewise for .gperf -> .h, .y -> .c, and .sin -> .sed - f=`echo "$copied"|sed 's/\.in\.h$/.h/;s/\.sin$/.sed/;s/\.y$/.c/;s/\.gperf$/.h/'` - insert_sorted_if_absent $ig "$f" + f=`echo "$copied" | + sed ' + s/\.in\.h$/.h/ + s/\.sin$/.sed/ + s/\.y$/.c/ + s/\.gperf$/.h/ + ' + ` + insert_vc_ignore $ig "$f" # For files like sys_stat.in.h and sys_time.in.h, record as # ignorable the directory we might eventually create: sys/. f=`echo "$copied"|sed 's/sys_.*\.in\.h$/sys/'` - insert_sorted_if_absent $ig "$f" + insert_vc_ignore $ig "$f" fi done done |