From: Chen Qi Date: Wed, 3 Sep 2014 07:09:03 +0000 (+0800) Subject: keymaps: fix for systemd X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~32478 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e0aa114241b956f61cf852e1f4ff41b576adff4;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git keymaps: fix for systemd Only install 'keymap.sh' script if 'sysvinit' is in DISTRO_FEATURES. This is because systemd internally provides a mechanism to implement the functionality this script tries to implement. Please see systemd-vconsole-setup.service for more details. Also we set 'INHIBIT_UPDATERCD_BBCLASS' to "1" if 'sysvinit' is not in DISTRO_FEATURES. Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-bsp/keymaps/keymaps_1.0.bb b/meta/recipes-bsp/keymaps/keymaps_1.0.bb index 123db3e0f2c..5a3f97434c0 100644 --- a/meta/recipes-bsp/keymaps/keymaps_1.0.bb +++ b/meta/recipes-bsp/keymaps/keymaps_1.0.bb @@ -14,6 +14,13 @@ PR = "r31" INHIBIT_DEFAULT_DEPS = "1" +# As the recipe doesn't inherit systemd.bbclass, we need to set this variable +# manually to avoid unnecessary postinst/preinst generated. +python __anonymous() { + if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): + d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") +} + inherit update-rc.d SRC_URI = "file://keymap.sh \ @@ -23,6 +30,12 @@ INITSCRIPT_NAME = "keymap.sh" INITSCRIPT_PARAMS = "start 01 S ." do_install () { - install -d ${D}${sysconfdir}/init.d/ - install -m 0755 ${WORKDIR}/keymap.sh ${D}${sysconfdir}/init.d/ + # Only install the script if 'sysvinit' is in DISTRO_FEATURES + # THe ulitity this script provides could be achieved by systemd-vconsole-setup.service + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/keymap.sh ${D}${sysconfdir}/init.d/ + fi } + +ALLOW_EMPTY_${PN} = "1"