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.

(From OE-Core rev: 5e0aa114241b956f61cf852e1f4ff41b576adff4)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chen Qi 2014-09-03 15:09:03 +08:00 committed by Richard Purdie
parent e3088a7608
commit 62fdd44972
1 changed files with 15 additions and 2 deletions

View File

@ -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"