GNU bug report logs - #47382
runtest doesn't work with Solaris 10 /bin/sh

Previous Next

Package: dejagnu;

Reported by: Rainer Orth <ro <at> CeBiTec.Uni-Bielefeld.DE>

Date: Thu, 25 Mar 2021 10:34:01 UTC

Owned by: jcb62281 <at> gmail.com

Severity: normal

Done: Jacob Bachmeyer <jcb62281 <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #22 received at 47382 <at> debbugs.gnu.org (full text, mbox):

From: Rainer Orth <ro <at> CeBiTec.Uni-Bielefeld.DE>
To: Jacob Bachmeyer <jcb62281 <at> gmail.com>
Cc: 47382 <at> debbugs.gnu.org
Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh
Date: Wed, 14 Apr 2021 15:40:56 +0200
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.





This bug report was last modified 3 years and 352 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.