Patchwork update-rcd.bbclass: fix host/target test

login
register
mail settings
Submitter Ross Burton
Date Oct. 16, 2013, 1:07 p.m.
Message ID <1381928871-16782-1-git-send-email-ross.burton@intel.com>
Download mbox | patch
Permalink /patch/60023/
State Accepted
Commit 529bf977e956175bd8405ebffc88194192e44740
Headers show

Comments

Ross Burton - Oct. 16, 2013, 1:07 p.m.
"update-rc: Stop and remove service if updating package" (oe-core d91b08) had a
bug in it's implementation of a "host or target" test which always resulted in
"target", so the rootfs scripts were attempting to restart daemons on the host.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/classes/update-rc.d.bbclass |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

Patch

diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass
index d44d36c..e14659d 100644
--- a/meta/classes/update-rc.d.bbclass
+++ b/meta/classes/update-rc.d.bbclass
@@ -13,15 +13,13 @@  INITSCRIPT_PARAMS ?= "defaults"
 INIT_D_DIR = "${sysconfdir}/init.d"
 
 updatercd_postinst() {
-IN_TARGET=`test "x$D" = "x"`
-
 # test if there is a previous init script there, ie, we are updating the package
 # if so, we stop the service and remove it before we install from the new package
 if type update-rc.d >/dev/null 2>/dev/null; then
-	if [ $IN_TARGET -a `test -f "${INIT_D_DIR}/${INITSCRIPT_NAME}"` ]; then
+	if [ -z "$D" -a `test -f "${INIT_D_DIR}/${INITSCRIPT_NAME}"` ]; then
 		${INIT_D_DIR}/${INITSCRIPT_NAME} stop
 	fi
-	if [ ! $IN_TARGET ]; then
+	if [ -n "$D" ]; then
 		OPT="-f -r $D"
 	else
 		OPT="-f"
@@ -29,7 +27,7 @@  if type update-rc.d >/dev/null 2>/dev/null; then
 	update-rc.d $OPT ${INITSCRIPT_NAME} remove
 fi
 
-if [ ! $IN_TARGET ]; then
+if [ -n "$D" ]; then
 	OPT="-r $D"
 else
 	OPT="-s"