[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



I had a closer look at the package, and here is an updated patch which
should reproduce the order of the init.d scripts before dependency
based boot sequencing.

I've uploaded a package with this patch to the 2 day delayed queue.

diff -ruN ../redhat-cluster-2.20081102/debian/changelog ../redhat-cluster-2.20081102-pere/debian/changelog
--- ../redhat-cluster-2.20081102/debian/changelog	2009-09-16 20:11:35.000000000 +0200
+++ ../redhat-cluster-2.20081102-pere/debian/changelog	2009-09-16 21:40:42.000000000 +0200
@@ -1,3 +1,12 @@
+redhat-cluster (2.20081102-1.1) unstable; urgency=low
+
+  * Non-maintainer upload to fix release goal.
+  * Fix init.d script provides, runlevels and dependency headers
+    and add code in postinst to recover from installations with
+    incorrect runlevels enabled (Closes: #541980).
+
+ -- Petter Reinholdtsen <pere@debian.org>  Wed, 16 Sep 2009 19:53:08 +0200
+
 redhat-cluster (2.20081102-1) unstable; urgency=medium
 
   * New upstream release version 2.03.09.
diff -ruN ../redhat-cluster-2.20081102/debian/cman.init ../redhat-cluster-2.20081102-pere/debian/cman.init
--- ../redhat-cluster-2.20081102/debian/cman.init	2009-09-16 20:11:35.000000000 +0200
+++ ../redhat-cluster-2.20081102-pere/debian/cman.init	2009-09-16 20:55:55.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
+# Should-Start:      $time
+# Should-Stop:       $time
+# Default-Start:     S
+# Default-Stop:      0 6
 # Short-Description: Starts and stops cman
 ### END INIT INFO
 
diff -ruN ../redhat-cluster-2.20081102/debian/cman.postinst ../redhat-cluster-2.20081102-pere/debian/cman.postinst
--- ../redhat-cluster-2.20081102/debian/cman.postinst	1970-01-01 01:00:00.000000000 +0100
+++ ../redhat-cluster-2.20081102-pere/debian/cman.postinst	2009-09-16 20:25:11.000000000 +0200
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+# Those using dependency based boot sequencing with sysv-rc and
+# installing cman before version 2.20081102-1.1 would have wrong
+# runlevel symlinks.  Recover from this.
+if [ "$1" = "configure" ] && dpkg --compare-versions "$2" le "2.20081102-1.1" \
+   && [ -f /etc/rc2.d/S[0-9][0-9]cman ] && [ ! -f /etc/rcS.d/S[0-9][0-9]cman ]
+then
+    update-rc.d -f cman remove
+fi
+
+#DEBHELPER#
diff -ruN ../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-09-16 20:11:35.000000000 +0200
+++ ../redhat-cluster-2.20081102-pere/debian/gfs-tools.init	2009-09-16 21:02:23.000000000 +0200
@@ -1,11 +1,13 @@
 #!/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:    $network $remote_fs
+# Required-Stop:     $network $remote_fs
+# Should-Start:      cman gnbd-server gnbd-client
+# Should-Stop:       cman gnbd-server gnbd-client
+# Default-Start:     S
+# Default-Stop:      0 6
 # Short-Description: mount and unmount GFS shares
 ### END INIT INFO
 
diff -ruN ../redhat-cluster-2.20081102/debian/gfs-tools.postinst ../redhat-cluster-2.20081102-pere/debian/gfs-tools.postinst
--- ../redhat-cluster-2.20081102/debian/gfs-tools.postinst	1970-01-01 01:00:00.000000000 +0100
+++ ../redhat-cluster-2.20081102-pere/debian/gfs-tools.postinst	2009-09-16 20:32:19.000000000 +0200
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+# Those using dependency based boot sequencing with sysv-rc and
+# installing gfs-tools before version 2.20081102-1.1 would have wrong
+# runlevel symlinks.  Recover from this.
+if [ "$1" = "configure" ] && dpkg --compare-versions "$2" le "2.20081102-1.1" \
+   && [ -f /etc/rc2.d/S[0-9][0-9]gfs-tools ] && [ ! -f /etc/rcS.d/S[0-9][0-9]gfs-tools ]
+then
+    update-rc.d -f gfs-tools remove
+fi
+
+#DEBHELPER#
diff -ruN ../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-09-16 20:11:35.000000000 +0200
+++ ../redhat-cluster-2.20081102-pere/debian/gfs2-tools.init	2009-09-16 21:07:55.000000000 +0200
@@ -1,11 +1,13 @@
 #!/bin/sh
 
 ### BEGIN INIT INFO
-# Provides:          global filesystem version 2
-# Required-Start:    cman
-# Required-Stop:     cman
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
+# Provides:          gfs2-tools
+# Required-Start:    $network $remote_fs
+# Required-Stop:     $network $remote_fs
+# Should-Start:      cman gnbd-server gnbd-client gfs-tools
+# Should-Stop:       cman gnbd-server gnbd-client gfs-tools
+# Default-Start:     S
+# Default-Stop:      0 6
 # Short-Description: mount and unmount GFS v2 shares
 ### END INIT INFO
 
diff -ruN ../redhat-cluster-2.20081102/debian/gfs2-tools.postinst ../redhat-cluster-2.20081102-pere/debian/gfs2-tools.postinst
--- ../redhat-cluster-2.20081102/debian/gfs2-tools.postinst	1970-01-01 01:00:00.000000000 +0100
+++ ../redhat-cluster-2.20081102-pere/debian/gfs2-tools.postinst	2009-09-16 20:32:09.000000000 +0200
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+# Those using dependency based boot sequencing with sysv-rc and
+# installing gfs2-tools before version 2.20081102-1.1 would have wrong
+# runlevel symlinks.  Recover from this.
+if [ "$1" = "configure" ] && dpkg --compare-versions "$2" le "2.20081102-1.1" \
+   && [ -f /etc/rc2.d/S[0-9][0-9]gfs2-tools ] && [ ! -f /etc/rcS.d/S[0-9][0-9]gfs2-tools ]
+then
+    update-rc.d -f gfs2-tools remove
+fi
+
+#DEBHELPER#
diff -ruN ../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-09-16 20:11:35.000000000 +0200
+++ ../redhat-cluster-2.20081102-pere/debian/gnbd-client.init	2009-09-16 21:02:35.000000000 +0200
@@ -1,11 +1,13 @@
 #! /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:    $network $remote_fs
+# Required-Stop:     $network $remote_fs
+# Should-Start:      cman gnbd-server
+# Should-Stop:       cman gnbd-server
+# Default-Start:     S
+# Default-Stop:      0 6
 # Short-Description: start and stop gnbd client
 ### END INIT INFO
 
diff -ruN ../redhat-cluster-2.20081102/debian/gnbd-client.postinst ../redhat-cluster-2.20081102-pere/debian/gnbd-client.postinst
--- ../redhat-cluster-2.20081102/debian/gnbd-client.postinst	1970-01-01 01:00:00.000000000 +0100
+++ ../redhat-cluster-2.20081102-pere/debian/gnbd-client.postinst	2009-09-16 20:31:54.000000000 +0200
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+# Those using dependency based boot sequencing with sysv-rc and
+# installing gnbd-client before version 2.20081102-1.1 would have wrong
+# runlevel symlinks.  Recover from this.
+if [ "$1" = "configure" ] && dpkg --compare-versions "$2" le "2.20081102-1.1" \
+   && [ -f /etc/rc2.d/S[0-9][0-9]gnbd-client ] && [ ! -f /etc/rcS.d/S[0-9][0-9]gnbd-client ]
+then
+    update-rc.d -f gnbd-client remove
+fi
+
+#DEBHELPER#
diff -ruN ../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-09-16 20:11:35.000000000 +0200
+++ ../redhat-cluster-2.20081102-pere/debian/gnbd-server.init	2009-09-16 21:00:24.000000000 +0200
@@ -1,11 +1,13 @@
 #! /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
+# Should-Start:      cman
+# Should-Stop:       cman
+# Default-Start:     S
+# Default-Stop:      0 6
 # Short-Description: start and stop the gnbd server
 ### END INIT INFO
 
diff -ruN ../redhat-cluster-2.20081102/debian/gnbd-server.postinst ../redhat-cluster-2.20081102-pere/debian/gnbd-server.postinst
--- ../redhat-cluster-2.20081102/debian/gnbd-server.postinst	1970-01-01 01:00:00.000000000 +0100
+++ ../redhat-cluster-2.20081102-pere/debian/gnbd-server.postinst	2009-09-16 20:31:43.000000000 +0200
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+# Those using dependency based boot sequencing with sysv-rc and
+# installing gnbd-server before version 2.20081102-1.1 would have wrong
+# runlevel symlinks.  Recover from this.
+if [ "$1" = "configure" ] && dpkg --compare-versions "$2" le "2.20081102-1.1" \
+   && [ -f /etc/rc2.d/S[0-9][0-9]gnbd-server ] && [ ! -f /etc/rcS.d/S[0-9][0-9]gnbd-server ]
+then
+    update-rc.d -f gnbd-server remove
+fi
+
+#DEBHELPER#
diff -ruN ../redhat-cluster-2.20081102/debian/rgmanager.init ../redhat-cluster-2.20081102-pere/debian/rgmanager.init
--- ../redhat-cluster-2.20081102/debian/rgmanager.init	2009-09-16 20:11:35.000000000 +0200
+++ ../redhat-cluster-2.20081102-pere/debian/rgmanager.init	2009-09-16 19:52:42.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
 
diff -ruN ../redhat-cluster-2.20081102/debian/rgmanager.postinst ../redhat-cluster-2.20081102-pere/debian/rgmanager.postinst
--- ../redhat-cluster-2.20081102/debian/rgmanager.postinst	1970-01-01 01:00:00.000000000 +0100
+++ ../redhat-cluster-2.20081102-pere/debian/rgmanager.postinst	2009-09-16 20:31:12.000000000 +0200
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+# Those using dependency based boot sequencing with sysv-rc and
+# installing rgmanager before version 2.20081102-1.1 would have wrong
+# runlevel symlinks.  Recover from this.
+if [ "$1" = "configure" ] && dpkg --compare-versions "$2" le "2.20081102-1.1" \
+   && [ -f /etc/rc2.d/S[0-9][0-9]rgmanager ] && [ ! -f /etc/rcS.d/S[0-9][0-9]rgmanager ]
+then
+    update-rc.d -f rgmanager remove
+fi
+
+#DEBHELPER#

Happy hacking,
-- 
Petter Reinholdtsen



Reply to: