From 0a525f45384254961b7e343665e09555d2a36d2c Mon Sep 17 00:00:00 2001 From: Alejandro Enedino Hernandez Samaniego Date: Wed, 8 May 2019 12:04:01 -0700 Subject: 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 subshell, 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. [YOCTO #13266] (From OE-Core rev: 9d1cb1b38f22cb3ab93ac8b431601df12f76dc22) Signed-off-by: Alejandro Enedino Hernandez Samaniego Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster Signed-off-by: Richard Purdie --- meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta/recipes-devtools/run-postinsts') diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts index 95eff04e17..f84a7e18c8 100755 --- a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts +++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts @@ -67,7 +67,7 @@ exec_postinst_scriptlets() { echo "Running postinst $i..." [ "$POSTINST_LOGGING" = "1" ] && eval 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." -- cgit v1.2.3-54-g00ecf