ship dhclient hook scripts for using ipv4ll as fallback solution where DHCP is not...
authorLennart Poettering <lennart@poettering.net>
Sat, 2 Sep 2006 14:45:59 +0000 (14:45 +0000)
committerLennart Poettering <lennart@poettering.net>
Sat, 2 Sep 2006 14:45:59 +0000 (14:45 +0000)
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@1311 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe

avahi-autoipd/Makefile.am
avahi-autoipd/dhclient-enter-hook.in [new file with mode: 0755]
avahi-autoipd/dhclient-exit-hook.in [new file with mode: 0755]

index 2c55241..7fda8c7 100644 (file)
@@ -45,7 +45,33 @@ avahi_autoipd_LDADD = $(AM_LDADD) $(LIBDAEMON_LIBS)
 
 pkgsysconf_SCRIPTS=avahi-autoipd.action
 
+if TARGET_DEBIAN
+
+noinst_SCRIPTS = dhclient-enter-hook dhclient-exit-hook
+
+dhclient-enter-hook: dhclient-enter-hook.in
+       sed -e 's,@sbindir\@,$(sbindir),g' $< > $@
+       chmod +x $@
+
+dhclient-exit-hook: dhclient-exit-hook.in
+       sed -e 's,@sbindir\@,$(sbindir),g' $< > $@
+       chmod +x $@
+
+BUILD = dhclient-exit-hook dhclient-enter-hook
+
+dhcliententerdir = $(sysconfdir)/dhcp3/dhclient-enter-hooks.d
+dhclientexitdir = $(sysconfdir)/dhcp3/dhclient-exit-hooks.d
+
+install-exec-hook: dhclient-exit-hook dhclient-enter-hook
+       $(INSTALL) $(srcdir)/dhclient-enter-hook $(DESTDIR)$(dhcliententerdir)/avahi-autoipd
+       $(INSTALL) $(srcdir)/dhclient-exit-hook $(DESTDIR)$(dhclientexitdir)/avahi-autoipd
+
 endif
+
+
 endif
+endif
+
+EXTRA_DIST=avahi-autoipd.action dhclient-enter-hook.in dhclient-exit-hook.in
 
-EXTRA_DIST=avahi-autoipd.action
+CLEANFILES=dhclient-enter-hook dhclient-exit-hook
diff --git a/avahi-autoipd/dhclient-enter-hook.in b/avahi-autoipd/dhclient-enter-hook.in
new file mode 100755 (executable)
index 0000000..8efd468
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# $Id$
+#
+# This file is part of avahi.
+# 
+# avahi is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# avahi is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+# License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with avahi; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA.
+
+set -e
+
+case "$reason" in
+    MEDIUM|ARPCHECK|ARPSEND|NBI)
+        ;;
+
+    PREINIT|BOUND|RENEW|REBIND|REBOOT|STOP)
+        @sbindir@/avahi-autoipd -k $interface 2> /dev/null
+        ;;
+    
+    EXPIRE|FAIL|RELEASE|TIMEOUT)
+        # Starting avahi-autoipd is left for the exit hook
+        ;;
+esac
diff --git a/avahi-autoipd/dhclient-exit-hook.in b/avahi-autoipd/dhclient-exit-hook.in
new file mode 100755 (executable)
index 0000000..a844b77
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# $Id$
+#
+# This file is part of avahi.
+# 
+# avahi is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# avahi is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+# License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with avahi; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA.
+
+set -e
+
+case "$reason" in
+    MEDIUM|ARPCHECK|ARPSEND|NBI)
+        ;;
+
+    PREINIT|BOUND|RENEW|REBIND|REBOOT|STOP)
+        # Stoping avahi-autoipd is left for the enter hook
+        ;;
+    
+    EXPIRE|FAIL|RELEASE|TIMEOUT)
+        @sbindir@/avahi-autoipd -wD $interface 2> /dev/null
+        ;;
+esac