[OE-core] [PATCH] autogen: fix autoopts script generation to handle shebang

Alexander Kanavin alexander.kanavin at linux.intel.com
Tue May 16 11:32:26 UTC 2017


On 05/16/2017 08:36 AM, Belal, Awais wrote:
>> The standard way to fix too long #! lines in oe is to patch
>> upstream code to use #!/usr/bin/env something (where something is
>> just the binary name).
>
>> Why not simply replace ${POSIX_SHELL} with /bin/sh? Where and how
>> is it set?
>
> POSIX_SHELL is being set to "/usr/bin/env sh" already through the
> recipe but it gets resolved/expanded to
> <build-dir>/hosttools/<shell-bin> during the configuration process so
> it's not usable for shebang in deep directory hierarchy scenarios. I
> guess a better way would be simply to use the same technique that
> we're using for perl. So for shell we'll have
>
> #!/usr/bin/env sh
>
> in mk-tpl-config.sh directly. I'll submit the change as v2 if you
> think this is okay.

You should not patch out the use of POSIX_SHELL after the fact. Find 
where it is resolved/expanded in the source code in the first place, and 
patch it there. Also, please check why setting POSIX_SHELL in the recipe 
no longer has any effect - there is a patch called 
0001-config-libopts.m4-regenerate-it-from-config-libopts.patch which 
should do the trick, but does not.

Alex




More information about the Openembedded-core mailing list