From: Joe Slater Date: Mon, 15 Aug 2016 23:04:53 +0000 (-0700) Subject: systemd-compat-units: pkg_postinst() does not work X-Git-Tag: uninative-1.4~514 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=8183309080aee45746daaff46b0506b09b5bd269;p=openembedded-core.git 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 --- 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"