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