dlm: master - dlm: add init.d file

David Teigland teigland at fedoraproject.org
Wed Oct 5 21:48:50 UTC 2011


Gitweb:        http://git.fedorahosted.org/git/dlm.git?p=dlm.git;a=commitdiff;h=c9186e3cf1b9c7aa5305fccdddc82f6bf75a8694
Commit:        c9186e3cf1b9c7aa5305fccdddc82f6bf75a8694
Parent:        bc70e884fdfdbed3cf51091f506be415716982da
Author:        David Teigland <teigland at redhat.com>
AuthorDate:    Wed Oct 5 16:44:03 2011 -0500
Committer:     David Teigland <teigland at redhat.com>
CommitterDate: Wed Oct 5 16:44:03 2011 -0500

dlm: add init.d file

Signed-off-by: David Teigland <teigland at redhat.com>
---
 dlm_controld/Makefile |   34 +++++++++------
 dlm_controld/dlm.in   |  110 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 131 insertions(+), 13 deletions(-)

diff --git a/dlm_controld/Makefile b/dlm_controld/Makefile
index e846b05..d83ead8 100644
--- a/dlm_controld/Makefile
+++ b/dlm_controld/Makefile
@@ -4,6 +4,8 @@ MAN_TARGET = dlm_controld.8
 
 HDR_TARGET = libdlmcontrol.h
 
+INI_TARGET = dlm
+
 LIB_NAME = libdlmcontrol
 LIB_MAJOR = 3
 LIB_MINOR = 1
@@ -11,16 +13,17 @@ LIB_SO = $(LIB_NAME).so
 LIB_SMAJOR = $(LIB_SO).$(LIB_MAJOR)
 LIB_TARGET = $(LIB_SO).$(LIB_MAJOR).$(LIB_MINOR)
 
-BIN_SOURCE = \
-	action.c \
-	cpg.c \
-	crc.c \
-	main.c \
-	plock.c \
-	config.c \
-	member_cman.c \
-	logging.c \
-	rbtree.c
+BIN_SOURCE = action.c \
+             cpg.c \
+             crc.c \
+             main.c \
+             plock.c \
+             config.c \
+             member_cman.c \
+             logging.c \
+             rbtree.c
+LIB_SOURCE = lib.c
+INI_SOURCE = dlm.in
 
 BIN_CFLAGS += -D_GNU_SOURCE -g \
 	-Wall \
@@ -51,11 +54,10 @@ BIN_LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie
 BIN_LDFLAGS += `xml2-config --libs`
 BIN_LDFLAGS += -lpthread -llogthread -lcpg -lconfdb -lcfg -lquorum -lfenced
 
-LIB_SOURCE = lib.c
 LIB_CFLAGS += $(BIN_CFLAGS)
 LIB_LDFLAGS += -Wl,-z,relro -pie
 
-all: $(LIB_TARGET) $(BIN_TARGET)
+all: $(LIB_TARGET) $(BIN_TARGET) $(INI_TARGET)
 
 $(BIN_TARGET): $(BIN_SOURCE)
 	$(CC) $(BIN_CFLAGS) $(BIN_LDFLAGS) $(BIN_SOURCE) -o $@ -L.
@@ -64,9 +66,12 @@ $(LIB_TARGET): $(LIB_SOURCE)
 	$(CC) $(LIB_CFLAGS) $(LIB_LDFLAGS) -shared -fPIC -o $@ -Wl,-soname=$(LIB_SMAJOR) $^
 	ln -sf $(LIB_TARGET) $(LIB_SO)
 	ln -sf $(LIB_TARGET) $(LIB_SMAJOR)
+
+$(INI_TARGET): $(INI_SOURCE)
+	cp $(INI_SOURCE) $(INI_TARGET)
 	
 clean:
-	rm -f *.o *.so *.so.* $(BIN_TARGET)
+	rm -f *.o *.so *.so.* $(BIN_TARGET) $(LIB_TARGET) $(INI_TARGET)
 
 
 INSTALL=$(shell which install)
