From: "Lars Wendler" <polynomial-c@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-sound/alsa-utils/, media-sound/alsa-utils/files/
Date: Tue, 11 Jul 2017 09:10:24 +0000 (UTC) [thread overview]
Message-ID: <1499764220.f79bf1ba54fd2cb5cb9b8fcbdc9e99fea1b9acc7.polynomial-c@gentoo> (raw)
commit: f79bf1ba54fd2cb5cb9b8fcbdc9e99fea1b9acc7
Author: Virgil Dupras <hsoft <AT> hardcoded <DOT> net>
AuthorDate: Mon May 8 16:16:58 2017 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Tue Jul 11 09:10:20 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f79bf1ba
media-sound/alsa-utils: Fix initd delay script when there's no soundcard
Fixes #617782
Package-Manager: Portage-2.3.5, Repoman-2.3.1
Closes: https://github.com/gentoo/gentoo/pull/4570
...ils-1.1.4.ebuild => alsa-utils-1.1.4-r1.ebuild} | 2 +-
media-sound/alsa-utils/files/alsasound.initd-r7 | 87 ++++++++++++++++++++++
2 files changed, 88 insertions(+), 1 deletion(-)
diff --git a/media-sound/alsa-utils/alsa-utils-1.1.4.ebuild b/media-sound/alsa-utils/alsa-utils-1.1.4-r1.ebuild
similarity index 97%
rename from media-sound/alsa-utils/alsa-utils-1.1.4.ebuild
rename to media-sound/alsa-utils/alsa-utils-1.1.4-r1.ebuild
index 9c10bb2c4ec..87137657c10 100644
--- a/media-sound/alsa-utils/alsa-utils-1.1.4.ebuild
+++ b/media-sound/alsa-utils/alsa-utils-1.1.4-r1.ebuild
@@ -45,7 +45,7 @@ src_install() {
default
dodoc seq/*/README.*
- newinitd "${FILESDIR}"/alsasound.initd-r6 alsasound
+ newinitd "${FILESDIR}"/alsasound.initd-r7 alsasound
newconfd "${FILESDIR}"/alsasound.confd-r4 alsasound
insinto /etc/modprobe.d
diff --git a/media-sound/alsa-utils/files/alsasound.initd-r7 b/media-sound/alsa-utils/files/alsasound.initd-r7
new file mode 100644
index 00000000000..da2d5b349b8
--- /dev/null
+++ b/media-sound/alsa-utils/files/alsasound.initd-r7
@@ -0,0 +1,87 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+alsastatedir=/var/lib/alsa
+alsascrdir=/etc/alsa.d
+alsahomedir=/var/run/alsasound
+
+extra_commands="save restore"
+
+depend() {
+ need localmount
+ after bootmisc modules isapnp coldplug hotplug
+}
+
+restore() {
+ ebegin "Restoring Mixer Levels"
+
+ checkpath -q -d -m 0700 -o root:root ${alsahomedir} || return 1
+
+ if [ ! -r "${alsastatedir}/asound.state" ] ; then
+ ewarn "No mixer config in ${alsastatedir}/asound.state, you have to unmute your card!"
+ eend 0
+ return 0
+ fi
+
+ local cards="$(sed -n -e 's/^ *\([[:digit:]]*\) .*/\1/p' /proc/asound/cards)"
+ local CARDNUM
+ for cardnum in ${cards}; do
+ [ -e /dev/snd/controlC${cardnum} ] || sleep 2
+ [ -e /dev/snd/controlC${cardnum} ] || sleep 2
+ [ -e /dev/snd/controlC${cardnum} ] || sleep 2
+ [ -e /dev/snd/controlC${cardnum} ] || sleep 2
+ alsactl -E HOME="${alsahomedir}" -I -f "${alsastatedir}/asound.state" restore ${cardnum} \
+ || ewarn "Errors while restoring defaults, ignoring"
+ done
+
+ for ossfile in "${alsastatedir}"/oss/card*_pcm* ; do
+ [ -e "${ossfile}" ] || continue
+ # We use cat because I'm not sure if cp works properly on /proc
+ local procfile=${ossfile##${alsastatedir}/oss}
+ procfile="$(echo "${procfile}" | sed -e 's,_,/,g')"
+ if [ -e /proc/asound/"${procfile}"/oss ] ; then
+ cat "${ossfile}" > /proc/asound/"${procfile}"/oss
+ fi
+ done
+
+ eend 0
+}
+
+save() {
+ ebegin "Storing ALSA Mixer Levels"
+
+ checkpath -q -d -m 0700 -o root:root ${alsahomedir} || return 1
+
+ mkdir -p "${alsastatedir}"
+ if ! alsactl -E HOME="${alsahomedir}" -f "${alsastatedir}/asound.state" store; then
+ eerror "Error saving levels."
+ eend 1
+ return 1
+ fi
+
+ for ossfile in /proc/asound/card*/pcm*/oss; do
+ [ -e "${ossfile}" ] || continue
+ local device=${ossfile##/proc/asound/} ; device=${device%%/oss}
+ device="$(echo "${device}" | sed -e 's,/,_,g')"
+ mkdir -p "${alsastatedir}/oss/"
+ cp "${ossfile}" "${alsastatedir}/oss/${device}"
+ done
+
+ eend 0
+}
+
+start() {
+ if [ "${RESTORE_ON_START}" = "yes" ]; then
+ restore
+ fi
+
+ return 0
+}
+
+stop() {
+ if [ "${SAVE_ON_STOP}" = "yes" ]; then
+ save
+ fi
+ return 0
+}
next reply other threads:[~2017-07-11 9:10 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-11 9:10 Lars Wendler [this message]
-- strict thread matches above, loose matches on Subject: below --
2021-06-05 20:09 [gentoo-commits] repo/gentoo:master commit in: media-sound/alsa-utils/, media-sound/alsa-utils/files/ Lars Wendler
2020-02-20 15:49 Lars Wendler
2019-01-08 23:43 Lars Wendler
2016-03-31 20:30 Lars Wendler
2015-10-08 20:07 Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1499764220.f79bf1ba54fd2cb5cb9b8fcbdc9e99fea1b9acc7.polynomial-c@gentoo \
--to=polynomial-c@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox