--- 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"