Files
poky/meta/recipes-core/systemd/systemd-compat-units.bb
Joe Slater bcc8b87c72 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.

(From OE-Core rev: 8183309080aee45746daaff46b0506b09b5bd269)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-18 16:52:06 +01:00

47 lines
880 B
BlitzBasic

SUMMARY = "Enhances systemd compatilibity with existing SysVinit scripts"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
PR = "r29"
DEPENDS = "systemd-systemctl-native"
S = "${WORKDIR}"
inherit allarch
ALLOW_EMPTY_${PN} = "1"
SYSTEMD_DISABLED_SYSV_SERVICES = " \
busybox-udhcpc \
hwclock \
networking \
nfsserver \
nfscommon \
syslog.busybox \
"
pkg_postinst_${PN} () {
cd $D${sysconfdir}/init.d || exit 0
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 -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
}
RDEPENDS_${PN} = "systemd"