aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Slater <jslater@windriver.com>2016-08-15 16:04:53 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-08-18 16:52:01 +0100
commit8183309080aee45746daaff46b0506b09b5bd269 (patch)
treed2540df738707b0fcac86b49fbaf37b3f332c66a
parentecc8d346223030ee06aa6d83427f757982e948e4 (diff)
downloadopenembedded-core-contrib-8183309080aee45746daaff46b0506b09b5bd269.tar.gz
systemd-compat-units: pkg_postinst() does not work
The test for various files is wrong and will always be true, even if init.d does not exist. Exit if init.d does not exist, and correctly test for file existence otherwise. Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/recipes-core/systemd/systemd-compat-units.bb17
1 files changed, 10 insertions, 7 deletions
diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb b/meta/recipes-core/systemd/systemd-compat-units.bb
index 0b8ff09b2b..90811da1bc 100644
--- a/meta/recipes-core/systemd/systemd-compat-units.bb
+++ b/meta/recipes-core/systemd/systemd-compat-units.bb
@@ -23,21 +23,24 @@ SYSTEMD_DISABLED_SYSV_SERVICES = " \
"
pkg_postinst_${PN} () {
- cd $D${sysconfdir}/init.d
- echo "Disabling the following sysv scripts: "
+ cd $D${sysconfdir}/init.d || exit 0
- OPTS=""
+ echo "Disabling the following sysv scripts: "
if [ -n "$D" ]; then
OPTS="--root=$D"
+ else
+ OPTS=""
fi
for i in ${SYSTEMD_DISABLED_SYSV_SERVICES} ; do
- if [ \( -e $i -o $i.sh \) -a ! \( -e $D${sysconfdir}/systemd/system/$i.service -o -e $D${systemd_unitdir}/system/$i.service \) ] ; then
- echo -n "$i: " ; systemctl ${OPTS} mask $i.service
+ if [ -e $i -o -e $i.sh ] && ! [ -e $D${sysconfdir}/systemd/system/$i.service -o -e $D${systemd_unitdir}/system/$i.service ] ; then
+ echo -n "$i: "
+ systemctl $OPTS mask $i.service
fi
- done ; echo
+ done
+ echo
}
-RDPEPENDS_${PN} = "systemd"
+RDEPENDS_${PN} = "systemd"