Gary V. Vaughan wrote: > 1. gnulib_mk > ============ > >> # Name of the Makefile.am >> gnulib_mk=gnulib.mk > > What is this for? The only use in the rest of the script is inside the > slurp() function, who's purpose I cannot fathom: > >> 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 >> || { >> echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." && >> rm -f $dir/$gnulib_mk && >> sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk >> } > > It seems to have something to do with removing the intl subdirectory, so must > pertain to gettext. But then why is it called `gnulib.mk'?
Much of slurp is now obsolete. It was working around problems in gnulib that have been resolved. For example, as far as I can see, removing the following blocks induces no change in coreutils' build process. diff --git a/bootstrap b/bootstrap index 5ab4cf7..8d15081 100755 --- a/bootstrap +++ b/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh # Print a version string. -scriptversion=2010-07-06.10; # UTC +scriptversion=2010-09-02.20; # UTC # Bootstrap this package from checked-out sources. @@ -666,33 +666,12 @@ slurp() { for excluded_file in $excluded_files; do test "$dir/$file" = "$excluded_file" && continue 2 done - 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 || { - echo "$0: Copying $1/$dir/$file to $dir/$gnulib_mk ..." && - rm -f $dir/$gnulib_mk && - sed "$remove_intl" $1/$dir/$file >$dir/$gnulib_mk - } - elif { test "${2+set}" = set && test -r $2/$dir/$file; } || + if { test "${2+set}" = set && test -r $2/$dir/$file; } || version_controlled_file $dir $file; then echo "$0: $dir/$file overrides $1/$dir/$file" else copied=$copied$sep$file; sep=$nl - if test $file = gettext.m4; then - echo "$0: patching m4/gettext.m4 to remove need for intl/* ..." - rm -f $dir/$file - sed ' - /^AC_DEFUN(\[AM_INTL_SUBDIR],/,/^]/c\ - AC_DEFUN([AM_INTL_SUBDIR], []) - /^AC_DEFUN(\[gt_INTL_SUBDIR_CORE],/,/^]/c\ - AC_DEFUN([gt_INTL_SUBDIR_CORE], []) - $a\ - AC_DEFUN([gl_LOCK_EARLY], []) - ' $1/$dir/$file >$dir/$file - else - cp_mark_as_generated $1/$dir/$file $dir/$file - fi + cp_mark_as_generated $1/$dir/$file $dir/$file fi || exit done