[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#857506: marked as done (unblock: mbrola/3.01h+2-3)



Your message dated Sun, 12 Mar 2017 09:37:00 +0000
with message-id <a1e35c86-1ac5-8061-81cf-d8b46fb00fb3@thykier.net>
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 owner@bugs.debian.org
immediately.)


-- 
857506: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=857506
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
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 <sthibault@debian.org>  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: release.debian.org@packages.debian.org
> 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 ---

Reply to: