summaryrefslogtreecommitdiffstats
path: root/poky/meta/recipes-core/systemd/systemd-compat-units.bb
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/recipes-core/systemd/systemd-compat-units.bb')
-rw-r--r--poky/meta/recipes-core/systemd/systemd-compat-units.bb47
1 files changed, 47 insertions, 0 deletions
diff --git a/poky/meta/recipes-core/systemd/systemd-compat-units.bb b/poky/meta/recipes-core/systemd/systemd-compat-units.bb
new file mode 100644
index 000000000..d228a51c1
--- /dev/null
+++ b/poky/meta/recipes-core/systemd/systemd-compat-units.bb
@@ -0,0 +1,47 @@
+SUMMARY = "Enhances systemd compatilibity with existing SysVinit scripts"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/systemd"
+LICENSE = "MIT"
+
+PR = "r29"
+
+PACKAGE_WRITE_DEPS += "systemd-systemctl-native"
+
+S = "${WORKDIR}"
+
+inherit distro_features_check
+
+ALLOW_EMPTY_${PN} = "1"
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+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"
OpenPOWER on IntegriCloud