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


Reply via email to