Hi, On 2017-04-22 19:51, Paul Gevers wrote: > On 22-04-17 00:26, Cobra wrote: >> The directories are different when starting at boot: > This doesn't sound good. I think it shouldn't matter how you call an > init-script, it should behave the same. I guess this is speechd-up's > responsibility. >> At this stage, I think all these problems belong to speech-dispatcher. > Well, I am not 100% convinced. The directory for the socket apparently > comes from the environment, and I would say that that is the > responsibility of the caller (in this case speechd-up or its init-script).
Might need some further testing, but imho that is speech-dispatcher's problem, especially with the autospawn. I'd rather have speech-dispatcher handle this correctly for all clients than make all clients do the right thing (which they will inevitably fail to do). Also, at the moment I think this happens only when not using systemd to manage services. Still a bug though, especially because debian does support other init systems. >> That's a dead-end, speechd-up doesn't seem to be the primary culprit. > Agree. But I wonder if for the issue at hand (installation failing due > to init script failing) we should rather give up on providing an init > script that works in all circumstances for now. It seems it may rely on > configuration of speech-dispatcher (and sound). So maybe it is best for > now to just disable the init script (in a similar way as for > speech-dispatcher)? Sounds like making this package quite useless and I think it's not necessary. Fixing init script bugs should suffice. > If not, thant I propose to clone this bug for speech-dispatcher. > Cloning, because I think that the delta in socket path is something that > speechd-up should fix. But that is probably (if it does not actually > cause this issue) not RC. But than what would be the issue for > speech-dispatcher? "speech-dispatcher doesn't work with pulse-audio when > started from init-script"? That doesn't sound like a great thing. I was thinking of reassigning to the current speech-dispatcher version as "breaks with pulse output when spawned by speechd-up from init system", keeping the RC level. Does this count as "breaking unrelated packages"? I think so, but speechd-up and speech-dispatcher aren't completely unrelated, so I'm unsure. Without further input, I won't issue such bug control commands. I'd rather open new bugs for any issues with speechd-up's init scripts we find instead of cloning. Like I announced, I did some further testing, but with a fresh debian install now - the same base I used at the beginning, with systemd. I can install speechd-up without any problem when I remove the pulseaudio package, stop any running pa daemons, and configure speech-dispatcher to use alsa instead before running apt install. The installation succeeds without any warning, speechd-up is running afterwards. $ systemctl status speechd-up.service ● speechd-up.service - LSB: Interface between speakup and speech-dispatcher Loaded: loaded (/etc/init.d/speechd-up; generated; vendor preset: enabled) Active: active (running) since Sat 2017-04-22 20:40:19 CEST; 23s ago Docs: man:systemd-sysv-generator(8) CGroup: /system.slice/speechd-up.service ├─2267 /usr/bin/speechd-up -l1 ├─2270 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf ├─2272 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf ├─2274 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf └─2278 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /root/.cache/speech-dispatcher/speechd.sock $ ps aux | grep "speec\h" root 2267 0.0 0.1 105616 2696 ? Ssl 20:40 0:00 /usr/bin/speechd-up -l1 root 2270 0.0 0.1 59776 4504 ? SLl 20:40 0:00 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf root 2272 0.0 0.1 59788 4540 ? SLl 20:40 0:00 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf root 2274 0.0 0.3 142088 8580 ? SLl 20:40 0:00 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf root 2278 0.0 0.0 183144 2168 ? Ssl 20:40 0:00 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /root/.cache/speech-dispatcher/speechd.sock I then stopped speechd-up with systemctl and waited for speech-dispatcher to terminate (as expected). $ sudo systemctl start speechd-up.service $ systemctl status speechd-up.service ● speechd-up.service - LSB: Interface between speakup and speech-dispatcher Loaded: loaded (/etc/init.d/speechd-up; generated; vendor preset: enabled) Active: active (running) since Sat 2017-04-22 20:51:21 CEST; 1min 22s ago Docs: man:systemd-sysv-generator(8) Process: 2335 ExecStop=/etc/init.d/speechd-up stop (code=exited, status=0/SUCCESS) Process: 2375 ExecStart=/etc/init.d/speechd-up start (code=exited, status=0/SUCCESS) Tasks: 13 (limit: 4915) CGroup: /system.slice/speechd-up.service ├─2387 /usr/bin/speechd-up -l1 ├─2391 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf ├─2393 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf ├─2397 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf └─2404 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /root/.cache/speech-dispatcher/speechd.sock $ ps aux | grep "speec\h" root 2387 0.0 0.1 105616 2896 ? Ssl 20:51 0:00 /usr/bin/speechd-up -l1 root 2391 0.0 0.1 59776 4528 ? SLl 20:51 0:00 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf root 2393 0.0 0.1 59788 4664 ? SLl 20:51 0:00 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf root 2397 0.1 0.3 142088 8536 ? SLl 20:51 0:00 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf root 2404 0.0 0.0 183144 2284 ? Ssl 20:51 0:00 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /root/.cache/speech-dispatcher/speechd.sock Rebooting the system. $ systemctl status speechd-up.service ● speechd-up.service - LSB: Interface between speakup and speech-dispatcher Loaded: loaded (/etc/init.d/speechd-up; generated; vendor preset: enabled) Active: active (running) since Sat 2017-04-22 21:00:22 CEST; 24s ago Docs: man:systemd-sysv-generator(8) Tasks: 13 (limit: 4915) CGroup: /system.slice/speechd-up.service ├─518 /usr/bin/speechd-up -l1 ├─530 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf ├─544 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf ├─551 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf └─589 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /root/.cache/speech-dispatcher/speechd.sock $ ps aux | grep "speec\h" root 518 0.0 0.1 105616 2740 ? Ssl 21:00 0:00 /usr/bin/speechd-up -l1 root 530 0.1 0.1 59776 4496 ? SLl 21:00 0:00 /usr/lib/speech-dispatcher-modules/sd_dummy /etc/speech-dispatcher/modules/dummy.conf root 544 0.1 0.1 59788 4592 ? SLl 21:00 0:00 /usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/generic.conf root 551 0.5 0.3 142088 8420 ? SLl 21:00 0:00 /usr/lib/speech-dispatcher-modules/sd_espeak-ng /etc/speech-dispatcher/modules/espeak-ng.conf root 589 0.0 0.0 183144 2300 ? Ssl 21:00 0:00 /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /root/.cache/speech-dispatcher/speechd.sock Yep, things are really working without pulseaudio and there aren't any directory changes with systemd handling things. Logs are also there. speechd-up is only breaking when speech-dispatcher is configured in a special way, but sadly it's speech-dispatcher's default config.