[oe-commits] [openembedded-core] 30/34: run-postinsts: Fix full execution of scripts at first boot
git at git.openembedded.org
git at git.openembedded.org
Thu Apr 25 11:16:37 UTC 2019
This is an automated email from the git hooks/post-receive script.
rpurdie pushed a commit to branch master-next
in repository openembedded-core.
commit f95ede8d40e5185246f8ae6faf94b622f22afc90
Author: Alejandro Enedino Hernandez Samaniego <alejandro.enedino.hernandez-samaniego at xilinx.com>
AuthorDate: Fri Apr 19 14:47:40 2019 -0700
run-postinsts: Fix full execution of scripts at first boot
run-postinsts runs a given set of scripts during the first boot of the
device, when one of these scripts prints something to stdout (isnt
daemonized correctly), since stdout is not available at that time,
the script execution immediately returns with an error (exit_group()),
this error causes the script to terminate all threads within the process,
causing undesired behavior since the script might still had to execute
some other code.
Replace eval built-in with $(), since $() executes in a different shell,
even if one of the scripts exits, all threads of that process will only
be within that session, this ensures other scripts meant to be run are
still run afterwards.
This was only required on the line that actually executes the scripts:
"eval sh -c $i $append_log", other replacements were put for consistency,
and generally, it is recommended to use $() instead of eval anyway.
[YOCTO #13266]
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr at xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
.../recipes-devtools/run-postinsts/run-postinsts/run-postinsts | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
index 95eff04..419796f 100755
--- a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
+++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
@@ -65,13 +65,13 @@ exec_postinst_scriptlets() {
for i in `ls $pi_dir`; do
i=$pi_dir/$i
echo "Running postinst $i..."
- [ "$POSTINST_LOGGING" = "1" ] && eval echo "Running postinst $i..." $append_log
+ [ "$POSTINST_LOGGING" = "1" ] && $(echo "Running postinst $i..." $append_log)
if [ -x $i ]; then
- eval sh -c $i $append_log
+ $(sh -c $i $append_log)
rm $i
else
echo "ERROR: postinst $i failed."
- [ "$POSTINST_LOGGING" = "1" ] && eval echo "ERROR: postinst $i failed." $append_log
+ [ "$POSTINST_LOGGING" = "1" ] && $(echo "ERROR: postinst $i failed." $append_log)
remove_pi_dir=0
fi
done
@@ -81,11 +81,11 @@ remove_pi_dir=1
if $pm_installed; then
case $pm in
"ipk")
- eval opkg configure $append_log
+ $(opkg configure $append_log)
;;
"deb")
- eval dpkg --configure -a $append_log
+ $(dpkg --configure -a $append_log)
;;
esac
else
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Openembedded-commits
mailing list