Startup scripts improvements - daemons can be started individually now.
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Sat, 9 Mar 2013 19:53:02 +0000 (19:53 +0000)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Sat, 9 Mar 2013 20:08:02 +0000 (21:08 +0100)
Changes:
- for each daemon and distribution own starting script
- daemon-specific environment configuration
- using RUN_xxx=no to disable daemons on Debian
- added dependency on lsb-base on Debian
- no default runlevels on RedHat
- update deployment (setup, yaim)
- update packaging (deb, rpm)

34 files changed:
org.glite.lb.harvester/Makefile
org.glite.lb.harvester/config/startup.debian.harvester [new file with mode: 0755]
org.glite.lb.harvester/config/startup.redhat.harvester [new file with mode: 0755]
org.glite.lb.harvester/project/debian.glite-lb-harvester.install
org.glite.lb.harvester/project/debian.rules
org.glite.lb.harvester/project/glite-lb-harvester.spec
org.glite.lb.logger/Makefile
org.glite.lb.logger/config/startup
org.glite.lb.logger/config/startup.debian.interlogd [new file with mode: 0755]
org.glite.lb.logger/config/startup.debian.logd [new file with mode: 0755]
org.glite.lb.logger/config/startup.debian.notif-interlogd [new file with mode: 0755]
org.glite.lb.logger/config/startup.debian.proxy-interlogd [new file with mode: 0755]
org.glite.lb.logger/config/startup.redhat.interlogd [new file with mode: 0755]
org.glite.lb.logger/config/startup.redhat.logd [new file with mode: 0755]
org.glite.lb.logger/config/startup.redhat.notif-interlogd [new file with mode: 0755]
org.glite.lb.logger/config/startup.redhat.proxy-interlogd [new file with mode: 0755]
org.glite.lb.logger/config/systemd.interlogd
org.glite.lb.logger/config/systemd.logd
org.glite.lb.logger/config/systemd.notif-interlogd
org.glite.lb.logger/config/systemd.proxy-interlogd
org.glite.lb.logger/project/debian.control
org.glite.lb.logger/project/debian.glite-lb-logger.install
org.glite.lb.logger/project/debian.rules
org.glite.lb.logger/project/glite-lb-logger.spec
org.glite.lb.server/Makefile
org.glite.lb.server/config/glite-lb
org.glite.lb.server/config/setup
org.glite.lb.server/config/startup.debian.bkserverd [new file with mode: 0755]
org.glite.lb.server/config/startup.redhat.bkserverd [new file with mode: 0755]
org.glite.lb.server/project/debian.control
org.glite.lb.server/project/debian.glite-lb-server.install
org.glite.lb.server/project/debian.rules
org.glite.lb.server/project/glite-lb-server.spec
org.glite.lb.yaim/config/functions/config_glite_lb.in

index cc6d8f6..32c736d 100644 (file)
@@ -18,13 +18,13 @@ CC=gcc
 VPATH=${top_srcdir}/src:${top_srcdir}/doc
 
 SOURCES=\
-       config/systemd.* config/startup \
+       config/systemd.* config/startup config/startup.* \
        doc/* \
        examples/test.* \
        project/.post* project/.pre* \
        src/*.c \
        Makefile
-SOURCES_EXEC=config/startup examples/*.sh
+SOURCES_EXEC=config/startup config/startup.* examples/*.sh
 
 GLITE_LBJP_COMMON_GSS_CFLAGS?=`PKG_CONFIG_PATH=$$PKG_CONFIG_PATH:${PREFIX}${prefix}/${libdir}/pkgconfig pkg-config glite-security-gss --cflags`
 CPPFLAGS:=-I${stagedir}${prefix}/include -D_GNU_SOURCE -D_REENTRANT ${GLITE_LBJP_COMMON_GSS_CFLAGS} ${CPPFLAGS}
diff --git a/org.glite.lb.harvester/config/startup.debian.harvester b/org.glite.lb.harvester/config/startup.debian.harvester
new file mode 100755 (executable)
index 0000000..f70fb81
--- /dev/null
@@ -0,0 +1,127 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          glite-lb-harvester
+# Required-Start:    $remote_fs $network $syslog
+# Required-Stop:     $remote_fs $network $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: gLite Logging and Bookkeeping harvester
+# Description:       gLite L&B harvester daemon gathers job informations from
+#                    multiple L&B servers using L&B notifications.
+### END INIT INFO
+
+# To enable harvesting is required to set $GLITE_LB_HARVESTER_OPTIONS:
+#   1) -m $GLITE_LB_HARVESTER_DBCS, or
+#   2) -c /etc/glite-lb-harvester.conf
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="L&B harvester"
+NAME=glite-lb-harvester
+DAEMON=/usr/bin/$NAME
+PIDFILE=/var/run/glite/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+RUN_HARVESTER=yes
+
+GLITE_USER='glite'
+GLITE_HOME=`getent passwd ${GLITE_USER} | cut -d: -f6`
+GLITE_HOST_CERT="$GLITE_HOME/.certs/hostcert.pem"
+GLITE_HOST_KEY="$GLITE_HOME/.certs/hostkey.pem"
+KRB5_KTNAME="FILE:$GLITE_HOME/krb5kt_lb"
+KRB5CCNAME="FILE:$GLITE_HOME/krb5cc_lb"
+LOG4C_RCPATH="/etc/glite-lb"
+
+[ -x "$DAEMON" ] || exit 0
+
+[ -r /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
+[ -r /etc/glite.conf ] && . /etc/glite.conf
+[ -r /etc/glite-wms.conf ] && . /etc/glite-wms.conf
+[ -r /etc/default/glite-lb ] && . /etc/default/glite-lb
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+if [ "x$RUN_HARVESTER" != "xyes" ]; then
+       echo "$DESC disabled."
+       exit 0
+fi
+
+do_start()
+{
+       [ -n "$LOG4C_RCPATH" ] && env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"
+       [ -n "$KRB5_KTNAME" ] && env="$env KRB5_KTNAME='$KRB5_KTNAME'"
+       [ -n "$KRB5CCNAME" ] && env="$env KRB5CCNAME='$KRB5CCNAME'"
+       [ -n "$GLITE_GSS_MECH" ] && env="$env GLITE_GSS_MECH='$GLITE_GSS_MECH'"
+
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       else
+               echo "$0: WARNING: No credentials specified." >&2
+       fi
+
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chuid $GLITE_USER --exec $DAEMON --test > /dev/null \
+               || return 1
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chuid $GLITE_USER --exec /usr/bin/env $env $DAEMON -- \
+               --daemon $GLITE_LB_HARVESTER_OPTIONS \
+               || return 2
+}
+
+do_stop()
+{
+       start-stop-daemon --stop --quiet --retry=TERM/10/KILL/5 --pidfile $PIDFILE --exec $DAEMON
+       RETVAL="$?"
+       [ "$RETVAL" = 2 ] && return 2
+       start-stop-daemon --stop --quiet --oknodo --retry=0/10/KILL/5 --exec $DAEMON
+       [ "$?" = 2 ] && return 2
+       rm -f $PIDFILE
+       return "$RETVAL"
+}
+
+case "$1" in
+  start)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+       do_start
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  stop)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+       do_stop
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  status)
+       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+  restart|force-reload)
+       log_daemon_msg "Restarting $DESC" "$NAME"
+       do_stop
+       case "$?" in
+         0|1)
+               do_start
+               case "$?" in
+                       0) log_end_msg 0 ;;
+                       1) log_end_msg 1 ;; # Old process is still running
+                       *) log_end_msg 1 ;; # Failed to start
+               esac
+               ;;
+         *)
+               # Failed to stop
+               log_end_msg 1
+               ;;
+       esac
+       ;;
+  *)
+       echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+       exit 3
+       ;;
+esac
+
+:
diff --git a/org.glite.lb.harvester/config/startup.redhat.harvester b/org.glite.lb.harvester/config/startup.redhat.harvester
new file mode 100755 (executable)
index 0000000..939926c
--- /dev/null
@@ -0,0 +1,105 @@
+#!/bin/bash
+#
+#      /etc/rc.d/init.d/glite-lb-harvester
+#
+#      gLite Logging and Bookkeeping harvester
+#
+# To enable harvesting is required to set $GLITE_LB_HARVESTER_OPTIONS:
+#   1) -m $GLITE_LB_HARVESTER_DBCS, or
+#   2) -c /etc/glite-lb-harvester.conf
+#
+# chkconfig: - 75 25
+# description: gLite L&B harvester daemon gathers job informations from \
+#              multiple L&B servers using L&B notifications.
+# processname: glite-lb-harvester
+# pidfile: /var/run/glite/glite-lb-harvester.pid
+
+### BEGIN INIT INFO
+# Provides: glite-lb-harvester
+# Required-Start: $remote_fs $network $syslog
+# Required-Stop: $remote_fs $network $syslog
+# Short-Description: gLite Logging and Bookkeeping harvester
+# Description:       gLite L&B harvester daemon gathers job informations from
+#                    multiple L&B servers using L&B notifications.
+### END INIT INFO
+
+# Source function library.
+. /etc/init.d/functions
+
+prog=glite-lb-harvester
+exec=/usr/bin/$prog
+lockfile=/var/lock/subsys/$prog
+
+GLITE_USER='glite'
+GLITE_HOME=`getent passwd ${GLITE_USER} | cut -d: -f6`
+GLITE_HOST_CERT="$GLITE_HOME/.certs/hostcert.pem"
+GLITE_HOST_KEY="$GLITE_HOME/.certs/hostkey.pem"
+KRB5_KTNAME="FILE:$GLITE_HOME/krb5kt_lb"
+KRB5CCNAME="FILE:$GLITE_HOME/krb5cc_lb"
+LOG4C_RCPATH="/etc/glite-lb"
+
+[ -f /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
+[ -f /etc/glite.conf ] && . /etc/glite.conf
+[ -f /etc/glite-wms.conf ] && . /etc/glite-wms.conf
+[ -f /etc/sysconfig/glite-lb ] && . /etc/sysconfig/glite-lb
+[ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+start() {
+       [ -x $exec ] || exit 5
+
+       [ -n "$LOG4C_RCPATH" ] && env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"
+       [ -n "$KRB5_KTNAME" ] && env="$env KRB5_KTNAME='$KRB5_KTNAME'"
+       [ -n "$KRB5CCNAME" ] && env="$env KRB5CCNAME='$KRB5CCNAME'"
+       [ -n "$GLITE_GSS_MECH" ] && env="$env GLITE_GSS_MECH='$GLITE_GSS_MECH'"
+
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       else
+               echo "$0: WARNING: No credentials specified." >&2
+       fi
+
+       echo -n "Starting $prog: "
+       daemon --user $GLITE_USER $env $exec --daemon $GLITE_LB_HARVESTER_OPTIONS
+       retval=$?
+       echo
+       [ $retval -eq 0 ] && touch $lockfile
+       return $retval
+}
+
+stop() {
+       echo -n "Shutting down $prog: "
+       killproc $prog
+       retval=$?
+       echo
+       [ $retval -eq 0 ] && rm -f $lockfile
+       return $retval
+}
+
+case "$1" in
+    start)
+       status $prog >/dev/null 2>&1 && exit 0
+       start
+       ;;
+    stop)
+       status $prog >/dev/null 2>&1 || exit 0
+       stop
+       ;;
+    status)
+       status $prog
+       ;;
+    restart|reload|force-reload)
+       stop
+       start
+       ;;
+    condrestart|try-restart)
+       status $prog >/dev/null 2>&1 || exit 0
+       stop
+       start
+       ;;
+    *)
+       echo "Usage: <servicename> {start|stop|status|reload|restart|condrestart|try-restart|force-reload}"
+       exit 2
+       ;;
+esac
+exit $?
index 043e7d9..2446139 100644 (file)
@@ -28,7 +28,7 @@ build-stamp: configure-stamp
 clean: configure-stamp
        dh_testdir
        dh_testroot
-       rm -f configure-stamp build-stamp
+       rm -f configure-stamp build-stamp debian/glite-lb-harvester.init
        $(MAKE) clean
        rm -f Makefile.inc config.status *.spec
        dh_clean
@@ -43,6 +43,8 @@ install: build-stamp
        mkdir -p debian/$(p_dbg)/usr/share/doc
        ln -s $(p_base) debian/$(p_dbg)/usr/share/doc/$(p_dbg)
        mv debian/tmp/usr/share/doc/glite-lb-harvester-@MAJOR@.@MINOR@.@REVISION@ debian/$(p_base)/usr/share/doc/$(p_base)
+       rm -rf debian/tmp/etc/init.d
+       cp -p config/startup.debian.harvester debian/glite-lb-harvester.init
 
 binary-indep:
 
@@ -54,7 +56,7 @@ binary-arch: install
        dh_installexamples
        dh_installman
        dh_installlogrotate
-       dh_installinit --onlyscripts --no-start
+       dh_installinit
        dh_installcron
        dh_install --fail-missing
        dh_link
index d6f75ae..e726f6c 100644 (file)
@@ -61,9 +61,9 @@ cat > ${RPM_BUILD_ROOT}%{_prefix}/lib/tmpfiles.d/glite-lb-harvester.conf <<EOF
 d %{_localstatedir}/run/glite 0755 glite glite -
 EOF
 %else
-sed -i 's,\(lockfile=/var/lock\),\1/subsys,' $RPM_BUILD_ROOT/etc/init.d/glite-lb-harvester
-mkdir $RPM_BUILD_ROOT/etc/rc.d
-mv $RPM_BUILD_ROOT/etc/init.d $RPM_BUILD_ROOT/etc/rc.d
+rm -rf $RPM_BUILD_ROOT/etc/init.d
+mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
+install -m 0755 config/startup.redhat.harvester $RPM_BUILD_ROOT/etc/rc.d/init.d/glite-lb-harvester
 %endif
 find $RPM_BUILD_ROOT -name '*' -print | xargs -I {} -i bash -c "chrpath -d {} > /dev/null 2>&1" || echo 'Stripped RPATH'
 mkdir -p $RPM_BUILD_ROOT/var/lib/glite
index e942401..1d9f16a 100644 (file)
@@ -21,7 +21,7 @@ CC=gcc
 VPATH:=${top_srcdir}/src:${top_srcdir}/test:${top_srcdir}/doc
 
 SOURCES=\
-       config/startup config/glite-lb-logger.* config/systemd.* \
+       config/startup config/startup.* config/glite-lb-logger.* config/systemd.* \
        doc/*.8 \
        interface/*.h \
        project/.post* project/.pre* \
@@ -29,7 +29,7 @@ SOURCES=\
        src-nt/*.cpp src-nt/*.H src-nt/Makefile src-nt/test/*.cpp \
        test/*.c test/*.cpp test/*.h \
        Makefile
-SOURCES_EXEC=config/startup src/*.sh
+SOURCES_EXEC=config/startup config/startup.* src/*.sh
 
 VERSION=-DVERSION=\"GLite-${version}\"
 
@@ -152,17 +152,23 @@ INTERLOG_TEST_OBJS:= \
 MAN_GZ:=glite-lb-interlogd.8.gz glite-lb-logd.8.gz
 MAN = $(MAN_GZ:.gz=)
 
-all compile: startup $(LOGD) $(INTERLOGD) $(NOTIF_INTERLOGD) ${MAN_GZ}
+SCRIPTS:=startup
+SCRIPTS_SRC=$(addprefix ${top_srcdir}/config/,${SCRIPTS})
 
-startup: ${top_srcdir}/config/startup
+all compile: ${SCRIPTS} $(LOGD) $(INTERLOGD) $(NOTIF_INTERLOGD) ${MAN_GZ}
+
+${SCRIPTS}: ${SCRIPTS_SRC}
        glite_var="${localstatedir}/glite"; \
        if echo "${localstatedir}" | grep 'glite'>/dev/null; then \
                glite_var="${localstatedir}"; \
        fi; \
-       sed -e 's:@glite_prefix@:${sysroot}${prefix}:g' -e 's:@glite_etc@:${sysconfdir}:g' -e "s:@glite_var@:$$glite_var:g" -e 's:@defaultdir@:${sysdefaultdir}:g' $< > $@
+       sed -e 's:@glite_prefix@:${sysroot}${prefix}:g' -e 's:@glite_etc@:${sysconfdir}:g' -e "s:@glite_var@:$$glite_var:g" -e 's:@defaultdir@:${sysdefaultdir}:g' ${top_srcdir}/config/$@ > $@
 ifneq ($(os_type),debian)
        sed -i 's/# \(Default-Start\|Default-Stop\):.*/# \1:/' $@
 endif
