alsa-state: fix pkg_postinst and set INHIBIT_UPDATERCD_BBCLASS

As alsa-state inherits update-rc.d, the update-rc.d part inpostinst script
has already been handled in update-rc.d.bbclass.

Besides, we need to set INHIBIT_UPDATERCD_BBCLASS to "1" if 'sysvinit'
is not in DISTRO_FEATURES. This is because the init script is not installed
in such situation, adding update-rc.d part in the preinst/postinst scripts
just makes no sense.

(From OE-Core rev: 9b9da6667b606a56c89abc1b458f52dcca9774e9)

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:02 +08:00
committed by Richard Purdie
parent ee05cc8359
commit e3088a7608

View File

@@ -18,6 +18,13 @@ SRC_URI = "\
file://alsa-state-init \
"
# 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
INITSCRIPT_NAME = "alsa-state"
@@ -54,9 +61,5 @@ pkg_postinst_${PN}() {
then
${sbindir}/alsactl -f ${localstatedir}/lib/alsa/asound.state restore
fi
# INITSCRIPT_PARAMS changed, so remove the old and
# install the new setting.
update-rc.d -f ${INITSCRIPT_NAME} remove
update-rc.d ${INITSCRIPT_NAME} ${INITSCRIPT_PARAMS}
fi
}