diff options
Diffstat (limited to 'meta/recipes-bsp/alsa-state')
-rw-r--r-- | meta/recipes-bsp/alsa-state/alsa-state.bb | 58 | ||||
-rwxr-xr-x | meta/recipes-bsp/alsa-state/alsa-state/alsa-state-init | 39 | ||||
-rw-r--r-- | meta/recipes-bsp/alsa-state/alsa-state/asound.conf | 1 | ||||
-rw-r--r-- | meta/recipes-bsp/alsa-state/alsa-state/asound.state | 1 |
4 files changed, 99 insertions, 0 deletions
diff --git a/meta/recipes-bsp/alsa-state/alsa-state.bb b/meta/recipes-bsp/alsa-state/alsa-state.bb new file mode 100644 index 0000000000..5ab1b13a52 --- /dev/null +++ b/meta/recipes-bsp/alsa-state/alsa-state.bb | |||
@@ -0,0 +1,58 @@ | |||
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 | |||
7 | SUMMARY = "Alsa scenario files to enable alsa state restoration" | ||
8 | DESCRIPTION = "Alsa Scenario Files - an init script and state files to restore \ | ||
9 | sound state at system boot and save it at system shut down." | ||
10 | LICENSE = "MIT" | ||
11 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
12 | PV = "0.2.0" | ||
13 | PR = "r4" | ||
14 | |||
15 | SRC_URI = "\ | ||
16 | file://asound.conf \ | ||
17 | file://asound.state \ | ||
18 | file://alsa-state-init \ | ||
19 | " | ||
20 | |||
21 | inherit update-rc.d | ||
22 | |||
23 | INITSCRIPT_NAME = "alsa-state" | ||
24 | INITSCRIPT_PARAMS = "start 39 S . stop 31 0 6 ." | ||
25 | |||
26 | do_install() { | ||
27 | sed -i -e "s:#STATEDIR#:${localstatedir}/lib/alsa:g" ${WORKDIR}/alsa-state-init | ||
28 | install -d ${D}${sysconfdir}/init.d | ||
29 | install -m 0755 ${WORKDIR}/alsa-state-init ${D}${sysconfdir}/init.d/alsa-state | ||
30 | |||
31 | install -d ${D}/${localstatedir}/lib/alsa | ||
32 | install -m 0644 ${WORKDIR}/asound.conf ${D}${sysconfdir} | ||
33 | install -m 0644 ${WORKDIR}/*.state ${D}${localstatedir}/lib/alsa | ||
34 | } | ||
35 | |||
36 | PACKAGES += "alsa-states" | ||
37 | |||
38 | RRECOMMENDS_alsa-state = "alsa-states" | ||
39 | |||
40 | RDEPENDS_${PN} = "alsa-utils-alsactl" | ||
41 | FILES_${PN} = "${sysconfdir}/init.d ${sysconfdir}/asound.conf" | ||
42 | CONFFILES_${PN} = "${sysconfdir}/asound.conf" | ||
43 | |||
44 | FILES_alsa-states = "${localstatedir}/lib/alsa/*.state" | ||
45 | |||
46 | pkg_postinst_${PN}() { | ||
47 | if test -z "$D" | ||
48 | then | ||
49 | if test -x ${sbindir}/alsactl | ||
50 | then | ||
51 | ${sbindir}/alsactl -f ${localstatedir}/lib/alsa/asound.state restore | ||
52 | fi | ||
53 | # INITSCRIPT_PARAMS changed, so remove the old and | ||
54 | # install the new setting. | ||
55 | update-rc.d -f ${INITSCRIPT_NAME} remove | ||
56 | update-rc.d ${INITSCRIPT_NAME} ${INITSCRIPT_PARAMS} | ||
57 | fi | ||
58 | } | ||
diff --git a/meta/recipes-bsp/alsa-state/alsa-state/alsa-state-init b/meta/recipes-bsp/alsa-state/alsa-state/alsa-state-init new file mode 100755 index 0000000000..eee59cb321 --- /dev/null +++ b/meta/recipes-bsp/alsa-state/alsa-state/alsa-state-init | |||
@@ -0,0 +1,39 @@ | |||
1 | #! /bin/sh | ||
2 | # | ||
3 | # Copyright Matthias Hentges <devel@hentges.net> (c) 2007 | ||
4 | # License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license) | ||
5 | # | ||
6 | # Filename: alsa-state | ||
7 | # Date: 20070308 (YMD) | ||
8 | |||
9 | # source function library | ||
10 | . /etc/init.d/functions | ||
11 | |||
12 | asound_restore(){ | ||
13 | echo "ALSA: Restoring mixer settings..." | ||
14 | if test -x /usr/sbin/alsactl -a -e #STATEDIR#/asound.state | ||
15 | then | ||
16 | /usr/sbin/alsactl -f #STATEDIR#/asound.state restore & | ||
17 | fi | ||
18 | } | ||
19 | |||
20 | asound_store(){ | ||
21 | echo "ALSA: Storing mixer settings..." | ||
22 | if test -x /usr/sbin/alsactl | ||
23 | then | ||
24 | /usr/sbin/alsactl -f #STATEDIR#/asound.state store | ||
25 | fi | ||
26 | } | ||
27 | |||
28 | case "$1" in | ||
29 | start) asound_restore ;; | ||
30 | stop) asound_store ;; | ||
31 | status) | ||
32 | status /usr/sbin/alsactl; | ||
33 | exit $? | ||
34 | ;; | ||
35 | *) | ||
36 | echo "Usage: /etc/init.d/alsa-state {start|stop|status}" | ||
37 | exit 1 | ||
38 | ;; | ||
39 | esac | ||
diff --git a/meta/recipes-bsp/alsa-state/alsa-state/asound.conf b/meta/recipes-bsp/alsa-state/alsa-state/asound.conf new file mode 100644 index 0000000000..03653cfb2d --- /dev/null +++ b/meta/recipes-bsp/alsa-state/alsa-state/asound.conf | |||
@@ -0,0 +1 @@ | |||
# Global alsa-lib configuration | |||
diff --git a/meta/recipes-bsp/alsa-state/alsa-state/asound.state b/meta/recipes-bsp/alsa-state/alsa-state/asound.state new file mode 100644 index 0000000000..ddd1cce85d --- /dev/null +++ b/meta/recipes-bsp/alsa-state/alsa-state/asound.state | |||
@@ -0,0 +1 @@ | |||
# Dummy file, do not delete | |||