+       sed "s/^@$(os_type)@//" $@ > $@.tmp
+       grep -v '^@' $@.tmp > $@
+       rm $@.tmp
        chmod +x $@
 
 glite-lb-logd: ${LOGD_OBJS}
@@ -280,7 +286,7 @@ il_test.o IlTestBase.o server_msgTest.o event_queueTest.o input_queue_socketTest
        ${CXX} ${CFLAGS} ${CPPUNIT_CFLAGS} -c $< -o $@
 
 clean:
-       rm -rvf .libs/ *.o *.lo *.no ${LOGD} ${INTERLOGD} ${NOTIF_INTERLOGD} ${MAN_GZ} startup
+       rm -rvf .libs/ *.o *.lo *.no ${LOGD} ${INTERLOGD} ${NOTIF_INTERLOGD} ${MAN_GZ} ${SCRIPTS}
        rm -rvf check.ll check.il
        rm -rvf dist ${package}-*.tar.gz
 
index cdc4db0..75e965e 100755 (executable)
@@ -5,8 +5,8 @@
 # Short-Description: L&B local logger and interlogger deamons
 # Required-Start: $remote_fs $network $syslog
 # Required-Stop: $remote_fs $network $syslog
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
+# Default-Start:
+# Default-Stop:
 ### END INIT INFO
 # chkconfig: - 76 24
 #
