[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-gnulib] gnulib/gnulib-tool shell quoting problem for Solaris /b
From: |
Bruno Haible |
Subject: |
Re: [bug-gnulib] gnulib/gnulib-tool shell quoting problem for Solaris /bin/sh |
Date: |
Tue, 24 Jan 2006 20:14:34 +0100 |
User-agent: |
KMail/1.5 |
Mark D. Baushke wrote:
> on a Solaris 9 system
> I have run into problems when /bin/sh is used.
>
> ...
>
> I am getting these two errors:
>
> sed: -e expression #1, char 2: unterminated `s' command
> ../gnulib/gnulib-tool: .*^I,,: not found
> sed: -e expression #1, char 2: unterminated `s' command
> ../gnulib/gnulib-tool: .*^I,,: not found
>
> I have tracked the problems down to the two for loops in this block of
> code starting on line 1152 in the gnulib-tool file:
>
> # Then the files that are in new-files, but not in old-files:
> already_present=
> for f in `LC_ALL=C join -t"$delimiter" -v2 "$tmp"/old-files
> "$tmp"/new-files | sed -e 's,'^.*"$delimiter"',,'`; do case "$f" in
> build-aux/*) g=`echo "$f" | sed -e "s,^build-aux/,$auxdir/,"` ;;
> lib/*) g=`echo "$f" | sed -e "s,^lib/,$sourcebase/,"` ;;
> m4/*) g=`echo "$f" | sed -e "s,^m4/,$m4base/,"` ;;
> tests/*) g=`echo "$f" | sed -e "s,^tests/,$testsbase/,"` ;;
> *) g="$f" ;;
> esac
> func_add_or_update
> done
> # Then the files that are in new-files and in old-files:
> already_present=true
> for f in `LC_ALL=C join -t"$delimiter" "$tmp"/old-files "$tmp"/new-files
> | sed -e 's,'^.*"$delimiter"',,'`; do case "$f" in
> build-aux/*) g=`echo "$f" | sed -e "s,^build-aux/,$auxdir/,"` ;;
> lib/*) g=`echo "$f" | sed -e "s,^lib/,$sourcebase/,"` ;;
> m4/*) g=`echo "$f" | sed -e "s,^m4/,$m4base/,"` ;;
> tests/*) g=`echo "$f" | sed -e "s,^tests/,$testsbase/,"` ;;
> *) g="$f" ;;
> esac
> func_add_or_update
> done
>
> The value of $delimeter is a control-I character.
Thanks for the report and patch. I've committed a patch equivalent to
yours.
> After using the patch, I only see the Solaris host adding one additional
> '-: not found' error message. For example, I see this on the Solaris 9
> host:
>
> % maint-aux/gnulib-update
> ../gnulib/gnulib-tool: -: not found
> ********************************************************************
> Makefile.am needs updating. Use `cvs diff lib/Makefile.gnulib' to
> view changes.
> ********************************************************************
To find out which command in gnulib-tool is causing this, you can
add a
set -x
command in line 22 of gnulib-tool, then run maint-aux/gnulib-update
again, and look where in the output you find the "-: not found" error
message. Thanks!
Bruno