This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
PATCH: Remove ${SHELL} from convdata/tst-tables.sh/iconvdata/tst-table.sh
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Andreas Schwab <schwab at linux-m68k dot org>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Fri, 26 Oct 2012 05:35:31 -0700
- Subject: PATCH: Remove ${SHELL} from convdata/tst-tables.sh/iconvdata/tst-table.sh
On Fri, Oct 26, 2012 at 5:09 AM, Andreas Schwab <schwab@linux-m68k.org> wrote:
> "H.J. Lu" <hjl.tools@gmail.com> writes:
>
>> diff --git a/config.make.in b/config.make.in
>> index c22acf4..8cfd30e 100644
>> --- a/config.make.in
>> +++ b/config.make.in
>> @@ -133,6 +133,7 @@ MSGFMT = @MSGFMT@
>> # Script execution tools.
>> BASH = @BASH_SHELL@
>> KSH = @KSH@
>> +SHELL = @SHELL@
>
> Note that this will disable make's internal comand line parsing if
> @SHELL@ isn't exactly /bin/sh, which may cause some build performance
> regression.
>
> Andreas.
>
I took a closer look on why ${SHELL} was used in the
first place:
http://sourceware.org/ml/libc-alpha/2000-10/msg00183.html
It is used to work around the execute permission issue when
patching new script. It is no longer the issue now. I'd like
to revert it since it causes the problem:
make subdir=iconvdata -C iconvdata ..=../ tests
make[2]: Entering directory `/export/gnu/import/git/sources/glibc/iconvdata'
/bin/sh tst-tables.sh /export/build/gnu/glibc/build-x86_64-linux/
/export/build/gnu/glibc/build-x86_64-linux/iconvdata/ \
' /export/build/gnu/glibc/build-x86_64-linux/elf/ld-linux-x86-64.so.2
--library-path /export/build/gnu/glibc/build-x86_64-linux:/export/build/gnu/glibc/build-x86_64-linux/math:/export/build/gnu/glibc/build-x86_64-linux/elf:/export/build/gnu/glibc/build-x86_64-linux/dlfcn:/export/build/gnu/glibc/build-x86_64-linux/nss:/export/build/gnu/glibc/build-x86_64-linux/nis:/export/build/gnu/glibc/build-x86_64-linux/rt:/export/build/gnu/glibc/build-x86_64-linux/resolv:/export/build/gnu/glibc/build-x86_64-linux/crypt:/export/build/gnu/glibc/build-x86_64-linux/nptl'
> /export/build/gnu/glibc/build-x86_64-linux/iconvdata/tst-tables.out
Testing ASCIItst-table.sh:63: no such file or directory:
/export/build/gnu/glibc/build-x86_64-linux/elf/ld-linux-x86-64.so.2
--library-path /export/build/gnu/glibc/build-x86_64-linux:/export/build/gnu/glibc/build-x86_64-linux/math:/export/build/gnu/glibc/build-x86_64-linux/elf:/export/build/gnu/glibc/build-x86_64-linux/dlfcn:/export/build/gnu/glibc/build-x86_64-linux/nss:/export/build/gnu/glibc/build-x86_64-linux/nis:/export/build/gnu/glibc/build-x86_64-linux/rt:/export/build/gnu/glibc/build-x86_64-linux/resolv:/export/build/gnu/glibc/build-x86_64-linux/crypt:/export/build/gnu/glibc/build-x86_64-linux/nptl
*** FAILED ***
make[2]: *** [/export/build/gnu/glibc/build-x86_64-linux/iconvdata/tst-tables.out]
Error 1
make[2]: Leaving directory `/export/gnu/import/git/sources/glibc/iconvdata'
make[1]: *** [iconvdata/tests] Error 2
make[1]: Leaving directory `/export/gnu/import/git/sources/glibc'
make: *** [check] Error 2
when SHELL is /bin/zsh. Tested on x86-64. OK to install?
Thanks.
--
H.J.
--
* iconvdata/tst-table.sh: Remove ${SHELL}.
* iconvdata/tst-tables.sh: Likewise.
---
diff --git a/iconvdata/tst-table.sh b/iconvdata/tst-table.sh
index 14ab196..5283ad5 100755
--- a/iconvdata/tst-table.sh
+++ b/iconvdata/tst-table.sh
@@ -35,7 +35,7 @@ export LC_ALL
set -e
# Get the charmap.
-${SHELL} tst-table-charmap.sh ${charmap:-$charset} \
+./tst-table-charmap.sh ${charmap:-$charset} \
< ../localedata/charmaps/${charmap:-$charset} \
> ${objpfx}tst-${charset}.charmap.table
# When the charset is GB18030, truncate this table because for this encodi=
ng,
diff --git a/iconvdata/tst-tables.sh b/iconvdata/tst-tables.sh
index eaf84dc..77d9d18 100755
--- a/iconvdata/tst-tables.sh
+++ b/iconvdata/tst-tables.sh
@@ -262,7 +262,7 @@ while read charset charmap; do
if test "$charset" =3D GB18030; then echo "This might take a while" 1>&2=
; fi
case ${charset} in \#*) continue;; esac
echo -n "Testing ${charset}" 1>&2
- if ${SHELL} tst-table.sh ${common_objpfx} ${objpfx} "${run_program_prefi=
x}" \
+ if ./tst-table.sh ${common_objpfx} ${objpfx} "${run_program_prefix}" \
${charset} ${charmap} < /dev/null; then
echo 1>&2
else