diff --git a/org.glite.lb.logger/config/startup.debian.interlogd b/org.glite.lb.logger/config/startup.debian.interlogd
new file mode 100755 (executable)
index 0000000..972b4e8
--- /dev/null
@@ -0,0 +1,126 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          glite-lb-interlogd
+# Required-Start:    $remote_fs $network $syslog
+# Required-Stop:     $remote_fs $network $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: gLite Logging and Bookkeeping interlogger
+# Description:       gLite L&B interlogger daemon sends the events stored in local
+#                    files to L&B server.
+### END INIT INFO
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="L&B interlogger"
+NAME=glite-lb-interlogd
+DAEMON=/usr/bin/$NAME
+PIDFILE=/var/run/glite/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+RUN_IL=yes
+
+GLITE_USER='glite'
+GLITE_HOME=`getent passwd ${GLITE_USER} | cut -d: -f6`
+GLITE_HOST_CERT="$GLITE_HOME/.certs/hostcert.pem"
+GLITE_HOST_KEY="$GLITE_HOME/.certs/hostkey.pem"
+KRB5_KTNAME="FILE:$GLITE_HOME/krb5kt_lb"
+KRB5CCNAME="FILE:$GLITE_HOME/krb5cc_lb"
+LOG4C_RCPATH="/etc/glite-lb"
+
+[ -x "$DAEMON" ] || exit 0
+
+[ -r /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
+[ -r /etc/glite.conf ] && . /etc/glite.conf
+[ -r /etc/glite-wms.conf ] && . /etc/glite-wms.conf
+[ -r /etc/default/glite-lb ] && . /etc/default/glite-lb
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+if [ "x$RUN_IL" != "xyes" ]; then
+       echo "$DESC disabled."
+       echo "For automatic configuration, please run glite-lb-setup script."
+       echo "When configuring L&B manually, please also set RUN_IL to 'yes' in"
+       echo "/etc/default/glite-lb."
+       exit 0
+fi
+
+do_start()
+{
+       [ -n "$LOG4C_RCPATH" ] && env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"
+       [ -n "$KRB5_KTNAME" ] && env="$env KRB5_KTNAME='$KRB5_KTNAME'"
+       [ -n "$KRB5CCNAME" ] && env="$env KRB5CCNAME='$KRB5CCNAME'"
+       [ -n "$GLITE_GSS_MECH" ] && env="$env GLITE_GSS_MECH='$GLITE_GSS_MECH'"
+
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       else
+               echo "$0: WARNING: No credentials specified." >&2
+       fi
+
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chuid $GLITE_USER --exec $DAEMON --test > /dev/null \
+               || return 1
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chuid $GLITE_USER --exec /usr/bin/env $env $DAEMON -- \
+               $GLITE_LB_IL_OPTIONS \
+               || return 2
+}
+
+do_stop()
+{
+       start-stop-daemon --stop --quiet --retry=TERM/10/KILL/5 --pidfile $PIDFILE --exec $DAEMON
+       RETVAL="$?"
+       [ "$RETVAL" = 2 ] && return 2
+       start-stop-daemon --stop --quiet --oknodo --retry=0/10/KILL/5 --exec $DAEMON
+       [ "$?" = 2 ] && return 2
+       rm -f $PIDFILE
+       return "$RETVAL"
+}
+
+case "$1" in
+  start)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+       do_start
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  stop)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+       do_stop
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  status)
+       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+  restart|force-reload)
+       log_daemon_msg "Restarting $DESC" "$NAME"
+       do_stop
+       case "$?" in
+         0|1)
+               do_start
+               case "$?" in
+                       0) log_end_msg 0 ;;
+                       1) log_end_msg 1 ;; # Old process is still running
+                       *) log_end_msg 1 ;; # Failed to start
+               esac
+               ;;
+         *)
+               # Failed to stop
+               log_end_msg 1
+               ;;
+       esac
+       ;;
+  *)
+       echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+       exit 3
+       ;;
+esac
+
+:
diff --git a/org.glite.lb.logger/config/startup.debian.logd b/org.glite.lb.logger/config/startup.debian.logd
new file mode 100755 (executable)
index 0000000..8114a6e
--- /dev/null
@@ -0,0 +1,124 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          glite-lb-logd
+# Required-Start:    $remote_fs $network $syslog
+# Required-Stop:     $remote_fs $network $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: gLite Logging and Bookkeeping local logger
+# Description:       gLite L&B local logger deamon receives events and stores
+#                    them locally to be send by interlogger.
+### END INIT INFO
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="L&B local logger"
+NAME=glite-lb-logd
+DAEMON=/usr/bin/$NAME
+PIDFILE=/var/run/glite/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+RUN_LOGD=yes
+
+GLITE_USER='glite'
+GLITE_HOME=`getent passwd ${GLITE_USER} | cut -d: -f6`
+GLITE_HOST_CERT="$GLITE_HOME/.certs/hostcert.pem"
+GLITE_HOST_KEY="$GLITE_HOME/.certs/hostkey.pem"
+KRB5_KTNAME="FILE:$GLITE_HOME/krb5kt_lb"
+KRB5CCNAME="FILE:$GLITE_HOME/krb5cc_lb"
+LOG4C_RCPATH="/etc/glite-lb"
+
+[ -x "$DAEMON" ] || exit 0
+
+[ -r /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
+[ -r /etc/glite.conf ] && . /etc/glite.conf
+[ -r /etc/glite-wms.conf ] && . /etc/glite-wms.conf
+[ -r /etc/default/glite-lb ] && . /etc/default/glite-lb
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+if [ "x$RUN_LOGD" != "xyes" ]; then
+       echo "$DESC disabled."
+       exit 0
+fi
+
+do_start()
+{
+       [ -n "$LOG4C_RCPATH" ] && env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"
+       [ -n "$KRB5_KTNAME" ] && env="$env KRB5_KTNAME='$KRB5_KTNAME'"
+       [ -n "$KRB5CCNAME" ] && env="$env KRB5CCNAME='$KRB5CCNAME'"
+       [ -n "$GLITE_GSS_MECH" ] && env="$env GLITE_GSS_MECH='$GLITE_GSS_MECH'"
+
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       else
+               echo "$0: WARNING: No credentials specified." >&2
+       fi
+
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chuid $GLITE_USER --exec $DAEMON --test > /dev/null \
+               || return 1
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chuid $GLITE_USER --exec /usr/bin/env $env $DAEMON -- \
+               $GLITE_LB_LOGD_OPTIONS \
+               || return 2
+}
+
+do_stop()
+{
+       start-stop-daemon --stop --quiet --retry=TERM/10/KILL/5 --pidfile $PIDFILE --exec $DAEMON
+       RETVAL="$?"
+       [ "$RETVAL" = 2 ] && return 2
+       start-stop-daemon --stop --quiet --oknodo --retry=0/10/KILL/5 --exec $DAEMON
+       [ "$?" = 2 ] && return 2
+       rm -f $PIDFILE
+       return "$RETVAL"
+}
+
+case "$1" in
+  start)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+       do_start
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  stop)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+       do_stop
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  status)
+       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+  restart|force-reload)
+       log_daemon_msg "Restarting $DESC" "$NAME"
+       echo
+       do_stop
+       case "$?" in
+         0|1)
+               do_start
+               case "$?" in
+                       0) log_end_msg 0 ;;
+                       1) log_end_msg 1 ;; # Old process is still running
+                       *) log_end_msg 1 ;; # Failed to start
+               esac
+               ;;
+         *)
+               # Failed to stop
+               log_end_msg 1
+               ;;
+       esac
+       ;;
+  *)
+       echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+       exit 3
+       ;;
+esac
+
+:
diff --git a/org.glite.lb.logger/config/startup.debian.notif-interlogd b/org.glite.lb.logger/config/startup.debian.notif-interlogd
new file mode 100755 (executable)
index 0000000..f81620a
--- /dev/null
@@ -0,0 +1,123 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          glite-lb-notif-interlogd
+# Required-Start:    $remote_fs $network $syslog
+# Required-Stop:     $remote_fs $network $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: gLite Logging and Bookkeeping notification interlogger
+# Description:       gLite L&B notification interlogger daemon sends reliably
+#                    notifications from L&B server.
+### END INIT INFO
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="L&B notification interlogger"
+NAME=glite-lb-notif-interlogd
+DAEMON=/usr/bin/$NAME
+PIDFILE=/var/run/glite/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+RUN_NOTIF_IL=yes
+
+GLITE_USER='glite'
+GLITE_HOME=`getent passwd ${GLITE_USER} | cut -d: -f6`
+GLITE_HOST_CERT="$GLITE_HOME/.certs/hostcert.pem"
+GLITE_HOST_KEY="$GLITE_HOME/.certs/hostkey.pem"
+KRB5_KTNAME="FILE:$GLITE_HOME/krb5kt_lb"
+KRB5CCNAME="FILE:$GLITE_HOME/krb5cc_lb"
+LOG4C_RCPATH="/etc/glite-lb"
+
+[ -x "$DAEMON" ] || exit 0
+
+[ -r /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
+[ -r /etc/glite.conf ] && . /etc/glite.conf
+[ -r /etc/glite-wms.conf ] && . /etc/glite-wms.conf
+[ -r /etc/default/glite-lb ] && . /etc/default/glite-lb
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+if [ "x$RUN_NOTIF_IL" != "xyes" ]; then
+       echo "$DESC disabled."
+       exit 0
+fi
+
+do_start()
+{
+       [ -n "$LOG4C_RCPATH" ] && env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"
+       [ -n "$KRB5_KTNAME" ] && env="$env KRB5_KTNAME='$KRB5_KTNAME'"
+       [ -n "$KRB5CCNAME" ] && env="$env KRB5CCNAME='$KRB5CCNAME'"
+       [ -n "$GLITE_GSS_MECH" ] && env="$env GLITE_GSS_MECH='$GLITE_GSS_MECH'"
+
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       else
+               echo "$0: WARNING: No credentials specified." >&2
+       fi
+
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chuid $GLITE_USER --exec $DAEMON --test > /dev/null \
+               || return 1
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chuid $GLITE_USER --exec /usr/bin/env $env $DAEMON -- \
+               -M 10485760 $GLITE_LB_NOTIF_IL_OPTIONS \
+               || return 2
+}
+
+do_stop()
+{
+       start-stop-daemon --stop --quiet --retry=TERM/10/KILL/5 --pidfile $PIDFILE --exec $DAEMON
+       RETVAL="$?"
+       [ "$RETVAL" = 2 ] && return 2
+       start-stop-daemon --stop --quiet --oknodo --retry=0/10/KILL/5 --exec $DAEMON
+       [ "$?" = 2 ] && return 2
+       rm -f $PIDFILE
+       return "$RETVAL"
+}
+
+case "$1" in
+  start)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+       do_start
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  stop)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+       do_stop
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  status)
+       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+  restart|force-reload)
+       log_daemon_msg "Restarting $DESC" "$NAME"
+       do_stop
+       case "$?" in
+         0|1)
+               do_start
+               case "$?" in
+                       0) log_end_msg 0 ;;
+                       1) log_end_msg 1 ;; # Old process is still running
+                       *) log_end_msg 1 ;; # Failed to start
+               esac
+               ;;
+         *)
+               # Failed to stop
+               log_end_msg 1
+               ;;
+       esac
+       ;;
+  *)
+       echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+       exit 3
+       ;;
+esac
+
+:
diff --git a/org.glite.lb.logger/config/startup.debian.proxy-interlogd b/org.glite.lb.logger/config/startup.debian.proxy-interlogd
new file mode 100755 (executable)
index 0000000..14700fe
--- /dev/null
@@ -0,0 +1,123 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          glite-lb-proxy-interlogd
+# Required-Start:    $remote_fs $network $syslog
+# Required-Stop:     $remote_fs $network $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: gLite Logging and Bookkeeping proxy interlogger
+# Description:       gLite L&B proxy interlogger daemon sends the events stored in local
+#                    files to the local proxy L&B server.
+### END INIT INFO
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="L&B proxy interlogger"
+NAME=glite-lb-proxy-interlogd
+DAEMON=/usr/bin/$NAME
+PIDFILE=/var/run/glite/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+RUN_PROXY_IL=yes
+
+GLITE_USER='glite'
+GLITE_HOME=`getent passwd ${GLITE_USER} | cut -d: -f6`
+GLITE_HOST_CERT="$GLITE_HOME/.certs/hostcert.pem"
+GLITE_HOST_KEY="$GLITE_HOME/.certs/hostkey.pem"
+KRB5_KTNAME="FILE:$GLITE_HOME/krb5kt_lb"
+KRB5CCNAME="FILE:$GLITE_HOME/krb5cc_lb"
+LOG4C_RCPATH="/etc/glite-lb"
+
+[ -x "$DAEMON" ] || exit 0
+
+[ -r /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
+[ -r /etc/glite.conf ] && . /etc/glite.conf
+[ -r /etc/glite-wms.conf ] && . /etc/glite-wms.conf
+[ -r /etc/default/glite-lb ] && . /etc/default/glite-lb
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+if [ "x$RUN_PROXY_IL" != "xyes" ]; then
+       echo "$DESC disabled."
+       exit 0
+fi
+
+do_start()
+{
+       [ -n "$LOG4C_RCPATH" ] && env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"
+       [ -n "$KRB5_KTNAME" ] && env="$env KRB5_KTNAME='$KRB5_KTNAME'"
+       [ -n "$KRB5CCNAME" ] && env="$env KRB5CCNAME='$KRB5CCNAME'"
+       [ -n "$GLITE_GSS_MECH" ] && env="$env GLITE_GSS_MECH='$GLITE_GSS_MECH'"
+
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       else
+               echo "$0: WARNING: No credentials specified." >&2
+       fi
+
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chuid $GLITE_USER --exec $DAEMON --test > /dev/null \
+               || return 1
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chuid $GLITE_USER --exec /usr/bin/env $env $DAEMON -- \
+               $GLITE_LB_PROXY_IL_OPTIONS \
+               || return 2
+}
+
+do_stop()
+{
+       start-stop-daemon --stop --quiet --retry=TERM/10/KILL/5 --pidfile $PIDFILE --exec $DAEMON
+       RETVAL="$?"
+       [ "$RETVAL" = 2 ] && return 2
+       start-stop-daemon --stop --quiet --oknodo --retry=0/10/KILL/5 --exec $DAEMON
+       [ "$?" = 2 ] && return 2
+       rm -f $PIDFILE
+       return "$RETVAL"
+}
+
+case "$1" in
+  start)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+       do_start
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  stop)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+       do_stop
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  status)
+       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+  restart|force-reload)
+       log_daemon_msg "Restarting $DESC" "$NAME"
+       do_stop
+       case "$?" in
+         0|1)
+               do_start
+               case "$?" in
+                       0) log_end_msg 0 ;;
+                       1) log_end_msg 1 ;; # Old process is still running
+                       *) log_end_msg 1 ;; # Failed to start
+               esac
+               ;;
+         *)
+               # Failed to stop
+               log_end_msg 1
+               ;;
+       esac
+       ;;
+  *)
+       echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+       exit 3
+       ;;
+esac
+
+:
diff --git a/org.glite.lb.logger/config/startup.redhat.interlogd b/org.glite.lb.logger/config/startup.redhat.interlogd
new file mode 100755 (executable)
index 0000000..a0b30f1
--- /dev/null
@@ -0,0 +1,101 @@
+#!/bin/bash
+#
+#      /etc/rc.d/init.d/glite-lb-interlogd
+#
+#      gLite Logging and Bookkeeping interlogger
+#
+# chkconfig: - 76 24
+# description: gLite L&B interlogger daemon sends the events stored in local \
+#              files to L&B server.
+# processname: glite-lb-interlogd
+# pidfile: /var/run/glite/glite-lb-interlogd.pid
+
+### BEGIN INIT INFO
+# Provides: glite-lb-interlogd
+# Required-Start: $remote_fs $network $syslog
+# Required-Stop: $remote_fs $network $syslog
+# Short-Description: gLite Logging and Bookkeeping interlogger
+# Description:      gLite L&B interlogger daemon sends the events stored in local
+#                   files to L&B server.
+### END INIT INFO
+
+# Source function library.
+. /etc/init.d/functions
+
+prog=glite-lb-interlogd
+exec=/usr/bin/$prog
+lockfile=/var/lock/subsys/$prog
+
+GLITE_USER='glite'
+GLITE_HOME=`getent passwd ${GLITE_USER} | cut -d: -f6`
+GLITE_HOST_CERT="$GLITE_HOME/.certs/hostcert.pem"
+GLITE_HOST_KEY="$GLITE_HOME/.certs/hostkey.pem"
+KRB5_KTNAME="FILE:$GLITE_HOME/krb5kt_lb"
+KRB5CCNAME="FILE:$GLITE_HOME/krb5cc_lb"
+LOG4C_RCPATH="/etc/glite-lb"
+
+[ -f /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
+[ -f /etc/glite.conf ] && . /etc/glite.conf
+[ -f /etc/glite-wms.conf ] && . /etc/glite-wms.conf
+[ -f /etc/sysconfig/glite-lb ] && . /etc/sysconfig/glite-lb
+[ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+start() {
+       [ -x $exec ] || exit 5
+
+       [ -n "$LOG4C_RCPATH" ] && env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"
+       [ -n "$KRB5_KTNAME" ] && env="$env KRB5_KTNAME='$KRB5_KTNAME'"
+       [ -n "$KRB5CCNAME" ] && env="$env KRB5CCNAME='$KRB5CCNAME'"
+       [ -n "$GLITE_GSS_MECH" ] && env="$env GLITE_GSS_MECH='$GLITE_GSS_MECH'"
+
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       else
+               echo "$0: WARNING: No credentials specified." >&2
+       fi
+
+       echo -n "Starting $prog: "
+       daemon --user $GLITE_USER $env $exec $GLITE_LB_IL_OPTIONS
+       retval=$?
+       echo
+       [ $retval -eq 0 ] && touch $lockfile
+       return $retval
+}
+
+stop() {
+       echo -n "Shutting down $prog: "
+       killproc $prog
+       retval=$?
+       echo
+       [ $retval -eq 0 ] && rm -f $lockfile
+       return $retval
+}
+
+case "$1" in
+    start)
+       status $prog >/dev/null 2>&1 && exit 0
+       start
+       ;;
+    stop)
+       status $prog >/dev/null 2>&1 || exit 0
+       stop
+       ;;
+    status)
+       status $prog
+       ;;
+    restart|reload|force-reload)
+       stop
+       start
+       ;;
+    condrestart|try-restart)
+       status $prog >/dev/null 2>&1 || exit 0
+       stop
+       start
+       ;;
+    *)
+       echo "Usage: <servicename> {start|stop|status|reload|restart|condrestart|try-restart|force-reload}"
+       exit 2
+       ;;
+esac
+exit $?
diff --git a/org.glite.lb.logger/config/startup.redhat.logd b/org.glite.lb.logger/config/startup.redhat.logd
new file mode 100755 (executable)
index 0000000..ccb43e7
--- /dev/null
@@ -0,0 +1,101 @@
+#!/bin/bash
+#
+#      /etc/rc.d/init.d/glite-lb-logd
+#
+#      gLite Logging and Bookkeeping local logger
+#
+# chkconfig: - 76 24
+# description: gLite L&B local logger deamon receives events and stores \
+#              them locally to be send by interlogger.
+# processname: glite-lb-logd
+# pidfile: /var/run/glite/glite-lb-logd.pid
+
+### BEGIN INIT INFO
+# Provides: glite-lb-logd
+# Required-Start: $remote_fs $network $syslog
+# Required-Stop: $remote_fs $network $syslog
+# Short-Description: gLite Logging and Bookkeeping local logger
+# Description:       gLite L&B local logger deamon receives events and stores
+#                    them locally to be send by interlogger.
+### END INIT INFO
+
+# Source function library.
+. /etc/init.d/functions
+
+prog=glite-lb-logd
+exec=/usr/bin/$prog
+lockfile=/var/lock/subsys/$prog
+
+GLITE_USER='glite'
+GLITE_HOME=`getent passwd ${GLITE_USER} | cut -d: -f6`
+GLITE_HOST_CERT="$GLITE_HOME/.certs/hostcert.pem"
+GLITE_HOST_KEY="$GLITE_HOME/.certs/hostkey.pem"
+KRB5_KTNAME="FILE:$GLITE_HOME/krb5kt_lb"
+KRB5CCNAME="FILE:$GLITE_HOME/krb5cc_lb"
+LOG4C_RCPATH="/etc/glite-lb"
+
+[ -f /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
+[ -f /etc/glite.conf ] && . /etc/glite.conf
+[ -f /etc/glite-wms.conf ] && . /etc/glite-wms.conf
+[ -f /etc/sysconfig/glite-lb ] && . /etc/sysconfig/glite-lb
+[ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+start() {
+       [ -x $exec ] || exit 5
+
+       [ -n "$LOG4C_RCPATH" ] && env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"
+       [ -n "$KRB5_KTNAME" ] && env="$env KRB5_KTNAME='$KRB5_KTNAME'"
+       [ -n "$KRB5CCNAME" ] && env="$env KRB5CCNAME='$KRB5CCNAME'"
+       [ -n "$GLITE_GSS_MECH" ] && env="$env GLITE_GSS_MECH='$GLITE_GSS_MECH'"
+
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       else
+               echo "$0: WARNING: No credentials specified." >&2
+       fi
+
+       echo -n "Starting $prog: "
+       daemon --user $GLITE_USER $env $exec $GLITE_LB_LOGD_OPTIONS
+       retval=$?
+       echo
+       [ $retval -eq 0 ] && touch $lockfile
+       return $retval
+}
+
+stop() {
+       echo -n "Shutting down $prog: "
+       killproc $prog
+       retval=$?
+       echo
+       [ $retval -eq 0 ] && rm -f $lockfile
+       return $retval
+}
+
+case "$1" in
+    start)
+       status $prog >/dev/null 2>&1 && exit 0
+       start
+       ;;
+    stop)
+       status $prog >/dev/null 2>&1 || exit 0
+       stop
+       ;;
+    status)
+       status $prog
+       ;;
+    restart|reload|force-reload)
+       stop
+       start
+       ;;
+    condrestart|try-restart)
+       status $prog >/dev/null 2>&1 || exit 0
+       stop
+       start
+       ;;
+    *)
+       echo "Usage: <servicename> {start|stop|status|reload|restart|condrestart|try-restart|force-reload}"
+       exit 2
+       ;;
+esac
+exit $?
diff --git a/org.glite.lb.logger/config/startup.redhat.notif-interlogd b/org.glite.lb.logger/config/startup.redhat.notif-interlogd
new file mode 100755 (executable)
index 0000000..f09c53f
--- /dev/null
@@ -0,0 +1,101 @@
+#!/bin/bash
+#
+#      /etc/rc.d/init.d/glite-lb-notif-interlogd
+#
+#      gLite Logging and Bookkeeping notification interlogger
+#
+# chkconfig: - 75 25
+# description: gLite L&B notification interlogger daemon sends reliably \
+#              notifications from L&B server.
+# processname: glite-lb-notif-interlogd
+# pidfile: /var/run/glite/glite-lb-notif-interlogd.pid
+
+### BEGIN INIT INFO
+# Provides: glite-lb-notif-interlogd
+# Required-Start: $remote_fs $network $syslog
+# Required-Stop: $remote_fs $network $syslog
+# Short-Description: gLite Logging and Bookkeeping notification interlogger
+# Description:       gLite L&B notification interlogger daemon sends reliably
+#                    notifications from L&B server.
+### END INIT INFO
+
+# Source function library.
+. /etc/init.d/functions
+
+prog=glite-lb-notif-interlogd
+exec=/usr/bin/$prog
+lockfile=/var/lock/subsys/$prog
+
+GLITE_USER='glite'
+GLITE_HOME=`getent passwd ${GLITE_USER} | cut -d: -f6`
+GLITE_HOST_CERT="$GLITE_HOME/.certs/hostcert.pem"
+GLITE_HOST_KEY="$GLITE_HOME/.certs/hostkey.pem"
+KRB5_KTNAME="FILE:$GLITE_HOME/krb5kt_lb"
+KRB5CCNAME="FILE:$GLITE_HOME/krb5cc_lb"
+LOG4C_RCPATH="/etc/glite-lb"
+
+[ -f /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
+[ -f /etc/glite.conf ] && . /etc/glite.conf
+[ -f /etc/glite-wms.conf ] && . /etc/glite-wms.conf
+[ -f /etc/sysconfig/glite-lb ] && . /etc/sysconfig/glite-lb
+[ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+start() {
+       [ -x $exec ] || exit 5
+
+       [ -n "$LOG4C_RCPATH" ] && env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"
+       [ -n "$KRB5_KTNAME" ] && env="$env KRB5_KTNAME='$KRB5_KTNAME'"
+       [ -n "$KRB5CCNAME" ] && env="$env KRB5CCNAME='$KRB5CCNAME'"
+       [ -n "$GLITE_GSS_MECH" ] && env="$env GLITE_GSS_MECH='$GLITE_GSS_MECH'"
+
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       else
+               echo "$0: WARNING: No credentials specified." >&2
+       fi
+
+       echo -n "Starting $prog: "
+       daemon --user $GLITE_USER $env $exec -M 10485760 $GLITE_LB_NOTIF_IL_OPTIONS
+       retval=$?
+       echo
+       [ $retval -eq 0 ] && touch $lockfile
+       return $retval
+}
+
+stop() {
+       echo -n "Shutting down $prog: "
+       killproc $prog
+       retval=$?
+       echo
+       [ $retval -eq 0 ] && rm -f $lockfile
+       return $retval
+}
+
+case "$1" in
+    start)
+       status $prog >/dev/null 2>&1 && exit 0
+       start
+       ;;
+    stop)
+       status $prog >/dev/null 2>&1 || exit 0
+       stop
+       ;;
+    status)
+       status $prog
+       ;;
+    restart|reload|force-reload)
+       stop
+       start
+       ;;
+    condrestart|try-restart)
+       status $prog >/dev/null 2>&1 || exit 0
+       stop
+       start
+       ;;
+    *)
+       echo "Usage: <servicename> {start|stop|status|reload|restart|condrestart|try-restart|force-reload}"
+       exit 2
+       ;;
+esac
+exit $?
diff --git a/org.glite.lb.logger/config/startup.redhat.proxy-interlogd b/org.glite.lb.logger/config/startup.redhat.proxy-interlogd
new file mode 100755 (executable)
index 0000000..bdb13db
--- /dev/null
@@ -0,0 +1,101 @@
+#!/bin/bash
+#
+#      /etc/rc.d/init.d/glite-lb-proxy-interlogd
+#
+#      gLite Logging and Bookkeeping proxy interlogger
+#
+# chkconfig: - 76 24
+# description: gLite L&B proxy interlogger daemon sends the events stored in local \
+#              files to the local proxy L&B server.
+# processname: glite-lb-proxy-interlogd
+# pidfile: /var/run/glite/glite-lb-proxy-interlogd.pid
+
+### BEGIN INIT INFO
+# Provides: glite-lb-proxy-interlogd
+# Required-Start: $remote_fs $network $syslog
+# Required-Stop: $remote_fs $network $syslog
+# Short-Description: gLite Logging and Bookkeeping proxy interlogger
+# Description:       gLite L&B proxy interlogger daemon sends the events stored in local
+#                    files to the local proxy L&B server.
+### END INIT INFO
+
+# Source function library.
+. /etc/init.d/functions
+
+prog=glite-lb-proxy-interlogd
+exec=/usr/bin/$prog
+lockfile=/var/lock/subsys/$prog
+
+GLITE_USER='glite'
+GLITE_HOME=`getent passwd ${GLITE_USER} | cut -d: -f6`
+GLITE_HOST_CERT="$GLITE_HOME/.certs/hostcert.pem"
+GLITE_HOST_KEY="$GLITE_HOME/.certs/hostkey.pem"
+KRB5_KTNAME="FILE:$GLITE_HOME/krb5kt_lb"
+KRB5CCNAME="FILE:$GLITE_HOME/krb5cc_lb"
+LOG4C_RCPATH="/etc/glite-lb"
+
+[ -f /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
+[ -f /etc/glite.conf ] && . /etc/glite.conf
+[ -f /etc/glite-wms.conf ] && . /etc/glite-wms.conf
+[ -f /etc/sysconfig/glite-lb ] && . /etc/sysconfig/glite-lb
+[ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+start() {
+       [ -x $exec ] || exit 5
+
+       [ -n "$LOG4C_RCPATH" ] && env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"
+       [ -n "$KRB5_KTNAME" ] && env="$env KRB5_KTNAME='$KRB5_KTNAME'"
+       [ -n "$KRB5CCNAME" ] && env="$env KRB5CCNAME='$KRB5CCNAME'"
+       [ -n "$GLITE_GSS_MECH" ] && env="$env GLITE_GSS_MECH='$GLITE_GSS_MECH'"
+
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       else
+               echo "$0: WARNING: No credentials specified." >&2
+       fi
+
+       echo -n "Starting $prog: "
+       daemon --user $GLITE_USER $env $exec $GLITE_LB_PROXY_IL_OPTIONS
+       retval=$?
+       echo
+       [ $retval -eq 0 ] && touch $lockfile
+       return $retval
+}
+
+stop() {
+       echo -n "Shutting down $prog: "
+       killproc $prog
+       retval=$?
+       echo
+       [ $retval -eq 0 ] && rm -f $lockfile
+       return $retval
+}
+
+case "$1" in
+    start)
+       status $prog >/dev/null 2>&1 && exit 0
+       start
+       ;;
+    stop)
+       status $prog >/dev/null 2>&1 || exit 0
+       stop
+       ;;
+    status)
+       status $prog
+       ;;
+    restart|reload|force-reload)
+       stop
+       start
+       ;;
+    condrestart|try-restart)
+       status $prog >/dev/null 2>&1 || exit 0
+       stop
+       start
+       ;;
+    *)
+       echo "Usage: <servicename> {start|stop|status|reload|restart|condrestart|try-restart|force-reload}"
+       exit 2
+       ;;
+esac
+exit $?
index 8c24c73..ca10f52 100644 (file)
@@ -13,8 +13,9 @@ Environment=X509_USER_CERT=/var/lib/glite/.certs/hostcert.pem
 Environment=X509_USER_KEY=/var/lib/glite/.certs/hostkey.pem
 EnvironmentFile=-/etc/profile.d/grid-env.sh
 EnvironmentFile=-/etc/sysconfig/glite-lb
