Paul Eggert wrote:
> > ../gnulib/gnulib-tool: syntax error at line 634: `}' unexpected
>
> The Solaris /bin/sh doesn't conform to POSIX:
>
> $ /bin/sh -c 'if ! false; then echo good; else echo bad; fi'
> /bin/sh: !: not found
> bad
Thanks for the quick diagnosis. Without it, I was tempted to change the
first line to
#!/usr/bin/env bash
I applied this patch.
2006-08-21 Mark D. Baushke <[EMAIL PROTECTED]>
Bruno Haible <[EMAIL PROTECTED]>
* gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
/bin/sh understanding of '!' conditional negation.
*** gnulib-tool 15 Aug 2006 11:52:39 -0000 1.137
--- gnulib-tool 21 Aug 2006 13:29:36 -0000
***************
*** 629,643 ****
# verifies a module name
func_verify_module ()
{
! if ! { test -f "$gnulib_dir/modules/$module" \
! || { test -n "$local_gnulib_dir" && test -d
"$local_gnulib_dir/modules" \
! && test -f "$local_gnulib_dir/modules/$module"; }; } \
! || test "CVS" = "$module" \
! || test "ChangeLog" = "$module" \
! || test "COPYING" = "$module" \
! || test "README" = "$module" \
! || test "TEMPLATE" = "$module" \
! || test "TEMPLATE-TESTS" = "$module"; then
echo "gnulib-tool: module $module doesn't exist" 1>&2
module=
fi
--- 629,646 ----
# verifies a module name
func_verify_module ()
{
! if { test -f "$gnulib_dir/modules/$module" \
! || { test -n "$local_gnulib_dir" && test -d
"$local_gnulib_dir/modules" \
! && test -f "$local_gnulib_dir/modules/$module"; }; } \
! && test "CVS" != "$module" \
! && test "ChangeLog" != "$module" \
! && test "COPYING" != "$module" \
! && test "README" != "$module" \
! && test "TEMPLATE" != "$module" \
! && test "TEMPLATE-TESTS" != "$module"; then
! # OK, $module is a correct module name.
! :
! else
echo "gnulib-tool: module $module doesn't exist" 1>&2
module=
fi