Package: espeakup Version: 3.0.3+git20090303.dfsg.1-1 Severity: serious Tags: patch User: [email protected] Usertags: incorrect-dependency incorrect-runlevels
With dependency based boot sequencing, I discovered what I believe is a bug in the init.d script. The script have a hard dependency on the module-init-tools script, but do not depend on the module-init-tools package. This make the package fail to install if the module-init-tools package isn't installed. Next, the runlevel list do not match the update-rc.d call used in the postinst. I assume the update-rc.d arguments are correct and the header is wrong. Finally, the script depend on files in /usr/, and should depend on $remote_fs. I discovered the problem by reading <URL: http://piuparts.debian.org/sid/fail/espeakup_3.1.3-1.log >. <URL: http://refspecs.freestandards.org/LSB_2.1.0/LSB-generic/LSB-generic/initscrcomconv.html > documents the LSB header format. Some debian notes are available from <URL: http://wiki.debian.org/LSBInitScripts >. This patch should fix the issues. Setting severity serious, as the script would run to early in the boot and fail to find the files it need. diff -urN ../speakup-3.1.3/debian/espeakup.init ../speakup-3.1.3-pere/debian/espeakup.init --- ../speakup-3.1.3/debian/espeakup.init 2009-09-16 23:04:28.000000000 +0200 +++ ../speakup-3.1.3-pere/debian/espeakup.init 2009-09-16 23:17:29.000000000 +0200 @@ -22,12 +22,10 @@ # ### BEGIN INIT INFO # Provides: espeakup -# Required-Start: module-init-tools -# Required-Stop: -# Should-Start: -# Should-Stop: -# Default-Start: S -# Default-Stop: +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 # Short-Description: Speakup/espeak connector # Description: Daemon that makes speakup use the espeak # software speech synthesizer diff -urN ../speakup-3.1.3/debian/espeakup.postinst ../speakup-3.1.3-pere/debian/espeakup.postinst --- ../speakup-3.1.3/debian/espeakup.postinst 1970-01-01 01:00:00.000000000 +0100 +++ ../speakup-3.1.3-pere/debian/espeakup.postinst 2009-09-16 23:22:04.000000000 +0200 @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e + +# Those using dependency based boot sequencing with sysv-rc and +# installing espeakup version 3.1.3-1 or earlier would have wrong +# runlevel symlinks. Recover from this. +if [ "$1" = "configure" ] && dpkg --compare-versions "$2" le "3.1.3-1" \ + && [ -f /etc/rcS.d/S[0-9][0-9]espeakup ] && [ ! -f /etc/rc2.d/S[0-9][0-9]espeakup ] +then + update-rc.d -f espeakup remove +fi + +#DEBHELPER# Happy hacking, -- Petter Reinholdtsen -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

