diff options
| author | Sergei Trofimovich <slyich@gmail.com> | 2023-01-25 23:59:48 +0000 |
|---|---|---|
| committer | Sergei Trofimovich <slyich@gmail.com> | 2023-01-26 00:07:16 +0000 |
| commit | 5ac9fcfc60a73d68b226ee01e00d6332fdbc761c (patch) | |
| tree | 5d9c64990d63a0c1d98dd090db0268b6dc766af7 /pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch | |
| parent | 0a0068baab88b534f8dc8d225eff19015e875447 (diff) | |
dejagnu: fix target passing for 'runtest' wrapper
The problem was initially noticed in https://sourceware.org/PR30052#c5
where 'runtest' was passing bogus target name when ran without
parameters:
$ ./result/bin/runtest
...
Target is .runtest-wrapped
Host is x86_64-pc-linux-gnu
Note that runtest switches to non-native mode and uses wrapper name as a
target name. Mechanics of it is a bit involved: 'runtest' itself detects
targets passing via ${0} parameter:
# somewhere in runtest:
mypath=${0-.}
...
if [ "$target" != runtest ] ; then
target="--target ${target}"
else
target=""
fi
which would be fine if we ran 'runtest'.
In `nixpkgs` `runtest` is a shell wrapper:
$ cat /<<NIX>>/dejagnu-1.6.3/bin/runtest
#! /<<NIX>>/bash-5.2-p15/bin/bash -e
...
exec -a "$0" "/<<NIX>>/dejagnu-1.6.3/bin/.runtest-wrapped" "$@"
You would expect that `.runtest-wrapped` would get `$0` as an `argv[0]`
here, but no. If both are `bash` scripts `bash` peeks original
`argv[0]` and breaks `runtest`:
https://lists.gnu.org/archive/html/bug-bash/2023-01/msg00082.html
The workaround here is to drop the wrapper and place `expect` symlink
into a place where `dejagnu` and `runtest` expect it to be without a
wrapper creation.
Diffstat (limited to 'pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch')
0 files changed, 0 insertions, 0 deletions
