From: Markus Lehtonen Date: Tue, 11 Oct 2016 12:43:28 +0000 (+0300) Subject: update-rc.d.bbclass: ignore init script return code X-Git-Tag: 2016-10~50 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=daa3c266a7ffa060b52381fa00df518102fceda8;p=openembedded-core.git update-rc.d.bbclass: ignore init script return code 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 Signed-off-by: Richard Purdie --- diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass index 348f3c0962..321924bb3e 100644 --- a/meta/classes/update-rc.d.bbclass +++ b/meta/classes/update-rc.d.bbclass @@ -13,7 +13,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 @@ -38,7 +38,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 }