aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/systemd.bbclass
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2013-12-18 16:20:06 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-12-18 17:06:58 +0000
commitd01da862d10d9544f8da846b577cf955041d4c0c (patch)
tree5b1f338b8ba6182e37fda4f2df133c3998079d8f /meta/classes/systemd.bbclass
parent0289a1c325eea881ce3d68def5262f9e763d4fd2 (diff)
downloadopenembedded-core-d01da862d10d9544f8da846b577cf955041d4c0c.tar.gz
systemd: pass --root in prerm if running on host
If a systemd image is built without a package manager then packages will be removed from an image during rootfs generation, but without passing --root the systemctl will look on the *host* system. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/systemd.bbclass')
-rw-r--r--meta/classes/systemd.bbclass8
1 files changed, 7 insertions, 1 deletions
diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass
index efc1adcacb..2bd63a405b 100644
--- a/meta/classes/systemd.bbclass
+++ b/meta/classes/systemd.bbclass
@@ -38,12 +38,18 @@ fi
}
systemd_prerm() {
+OPTS=""
+
+if [ -n "$D" ]; then
+ OPTS="--root=$D"
+fi
+
if type systemctl >/dev/null 2>/dev/null; then
if [ -z "$D" ]; then
systemctl stop ${SYSTEMD_SERVICE}
fi
- systemctl disable ${SYSTEMD_SERVICE}
+ systemctl $OPTS disable ${SYSTEMD_SERVICE}
fi
}