utils.bbclass: ensure $0 is correct in wrapper scripts
Some packages (eg mesa) will invoke a tool with --version and do string matches on the output (i.e. mesa does $LEX --version |grep "^flex "). This doesn't work with the combination of wrapper scripts and binaries that use $0 as they output "flex.real". Luckily bash's exec lets you set $0. As we want to use this we can't use env, but using export appears to work just as well. (From OE-Core rev: e8d2a2a3646f964ec61ece62e14788cd7184dd01) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
29049da221
commit
3aaa4f78c6
|
@ -261,9 +261,9 @@ create_cmdline_wrapper () {
|
|||
mv $cmd $cmd.real
|
||||
cmdname=`basename $cmd`.real
|
||||
cat <<END >$cmd
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
realpath=\`readlink -fn \$0\`
|
||||
exec \`dirname \$realpath\`/$cmdname $@ "\$@"
|
||||
exec -a $cmd \`dirname \$realpath\`/$cmdname $@ "\$@"
|
||||
END
|
||||
chmod +x $cmd
|
||||
}
|
||||
|
@ -284,9 +284,10 @@ create_wrapper () {
|
|||
mv $cmd $cmd.real
|
||||
cmdname=`basename $cmd`.real
|
||||
cat <<END >$cmd
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
realpath=\`readlink -fn \$0\`
|
||||
exec env $@ \`dirname \$realpath\`/$cmdname "\$@"
|
||||
export $@
|
||||
exec -a $cmd \`dirname \$realpath\`/$cmdname "\$@"
|
||||
END
|
||||
chmod +x $cmd
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue