| Submitter | Joshua Lock |
|---|---|
| Date | Jan. 10, 2012, 5:39 p.m. |
| Message ID | <54448c3044e7492aa31e1c10745c33fbd9c9269a.1326216024.git.josh@linux.intel.com> |
| Download | mbox | patch |
| Permalink | /patch/18957/ |
| State | Accepted |
| Commit | 896924c72e7b37c18819229e8160c34cdf4465c8 |
| Headers | show |
Comments
On 01/10/2012 09:39 AM, Joshua Lock wrote: > alsactl creates the state files in /var/lib/alsa by default so switch > alsa-state to use files in that location. > > Further, update the alsa-state init script to have the location of the > state files sed'ed into the script at do_install time (so as to remove > hard coding of directory paths). > > Signed-off-by: Joshua Lock <josh@linux.intel.com> Acked-by: Darren Hart <dvhart@linux.intel.com> > --- > meta/recipes-bsp/alsa-state/alsa-state.bb | 8 +++++--- > meta/recipes-bsp/alsa-state/alsa-state/alsa-state | 6 +++--- > 2 files changed, 8 insertions(+), 6 deletions(-) > > diff --git a/meta/recipes-bsp/alsa-state/alsa-state.bb b/meta/recipes-bsp/alsa-state/alsa-state.bb > index ecfa975..bc17b25 100644 > --- a/meta/recipes-bsp/alsa-state/alsa-state.bb > +++ b/meta/recipes-bsp/alsa-state/alsa-state.bb > @@ -26,11 +26,13 @@ INITSCRIPT_NAME = "alsa-state" > INITSCRIPT_PARAMS = "start 39 S . stop 31 0 6 ." > > do_install() { > + sed -i -e "s:#STATEDIR#:${localstatedir}/lib/alsa:g" ${WORKDIR}/alsa-state > install -d ${D}${sysconfdir}/init.d > install -m 0755 ${WORKDIR}/alsa-state ${D}${sysconfdir}/init.d > > + install -d ${D}/${localstatedir}/lib/alsa > install -m 0644 ${WORKDIR}/asound.conf ${D}${sysconfdir} > - install -m 0644 ${WORKDIR}/*.state ${D}${sysconfdir} > + install -m 0644 ${WORKDIR}/*.state ${D}${localstatedir}/lib/alsa > } > > PACKAGES += "alsa-states" > @@ -40,14 +42,14 @@ RRECOMMENDS_alsa-state = "alsa-states" > FILES_${PN} = "${sysconfdir}/init.d ${sysconfdir}/asound.conf" > CONFFILES_${PN} = "${sysconfdir}/asound.conf" > > -FILES_alsa-states = "${sysconfdir}/*.state" > +FILES_alsa-states = "${localstatedir}/lib/alsa/*.state" > > pkg_postinst_${PN}() { > if test -z "$D" > then > if test -x /usr/sbin/alsactl > then > - /usr/sbin/alsactl -f ${sysconfdir}/asound.state restore > + /usr/sbin/alsactl -f ${localstatedir}/lib/alsa/asound.state restore > fi > # INITSCRIPT_PARAMS changed, so remove the old and > # install the new setting. > diff --git a/meta/recipes-bsp/alsa-state/alsa-state/alsa-state b/meta/recipes-bsp/alsa-state/alsa-state/alsa-state > index 84cdf03..9850791 100755 > --- a/meta/recipes-bsp/alsa-state/alsa-state/alsa-state > +++ b/meta/recipes-bsp/alsa-state/alsa-state/alsa-state > @@ -9,9 +9,9 @@ > > asound_restore(){ > echo "ALSA: Restoring mixer settings..." > - if test -x /usr/sbin/alsactl -a -e /etc/asound.state > + if test -x /usr/sbin/alsactl -a -e #STATEDIR#/asound.state > then > - /usr/sbin/alsactl -f /etc/asound.state restore & > + /usr/sbin/alsactl -f #STATEDIR#/asound.state restore & > fi > } > > @@ -19,7 +19,7 @@ asound_store(){ > echo "ALSA: Storing mixer settings..." > if test -x /usr/sbin/alsactl > then > - /usr/sbin/alsactl -f /etc/asound.state store > + /usr/sbin/alsactl -f #STATEDIR#/asound.state store > fi > } >
Patch
diff --git a/meta/recipes-bsp/alsa-state/alsa-state.bb b/meta/recipes-bsp/alsa-state/alsa-state.bb index ecfa975..bc17b25 100644 --- a/meta/recipes-bsp/alsa-state/alsa-state.bb +++ b/meta/recipes-bsp/alsa-state/alsa-state.bb @@ -26,11 +26,13 @@ INITSCRIPT_NAME = "alsa-state" INITSCRIPT_PARAMS = "start 39 S . stop 31 0 6 ." do_install() { + sed -i -e "s:#STATEDIR#:${localstatedir}/lib/alsa:g" ${WORKDIR}/alsa-state install -d ${D}${sysconfdir}/init.d install -m 0755 ${WORKDIR}/alsa-state ${D}${sysconfdir}/init.d + install -d ${D}/${localstatedir}/lib/alsa install -m 0644 ${WORKDIR}/asound.conf ${D}${sysconfdir} - install -m 0644 ${WORKDIR}/*.state ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/*.state ${D}${localstatedir}/lib/alsa } PACKAGES += "alsa-states" @@ -40,14 +42,14 @@ RRECOMMENDS_alsa-state = "alsa-states" FILES_${PN} = "${sysconfdir}/init.d ${sysconfdir}/asound.conf" CONFFILES_${PN} = "${sysconfdir}/asound.conf" -FILES_alsa-states = "${sysconfdir}/*.state" +FILES_alsa-states = "${localstatedir}/lib/alsa/*.state" pkg_postinst_${PN}() { if test -z "$D" then if test -x /usr/sbin/alsactl then - /usr/sbin/alsactl -f ${sysconfdir}/asound.state restore + /usr/sbin/alsactl -f ${localstatedir}/lib/alsa/asound.state restore fi # INITSCRIPT_PARAMS changed, so remove the old and # install the new setting. diff --git a/meta/recipes-bsp/alsa-state/alsa-state/alsa-state b/meta/recipes-bsp/alsa-state/alsa-state/alsa-state index 84cdf03..9850791 100755 --- a/meta/recipes-bsp/alsa-state/alsa-state/alsa-state +++ b/meta/recipes-bsp/alsa-state/alsa-state/alsa-state @@ -9,9 +9,9 @@ asound_restore(){ echo "ALSA: Restoring mixer settings..." - if test -x /usr/sbin/alsactl -a -e /etc/asound.state + if test -x /usr/sbin/alsactl -a -e #STATEDIR#/asound.state then - /usr/sbin/alsactl -f /etc/asound.state restore & + /usr/sbin/alsactl -f #STATEDIR#/asound.state restore & fi } @@ -19,7 +19,7 @@ asound_store(){ echo "ALSA: Storing mixer settings..." if test -x /usr/sbin/alsactl then - /usr/sbin/alsactl -f /etc/asound.state store + /usr/sbin/alsactl -f #STATEDIR#/asound.state store fi }
alsactl creates the state files in /var/lib/alsa by default so switch alsa-state to use files in that location. Further, update the alsa-state init script to have the location of the state files sed'ed into the script at do_install time (so as to remove hard coding of directory paths). Signed-off-by: Joshua Lock <josh@linux.intel.com> --- meta/recipes-bsp/alsa-state/alsa-state.bb | 8 +++++--- meta/recipes-bsp/alsa-state/alsa-state/alsa-state | 6 +++--- 2 files changed, 8 insertions(+), 6 deletions(-)