aboutsummaryrefslogtreecommitdiffstats
path: root/meta/packages/zeroconf/zeroconf/debian-zeroconf
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2009-09-04 10:07:29 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2009-09-04 10:07:29 +0100
commit0e842cf1b5356090005ddb301e86bee7b1a180fb (patch)
tree0024ab53d324a17a6fdd224e551d09aeccb3f876 /meta/packages/zeroconf/zeroconf/debian-zeroconf
parenta340d3cda7c5716376ae3b6a1e3d96139704cbfd (diff)
downloadopenembedded-core-contrib-0e842cf1b5356090005ddb301e86bee7b1a180fb.tar.gz
zeroconf: Fix compile issue
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/packages/zeroconf/zeroconf/debian-zeroconf')
-rw-r--r--meta/packages/zeroconf/zeroconf/debian-zeroconf51
1 files changed, 51 insertions, 0 deletions
diff --git a/meta/packages/zeroconf/zeroconf/debian-zeroconf b/meta/packages/zeroconf/zeroconf/debian-zeroconf
new file mode 100644
index 0000000000..c3705d2788
--- /dev/null
+++ b/meta/packages/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