Gitweb:
http://git.fedorahosted.org/git/dlm.git?p=dlm.git;a=commitdiff;h=c9186e3c...
Commit: c9186e3cf1b9c7aa5305fccdddc82f6bf75a8694
Parent: bc70e884fdfdbed3cf51091f506be415716982da
Author: David Teigland <teigland(a)redhat.com>
AuthorDate: Wed Oct 5 16:44:03 2011 -0500
Committer: David Teigland <teigland(a)redhat.com>
CommitterDate: Wed Oct 5 16:44:03 2011 -0500
dlm: add init.d file
Signed-off-by: David Teigland <teigland(a)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 $?
+