diff options
author | Anton D. Kachalov <gmouse@google.com> | 2021-03-21 11:26:16 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-03-23 22:51:25 +0000 |
commit | c3ec66dfb50c7fc0ab3b5bf6e0825ed3b1ca5971 (patch) | |
tree | 6795013b785d76d1711897c70a6bd0e8aa575d1a /meta/recipes-devtools | |
parent | 84e4c97835f58d49031784f2050cd5b149074633 (diff) | |
download | poky-c3ec66dfb50c7fc0ab3b5bf6e0825ed3b1ca5971.tar.gz |
run-postinsts: do not remove postinsts directory.
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.
(From OE-Core rev: 1a27b62b225ffeecec47c249a0b86cc54d775add)
Signed-off-by: Anton D. Kachalov <gmouse@google.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
-rwxr-xr-x | meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts index f84a7e18c8..95dccb9cae 100755 --- a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts +++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts | |||
@@ -72,12 +72,12 @@ exec_postinst_scriptlets() { | |||
72 | else | 72 | else |
73 | echo "ERROR: postinst $i failed." | 73 | echo "ERROR: postinst $i failed." |
74 | [ "$POSTINST_LOGGING" = "1" ] && eval echo "ERROR: postinst $i failed." $append_log | 74 | [ "$POSTINST_LOGGING" = "1" ] && eval echo "ERROR: postinst $i failed." $append_log |
75 | remove_pi_dir=0 | 75 | remove_rcsd_link=0 |
76 | fi | 76 | fi |
77 | done | 77 | done |
78 | } | 78 | } |
79 | 79 | ||
80 | remove_pi_dir=1 | 80 | remove_rcsd_link=1 |
81 | if $pm_installed; then | 81 | if $pm_installed; then |
82 | case $pm in | 82 | case $pm in |
83 | "ipk") | 83 | "ipk") |
@@ -92,9 +92,7 @@ else | |||
92 | exec_postinst_scriptlets | 92 | exec_postinst_scriptlets |
93 | fi | 93 | fi |
94 | 94 | ||
95 | # since all postinstalls executed successfully, remove the postinstalls directory | 95 | # since all postinstalls executed successfully, remove the rcS.d link |
96 | # and the rcS.d link | 96 | if [ $remove_rcsd_link = 1 ]; then |
97 | if [ $remove_pi_dir = 1 ]; then | ||
98 | rm -rf $pi_dir | ||
99 | remove_rcsd_link | 97 | remove_rcsd_link |
100 | fi | 98 | fi |