diff options
-rw-r--r-- | meta/packages/avahi/avahi.inc | 27 | ||||
-rw-r--r-- | meta/packages/avahi/avahi_0.6.23.bb | 2 | ||||
-rw-r--r-- | meta/packages/avahi/files/00avahi-autoipd | 10 | ||||
-rw-r--r-- | meta/packages/avahi/files/99avahi-autoipd | 10 |
4 files changed, 46 insertions, 3 deletions
diff --git a/meta/packages/avahi/avahi.inc b/meta/packages/avahi/avahi.inc index 67029b30b0..419b787b5f 100644 --- a/meta/packages/avahi/avahi.inc +++ b/meta/packages/avahi/avahi.inc @@ -9,6 +9,8 @@ RRECOMMENDS = "libnss-mdns" RRECOMMENDS_avahi-daemon = "libnss-mdns" SRC_URI = "http://avahi.org/download/avahi-${PV}.tar.gz \ + file://00avahi-autoipd \ + file://99avahi-autoipd \ file://initscript.patch;patch=1" inherit autotools pkgconfig update-rc.d @@ -64,8 +66,8 @@ pkg_postinst_avahi-daemon () { if [ "x$D" != "x" ]; then exit 1 fi - grep avahi /etc/group || addgroup avahi - grep avahi /etc/passwd || adduser --disabled-password --system --home /var/run/avahi-daemon --no-create-home avahi --ingroup avahi -g Avahi + grep "^avahi:" /etc/group > /dev/null || addgroup avahi + grep "^avahi:" /etc/passwd > /dev/null || adduser --disabled-password --system --home /var/run/avahi-daemon --no-create-home avahi --ingroup avahi -g Avahi DBUSPID=`pidof dbus-daemon` @@ -74,7 +76,28 @@ 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 > /dev/null || addgroup avahi-autoipd + grep "^avahi-autoipd:" /etc/passwd > /dev/null || 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_avahi-autoipd() { + 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 +} diff --git a/meta/packages/avahi/avahi_0.6.23.bb b/meta/packages/avahi/avahi_0.6.23.bb index febd7f0760..642b6b916c 100644 --- a/meta/packages/avahi/avahi_0.6.23.bb +++ b/meta/packages/avahi/avahi_0.6.23.bb @@ -1,7 +1,7 @@ require avahi.inc RDEPENDS_avahi-daemon = "sysvinit-pidof" -PR = "r7" +PR = "r8" FILES_avahi-autoipd = "${sbindir}/avahi-autoipd \ ${sysconfdir}/avahi/avahi-autoipd.action \ diff --git a/meta/packages/avahi/files/00avahi-autoipd b/meta/packages/avahi/files/00avahi-autoipd new file mode 100644 index 0000000000..a0ab814603 --- /dev/null +++ b/meta/packages/avahi/files/00avahi-autoipd @@ -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/meta/packages/avahi/files/99avahi-autoipd b/meta/packages/avahi/files/99avahi-autoipd new file mode 100644 index 0000000000..234cdaa3eb --- /dev/null +++ b/meta/packages/avahi/files/99avahi-autoipd @@ -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 |