Expansion of _sbindir_ in init.d
authorHeiko Schlittermann <hs@schlittermann.de>
Fri, 13 Mar 2009 11:33:39 +0100
changeset 23 31d7a4ab5910
parent 22 9d0f18677fec
child 24 7af7f159f987
child 25 2991839e05e9
Expansion of _sbindir_ in init.d
Makefile
default
init.d
init.d.in
mktag
--- a/Makefile	Fri Mar 13 10:44:57 2009 +0100
+++ b/Makefile	Fri Mar 13 11:33:39 2009 +0100
@@ -2,8 +2,10 @@
 prefix = /usr/local
 sbindir = ${prefix}/sbin
 man8dir = ${prefix}/share/man/man8
+initdir = /etc/init.d
+defaultdir = /etc/default
 
-all:	tele-watch tele-watch.8.gz
+all:	tele-watch tele-watch.8.gz init.d
 install: all
 	install -m 0755 -d ${DESTDIR}${sbindir}
 	install -m 0755 tele-watch ${DESTDIR}${sbindir}/
@@ -11,9 +13,17 @@
 	install -m 0755 -d ${DESTDIR}${man8dir}
 	install -m 0644 tele-watch.8.gz ${DESTDIR}${man8dir}
 
+	#test -f ${DESTDIR}${initdir}/tele-watcher \
+	#|| install -m 0755 init.d ${DESTDIR}${initdir}/tele-watcher
+	#test -f ${DESTDIR}${defaultdir}/tele-watcher \
+	#|| install -m 0644 default ${DESTDIR}${defaultdir}/tele-watcher
+
 clean:
 	-rm -f tele-watch.8.gz tele-watch
 
+%:	%.in
+	perl -pe 's{__sbindir__}{${sbindir}}g' <$< >$@
+
 %:	%.pl
 	perl -c $<
 	cp -f $< $@
--- a/default	Fri Mar 13 10:44:57 2009 +0100
+++ b/default	Fri Mar 13 11:33:39 2009 +0100
@@ -1,2 +1,2 @@
 # the directory to watch
-WATCHPOINT="/home"
+WATCHPOINTS="/dtele:/.dtele"
--- a/init.d	Fri Mar 13 10:44:57 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides:          tele-watch
-# Required-Start:    $local_fs $remote_fs
-# Required-Stop:     $local_fs $remote_fs
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: watcher for dtele home directory
-# Description:       tele-watch watches a list of directories
-#                    and enforces the dtele directory policy
-### END INIT INFO
-
-# Author: Heiko Schlittermann <hs@schlittermann.de>
-#
-# Please remove the "Author" lines above and replace them
-# with your own name if you copy and modify this script.
-
-# Do NOT "set -e"
-
-# PATH should only include /usr/* if it runs after the mountnfs.sh script
-PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin
-DESC="Tele-Watch"
-NAME=tele-watch
-DAEMON=/usr/local/sbin/$NAME
-DAEMON_ARGS="/dtele:/.dtele"
-PIDFILE=/var/run/$NAME.pid
-SCRIPTNAME=/etc/init.d/$NAME
-
-# Exit if the package is not installed
-[ -x "$DAEMON" ] || exit 0
-
-# Read configuration variable file if it is present
-[ -r /etc/default/$NAME ] && . /etc/default/$NAME
-
-# Load the VERBOSE setting and other rcS variables
-. /lib/init/vars.sh
-
-# Define LSB log_* functions.
-# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
-. /lib/lsb/init-functions
-
-#
-# Function that starts the daemon/service
-#
-do_start()
-{
-	# Return
-	#   0 if daemon has been started
-	#   1 if daemon was already running
-	#   2 if daemon could not be started
-	PID=$(pidof $NAME) && return 1
-	
-	if [ ! $PID ]; then
-		$DAEMON $DAEMON_ARGS || return 2
-	fi
-	return 0
-}
-
-#
-# Function that stops the daemon/service
-#
-do_stop()
-{
-	# Return
-	#   0 if daemon has been stopped
-	#   1 if daemon was already stopped
-	#   2 if daemon could not be stopped
-	#   other if a failure occurred
-	PID=$(pidof $NAME) || return 1
-
-	$DAEMON --kill || return 2
-	return 0
-}
-
-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
-	;;
-  restart|force-reload)
-	#
-	# If the "reload" option is implemented then remove the
-	# 'force-reload' alias
-	#
-	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|restart|force-reload}" >&2
-	exit 3
-	;;
-esac
-
-:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/init.d.in	Fri Mar 13 11:33:39 2009 +0100
@@ -0,0 +1,121 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          tele-watch
+# Required-Start:    $local_fs $remote_fs
+# Required-Stop:     $local_fs $remote_fs
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: watcher for dtele home directory
+# Description:       tele-watch watches a list of directories
+#                    and enforces the dtele directory policy
+### END INIT INFO
+
+# Author: Heiko Schlittermann <hs@schlittermann.de>
+#
+# Please remove the "Author" lines above and replace them
+# with your own name if you copy and modify this script.
+
+# Do NOT "set -e"
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin
+DESC="Tele-Watch"
+NAME=tele-watch
+DAEMON=__sbindir__/$NAME
+#DAEMON_ARGS=""
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+	test -n "$WATCHPOINTS" || return 1
+	# Return
+	#   0 if daemon has been started
+	#   0 if daemon was already running
+	#   2 if daemon could not be started
+	PID=$(pidof $NAME) && return 0
+	
+	if [ ! $PID ]; then
+		$DAEMON "$WATCHPOINTS" || return 2
+	fi
+	return 0
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+	# Return
+	#   0 if daemon has been stopped
+	#   0 if daemon was already stopped
+	#   2 if daemon could not be stopped
+	#   other if a failure occurred
+	PID=$(pidof $NAME) || return 0
+
+	$DAEMON --kill || return 2
+	return 0
+}
+
+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
+	;;
+  restart|force-reload)
+	#
+	# If the "reload" option is implemented then remove the
+	# 'force-reload' alias
+	#
+	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|restart|force-reload}" >&2
+	exit 3
+	;;
+esac
+
+:
--- a/mktag	Fri Mar 13 10:44:57 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-#! /bin/bash
-
-tmp=$(getopt -n $0 -o f --long force -- "$@")
-eval set -- $tmp
-while true; do
-	o="$1"; shift
-	case "$o" in
-		--)		break;;
-		-f|--force)	o_force="-f";;
-	esac
-done
-
-
-tag="${1?}"
-
-id=$(hg id)
-id=${id%% *}
-
-case "$id" in
-	*+)	echo "sorry, local version is modified." >&2
-		exit 1
-		;;
-esac
-
-case "$tag" in
-	v*.*)	;;
-	*)	echo "sorry, tag should be v*.*" >&2
-		exit 1
-		;;
-esac
-
-hg tag $o_force "$tag" \
-&& old=$(hg id -i) \
-&& hg up -r "$tag" \
-&& make clean all \
-&& hg up -r "$old"