tar is currently stuck with a fore-runner of gnulib's build-aux/bootstrap, which still uses the name .#bootmp rather than the newer ._bootmp. But a recent change in gnulib-tool breaks bootstrap when this directory name is encountered in the context of m4 expansion and gets treated as a comment, invoking m4_syscmd with improper quoting. Eventually, tar should probably modernize its bootstrap (not only did the rename to ._bootmp avoid issues with m4/Makefile comments, but the latest gnulib version also munges the resulting gnulib-comp.m4 to track the final location of all munged files rather than using the bootmp dir location, whereas even with this patch, the m4_syscmd is basically a no-op for tar, since the bootstrap script deletes the bootmp tempdir before finishing); but in the meantime, I'm checking in this so that current gnulib can at least be used once again with current tar.
From: Eric Blake <[EMAIL PROTECTED]> Date: Thu, 10 Jul 2008 15:10:42 -0600 Subject: [PATCH] Work with tar's bootstrap. * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case where LIBSOURCES_DIR contains .#bootmp but must not be treated as an m4 comment. Signed-off-by: Eric Blake <[EMAIL PROTECTED]> --- ChangeLog | 7 +++++++ gnulib-tool | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 32c762f..b1dec71 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-07-10 Eric Blake <[EMAIL PROTECTED]> + + Work with tar's bootstrap. + * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case + where LIBSOURCES_DIR contains .#bootmp but must not be treated as + an m4 comment. + 2008-07-09 Jim Meyering <[EMAIL PROTECTED]> posix-shell.m4: fix typo that made this test malfunction diff --git a/gnulib-tool b/gnulib-tool index 1c45002..7dd2063 100755 --- a/gnulib-tool +++ b/gnulib-tool @@ -2068,10 +2068,10 @@ func_emit_initmacro_end () # the configure.ac resides; if it is run from a different directory, the # check is skipped. echo " m4_ifval(${macro_prefix_arg}_LIBSOURCES_LIST, [" - echo " m4_syscmd([test ! -d ]${macro_prefix_arg}_LIBSOURCES_DIR[ ||" + echo " m4_syscmd([test ! -d ]m4_defn([${macro_prefix_arg}_LIBSOURCES_DIR]) [ ||" echo " for gl_file in ]${macro_prefix_arg}_LIBSOURCES_LIST[ ; do" - echo " if test ! -r ]${macro_prefix_arg}_LIBSOURCES_DIR[/\$gl_file ; then" - echo " echo \"missing file ]${macro_prefix_arg}_LIBSOURCES_DIR[/ \$gl_file\" >&2" + echo " if test ! -r ]m4_defn([${macro_prefix_arg}_LIBSOURCES_DIR])[/ \$gl_file ; then" + echo " echo \"missing file ]m4_defn([${macro_prefix_arg} _LIBSOURCES_DIR])[/\$gl_file\" >&2" echo " exit 1" echo " fi" echo " done])dnl" -- 1.5.6