From: Chen Qi Date: Mon, 13 Jan 2014 04:59:42 +0000 (-0500) Subject: run-postinsts: remove the init script after a clean start-up X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~34747 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=08a2f48cb95256c6d44c8574949fabafe1466969;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git run-postinsts: remove the init script after a clean start-up If we enable ipk/deb package back-end, and we have 'package-management' in our IMAGE_FEATURES, then the /etc/rcS.d/S99run-postinsts would still exist in our system after a clean start-up. The initial design for run-postinsts requires the related init script to be removed if there's no more post-install script left in the system. This patch fixes this problem. [YOCTO #5718] Signed-off-by: Chen Qi Signed-off-by: Saul Wold --- diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts index c94c3e92ece..11141ec71ff 100755 --- a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts +++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts @@ -16,7 +16,16 @@ for pm in rpm deb ipk; do fi done -[ -z "$pi_dir" ] && exit 0 +remove_rcsd_link () { + if [ -n "`which update-rc.d`" ]; then + update-rc.d -f run-postinsts remove + fi +} + +if [ -z "$pi_dir" ]; then + remove_rcsd_link + exit 0 +fi [ -e #SYSCONFDIR#/default/postinst ] && . #SYSCONFDIR#/default/postinst @@ -43,7 +52,5 @@ done # and the rcS.d link if [ $remove_pi_dir = 1 ]; then rm -rf $pi_dir - if [ -n "`which update-rc.d`" ]; then - update-rc.d -f run-postinsts remove - fi + remove_rcsd_link fi