[OE-core] [PATCH 1/2] update-rc.d.bbclass: ignore init script return code

Markus Lehtonen markus.lehtonen at linux.intel.com
Tue Oct 11 12:43:28 UTC 2016


We need to ignore the return code from the init script 'stop' command in
the preinst and prerm scriptlets. Otherwise package upgrade or
deinstallation (at least when opkg is used) is likely to fail if the
daemon is not running. That is because an init script possibly returns
'1' if you try to stop a service that is not running which, in turn,
causes the scriptlet to fail which, in turn, causes the package
(de-)installation to fail.

[YOCTO #10299]

Signed-off-by: Markus Lehtonen <markus.lehtonen at linux.intel.com>
---
 meta/classes/update-rc.d.bbclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass
index 458941f..236a742 100644
--- a/meta/classes/update-rc.d.bbclass
+++ b/meta/classes/update-rc.d.bbclass
@@ -37,7 +37,7 @@ INIT_D_DIR = "${sysconfdir}/init.d"
 
 updatercd_preinst() {
 if [ -z "$D" -a -f "${INIT_D_DIR}/${INITSCRIPT_NAME}" ]; then
-	${INIT_D_DIR}/${INITSCRIPT_NAME} stop
+	${INIT_D_DIR}/${INITSCRIPT_NAME} stop || :
 fi
 if type update-rc.d >/dev/null 2>/dev/null; then
 	if [ -n "$D" ]; then
@@ -62,7 +62,7 @@ fi
 
 updatercd_prerm() {
 if [ -z "$D" -a -x "${INIT_D_DIR}/${INITSCRIPT_NAME}" ]; then
-	${INIT_D_DIR}/${INITSCRIPT_NAME} stop
+	${INIT_D_DIR}/${INITSCRIPT_NAME} stop || :
 fi
 }
 
-- 
2.6.6




More information about the Openembedded-core mailing list