avahi: add scripts to start avahi-autoipd from udhcpc
authorPhilipp Zabel <philipp.zabel@gmail.com>
Wed, 28 Mar 2007 09:24:20 +0000 (09:24 +0000)
committerPhilipp Zabel <philipp.zabel@gmail.com>
Wed, 28 Mar 2007 09:24:20 +0000 (09:24 +0000)
packages/avahi/avahi.inc
packages/avahi/files/.mtn2git_empty [new file with mode: 0644]
packages/avahi/files/00avahi-autoipd [new file with mode: 0755]
packages/avahi/files/99avahi-autoipd [new file with mode: 0755]

index 3a0b28c..fb71361 100644 (file)
@@ -4,12 +4,14 @@ HOMEPAGE = "http://avahi.org"
 SECTION = "network"
 PRIORITY = "optional"
 LICENSE = "GPL"
+PR="r1"
 
 DEPENDS = "expat libdaemon dbus glib-2.0"
 RRECOMMENDS = "libnss-mdns"
 RRECOMMENDS_avahi-daemon = "libnss-mdns"
 
-SRC_URI = "http://avahi.org/download/avahi-${PV}.tar.gz"
+SRC_URI = "http://avahi.org/download/avahi-${PV}.tar.gz \
+          file://00avahi-autoipd file://99avahi-autoipd"
 
 inherit autotools pkgconfig update-rc.d
 
@@ -35,7 +37,8 @@ FILES_avahi-dnsconfd = "${sbindir}/avahi-dnsconfd \
 FILES_libavahi-glib = "${libdir}/libavahi-glib.so.*"
 FILES_avahi-utils = "${bindir}/avahi-*"
 FILES_avahi-autoipd = "${sbindir}/avahi-autoipd \
-                       ${sysconfdir}/avahi/avahi-autoipd.action"
+                       ${sysconfdir}/avahi/avahi-autoipd.action \
+                      ${sysconfdir}/udhcpc.d/*avahi-autoipd"
 
 CONFFILES_avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf"
 
@@ -62,11 +65,32 @@ pkg_postinst_avahi-daemon () {
        fi
 }
 
+pkg_postinst_avahi-autoipd () {
+       # can't do this offline
+       if [ "x$D" != "x" ]; then
+               exit 1
+       fi
+       grep avahi-autoipd /etc/group || addgroup avahi-autoipd
+       grep avahi-autoipd /etc/passwd || adduser --disabled-password --system --home /var/lib/avahi-autoipd --no-create-home avahi-autoipd --ingroup avahi-autoipd -g "Avahi autoip daemon"
+}
+
 pkg_postrm_avahi-daemon () {
        deluser avahi || true
        delgroup avahi || true
 }
 
+pkg_postrm_avahi-autoipd () {
+       deluser avahi-autoipd || true
+       delgroup avahi-autoipd || true
+}
+
+do_install() {
+       autotools_do_install
+       install -d ${D}${sysconfdir}/udhcpc.d
+       install ${WORKDIR}/00avahi-autoipd ${D}${sysconfdir}/udhcpc.d
+       install ${WORKDIR}/99avahi-autoipd ${D}${sysconfdir}/udhcpc.d
+}
+
 do_stage() {
        autotools_stage_all
 }
diff --git a/packages/avahi/files/.mtn2git_empty b/packages/avahi/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/avahi/files/00avahi-autoipd b/packages/avahi/files/00avahi-autoipd
new file mode 100755 (executable)
index 0000000..a0ab814
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
+
+case "$1" in
+
+       deconfig|renew|bound)
+               /usr/sbin/avahi-autoipd -k $interface 2> /dev/null
+               ;;
+esac
diff --git a/packages/avahi/files/99avahi-autoipd b/packages/avahi/files/99avahi-autoipd
new file mode 100755 (executable)
index 0000000..234cdaa
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
+
+case "$1" in
+
+       leasefail)
+               /usr/sbin/avahi-autoipd -wD $interface 2> /dev/null
+               ;;
+esac