@@ -76,16 +81,19 @@ BINDIR=/usr/sbin
 LIBDIR=/usr/lib64
 HDRDIR=/usr/include 
 MANDIR=/usr/share/man
+INIDIR=/etc/init.d
 
 .PHONY: install
 install: all
 	$(INSTALL) -d $(DESTDIR)/$(BINDIR)
 	$(INSTALL) -d $(DESTDIR)/$(LIBDIR)
 	$(INSTALL) -d $(DESTDIR)/$(HDRDIR)
+	$(INSTALL) -d $(DESTDIR)/$(INIDIR)
 	$(INSTALL) -d $(DESTDIR)/$(MANDIR)/man8
 	$(INSTALL) -c -m 755 $(BIN_TARGET) $(DESTDIR)/$(BINDIR)
 	$(INSTALL) -c -m 755 $(LIB_TARGET) $(DESTDIR)/$(LIBDIR)
 	cp -a $(LIB_SO) $(DESTDIR)/$(LIBDIR)
 	$(INSTALL) -c -m 644 $(HDR_TARGET) $(DESTDIR)/$(HDRDIR)
+	$(INSTALL) -m 755 $(INI_TARGET) $(DESTDIR)/$(INIDIR)
 	$(INSTALL) -m 644 $(MAN_TARGET) $(DESTDIR)/$(MANDIR)/man8/
 
diff --git a/dlm_controld/dlm.in b/dlm_controld/dlm.in
new file mode 100644
index 0000000..c2eb711
--- /dev/null
+++ b/dlm_controld/dlm.in
@@ -0,0 +1,110 @@
+#!/bin/sh
+#
+# dlm_controld
+#
+# chkconfig: 21 79
+# description: starts and stops dlm_controld
+#
+
+
+### BEGIN INIT INFO
+# Provides: dlm_controld
+# Required-Start: $network $time $syslog corosync
+# Required-Stop: $syslog
+# Should-Start:
+# Should-Stop:
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: starts and stops dlm_controld
+# Description: starts and stops dlm_controld
+### END INIT INFO
+
+. /etc/rc.d/init.d/functions
+
+prog="dlm_controld"
+progdir="cluster"
+lockfile="/var/run/$progdir/$prog.pid"
+exec="/usr/sbin/$prog"
+
+[ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+start() {
+	[ -x $exec ] || exit 5
+
+	if [ ! -d /var/run/$progdir ]; then
+		mkdir -p /var/run/$progdir
+		[ -x /usr/sbin/restorecon ] && restorecon /var/run/$progdir
+	fi
+
+	echo -n $"Starting $prog: "
+	daemon $prog $DLM_CONTROLD_OPTS
+	retval=$?
+	echo
+	[ $retval -eq 0 ]
+	return $retval
+}
+
+stop() {
+	echo -n $"Stopping $prog: "
+	killproc -p $lockfile $prog -TERM
+	retval=$?
+	echo
+	[ $retval -eq 0 ]
+}
+
+wait_for_stop() {
+	while [ -e $lockfile ]; do
+		sleep .5
+	done
+}
+
+restart() {
+	stop
+	wait_for_stop
+	start
+}
+
+reload() {
+	restart
+}
+
+rh_status() {
+	status $prog
+}
+
+rh_status_q() {
+	rh_status >/dev/null 2>&1
+}
+
+case "$1" in
+	start)
+		rh_status_q && exit 0
+		$1
+		;;
+	stop)
+		rh_status_q || exit 0
+		$1
+		;;
+	restart)
+		$1
+		;;
+	reload)
+		rh_status_q || exit 7
+		$1
+		;;
+	force-reload)
+		force_reload
+		;;
+	status)
+		rh_status
+		;;
+	condrestart|try-restart)
+		rh_status_q || exit 0
+		restart
+		;;
+	*)
+		echo $"Usage $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+		exit 2
+esac
+exit $?
+


More information about the cluster-commits mailing list