+EnvironmentFile=-/etc/sysconfig/glite-lb-interlogd
 PIDFile=/var/run/glite/glite-lb-interlogd.pid
-ExecStart=/usr/bin/glite-lb-interlogd $GLITE_LB_INTERLOGD_OPTIONS
+ExecStart=/usr/bin/glite-lb-interlogd $GLITE_LB_IL_OPTIONS
 
 [Install]
 WantedBy=multi-user.target
index 03245ec..5ac76fd 100644 (file)
@@ -14,6 +14,7 @@ Environment=X509_USER_CERT=/var/lib/glite/.certs/hostcert.pem
 Environment=X509_USER_KEY=/var/lib/glite/.certs/hostkey.pem
 EnvironmentFile=-/etc/profile.d/grid-env.sh
 EnvironmentFile=-/etc/sysconfig/glite-lb
+EnvironmentFile=-/etc/sysconfig/glite-lb-logd
 PIDFile=/var/run/glite/glite-lb-logd.pid
 ExecStart=/usr/bin/glite-lb-logd $GLITE_LB_LOGD_OPTIONS
 
index e9eff02..d1d1f44 100644 (file)
@@ -13,6 +13,7 @@ Environment=X509_USER_CERT=/var/lib/glite/.certs/hostcert.pem
 Environment=X509_USER_KEY=/var/lib/glite/.certs/hostkey.pem
 EnvironmentFile=-/etc/profile.d/grid-env.sh
 EnvironmentFile=-/etc/sysconfig/glite-lb
