From 8183309080aee45746daaff46b0506b09b5bd269 Mon Sep 17 00:00:00 2001 From: Joe Slater Date: Mon, 15 Aug 2016 16:04:53 -0700 Subject: 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 Signed-off-by: Ross Burton --- meta/recipes-core/systemd/systemd-compat-units.bb | 17 ++++++++++------- 1 file 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" -- cgit 1.2.3-korg