From 8cab54bc51e79fde4395838744233807c6853423 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 9 May 2006 18:39:01 +0000 Subject: Add zeroconf from OE git-svn-id: https://svn.o-hand.com/repos/poky/trunk@387 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- .../packages/zeroconf/files/debian-zeroconf | 51 ++++++++++++++++++++++ .../packages/zeroconf/files/zeroconf-default | 17 ++++++++ openembedded/packages/zeroconf/zeroconf_0.9.bb | 21 +++++++++ 3 files changed, 89 insertions(+) create mode 100644 openembedded/packages/zeroconf/files/debian-zeroconf create mode 100644 openembedded/packages/zeroconf/files/zeroconf-default create mode 100644 openembedded/packages/zeroconf/zeroconf_0.9.bb diff --git a/openembedded/packages/zeroconf/files/debian-zeroconf b/openembedded/packages/zeroconf/files/debian-zeroconf new file mode 100644 index 000000000..c3705d278 --- /dev/null +++ b/openembedded/packages/zeroconf/files/debian-zeroconf @@ -0,0 +1,51 @@ +#!/bin/sh + +if [ ! -x /usr/sbin/zeroconf ]; then + exit 0 +fi + +# IPv4 link-local addresses (zeroconf) are +# only applicable on the 'inet' address family +[ "X$ADDRFAM" != "Xinet" ] && exit 0 + +# However there are some methods where it doesn't +# make any sense to configure an IPv4LL address + +# not on loopback +[ "X$METHOD" = "Xloopback" ] && exit 0 + +# not on ppp or wvdial either +[ "X$METHOD" = "Xppp" ] && exit 0 +[ "X$METHOD" = "Xwvdial" ] && exit 0 + +# The administrator may have blacklisted interfaces +# or only want zeroconf in a fallback situation +[ -f /etc/default/zeroconf ] && + . /etc/default/zeroconf + +[ -n "$DISABLE" ] && exit 0 + +for BLACK in $IFBLACKLIST; do + case $IFACE in + $BLACK) + exit 0 + ;; + esac +done + +# should we only allocate an address if we do not already have one? +if [ -n "$FALLBACK" ]; then + /bin/ip addr show $IFACE scope global | grep -q "inet" + IP=$? + if [ $IP -eq 0 ]; then + /bin/ip route add 169.254.0.0/16 dev $IFACE + exit 0 + fi +fi + +# otherwise, run if we aren't already going +if [ ! -r /var/run/zeroconf.$IFACE.pid ]; then + /usr/sbin/zeroconf -i $IFACE +fi + +exit 0 diff --git a/openembedded/packages/zeroconf/files/zeroconf-default b/openembedded/packages/zeroconf/files/zeroconf-default new file mode 100644 index 000000000..cc07b275f --- /dev/null +++ b/openembedded/packages/zeroconf/files/zeroconf-default @@ -0,0 +1,17 @@ +# Default for zeroconf + +# disable zeroconf +# If you want to disable zeroconf completely, uncomment the following line +# this may be useful if you are debugging zeroconf or starting it manually +#DISABLE=yes + +# black-listed interfaces +# Interfaces which you never wish to have zeroconf run on should +# be listed here. e.g. "eth2 wlan1" in a space seperated string +IFBLACKLIST="" + +# fallback only +# If you would only like a link-local address if you were unable to +# obtain an address via DHCP then uncomment the following line +#FALLBACK=yes + diff --git a/openembedded/packages/zeroconf/zeroconf_0.9.bb b/openembedded/packages/zeroconf/zeroconf_0.9.bb new file mode 100644 index 000000000..c8f7ddfa3 --- /dev/null +++ b/openembedded/packages/zeroconf/zeroconf_0.9.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "IPv4 link-local address allocator" +AUTHOR = "Anand Kumria " +HOMEPAGE = "http://www.progsoc.org/~wildfire/zeroconf/" +LICENSE = "GPL" +SECTION = "net" +PRIORITY = "optional" + +PR = "r0" + +SRC_URI = "http://www.progsoc.org/~wildfire/zeroconf/download/${PN}-${PV}.tar.gz \ + file://zeroconf-default \ + file://debian-zeroconf" + +do_install () { + install -d ${D}${sbindir} + install -d ${D}${sysconfdir}/network/if-up.d + install -d ${D}${sysconfdir}/default + install -c -m 755 ${S}/zeroconf ${D}${sbindir}/zeroconf + install -c -m 755 ${WORKDIR}/debian-zeroconf ${D}${sysconfdir}/network/if-up.d/zeroconf + install -c ${WORKDIR}/zeroconf-default ${D}${sysconfdir}/default/zeroconf +} -- cgit v1.2.3