+EnvironmentFile=-/etc/sysconfig/glite-lb-notif-interlogd
 PIDFile=/var/run/glite/glite-lb-notif-interlogd.pid
 ExecStart=/usr/bin/glite-lb-notif-interlogd -M 10485760 $GLITE_LB_NOTIF_IL_OPTIONS
 
index f2f1c67..c0c8679 100644 (file)
@@ -13,6 +13,7 @@ Environment=X509_USER_CERT=/var/lib/glite/.certs/hostcert.pem
 Environment=X509_USER_KEY=/var/lib/glite/.certs/hostkey.pem
 EnvironmentFile=-/etc/profile.d/grid-env.sh
 EnvironmentFile=-/etc/sysconfig/glite-lb
+EnvironmentFile=-/etc/sysconfig/glite-lb-proxy-interlogd
 PIDFile=/var/run/glite/glite-lb-proxy-interlogd.pid
 ExecStart=/usr/bin/glite-lb-proxy-interlogd $GLITE_LB_PROXY_IL_OPTIONS
 
index 03dbd08..c55c862 100644 (file)
@@ -12,7 +12,7 @@ DM-Upload-Allowed: yes
 Package: glite-lb-logger
 Section: misc
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, glite-lbjp-common-log
+Depends: ${shlibs:Depends}, ${misc:Depends}, glite-lbjp-common-log, lsb-base (>= 3.2-14)
 Description: @SUMMARY@
 @DEBIAN_DESCRIPTION@
 
