[oe] [meta-networking][PATCH] zeroconf: add from OE-Core

Joe MacDonald Joe.MacDonald at windriver.com
Mon Sep 10 11:34:39 UTC 2012


[[meta-networking][PATCH] zeroconf: add from OE-Core] On 12.09.09 (Sun 21:56) Paul Eggleton wrote:

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

I've wondered about this, considering how long ago my original proposal
was and we haven't really gotten into the bulk of the migrations I'd
planned on but if there's no objection to the original recipe directory
structure I'd originally proposed, I think this would make sense to live
in recipes-protocols/.

-J.

> Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
> ---
>  .../zeroconf/zeroconf/compilefix.patch             |   19 ++++++++
>  .../recipes-misc/zeroconf/zeroconf/debian-zeroconf |   51 ++++++++++++++++++++
>  .../zeroconf/zeroconf/zeroconf-default             |   17 +++++++
>  .../recipes-misc/zeroconf/zeroconf_0.9.bb          |   34 +++++++++++++
>  4 files changed, 121 insertions(+)
>  create mode 100644 meta-networking/recipes-misc/zeroconf/zeroconf/compilefix.patch
>  create mode 100644 meta-networking/recipes-misc/zeroconf/zeroconf/debian-zeroconf
>  create mode 100644 meta-networking/recipes-misc/zeroconf/zeroconf/zeroconf-default
>  create mode 100644 meta-networking/recipes-misc/zeroconf/zeroconf_0.9.bb
> 
> diff --git a/meta-networking/recipes-misc/zeroconf/zeroconf/compilefix.patch b/meta-networking/recipes-misc/zeroconf/zeroconf/compilefix.patch
> new file mode 100644
> index 0000000..328e574
> --- /dev/null
> +++ b/meta-networking/recipes-misc/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 <net/if_arp.h>
> + #include <sys/time.h>
> + #include <signal.h>
> ++#include <limits.h>
> + 
> + #include "delay.h"
> + 
> diff --git a/meta-networking/recipes-misc/zeroconf/zeroconf/debian-zeroconf b/meta-networking/recipes-misc/zeroconf/zeroconf/debian-zeroconf
> new file mode 100644
> index 0000000..c3705d2
> --- /dev/null
> +++ b/meta-networking/recipes-misc/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-misc/zeroconf/zeroconf/zeroconf-default b/meta-networking/recipes-misc/zeroconf/zeroconf/zeroconf-default
> new file mode 100644
> index 0000000..cc07b27
> --- /dev/null
> +++ b/meta-networking/recipes-misc/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-misc/zeroconf/zeroconf_0.9.bb b/meta-networking/recipes-misc/zeroconf/zeroconf_0.9.bb
> new file mode 100644
> index 0000000..f755940
> --- /dev/null
> +++ b/meta-networking/recipes-misc/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 <wildfire at 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
> +}
-- 
Joe MacDonald, Sr. Member of Technical Staff, Linux Products Group, Wind River
direct 613.270.5750     mobile 613.291.7421     fax 613.592.2283




More information about the Openembedded-devel mailing list