utils.bbclass: ensure $0 is correct in wrapper scripts
PATCH 1/1 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.
Signed-off-by Ross Burton <[email protected]>
--- meta/classes/utils.bbclass | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
meta/classes/utils.bbclass +5 -4
@@ -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 }
Signature · 1 line
1.7.10.4