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