[pkg-firebird-general] Bug#542202: firebird2.0: Incorrect provides and dependencies in init.d script

Petter Reinholdtsen pere at hungry.com
Tue Aug 18 12:25:59 UTC 2009


Package:  firebird2.0-super firebird2.0-classic
Version:  2.0.3.12981.ds1-7
Severity: important
Tags:     patch
User:     initscripts-ng-devel at lists.alioth.debian.org
Usertags: incorrect-provides incorrect-dependency

With dependency based boot sequencing, I discovered what I believe is
a bug in the init.d script.  The provides should be unique and
preferably the name of the script.  The script uses files in /usr/,
and because of this should depend on $remote_fs.  The programs uses
syslog, which make me believe it should start after the syslog
collector and depend on $syslog.  The empty should-* headers do not
have any effect and can be dropped. I notice that the update-rc.d call
installs useless stop symlinks for the firebird2.0-classic.init script
in runlevels 0, 1 and 6.  I choose not to replicate this in the
header, as the script obviously only should run during boot to create
the required directories.

<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 solve the issue.  Without it, the script will fail
to install if another script providing the same words already is
installed, and might too early in the boot if it is installed.

diff -ru firebird2.0-2.0.5.13206-0.ds2/debian/firebird2.0-classic.init firebird2.0-2.0.5.13206-0.ds2-pere/debian/firebird2.0-classic.init
--- firebird2.0-2.0.5.13206-0.ds2/debian/firebird2.0-classic.init       2009-08-18 14:22:15.000000000 +0200
+++ firebird2.0-2.0.5.13206-0.ds2-pere/debian/firebird2.0-classic.init  2009-08-18 14:23:04.000000000 +0200
@@ -1,11 +1,9 @@
 #!/bin/sh

 ### BEGIN INIT INFO
-# Provides:          firebird-server
-# Required-Start:    $local_fs
+# Provides:          firebird2.0-classic
+# Required-Start:    $remote_fs $syslog
 # Required-Stop:
-# Should-Start:
-# Should-Stop:
 # Default-Start:     2 3 4 5
 # Default-Stop:
 # Short-Description: Initialise firebird directory inder /var/run
diff -ru firebird2.0-2.0.5.13206-0.ds2/debian/firebird2.0-super.init firebird2.0-2.0.5.13206-0.ds2-pere/debian/firebird2.0-super.init
--- firebird2.0-2.0.5.13206-0.ds2/debian/firebird2.0-super.init 2009-08-18 14:22:15.000000000 +0200
+++ firebird2.0-2.0.5.13206-0.ds2-pere/debian/firebird2.0-super.init    2009-08-18 14:22:58.000000000 +0200
@@ -9,11 +9,9 @@
 # init scripts.

 ### BEGIN INIT INFO
-# Provides:          firebird-server
-# Required-Start:    $local_fs $named
-# Required-Stop:     $local_fs
-# Should-Start:
-# Should-Stop:
+# Provides:          firebird2.0-super
+# Required-Start:    $remote_fs $syslog $named
+# Required-Stop:     $remote_fs $syslog
 # Default-Start:     2 3 4 5
 # Default-Stop:      0 1 6
 # Short-Description: Start firebird super-server

Happy hacking,
-- 
Petter Reinholdtsen





More information about the pkg-firebird-general mailing list