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

Bug#541980: redhat-cluster: Incorrect provides, dependencies and runlevels in init.d scripts



Package:  redhat-cluster-suite
Version:  2.20080801-1
Severity: important
Tags:     patch
User:     initscripts-ng-devel@lists.alioth.debian.org
Usertags: incorrect-runlevels incorrect-dependency

With dependency based boot sequencing, I discovered what I believe is
a bug in the init.d scripts.  The provide strings are not correct,
making it impossible to depend on these scripts and also will make the
package fail to install because of duplicate provides.  The provides
header make each space-separated word a provide of the script, and
should normally be the name of the init.d script without any .sh
ending.  Also, some of the scripts uses files in /usr/ and should to
depend on $remote_fs to flag this.

The list of runlevels in the init.d header do not match the arguments
used by update-rc.d, but I am not sure the original update-rc.d
arguments make sense.  When starting the scripts in rcS.d, and not in
runlevels 2-5, the daemons will not work when booting into runlevel 1
and then switching to one of the other runlevels.  If you agree with
this, I would recommend changing these daemons to start not in rcS.d
but in runlevels 2-5, and stop in runlevels 0, 1 and 6 (ie keep the
init.d script headers and change the update-rc.d calls instead).  This
will require some code in the postinst to handle the upgrade.

<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 packages will fail
to install.

diff -ru redhat-cluster-2.20081102/debian/cman.init redhat-cluster-2.20081102-pere/debian/cman.init
--- redhat-cluster-2.20081102/debian/cman.init  2009-08-17 07:35:15.000000000 +0200
+++ redhat-cluster-2.20081102-pere/debian/cman.init     2009-08-17 07:40:41.000000000 +0200
@@ -1,13 +1,13 @@
 #!/bin/sh

 ### BEGIN INIT INFO
-# Provides:          cluster manager
+# Provides:          cman
 # Required-Start:    $network $remote_fs
 # Required-Stop:     $network $remote_fs
 # Should-Start:      $named $time $syslog ssh
 # Should-Stop:       $named $time $syslog ssh
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
+# Default-Start:     S
+# Default-Stop:      0 6
 # Short-Description: Starts and stops cman
 ### END INIT INFO

diff -ru redhat-cluster-2.20081102/debian/gfs-tools.init redhat-cluster-2.20081102-pere/debian/gfs-tools.init
--- redhat-cluster-2.20081102/debian/gfs-tools.init     2009-08-17 07:35:15.000000000 +0200
+++ redhat-cluster-2.20081102-pere/debian/gfs-tools.init        2009-08-17 07:40:49.000000000 +0200
@@ -1,11 +1,11 @@
 #!/bin/sh

 ### BEGIN INIT INFO
-# Provides:          global filesystem
-# Required-Start:    cman
-# Required-Stop:     cman
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
+# Provides:          gfs-tools
+# Required-Start:    $remote_fs cman
+# Required-Stop:     $remote_fs cman
+# Default-Start:     S
+# Default-Stop:      0 6
 # Short-Description: mount and unmount GFS shares
 ### END INIT INFO

diff -ru redhat-cluster-2.20081102/debian/gfs2-tools.init redhat-cluster-2.20081102-pere/debian/gfs2-tools.init
--- redhat-cluster-2.20081102/debian/gfs2-tools.init    2009-08-17 07:35:15.000000000 +0200
+++ redhat-cluster-2.20081102-pere/debian/gfs2-tools.init       2009-08-17 07:40:57.000000000 +0200
@@ -1,11 +1,11 @@
 #!/bin/sh

 ### BEGIN INIT INFO
-# Provides:          global filesystem version 2
+# Provides:          gfs2-tools
 # Required-Start:    cman
 # Required-Stop:     cman
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
+# Default-Start:     S
+# Default-Stop:      0 6
 # Short-Description: mount and unmount GFS v2 shares
 ### END INIT INFO

diff -ru redhat-cluster-2.20081102/debian/gnbd-client.init redhat-cluster-2.20081102-pere/debian/gnbd-client.init
--- redhat-cluster-2.20081102/debian/gnbd-client.init   2009-08-17 07:35:15.000000000 +0200
+++ redhat-cluster-2.20081102-pere/debian/gnbd-client.init      2009-08-17 07:41:05.000000000 +0200
@@ -1,11 +1,11 @@
 #! /bin/sh

 ### BEGIN INIT INFO
-# Provides:          global network block device client
-# Required-Start:    $network
-# Required-Stop:     $network
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
+# Provides:          gnbd-client
+# Required-Start:    $remote_fs $network
+# Required-Stop:     $remote_fs $network
+# Default-Start:     S
+# Default-Stop:      0 6
 # Short-Description: start and stop gnbd client
 ### END INIT INFO

diff -ru redhat-cluster-2.20081102/debian/gnbd-server.init redhat-cluster-2.20081102-pere/debian/gnbd-server.init
--- redhat-cluster-2.20081102/debian/gnbd-server.init   2009-08-17 07:35:15.000000000 +0200
+++ redhat-cluster-2.20081102-pere/debian/gnbd-server.init      2009-08-17 07:41:13.000000000 +0200
@@ -1,11 +1,11 @@
 #! /bin/sh

 ### BEGIN INIT INFO
-# Provides:          global network block device server
-# Required-Start:    $network
-# Required-Stop:     $network
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
+# Provides:          gnbd-server
+# Required-Start:    $remote_fs $network
+# Required-Stop:     $remote_fs $network
+# Default-Start:     S
+# Default-Stop:      0 6
 # Short-Description: start and stop the gnbd server
 ### END INIT INFO

diff -ru redhat-cluster-2.20081102/debian/rgmanager.init redhat-cluster-2.20081102-pere/debian/rgmanager.init
--- redhat-cluster-2.20081102/debian/rgmanager.init     2009-08-17 07:35:15.000000000 +0200
+++ redhat-cluster-2.20081102-pere/debian/rgmanager.init        2009-08-17 07:40:28.000000000 +0200
@@ -1,13 +1,13 @@
 #!/bin/sh

 ### BEGIN INIT INFO
-# Provides:          cluster service manager
-# Required-Start:    cman
-# Required-Stop:     cman
+# Provides:          rgmanager
+# Required-Start:    $remote_fs cman
+# Required-Stop:     $remote_fs cman
 # Should-Start:      clvm gfs-tools gfs2-tools
 # Should-Stop:       clvm gfs-tools gfs2-tools
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
+# Default-Start:     S
+# Default-Stop:      0 6
 # Short-Description: start and stop the cluster service manager
 ### END INIT INFO


Happy hacking,
-- 
Petter Reinholdtsen



Reply to: