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
---
meta/recipes-core/systemd/systemd-compat-units.bb | 19 +++
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb
b/meta/recipes-core/systemd/systemd-compat-units.bb
index 0b8ff09..8ad10ae 100644
--- a/meta/recipes-core/systemd/systemd-compat-units.bb
+++ b/meta/recipes-core/systemd/systemd-compat-units.bb
@@ -3,7 +3,7 @@ SUMMARY = "Enhances systemd compatilibity with existing
SysVinit scripts"
LICENSE = "MIT"
LIC_FILES_CHKSUM =
"file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
-PR = "r29"
+PR = "r30"
DEPENDS = "systemd-systemctl-native"
@@ -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"
--
1.7.9.5
--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core