[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#47382: runtest doesn't work with Solaris 10 /bin/sh
From: |
Rainer Orth |
Subject: |
bug#47382: runtest doesn't work with Solaris 10 /bin/sh |
Date: |
Wed, 14 Apr 2021 15:40:56 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1.90 (usg-unix-v) |
Hi Jacob,
> Rainer Orth wrote:
>> * There's also
>>
>> Native configuration is
>> /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/config.guess: syn
>> tax error at line 35: `me=$' unexpected
>>
>> another POSIX shell construct, and less easily avoided because this
>> comes from upstream.
>>
>
> As of commit 2ca7d52dfa1726aadd1363e399d9b41429332017, which will be in
> release candidate 3, configure now contains experimental logic to
> address this issue by patching the interpreter line in config.guess and
> config.sub when SHELL is not /bin/sh.
I'll restrict my reply to this issue for the moment because that logic
caused quite a number of issues:
* On Solaris 10 with CONFIG_SHELL=/bin/ksh, configure substituted
/bin/ksh into the #! line of both config.guess and config.sub.
Unfortunately, this has many issues:
* The modified files weren't made executable, leading to lots of
failures from the likes of
Native configuration is couldn't execute
"/vol/src/gnu/dejagnu/dejagnu-1.6.3-rc3/config.guess": permission denied
* Even if I manually make the scripts executable, this isn't a proper
solution: runtest.exp looks for config.guess in quite a number of
places, and many projects rely on being able to drop newer
config.{guess,sub} versions into their source trees to support targets
that may not even have existed at the time the version of DejaGnu used
was released. So using the CONFIG_SHELL should be in the exec line in
runtest.exp.
* Besides, modifying files in the source tree is wrong for several
reasons:
** Read-only source trees need to be supported.
** If you share the same source tree between several targets, which is
quite common, you might end up with a shell in #! on a second target
that may not even exist there.
While this could be avoided by making the substitutions to a copy in
the build tree, the issue vanishes if runtest.exp uses the proper
shell in the exec.