]> code.ossystems Code Review - openembedded-core.git/commitdiff
run-postinsts: do not remove postinsts directory.
authorAnton D. Kachalov <gmouse@google.com>
Sun, 21 Mar 2021 10:26:16 +0000 (11:26 +0100)
committerAnuj Mittal <anuj.mittal@intel.com>
Fri, 9 Apr 2021 06:01:25 +0000 (14:01 +0800)
When running on the systems having read-only rootfs backed by overlayfs,
removing the whole directory lead to create a special char device file
on the upperdir to reflect directory's removal. Once it is required to
upgrade the whole read-only image that might contain new postinsts scripts,
it will be impossible to run such scripts with a "deletion mark" file
on the overlayfs -- the whole directory will be marked as deleted regardless
new files in it.

Signed-off-by: Anton D. Kachalov <gmouse@google.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1a27b62b225ffeecec47c249a0b86cc54d775add)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts

index f84a7e18c8301405b1a36bd279cfae744afbbc74..95dccb9cae11f6db415a285240563c3c47c46e25 100755 (executable)
@@ -72,12 +72,12 @@ exec_postinst_scriptlets() {
                else
                        echo "ERROR: postinst $i failed."
                        [ "$POSTINST_LOGGING" = "1" ] && eval echo "ERROR: postinst $i failed." $append_log
-                       remove_pi_dir=0
+                       remove_rcsd_link=0
                fi
        done
 }
 
-remove_pi_dir=1
+remove_rcsd_link=1
 if $pm_installed; then
        case $pm in
                "ipk")
@@ -92,9 +92,7 @@ else
        exec_postinst_scriptlets
 fi
 
-# since all postinstalls executed successfully, remove the postinstalls directory
-# and the rcS.d link
-if [ $remove_pi_dir = 1 ]; then
-       rm -rf $pi_dir
+# since all postinstalls executed successfully, remove the rcS.d link
+if [ $remove_rcsd_link = 1 ]; then
        remove_rcsd_link
 fi