Bug#929171: unblock: espeakup/1:0.80-15
Samuel Thibault
sthibault at debian.org
Sat May 18 16:10:55 BST 2019
Package: release.debian.org
Severity: normal
User: release.debian.org at packages.debian.org
Usertags: unblock
Hello,
As reported on Bug#929169, “the Linux kernel in Buster seems to take
much longer (as much as 12s!) to detect some sound card such as the
widespread Intel HDA. The current timeout in espeakup-udeb is thus way
too short, and makes the Debian installer useless for blind people
having such audio cards.”
In version 1:0.80-15 (debdiff attached) I have thus made the timeout
longer. A proper solution would be to make espeakup startup event-based,
but that would be very involved at this stage of development.
This version was confirmed to be fixing the issue on a few user systems.
Samuel
unblock espeakup/1:0.80-15
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.1.0 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
--
Samuel
Be warned that typing \fBkillall \fIname\fP may not have the desired
effect on non-Linux systems, especially when done by a privileged user.
(From the killall manual page)
-------------- next part --------------
diff -Nru espeakup-0.80/debian/changelog espeakup-0.80/debian/changelog
--- espeakup-0.80/debian/changelog 2019-03-29 17:03:23.000000000 +0100
+++ espeakup-0.80/debian/changelog 2019-05-18 16:37:19.000000000 +0200
@@ -1,3 +1,9 @@
+espeakup (1:0.80-15) unstable; urgency=medium
+
+ * debian/espeakup-udeb.start: Wait longer for sound cards...
+
+ -- Samuel Thibault <sthibault at debian.org> Sat, 18 May 2019 16:37:19 +0200
+
espeakup (1:0.80-14) unstable; urgency=medium
* rules: Restart espeakup after upgrade (Closes: Bug#925973).
diff -Nru espeakup-0.80/debian/espeakup-udeb.start espeakup-0.80/debian/espeakup-udeb.start
--- espeakup-0.80/debian/espeakup-udeb.start 2019-03-29 17:03:23.000000000 +0100
+++ espeakup-0.80/debian/espeakup-udeb.start 2019-05-18 16:35:42.000000000 +0200
@@ -7,14 +7,39 @@
if lsmod | grep -q speakup_soft; then
# Give drivers some time to detect boards :/
- sleep 2
- IDS=$(echo $BASE/card*/id)
- N=$(echo $IDS | wc -w)
- case $N in
- 0)
- echo No sound card detected, can not do software speech synthesis... Press enter to continue anyway.
- read
- ;;
+ sleep 1
+ S=1
+ while true
+ do
+ IDS=$(echo $BASE/card*/id)
+ if [ "$IDS" = "$BASE/card*/id" ]; then
+ if [ "$S" -ge 3 ]; then
+ echo "No sound card detected after $S seconds..."
+ fi
+ if [ "$S" -lt 30 ]; then
+ # We have seen cards taking as much as 12s to get initialized...
+ sleep 1
+ S=$((S+1))
+ continue
+ else
+ echo "Can not do software speech synthesis... Press enter to continue anyway."
+ read
+ break
+ fi
+ fi
+
+ # Sleep again as much, in case more cards are to come :/
+ echo "Waiting for $S more seconds for any other card..."
+ sleep $S
+
+ . /usr/share/alsa/utils.sh
+ preinit_levels all
+ sanify_levels all
+
+ IDS=$(echo $BASE/card*/id)
+ N=$(echo $IDS | wc -w)
+
+ case $N in
1)
# Just one card, can not be wrong
echo $(strip $IDS) > /var/run/espeakup.card
@@ -51,5 +76,8 @@
done
echo "$CARD" > /var/run/espeakup.card
ALSA_CARD=$(cat /sys/class/sound/card$CARD/id) /usr/bin/espeakup -V en >> /var/log/espeakup.log 2>&1
- esac
+ esac
+
+ break
+ done
fi
More information about the Pkg-a11y-devel
mailing list