1# Copyright Matthias Hentges <devel@hentges.net> (c) 2007 2# License: MIT (see http://www.opensource.org/licenses/mit-license.php 3# for a copy of the license) 4# 5# Filename: alsa-state.bb 6 7SUMMARY = "Alsa scenario files to enable alsa state restoration" 8HOMEPAGE = "http://www.alsa-project.org/" 9DESCRIPTION = "Alsa Scenario Files - an init script and state files to restore \ 10sound state at system boot and save it at system shut down." 11LICENSE = "MIT & GPL-2.0-or-later" 12LIC_FILES_CHKSUM = " \ 13 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420 \ 14 file://alsa-state-init;beginline=3;endline=4;md5=3ff7ecbf534d7d503941abe8e268ef50 \ 15" 16PV = "0.2.0" 17 18SRC_URI = "\ 19 file://asound.conf \ 20 file://asound.state \ 21 file://alsa-state-init \ 22" 23 24S = "${WORKDIR}" 25 26# As the recipe doesn't inherit systemd.bbclass, we need to set this variable 27# manually to avoid unnecessary postinst/preinst generated. 28python __anonymous() { 29 if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d): 30 d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") 31} 32 33inherit update-rc.d 34 35INITSCRIPT_NAME = "alsa-state" 36INITSCRIPT_PARAMS = "start 39 S . stop 31 0 6 ." 37 38do_install() { 39 # Only install the init script when 'sysvinit' is in DISTRO_FEATURES. 40 if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then 41 sed -i -e "s:#STATEDIR#:${localstatedir}/lib/alsa:g" ${WORKDIR}/alsa-state-init 42 install -d ${D}${sysconfdir}/init.d 43 install -m 0755 ${WORKDIR}/alsa-state-init ${D}${sysconfdir}/init.d/alsa-state 44 fi 45 46 install -d ${D}/${localstatedir}/lib/alsa 47 install -d ${D}${sysconfdir} 48 install -m 0644 ${WORKDIR}/asound.conf ${D}${sysconfdir} 49 install -m 0644 ${WORKDIR}/*.state ${D}${localstatedir}/lib/alsa 50} 51 52PACKAGES += "alsa-states" 53 54RRECOMMENDS:alsa-state = "alsa-states" 55 56RDEPENDS:${PN} = "alsa-utils-alsactl" 57FILES:${PN} = "${sysconfdir}/init.d ${sysconfdir}/asound.conf" 58CONFFILES:${PN} = "${sysconfdir}/asound.conf" 59 60FILES:alsa-states = "${localstatedir}/lib/alsa/*.state" 61 62pkg_postinst:${PN}() { 63 if test -z "$D" 64 then 65 if test -x ${sbindir}/alsactl 66 then 67 ${sbindir}/alsactl -g -f ${localstatedir}/lib/alsa/asound.state restore 68 fi 69 fi 70} 71