[Server-devel] [PATCH] Use LSB functions for initscript

Bernie Innocenti bernie at codewiz.org
Sun Aug 22 13:50:38 EDT 2010


This should be compatible with all LSB-compliant distributions,
including Fedora 9.

Signed-off-by: Bernie Innocenti <bernie at codewiz.org>
---
 conf.schoolserver/idmgr |   25 ++++++++++---------------
 idmgr.spec.in           |    1 +
 2 files changed, 11 insertions(+), 15 deletions(-)

diff --git a/conf.schoolserver/idmgr b/conf.schoolserver/idmgr
index e4a212f..65d2a6e 100755
--- a/conf.schoolserver/idmgr
+++ b/conf.schoolserver/idmgr
@@ -24,7 +24,7 @@
 # description: provides the OLPC laptop identity service
 
 #  Source function library
-. /etc/rc.d/init.d/functions
+. /lib/lsb/init-functions
 
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 PID_FILE="/var/run/idmgr.pid"
@@ -35,35 +35,30 @@ RETVAL=0
 SYS_DOMAIN_FILE=/etc/sysconfig/xs_domain_name
 
 check_domain_configured() {
-    if [ ! -e $SYS_DOMAIN_FILE ]; then
-	echo "Domain not configured yet" > /dev/stderr
-	exit 1;
-    fi
+    hostname="`hostname --fqdn`"
 
-    domain=`cat "$SYS_DOMAIN_FILE" `
-    if [ "$domain" == "random.xs.laptop.org" ]; then
+    if [ -z  "$hostname" -o "$hostname" = "random.xs.laptop.org" ]; then
 	echo "Domain not configured yet" > /dev/stderr
-	exit 1;
+	exit 1
     fi
 }  
 
 
 start() {
 	# Start daemons.
-	echo -n "Starting $prog: "
+	echo "Starting $prog: "
 	check_domain_configured
-        daemon --pidfile=${PID_FILE} $SERVER $OPTS
+        start_daemon -p $PID_FILE $SERVER $OPTS
 	RETVAL=$?
 	return $RETVAL
 }
 
 stop() {
 	# Stop daemons.
-	echo -n "Shutting down $prog: "
-	killproc -p ${PID_FILE} -d 10 $prog
+	echo "Shutting down $prog: "
+	killproc -p $PID_FILE $prog
 	RETVAL=$?
-	echo
-	[ $RETVAL = 0 ] && rm -f ${PID_FILE}
+	[ $RETVAL = 0 ] && rm -f $PID_FILE
 	return $RETVAL
 }
 
@@ -88,7 +83,7 @@ case "$1" in
 	fi
 	;;
   status)
-        status idmgr $PID_FILE
+        pidofproc -p $PID_FILE idmgr
 	RETVAL=$?
 	;;
   *)
diff --git a/idmgr.spec.in b/idmgr.spec.in
index 9f8d09e..586d661 100644
--- a/idmgr.spec.in
+++ b/idmgr.spec.in
@@ -18,6 +18,7 @@ Requires:       python python-sqlalchemy
 Requires(pre):  /usr/bin/sqlite3, /usr/sbin/useradd
 Requires(post): /sbin/chkconfig, /sbin/service
 Requires:       rssh
+Requires:       redhat-lsb
 BuildRequires:  python-devel
 
 
-- 
1.5.6.5



More information about the Server-devel mailing list