]> code.ossystems Code Review - openembedded-core.git/commitdiff
avahi: create/remove 'avahi-autoipd' user (from OE)
authorMarcin Juszkiewicz <hrw@openedhand.com>
Mon, 13 Oct 2008 13:02:35 +0000 (13:02 +0000)
committerMarcin Juszkiewicz <hrw@openedhand.com>
Mon, 13 Oct 2008 13:02:35 +0000 (13:02 +0000)
Patch from Cyril Humbert <cyril.humbert@martec.fr>

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5483 311d38ba-8fff-0310-9ca6-ca027cbcb966

meta/packages/avahi/avahi.inc
meta/packages/avahi/avahi_0.6.23.bb
meta/packages/avahi/files/00avahi-autoipd [new file with mode: 0644]
meta/packages/avahi/files/99avahi-autoipd [new file with mode: 0644]

index 67029b30b0d60af431cc52d159726512ceceb6fb..419b787b5f318c17c0fbc6b726830c2eb5169051 100644 (file)
@@ -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
+}
index febd7f0760e14a06f7c23d7462f0cfb18fa7e21f..642b6b916cc292a1e81fbb0b9045e071732c79a5 100644 (file)
@@ -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 (file)
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/meta/packages/avahi/files/99avahi-autoipd b/meta/packages/avahi/files/99avahi-autoipd
new file mode 100644 (file)
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