Avoide overwriting existing init.d-script and default file (configurations)
authorHeiko Schlittermann <hs@schlittermann.de>
Fri, 13 Mar 2009 14:00:53 +0100
changeset 24 7af7f159f987
parent 23 31d7a4ab5910
child 29 8dc39221096a
Avoide overwriting existing init.d-script and default file (configurations)
Makefile
default
default.in
tools/unchanged
--- a/Makefile	Fri Mar 13 11:33:39 2009 +0100
+++ b/Makefile	Fri Mar 13 14:00:53 2009 +0100
@@ -5,7 +5,7 @@
 initdir = /etc/init.d
 defaultdir = /etc/default
 
-all:	tele-watch tele-watch.8.gz init.d
+all:	tele-watch tele-watch.8.gz init.d default
 install: all
 	install -m 0755 -d ${DESTDIR}${sbindir}
 	install -m 0755 tele-watch ${DESTDIR}${sbindir}/
@@ -13,16 +13,18 @@
 	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
+	-tools/unchanged ${DESTDIR}${initdir}/tele-watcher \
+	&& install -m 0755 init.d ${DESTDIR}${initdir}/tele-watcher
+
+	-tools/unchanged ${DESTDIR}${defaultdir}/tele-watcher \
+	&& install -m 0644 default ${DESTDIR}${defaultdir}/tele-watcher
 
 clean:
-	-rm -f tele-watch.8.gz tele-watch
+	-rm -f tele-watch.8.gz tele-watch default init.d
 
 %:	%.in
 	perl -pe 's{__sbindir__}{${sbindir}}g' <$< >$@
+	echo "# `sha1sum $@`" >>$@
 
 %:	%.pl
 	perl -c $<
--- a/default	Fri Mar 13 11:33:39 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-# the directory to watch
-WATCHPOINTS="/dtele:/.dtele"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/default.in	Fri Mar 13 14:00:53 2009 +0100
@@ -0,0 +1,2 @@
+# the directory to watch
+WATCHPOINTS="/dtele:/.dtele"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/unchanged	Fri Mar 13 14:00:53 2009 +0100
@@ -0,0 +1,9 @@
+#! /bin/bash
+
+file="${1?}"
+
+test -e "$file" || exit 0
+
+found=$(head -n -1 "$file" | sha1sum | cut -f1 -d' ')
+expected=$(tail -n 1 "$1" | cut -f2 -d" ")
+test "$found" = "$expected"