index d70eec7..9793be4 100644 (file)
@@ -29,7 +29,7 @@ build-stamp: configure-stamp
 clean: configure-stamp
        dh_testdir
        dh_testroot
-       rm -f configure-stamp build-stamp
+       rm -f configure-stamp build-stamp debian/*.init
        $(MAKE) clean
        rm -f Makefile.inc config.status *.spec
        dh_clean
@@ -45,6 +45,10 @@ install: build-stamp
        mkdir -p debian/$(p_dev)/usr/share/doc
        ln -s $(p_base) debian/$(p_dbg)/usr/share/doc/$(p_dbg)
        ln -s $(p_base) debian/$(p_dev)/usr/share/doc/$(p_dev)
+       cp -p config/startup.debian.logd debian/glite-lb-logd.init
+       cp -p config/startup.debian.interlogd debian/glite-lb-interlogd.init
+       cp -p config/startup.debian.notif-interlogd debian/glite-lb-notif-interlogd.init
+       cp -p config/startup.debian.proxy-interlogd debian/glite-lb-proxy-interlogd.init
 
 binary-indep:
 
@@ -56,7 +60,11 @@ binary-arch: install
        dh_installexamples
        dh_installman
        dh_installlogrotate
-       dh_installinit --onlyscripts --no-start --name=glite-lb-locallogger
+       dh_installinit --onlyscripts --no-start -p$(p_base) --name=glite-lb-locallogger
+       dh_installinit --name=glite-lb-logd
+       dh_installinit --name=glite-lb-interlogd
+       dh_installinit --name=glite-lb-notif-interlogd
+       dh_installinit --name=glite-lb-proxy-interlogd
        dh_installcron
        dh_install --fail-missing
        dh_link
index f597092..5bd8af4 100644 (file)
@@ -69,9 +69,11 @@ cat > ${RPM_BUILD_ROOT}%{_prefix}/lib/tmpfiles.d/glite-lb-logger.conf <<EOF
 d %{_localstatedir}/run/glite 0755 glite glite -
 EOF
 %else
-sed -i 's,\(lockfile=/var/lock\),\1/subsys,' $RPM_BUILD_ROOT/etc/init.d/glite-lb-locallogger
 mkdir $RPM_BUILD_ROOT/etc/rc.d
 mv $RPM_BUILD_ROOT/etc/init.d $RPM_BUILD_ROOT/etc/rc.d
+for i in logd interlogd notif-interlogd proxy-interlogd; do
+       install -m 0755 config/startup.redhat.$i $RPM_BUILD_ROOT/etc/rc.d/init.d/glite-lb-$i
+done
 %endif
 find $RPM_BUILD_ROOT -name '*' -print | xargs -I {} -i bash -c "chrpath -d {} > /dev/null 2>&1" || echo 'Stripped RPATH'
 mkdir -p $RPM_BUILD_ROOT/var/lib/glite
@@ -106,9 +108,15 @@ if [ $1 -eq 1 ] ; then
     /bin/systemctl daemon-reload >/dev/null 2>&1 || :
 fi
 %else
-/sbin/chkconfig --add glite-lb-locallogger
+/sbin/chkconfig --add glite-lb-logd
+/sbin/chkconfig --add glite-lb-interlogd
+/sbin/chkconfig --add glite-lb-notif-interlogd
+/sbin/chkconfig --add glite-lb-proxy-interlogd
 if [ $1 -eq 1 ] ; then
-       /sbin/chkconfig glite-lb-locallogger off
+       /sbin/chkconfig glite-lb-logd off
+       /sbin/chkconfig glite-lb-interlogd off
+       /sbin/chkconfig glite-lb-notif-interlogd off
+       /sbin/chkconfig glite-lb-proxy-interlogd off
 fi
 %endif
 
@@ -132,8 +140,14 @@ if [ $1 -eq 0 ] ; then
 fi
 %else
 if [ $1 -eq 0 ] ; then
-    /sbin/service glite-lb-locallogger stop >/dev/null 2>&1
-    /sbin/chkconfig --del glite-lb-locallogger
+    /sbin/service glite-lb-logd stop >/dev/null 2>&1
+    /sbin/service glite-lb-interlogd stop >/dev/null 2>&1
+    /sbin/service glite-lb-notif-interlogd stop >/dev/null 2>&1
+    /sbin/service glite-lb-proxy-interlogd stop >/dev/null 2>&1
+    /sbin/chkconfig --del glite-lb-logd
+    /sbin/chkconfig --del glite-lb-interlogd
+    /sbin/chkconfig --del glite-lb-notif-interlogd
+    /sbin/chkconfig --del glite-lb-proxy-interlogd
 fi
 %endif
 
@@ -154,7 +168,13 @@ if [ $1 -ge 1 ] ; then
 fi
 %else
 if [ "$1" -ge "1" ] ; then
-    /sbin/service glite-lb-locallogger condrestart >/dev/null 2>&1 || :
+    /sbin/service glite-lb-logd condrestart >/dev/null 2>&1 || :
+    /sbin/service glite-lb-interlogd condrestart >/dev/null 2>&1 || :
+    /sbin/service glite-lb-notif-interlogd condrestart >/dev/null 2>&1 || :
+    /sbin/service glite-lb-proxy-interlogd condrestart >/dev/null 2>&1 || :
+
+    # upgrade from lb.logger <= 2.4.15 (L&B <= 4.0.4)
+    /sbin/chkconfig --del glite-lb-locallogger
 fi
 %endif
 
@@ -183,6 +203,10 @@ fi
 %{_unitdir}//glite-lb-proxy-interlogd.service
 %else
 %{_initrddir}/glite-lb-locallogger
+%{_initrddir}/glite-lb-logd
+%{_initrddir}/glite-lb-interlogd
+%{_initrddir}/glite-lb-notif-interlogd
+%{_initrddir}/glite-lb-proxy-interlogd
 %endif
 %{_bindir}/glite-lb-interlogd
 %{_bindir}/glite-lb-logd
index 41f402f..ba9fdf8 100644 (file)
@@ -27,14 +27,14 @@ default: all
 version=${module.version}
 
 SOURCES=\
-       config/glite-lb* config/my.cnf config/*.conf config/startup config/setup config/systemd.* \
+       config/glite-lb* config/my.cnf config/*.conf config/startup config/startup.* config/setup config/systemd.* \
        doc/*.1 doc/*.8 \
        interface/*.h \
        src/*.c src/*.cpp src/*.h src/*.c.T src/*.l src/*.y src/*.sh src/*.sh.in src/ws_typemap.dat \
        project/.post* project/.pre* \
        test/*.cpp test/*.cpp.T test/*.sh test/oneJob.qry test/*.c \
        Makefile
-SOURCES_EXEC=config/glite-lb-migrate* config/startup config/setup src/*.sh test/*.sh
+SOURCES_EXEC=config/glite-lb-migrate* config/startup config/startup.* config/setup src/*.sh test/*.sh
 
 all: compile
 
index 4c28bc6..7629158 100644 (file)
@@ -82,10 +82,23 @@ GLITE_LB_RTM_DN='/C=UK/O=eScience/OU=Imperial/L=Physics/CN=heppc24.hep.ph.ic.ac.
 #
 
 # bkserver additional options
-#GLITE_LB_SERVER_OTHER_OPTIONS='--greyjobs --html-header @glite_etc@/glite-lb/html-header.html --gridmap-file @glite_etc@/glite-lb/gridmap'
+#GLITE_LB_SERVER_OPTIONS='--greyjobs --html-header @glite_etc@/glite-lb/html-header.html --gridmap-file @glite_etc@/glite-lb/gridmap'
+# locallogger additional options
+#GLITE_LB_LOGD_OPTIONS=
+# interlogger additional options
+#GLITE_LB_IL_OPTIONS=
 # notification interlogger additional options
-#GLITE_LB_NOTIF_IL_OTHER_OPTIONS=
+#GLITE_LB_NOTIF_IL_OPTIONS=
 # proxy interlogger additional options
-#GLITE_LB_PROXY_IL_OTHER_OPTIONS=
+#GLITE_LB_PROXY_IL_OPTIONS=
 # harvester additional options
-#GLITE_LB_HARVESTER_OTHER_OPTIONS=
+#GLITE_LB_HARVESTER_OPTIONS=
+
+@debian@#
+@debian@# change to 'yes' to enable the individual deamons
+@debian@#
+@debian@RUN_SERVER=no
+@debian@RUN_IL=no
+@debian@RUN_PROXY_IL=no
+@debian@RUN_NOTIF_IL=no
+@debian@RUN_LOGD=no
index 1c72cf6..4f1517a 100755 (executable)
@@ -6,6 +6,7 @@
 GLITE_LOCATION=${GLITE_LOCATION:-'@glite_prefix@'}
 GLITE_LOCATION_ETC=${GLITE_LOCATION_ETC:-'@glite_etc@'}
 GLITE_USER=${GLITE_USER:-'glite'}
+GLITE_GROUP=${GLITE_GROUP:-'glite'}
 MYSQL_USER=${MYSQL_USER:-'root'}
 #MYSQL_PASSWORD=
 GLITE_LB_MSG_BROKER=${GLITE_LB_MSG_BROKER:-'true'}
@@ -757,6 +758,8 @@ if test "$setup_startup" = "1"; then
        fi
 fi
 if test "$setup_startup" = "1" -a "$startup_error" != "1"; then
+       [  -d $GLITE_HOME/dump ] || mkdir $GLITE_HOME/dump && chown $GLITE_USER:$GLITE_GROUP $GLITE_HOME/dump
+       [  -d $GLITE_HOME/purge ] || mkdir $GLITE_HOME/purge && chown $GLITE_USER:$GLITE_GROUP $GLITE_HOME/purge
 @fedora@       case "$GLITE_LB_TYPE" in
 @fedora@       proxy)
 @fedora@               GLITE_LB_SERVER_PROXY_OPTIONS="-P "
@@ -814,28 +817,43 @@ if test "$setup_startup" = "1" -a "$startup_error" != "1"; then
 @fedora@       else
 @fedora@               systemctl stop glite-lb-harvester.service >/dev/null 2>&1
 @fedora@       fi
-@debian@       update-rc.d glite-lb-bkserverd defaults
-@debian@       update-rc.d glite-lb-locallogger defaults
-@debian@       update-rc.d glite-lb-harvester defaults
-@debian@       update-rc.d glite-lb-bkserverd enable
-@debian@       update-rc.d glite-lb-locallogger enable
+@debian@       run_proxy=no
+@debian@       run_harvester=no
+@debian@       if test x"$GLITE_LB_TYPE" = x"proxy" -o x"$GLITE_LB_TYPE" = x"both"; then
+@debian@               run_proxy=yes
+@debian@       fi
 @debian@       if test x"$GLITE_LB_HARVESTER_ENABLED" = x"true"; then
-@debian@               update-rc.d glite-lb-harvester enable
-@debian@       else
-@debian@               update-rc.d glite-lb-harvester disable
+@debian@               run_harvester=yes
 @debian@       fi
+@debian@       grep -v ^RUN_ @defaultdir@/glite-lb > /tmp/glite-lb
+@debian@       cat <<EOF >> /tmp/glite-lb
+@debian@RUN_SERVER=yes
+@debian@RUN_IL=yes
+@debian@RUN_PROXY_IL=$run_proxy
+@debian@RUN_NOTIF_IL=yes
+@debian@RUN_LOGD=yes
+@debian@RUN_HARVESTER=$run_harvester
+@debian@EOF
+@debian@       mv /tmp/glite-lb @defaultdir@/glite-lb
 @debian@
 @debian@       startup_error=0
-@debian@       $GLITE_LOCATION_ETC/init.d/glite-lb-bkserverd restart || startup_error=1
-@debian@       $GLITE_LOCATION_ETC/init.d/glite-lb-locallogger restart || startup_error=1
-@debian@       if test x"$GLITE_LB_HARVESTER_ENABLED" = x"true"; then
-@debian@               $GLITE_LOCATION_ETC/init.d/glite-lb-harvester restart || startup_error=1
-@debian@       else
-@debian@               $GLITE_LOCATION_ETC/init.d/glite-lb-harvester stop >/dev/null 2>&1
-@debian@       fi
+@debian@       update-rc.d glite-lb-locallogger defaults >/dev/null 2>&1 || :
+@debian@       update-rc.d glite-lb-locallogger disable >/dev/null 2>&1 || :
+@debian@       for i in bkserverd logd interlogd notif-interlogd proxy-interlogd harvester; do
+@debian@               update-rc.d glite-lb-$i defaults
+@debian@               update-rc.d glite-lb-$i enable
+@debian@               $GLITE_LOCATION_ETC/init.d/glite-lb-$i restart || startup_error=1
+@debian@       done
 @redhat@       /sbin/chkconfig mysqld on
 @redhat@       /sbin/chkconfig glite-lb-bkserverd on
-@redhat@       /sbin/chkconfig glite-lb-locallogger on
+@redhat@       /sbin/chkconfig glite-lb-logd on
+@redhat@       /sbin/chkconfig glite-lb-interlogd on
+@redhat@       /sbin/chkconfig glite-lb-notif-interlogd on
+@redhat@       if test x"$GLITE_LB_TYPE" = x"proxy" -o x"$GLITE_LB_TYPE" = x"both"; then
+@redhat@               /sbin/chkconfig glite-lb-proxy-interlogd on
+@redhat@       else
+@redhat@               /sbin/chkconfig glite-lb-proxy-interlogd off
+@redhat@       fi
 @redhat@       if test x"$GLITE_LB_HARVETER_ENABLED" = x"true"; then
 @redhat@               /sbin/chkconfig glite-lb-harvester on
 @redhat@       else
@@ -843,12 +861,17 @@ if test "$setup_startup" = "1" -a "$startup_error" != "1"; then
 @redhat@       fi
 @redhat@
 @redhat@       startup_error=0
-@redhat@       /sbin/service glite-lb-bkserverd restart || startup_error=1
-@redhat@       /sbin/service glite-lb-locallogger restart || startup_error=1
+@redhat@       for i in bkserverd logd interlogd notif-interlogd; do
+@redhat@               /sbin/service glite-lb-$i stop >/dev/null 2>&1 || :
+@redhat@               /sbin/service glite-lb-$i start || startup_error=1
+@redhat@        done
+@redhat@       /sbin/service glite-lb-proxy-interlogd stop >/dev/null 2>&1 || :
+@redhat@       if test x"$GLITE_LB_TYPE" = x"proxy" -o x"$GLITE_LB_TYPE" = x"both"; then
+@redhat@               /sbin/service glite-lb-proxy-interlogd start || startup_error=1
+@redhat@       fi
+@redhat@       /sbin/service glite-lb-proxy-harvester stop >/dev/null 2>&1 || :
 @redhat@       if test x"$GLITE_LB_HARVESTER_ENABLED" = x"true"; then
-@redhat@               /sbin/service glite-lb-harvester restart || startup_error=1
-@redhat@       else
-@redhat@               /sbin/service glite-lb-harvester stop >/dev/null 2>&1
+@redhat@               /sbin/service glite-lb-harvester start || startup_error=1
 @redhat@       fi
 
        if test "$startup_error" = "0"; then
diff --git a/org.glite.lb.server/config/startup.debian.bkserverd b/org.glite.lb.server/config/startup.debian.bkserverd
new file mode 100755 (executable)
index 0000000..7b4f4ca
--- /dev/null
@@ -0,0 +1,140 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          glite-lb-bkserverd
+# Required-Start:    $remote_fs $network $syslog mysql
+# Required-Stop:     $remote_fs $network $syslog mysql
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: gLite Logging and Bookkeeping server
+# Description:       Primary purpose of gLite L&B server is tracking jobs as
+#                    they are processed by individual grid components.
+### END INIT INFO
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="L&B server"
+NAME=glite-lb-bkserverd
+DAEMON=/usr/bin/$NAME
+PIDFILE=/var/run/glite/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+RUN_SERVER=yes
+
+GLITE_USER='glite'
+GLITE_HOME=`getent passwd ${GLITE_USER} | cut -d: -f6`
+GLITE_HOST_CERT="$GLITE_HOME/.certs/hostcert.pem"
+GLITE_HOST_KEY="$GLITE_HOME/.certs/hostkey.pem"
+KRB5_KTNAME="FILE:$GLITE_HOME/krb5kt_lb"
+KRB5CCNAME="FILE:$GLITE_HOME/krb5cc_lb"
+LOG4C_RCPATH="/etc/glite-lb"
+
+[ -x "$DAEMON" ] || exit 0
+
+[ -r /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
+[ -r /etc/glite.conf ] && . /etc/glite.conf
+[ -r /etc/glite-wms.conf ] && . /etc/glite-wms.conf
+[ -r /etc/default/glite-lb ] && . /etc/default/glite-lb
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+if [ "x$RUN_SERVER" != "xyes" ]; then
+       echo "$DESC disabled."
+       echo "For automatic configuration, please run glite-lb-setup script."
+       echo "When configuring L&B manually, please also set RUN_SERVER to 'yes' in"
+       echo "/etc/default/glite-lb."
+       exit 0
+fi
+
+do_start()
+{
+       [ -n "$LOG4C_RCPATH" ] && env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"
+       [ -n "$KRB5_KTNAME" ] && env="$env KRB5_KTNAME='$KRB5_KTNAME'"
+       [ -n "$KRB5CCNAME" ] && env="$env KRB5CCNAME='$KRB5CCNAME'"
+       [ -n "$GLITE_GSS_MECH" ] && env="$env GLITE_GSS_MECH='$GLITE_GSS_MECH'"
+
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       else
+               echo "$0: WARNING: No credentials specified." >&2
+       fi
+
+       args="--dump-prefix=$GLITE_HOME/dump --purge-prefix=$GLITE_HOME/purge"
+       [ -f /etc/glite-lb/glite-lb-authz.conf ] && args="$args --policy /etc/glite-lb/glite-lb-authz.conf"
+       case "$GLITE_LB_TYPE" in
+       proxy)
+               args="$args -P"
+               ;;
+       both)
+               args="$args -B"
+               ;;
+       *)
+               ;;
+       esac
+       rm -f /tmp/lb_proxy_serve.sock /tmp/lb_proxy_store.sock
+
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chuid $GLITE_USER --exec $DAEMON --test > /dev/null \
+               || return 1
+       start-stop-daemon --start --quiet --pidfile $PIDFILE \
+               --chuid $GLITE_USER --exec /usr/bin/env $env $DAEMON -- \
+               $args $GLITE_LB_SERVER_OPTIONS \
+               || return 2
+}
+
+do_stop()
+{
+       start-stop-daemon --stop --quiet --retry=TERM/10/KILL/5 --pidfile $PIDFILE --exec $DAEMON
+       RETVAL="$?"
+       [ "$RETVAL" = 2 ] && return 2
+       start-stop-daemon --stop --quiet --oknodo --retry=0/10/KILL/5 --exec $DAEMON
+       [ "$?" = 2 ] && return 2
+       rm -f $PIDFILE
+       return "$RETVAL"
+}
+
+case "$1" in
+  start)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+       do_start
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  stop)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+       do_stop
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  status)
+       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+  restart|force-reload)
+       log_daemon_msg "Restarting $DESC" "$NAME"
+       do_stop
+       case "$?" in
+         0|1)
+               do_start
+               case "$?" in
+                       0) log_end_msg 0 ;;
+                       1) log_end_msg 1 ;; # Old process is still running
+                       *) log_end_msg 1 ;; # Failed to start
+               esac
+               ;;
+         *)
+               # Failed to stop
+               log_end_msg 1
+               ;;
+       esac
+       ;;
+  *)
+       echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+       exit 3
+       ;;
+esac
+
+:
diff --git a/org.glite.lb.server/config/startup.redhat.bkserverd b/org.glite.lb.server/config/startup.redhat.bkserverd
new file mode 100755 (executable)
index 0000000..03a76a4
--- /dev/null
@@ -0,0 +1,115 @@
+#!/bin/bash
+#
+#      /etc/rc.d/init.d/glite-lb-bkserverd
+#
+#      gLite Logging and Bookkeeping server
+#
+# chkconfig: - 75 25
+# description: Primary purpose of gLite L&B server is tracking jobs as \
+#              they are processed by individual grid components.
+# processname: glite-lb-bkserverd
+# pidfile: /var/run/glite/glite-lb-bkserverd.pid
+
+### BEGIN INIT INFO
+# Provides: glite-lb-bkserverd
+# Required-Start: $remote_fs $network $syslog mysqld
+# Required-Stop: $remote_fs $network $syslog mysqld
+# Short-Description: gLite Logging and Bookkeeping server
+# Description:       Primary purpose of gLite L&B server is tracking jobs as
+#                    they are processed by individual grid components.
+### END INIT INFO
+
+# Source function library.
+. /etc/init.d/functions
+
+prog=glite-lb-bkserverd
+exec=/usr/bin/$prog
+lockfile=/var/lock/subsys/$prog
+
+GLITE_USER='glite'
+GLITE_HOME=`getent passwd ${GLITE_USER} | cut -d: -f6`
+GLITE_HOST_CERT="$GLITE_HOME/.certs/hostcert.pem"
+GLITE_HOST_KEY="$GLITE_HOME/.certs/hostkey.pem"
+KRB5_KTNAME="FILE:$GLITE_HOME/krb5kt_lb"
+KRB5CCNAME="FILE:$GLITE_HOME/krb5cc_lb"
+LOG4C_RCPATH="/etc/glite-lb"
+
+[ -f /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
+[ -f /etc/glite.conf ] && . /etc/glite.conf
+[ -f /etc/glite-wms.conf ] && . /etc/glite-wms.conf
+[ -f /etc/sysconfig/glite-lb ] && . /etc/sysconfig/glite-lb
+[ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+start() {
+       [ -x $exec ] || exit 5
+
+       [ -n "$LOG4C_RCPATH" ] && env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"
+       [ -n "$KRB5_KTNAME" ] && env="$env KRB5_KTNAME='$KRB5_KTNAME'"
+       [ -n "$KRB5CCNAME" ] && env="$env KRB5CCNAME='$KRB5CCNAME'"
+       [ -n "$GLITE_GSS_MECH" ] && env="$env GLITE_GSS_MECH='$GLITE_GSS_MECH'"
+
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       else
+               echo "$0: WARNING: No credentials specified." >&2
+       fi
+
+       args="--dump-prefix=$GLITE_HOME/dump --purge-prefix=$GLITE_HOME/purge"
+       [ -f /etc/glite-lb/glite-lb-authz.conf ] && args="$args --policy /etc/glite-lb/glite-lb-authz.conf"
+       case "$GLITE_LB_TYPE" in
+       proxy)
+               args="$args -P"
+               ;;
+       both)
+               args="$args -B"
+               ;;
+       *)
+               ;;
+       esac
+       rm -f /tmp/lb_proxy_serve.sock /tmp/lb_proxy_store.sock
+
+       echo -n "Starting $prog: "
+       daemon --user $GLITE_USER $env $exec $args $GLITE_LB_SERVER_OPTIONS
+       retval=$?
+       echo
+       [ $retval -eq 0 ] && touch $lockfile
+       return $retval
+}
+
+stop() {
+       echo -n "Shutting down $prog: "
+       killproc $prog
+       retval=$?
+       echo
+       [ $retval -eq 0 ] && rm -f $lockfile
+       return $retval
+}
+
+case "$1" in
+    start)
+       status $prog >/dev/null 2>&1 && exit 0
+       start
+       ;;
+    stop)
+       status $prog >/dev/null 2>&1 || exit 0
+       stop
+       ;;
+    status)
+       status $prog
+       ;;
+    restart|reload|force-reload)
+       stop
+       start
+       ;;
+    condrestart|try-restart)
+       status $prog >/dev/null 2>&1 || exit 0
+       stop
+       start
+       ;;
+    *)
+       echo "Usage: <servicename> {start|stop|status|reload|restart|condrestart|try-restart|force-reload}"
+       exit 2
+       ;;
+esac
+exit $?
index cbba1a4..cb85962 100644 (file)
@@ -2,7 +2,7 @@ Source: glite-lb-server
 Priority: extra
 Maintainer: @MAINTAINER@
 Uploaders: @UPLOADERS@
-Build-Depends: debhelper (>= 7.0.50~), bison, chrpath, flex, glite-lb-types, glite-lb-ws-interface, gsoap, libc-ares-dev, libclassad0-dev | libclassad-dev, libcppunit-dev, libexpat1-dev, libglite-jobid-api-c-dev, libglite-lb-common-dev, libglite-lb-state-machine-dev, libglite-lbjp-common-db-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-gsoap-plugin-dev, libglite-lbjp-common-log-dev, libglite-lbjp-common-maildir-dev, libglite-lbjp-common-server-bones-dev, libglite-lbjp-common-trio-dev, libgridsite-dev, libtool, libxml2-dev, pkg-config, voms-dev
+Build-Depends: debhelper (>= 7.0.50~), bison, chrpath, flex, glite-lb-types, glite-lb-ws-interface, gsoap, libc-ares-dev, libclassad0-dev | libclassad-dev, libcppunit-dev, libexpat1-dev, libglite-jobid-api-c-dev, libglite-lb-common-dev, libglite-lb-state-machine-dev, libglite-lbjp-common-db-dev, libglite-lbjp-common-gss-dev, libglite-lbjp-common-gsoap-plugin-dev, libglite-lbjp-common-log-dev, libglite-lbjp-common-maildir-dev, libglite-lbjp-common-server-bones-dev, libglite-lbjp-common-trio-dev, libgridsite-dev, libtool, libxml2-dev, lsb-base (>= 3.2-14), pkg-config, voms-dev
 # gssapi is needed explicitly for glite-lb-server, but the proper package is
 # known only in libglite-lbjp-common-gss-dev:
 #  - gssapi from Globus (libglobus-gssapi-gsi-dev)
index e4e8016..1e5b534 100644 (file)
@@ -1,7 +1,6 @@
 etc/cron.d/*
 etc/default/*
 etc/glite-lb/*
-etc/init.d/*
 etc/logrotate.d/*
 etc/mysql/conf.d/*
 usr/bin/*
index dae9154..5d2844e 100644 (file)
@@ -28,7 +28,7 @@ build-stamp: configure-stamp
 clean: configure-stamp
        dh_testdir
        dh_testroot
-       rm -f configure-stamp build-stamp
+       rm -f configure-stamp build-stamp debian/glite-lb-bkserverd.init
        $(MAKE) clean
        rm -f Makefile.inc config.status *.spec
        dh_clean
@@ -46,6 +46,8 @@ install: build-stamp
        mv debian/tmp/usr/share/doc/glite-lb-server-@MAJOR@.@MINOR@.@REVISION@ debian/$(p_base)/usr/share/doc/$(p_base)
        mkdir -p debian/$(p_dbg)/usr/share/doc
        ln -s $(p_base) debian/$(p_dbg)/usr/share/doc/$(p_dbg)
+       rm debian/tmp/etc/init.d/glite-lb-bkserverd
+       cp -p config/startup.debian.bkserverd debian/glite-lb-bkserverd.init
 
 binary-indep:
 
@@ -57,7 +59,7 @@ binary-arch: install
        dh_installexamples
        dh_installman
        dh_installlogrotate
-       dh_installinit --onlyscripts --no-start
+       dh_installinit --name=glite-lb-bkserverd
        dh_installcron
        dh_install --fail-missing
        dh_link
index 848439b..19a657d 100644 (file)
@@ -86,9 +86,9 @@ cat > ${RPM_BUILD_ROOT}%{_prefix}/lib/tmpfiles.d/glite-lb-server.conf <<EOF
 d %{_localstatedir}/run/glite 0755 glite glite -
 EOF
 %else
-sed -i 's,\(lockfile=/var/lock\),\1/subsys,' $RPM_BUILD_ROOT/etc/init.d/glite-lb-bkserverd
-mkdir $RPM_BUILD_ROOT/etc/rc.d
-mv $RPM_BUILD_ROOT/etc/init.d $RPM_BUILD_ROOT/etc/rc.d
+rm -rf $RPM_BUILD_ROOT/etc/init.d
+mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
+install -m 0755 config/startup.redhat.bkserverd $RPM_BUILD_ROOT/etc/rc.d/init.d/glite-lb-bkserverd
 %endif
 install -m 0644 LICENSE project/ChangeLog $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
 find $RPM_BUILD_ROOT -name '*.la' -exec rm -rf {} \;
index c339e17..9b1976c 100644 (file)
@@ -157,18 +157,23 @@ function config_glite_lb() {
 
   # with YAIM let's use only the /etc/init.d/gLite startup
   if egrep -i "Debian|Ubuntu" /etc/issue >/dev/null; then
-    update-rc.d glite-lb-bkserverd disable
-    update-rc.d glite-lb-locallogger disable
-    update-rc.d glite-lb-harvester disable
+    for i in bkserverd harvester locallogger logd interlogd notif-interlogd proxy-interlogd; do
+      update-rc.d glite-lb-$i disable >/dev/null 2>&1
+    done
   else
-    /sbin/chkconfig glite-lb-bkserverd off
-    /sbin/chkconfig glite-lb-locallogger off
-    /sbin/chkconfig glite-lb-harvester off
+    for i in bkserverd harvester locallogger logd interlogd notif-interlogd proxy-interlogd; do
+      /sbin/chkconfig glite-lb-$i off >/dev/null 2>&1
+    done
   fi
   grep -v 'glite-lb-' @glite_etc@/gLiteservices 2>/dev/null > /tmp/gLiteservices
   mv /tmp/gLiteservices @glite_etc@/gLiteservices
   echo "${GLITE_LOCATION_ETC}/init.d/glite-lb-bkserverd" >> @glite_etc@/gLiteservices
-  echo "${GLITE_LOCATION_ETC}/init.d/glite-lb-locallogger" >> @glite_etc@/gLiteservices
+  echo "${GLITE_LOCATION_ETC}/init.d/glite-lb-logd" >> @glite_etc@/gLiteservices
+  echo "${GLITE_LOCATION_ETC}/init.d/glite-lb-interlogd" >> @glite_etc@/gLiteservices
+  echo "${GLITE_LOCATION_ETC}/init.d/glite-lb-notif-interlogd" >> @glite_etc@/gLiteservices
+  if [ x"$GLITE_LB_TYPE" = x"proxy" -o x"$GLITE_LB_TYPE" = x"both" ]; then
+    echo "${GLITE_LOCATION_ETC}/init.d/glite-lb-proxy-interlogd" >> @glite_etc@/gLiteservices
+  fi
   if [ x"$GLITE_LB_RTM_ENABLED" = x"true" ]; then
     echo "${GLITE_LOCATION_ETC}/init.d/glite-lb-harvester" >> @glite_etc@/gLiteservices
   fi