From b8654266721fa1a06803929e025c2b85b33972ca Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Mon, 10 Sep 2012 12:06:19 +0000 Subject: 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 Signed-off-by: Joe MacDonald --- .../zeroconf/zeroconf/compilefix.patch | 19 ++++++++ .../zeroconf/zeroconf/debian-zeroconf | 51 ++++++++++++++++++++++ .../zeroconf/zeroconf/zeroconf-default | 17 ++++++++ .../recipes-protocols/zeroconf/zeroconf_0.9.bb | 34 +++++++++++++++ 4 files changed, 121 insertions(+) create mode 100644 meta-networking/recipes-protocols/zeroconf/zeroconf/compilefix.patch create mode 100644 meta-networking/recipes-protocols/zeroconf/zeroconf/debian-zeroconf create mode 100644 meta-networking/recipes-protocols/zeroconf/zeroconf/zeroconf-default create mode 100644 meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb (limited to 'meta-networking') diff --git a/meta-networking/recipes-protocols/zeroconf/zeroconf/compilefix.patch b/meta-networking/recipes-protocols/zeroconf/zeroconf/compilefix.patch new file mode 100644 index 000000000..328e574a9 --- /dev/null +++ b/meta-networking/recipes-protocols/zeroconf/zeroconf/compilefix.patch @@ -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 + #include + #include ++#include + + #include "delay.h" + diff --git a/meta-networking/recipes-protocols/zeroconf/zeroconf/debian-zeroconf b/meta-networking/recipes-protocols/zeroconf/zeroconf/debian-zeroconf new file mode 100644 index 000000000..c3705d278 --- /dev/null +++ b/meta-networking/recipes-protocols/zeroconf/zeroconf/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/meta-networking/recipes-protocols/zeroconf/zeroconf/zeroconf-default b/meta-networking/recipes-protocols/zeroconf/zeroconf/zeroconf-default new file mode 100644 index 000000000..cc07b275f --- /dev/null +++ b/meta-networking/recipes-protocols/zeroconf/zeroconf/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/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb b/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb new file mode 100644 index 000000000..f755940f1 --- /dev/null +++ b/meta-networking/recipes-protocols/zeroconf/zeroconf_0.9.bb @@ -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 " +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 +} -- cgit v1.2.3-54-g00ecf