Subject: bug#47382: runtest doesn't work with Solaris 10 /bin/sh

From: Jacob Bachmeyer <[email-masked]>
Date: Thu, 25 Mar 2021 23:46:47 -0500

Rainer Orth wrote:
> When trying DejaGnu 1.6.3 rc1 on Solaris 10, it failed immediately with:
>
> runtest: syntax error at line 43: `execpath=$' unexpected
>
> The script hardcodes #!/bin/sh, but the Solaris 10 /bin/sh is
> effectively the old Bourne Shell and doesn't support $().
>
> There are several options, I believe:
>
> * Substitute a shell that does (like /bin/ksh in the Solaris 10 case).
>
> * Rework the script to avoid the construct.
>
> * Give up in horror and declare Solaris 10 unsupported, preferably with
>   a decent error message at configure time.

I had expected that some system out there might do this when I resisted 
pressure to more aggressively use newer shell constructs in the 
"dejagnu" multipurpose launcher script.

The previous maintainer had changed this because shellcheck complains 
about the old `backticks` form.  I have chosen rework the script to 
return to `` instead of $() and `expr ...` instead of $((...)) before rc2.

As I am unable to test on Solaris, these reports are particularly 
helpful.  A patch has been pushed to Savannah on the "dejagnu-1.6.3" 
branch and will be included in release candidate 2.  While I would 
prefer if you could confirm that the patch fixes this bug prior to 
releasing rc2, I will understand if you do not have Git on your Solaris 
machine.

This issue should be fixed in commit 
e3b14d8555c5cabad03b9ccaa6aa1976ed590201 on the dejagnu-1.6.3 branch.  
After the 1.6.3 release, bugfixes on that branch will be forward-ported 
to master.

I plan to look at the other two bugs you reported tomorrow.

-- Jacob