zeroconf: add from OE-Core

This is about to be removed from OE-Core, so add it here for those that
still want it.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Joe MacDonald <joe.macdonald@windriver.com>
This commit is contained in:
Paul Eggleton 2012-09-10 12:06:19 +00:00 committed by Joe MacDonald
parent 7bfff4b1d6
commit b865426672
4 changed files with 121 additions and 0 deletions

View File

@ -0,0 +1,19 @@
| zeroconf.c: In function 'main':
| zeroconf.c:145: error: 'PATH_MAX' undeclared (first use in this function)
RP - 4/9/09
Upstream-Status: Pending
Index: zeroconf-0.9/zeroconf.c
===================================================================
--- zeroconf-0.9.orig/zeroconf.c 2009-09-04 10:05:25.000000000 +0100
+++ zeroconf-0.9/zeroconf.c 2009-09-04 10:05:42.000000000 +0100
@@ -33,6 +33,7 @@
#include <net/if_arp.h>
#include <sys/time.h>
#include <signal.h>
+#include <limits.h>
#include "delay.h"

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,34 @@
SUMMARY = "IPv4 link-local address allocator"
DESCRIPTION = "Zeroconf is a program that is used to claim IPv4 \
link-local addresses. IPv4 link-local addresses are useful when setting \
up ad-hoc networking between devices without the involvement of a either \
a DHCP server or network administrator. \
These addresses are allocated from the 169.254.0.0/16 address range and \
are normally attached to each Ethernet device in your computer. \
Addresses are assigned randomly by each host and, in case of collision, \
both hosts (are supposed to) renumber."
AUTHOR = "Anand Kumria <wildfire@progsoc.uts.edu.au>"
HOMEPAGE = "http://www.progsoc.org/~wildfire/zeroconf/"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4 \
file://zeroconf.c;beginline=1;endline=13;md5=a5bada96e1e34b08eb7446b28e2630b2"
SECTION = "net"
PR = "r1"
SRC_URI = "http://www.progsoc.org/~wildfire/zeroconf/download/${BPN}-${PV}.tar.gz \
file://compilefix.patch \
file://zeroconf-default \
file://debian-zeroconf"
SRC_URI[md5sum] = "bdafb16b008ebb5633e4e581f77821d2"
SRC_URI[sha256sum] = "a8c74df127753e2310fa1e072f3c9ca44a404bb0bbce9cfec7a84c6dff8bec7b"
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
}