Your message dated Sun, 12 Mar 2017 09:37:00 +0000
with message-id <[email protected]>
and subject line Re: Bug#857506: unblock: mbrola/3.01h+2-3
has caused the Debian Bug report #857506,
regarding unblock: mbrola/3.01h+2-3
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
857506: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=857506
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: [email protected]
Usertags: unblock
Hello,
The horror story continues...
In Bug#857501, a user reports that espeak doesn't work with mbrola any
more, due to the fix uploaded previously for Bug#856331.
What happens is that to fix Bug#856331 I used a small shell script
wrapper, and espeak happens to be looking at the state of the mbrola
process it started, and notices that it goes to sleep, to wait for
dpkg-architecture's output, and thus espeak believes that mbrola is
finished with emitting the data and waiting for $deity-knows-what. And
then espeak does not find any output, and thinks mbrola is hosed, while
it actually just hasn't started yet.
Anyway, in version 3.01h+2-3 (diff attached), I simplified the script by
precomputing the multiarch path, so the script becomes trivial and does
not sleep any more, and espeak is now happy.
Short life to non-free code,
Samuel
unblock mbrola/3.01h+2-3
-- System Information:
Debian Release: 9.0
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable-debug'), (500,
'testing-debug'), (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 4.10.0 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
--
Samuel
`When you say "I wrote a program that crashed Windows", people just stare at
you blankly and say "Hey, I got those with the system, *for free*".'
(By Linus Torvalds)
diff -Nru mbrola-3.01h+2/debian/changelog mbrola-3.01h+2/debian/changelog
--- mbrola-3.01h+2/debian/changelog 2017-02-28 14:26:24.000000000 +0100
+++ mbrola-3.01h+2/debian/changelog 2017-03-12 02:29:45.000000000 +0100
@@ -1,3 +1,11 @@
+mbrola (3.01h+2-3) unstable; urgency=medium
+
+ * Make mbrola wrapper for libstrongexit.so simpler. espeak seems to be
+ looking at mbrola's state, and does not like to see it sleeping, waiting
+ for dpkg-architecture's output... (Closes: 857501).
+
+ -- Samuel Thibault <[email protected]> Sun, 12 Mar 2017 02:29:45 +0100
+
mbrola (3.01h+2-2) unstable; urgency=medium
* Add libstrongexit.so workaround. mbrola crashes on exit() cleanup, so
diff -Nru mbrola-3.01h+2/debian/control mbrola-3.01h+2/debian/control
--- mbrola-3.01h+2/debian/control 2017-02-28 14:19:19.000000000 +0100
+++ mbrola-3.01h+2/debian/control 2017-03-12 02:29:14.000000000 +0100
@@ -10,7 +10,7 @@
Package: mbrola
Architecture: i386 amd64 alpha powerpc sparc armel armhf
Multi-Arch: foreign
-Depends: ${misc:Depends}, ${shlibs:Depends} [!amd64], libc6:i386 [amd64] |
libc6-i386 [amd64], dpkg-dev
+Depends: ${misc:Depends}, ${shlibs:Depends} [!amd64], libc6:i386 [amd64] |
libc6-i386 [amd64]
Suggests: mbrola-voice, espeak, cicero
Description: Multilingual software speech synthesizer
Mbrola is Thierry Dutoit's phonemizer for multilingual speech synthesis. The
diff -Nru mbrola-3.01h+2/debian/strongexit/Makefile
mbrola-3.01h+2/debian/strongexit/Makefile
--- mbrola-3.01h+2/debian/strongexit/Makefile 2017-02-28 12:14:50.000000000
+0100
+++ mbrola-3.01h+2/debian/strongexit/Makefile 2017-03-12 02:22:07.000000000
+0100
@@ -1,9 +1,13 @@
LIB=libstrongexit.so
-all: $(LIB)
+all: $(LIB) mbrola
$(LIB): strongexit.c
$(CC) $(CFLAGS) $< -o $@ -shared -fPIC $(LDFLAGS)
+mbrola: mbrola.in
+ sed -e 's/@DEB_HOST_MULTIARCH@/$(shell dpkg-architecture
-qDEB_HOST_MULTIARCH)/g' < $< > $@
+ chmod +x $@
+
clean:
- rm -f $(LIB)
+ rm -f $(LIB) mbrola
diff -Nru mbrola-3.01h+2/debian/strongexit/mbrola
mbrola-3.01h+2/debian/strongexit/mbrola
--- mbrola-3.01h+2/debian/strongexit/mbrola 2017-02-28 14:26:24.000000000
+0100
+++ mbrola-3.01h+2/debian/strongexit/mbrola 1970-01-01 01:00:00.000000000
+0100
@@ -1,5 +0,0 @@
-#!/bin/bash
-# mbrola crashes on exit() cleanup, so don't bother trying to exit cleanly,
-# mbrola does close the output file fine anyway (see #856331)
-DEB_HOST_MULTIARCH=`dpkg-architecture -qDEB_HOST_MULTIARCH`
-LD_PRELOAD=/usr/lib/$DEB_HOST_MULTIARCH/mbrola/libstrongexit.so exec
/usr/lib/$DEB_HOST_MULTIARCH/mbrola/mbrola "$@"
diff -Nru mbrola-3.01h+2/debian/strongexit/mbrola.in
mbrola-3.01h+2/debian/strongexit/mbrola.in
--- mbrola-3.01h+2/debian/strongexit/mbrola.in 1970-01-01 01:00:00.000000000
+0100
+++ mbrola-3.01h+2/debian/strongexit/mbrola.in 2017-03-12 02:14:18.000000000
+0100
@@ -0,0 +1,4 @@
+#!/bin/bash
+# mbrola crashes on exit() cleanup, so don't bother trying to exit cleanly,
+# mbrola does close the output file fine anyway (see #856331)
+LD_PRELOAD=/usr/lib/@DEB_HOST_MULTIARCH@/mbrola/libstrongexit.so exec
/usr/lib/@DEB_HOST_MULTIARCH@/mbrola/mbrola "$@"
--- End Message ---
--- Begin Message ---
Samuel Thibault:
> Package: release.debian.org
> Severity: normal
> User: [email protected]
> Usertags: unblock
>
> Hello,
>
> The horror story continues...
>
> In Bug#857501, a user reports that espeak doesn't work with mbrola any
> more, due to the fix uploaded previously for Bug#856331.
>
> What happens is that to fix Bug#856331 I used a small shell script
> wrapper, and espeak happens to be looking at the state of the mbrola
> process it started, and notices that it goes to sleep, to wait for
> dpkg-architecture's output, and thus espeak believes that mbrola is
> finished with emitting the data and waiting for $deity-knows-what. And
> then espeak does not find any output, and thinks mbrola is hosed, while
> it actually just hasn't started yet.
>
> Anyway, in version 3.01h+2-3 (diff attached), I simplified the script by
> precomputing the multiarch path, so the script becomes trivial and does
> not sleep any more, and espeak is now happy.
>
> Short life to non-free code,
> Samuel
>
> unblock mbrola/3.01h+2-3
>
> [...]
Unblocked, thanks.
~Niels
--- End Message ---