summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2016-10-11 15:43:28 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-10-11 22:18:36 +0100
commitdaa3c266a7ffa060b52381fa00df518102fceda8 (patch)
treef99b8ddc3289cc9062e7df70ea03df5f2c570a4d
parent607a2a1de4b77818c3e801a4de7ff0888229e036 (diff)
downloadopenembedded-core-contrib-daa3c266a7ffa060b52381fa00df518102fceda8.tar.gz
openembedded-core-contrib-daa3c266a7ffa060b52381fa00df518102fceda8.tar.bz2
openembedded-core-contrib-daa3c266a7ffa060b52381fa00df518102fceda8.zip
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 <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/update-rc.d.bbclass4
1 files changed, 2 insertions, 2 deletions
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
}