utils: create_cmdline_shebang_wrapper preserve permission and ownership

The .real command was not given the same permissions and ownership as
the original pre-wrap file and this is now fixed.

A situation where the original pre-wrap file did not have write
permissions would cause a failure in the wrapping is also fixed.

Test update also included.

(From OE-Core rev: 47973fd4f3fbb0af1a0d1bc2c39f2900a963177d)

Signed-off-by: Paulo Neves <ptsneves@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paulo Neves
2022-07-03 13:41:14 +02:00
committed by Richard Purdie
parent 0e84a9d697
commit f0ee900859
2 changed files with 13 additions and 1 deletions

View File

@@ -202,6 +202,9 @@ create_cmdline_shebang_wrapper () {
argument="$(sed -ne 's/^#! *//p;q' $cmd)"
# strip the shebang from the real script as we do not want it to be usable anyway
tail -n +2 $cmd > $cmd.real
chown --reference=$cmd $cmd.real
chmod --reference=$cmd $cmd.real
rm -f $cmd
cmdname=$(basename $cmd)
dirname=$(dirname $cmd)
cmdoptions=$@