diff options
Diffstat (limited to 'meta/recipes-connectivity/avahi')
-rw-r--r-- | meta/recipes-connectivity/avahi/avahi.inc | 117 | ||||
-rw-r--r-- | meta/recipes-connectivity/avahi/avahi_0.6.27.bb | 16 | ||||
-rw-r--r-- | meta/recipes-connectivity/avahi/files/00avahi-autoipd | 10 | ||||
-rw-r--r-- | meta/recipes-connectivity/avahi/files/99avahi-autoipd | 10 | ||||
-rw-r--r-- | meta/recipes-connectivity/avahi/files/initscript.patch | 39 |
5 files changed, 192 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/avahi/avahi.inc b/meta/recipes-connectivity/avahi/avahi.inc new file mode 100644 index 000000000..2a5bf4a18 --- /dev/null +++ b/meta/recipes-connectivity/avahi/avahi.inc @@ -0,0 +1,117 @@ +DESCRIPTION = "Avahi implements the DNS-SD over Multicast DNS" +AUTHOR = "Lennart Poettering <lennart@poettering.net>" +HOMEPAGE = "http://avahi.org" +BUGTRACKER = "http://avahi.org/report" +SECTION = "network" +PRIORITY = "optional" + +# major part is under LGPLv2.1+, but several .dtd, .xsl, initscripts and +# python scripts are under GPLv2+ +LICENSE = "GPLv2+ & LGPLv2.1+" + +DEPENDS = "expat libdaemon dbus glib-2.0 gtk+ libglade" +RRECOMMENDS = "libnss-mdns" +RRECOMMENDS_avahi-daemon = "libnss-mdns" + +SRC_URI = "http://avahi.org/download/avahi-${PV}.tar.gz \ + file://00avahi-autoipd \ + file://99avahi-autoipd \ + file://initscript.patch;patch=1" + +inherit autotools pkgconfig update-rc.d gettext + +EXTRA_OECONF = "--with-distro=debian \ + --with-avahi-priv-access-group=adm \ + --disable-stack-protector \ + --disable-gdbm \ + --disable-mono \ + --disable-monodoc \ + --disable-qt3 \ + --disable-qt4 \ + --disable-python \ + --disable-doxygen-doc" + +PACKAGES =+ "avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib libavahi-gobject avahi-autoipd avahi-utils libavahi-ui avahi-ui-utils" + +FILES_libavahi-common = "${libdir}/libavahi-common.so.*" +FILES_libavahi-core = "${libdir}/libavahi-core.so.*" +FILES_libavahi-ui = "${libdir}/libavahi-ui.so.*" +FILES_avahi-daemon = "${sbindir}/avahi-daemon \ + ${sysconfdir}/avahi/avahi-daemon.conf \ + ${sysconfdir}/avahi/hosts \ + ${sysconfdir}/avahi/services \ + ${sysconfdir}/dbus-1 \ + ${sysconfdir}/init.d/avahi-daemon \ + ${datadir}/avahi/introspection/*.introspect \ + ${datadir}/avahi/avahi-service.dtd \ + ${datadir}/avahi/service-types" +FILES_libavahi-client = "${libdir}/libavahi-client.so.*" +FILES_avahi-dnsconfd = "${sbindir}/avahi-dnsconfd \ + ${sysconfdir}/avahi/avahi-dnsconfd.action \ + ${sysconfdir}/init.d/avahi-dnsconfd" +FILES_libavahi-glib = "${libdir}/libavahi-glib.so.*" +FILES_libavahi-gobject = "${libdir}/libavahi-gobject.so.*" +FILES_avahi-utils = "${bindir}/avahi-*" +FILES_avahi-ui-utils = "${bindir}/bssh ${bindir}/bvnc ${bindir}/bshell \ + ${datadir}/applications \ + ${datadir}/avahi/interfaces" + +CONFFILES_avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf" + +INITSCRIPT_PACKAGES = "avahi-daemon avahi-dnsconfd" +INITSCRIPT_NAME_avahi-daemon = "avahi-daemon" +INITSCRIPT_PARAMS_avahi-daemon = "defaults 21 19" +INITSCRIPT_NAME_avahi-dnsconfd = "avahi-dnsconfd" +INITSCRIPT_PARAMS_avahi-dnsconfd = "defaults 22 19" + +do_install() { + autotools_do_install + + # don't install /var/run when populating rootfs. Do it through volatile + # /var/run of current version is empty, so just remove it. + # if /var/run become non-empty in the future, need to install it via volatile + rm -rf ${D}/var/run +} + +# At the time the postinst runs, dbus might not be setup so only restart if running + +pkg_postinst_avahi-daemon () { + # can't do this offline + if [ "x$D" != "x" ]; then + exit 1 + fi + grep "^avahi:" /etc/group > /dev/null || addgroup avahi + grep "^avahi:" /etc/passwd > /dev/null || adduser --disabled-password --system --home /var/run/avahi-daemon --no-create-home avahi --ingroup avahi -g Avahi + + DBUSPID=`pidof dbus-daemon` + + if [ "x$DBUSPID" != "x" ]; then + /etc/init.d/dbus-1 force-reload + fi +} + +pkg_postinst_avahi-autoipd () { + # can't do this offline + if [ "x$D" != "x" ]; then + exit 1 + fi + grep "^avahi-autoipd:" /etc/group > /dev/null || addgroup avahi-autoipd + grep "^avahi-autoipd:" /etc/passwd > /dev/null || adduser --disabled-password --system --home /var/lib/avahi-autoipd --no-create-home avahi-autoipd --ingroup avahi-autoipd -g "Avahi autoip daemon" +} + +pkg_postrm_avahi-daemon () { + deluser avahi || true + delgroup avahi || true +} + +pkg_postrm_avahi-autoipd () { + deluser avahi-autoipd || true + delgroup avahi-autoipd || true +} + +do_install_avahi-autoipd() { + autotools_do_install + install -d ${D}${sysconfdir}/udhcpc.d + install ${WORKDIR}/00avahi-autoipd ${D}${sysconfdir}/udhcpc.d + install ${WORKDIR}/99avahi-autoipd ${D}${sysconfdir}/udhcpc.d +} diff --git a/meta/recipes-connectivity/avahi/avahi_0.6.27.bb b/meta/recipes-connectivity/avahi/avahi_0.6.27.bb new file mode 100644 index 000000000..a4c22a8b0 --- /dev/null +++ b/meta/recipes-connectivity/avahi/avahi_0.6.27.bb @@ -0,0 +1,16 @@ +require avahi.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://avahi-common/address.h;endline=25;md5=b1d1d2cda1c07eb848ea7d6215712d9d \ + file://avahi-core/dns.h;endline=23;md5=6fe82590b81aa0ddea5095b548e2fdcb \ + file://avahi-daemon/main.c;endline=21;md5=9ee77368c5407af77caaef1b07285969 \ + file://avahi-client/client.h;endline=23;md5=f4ac741a25c4f434039ba3e18c8674cf" + +RDEPENDS_avahi-daemon = "sysvinit-pidof" +PR = "r1" + +EXTRA_OECONF += "--disable-gtk3" + +FILES_avahi-autoipd = "${sbindir}/avahi-autoipd \ + ${sysconfdir}/avahi/avahi-autoipd.action \ + ${sysconfdir}/dhcp3/*/avahi-autoipd" diff --git a/meta/recipes-connectivity/avahi/files/00avahi-autoipd b/meta/recipes-connectivity/avahi/files/00avahi-autoipd new file mode 100644 index 000000000..a0ab81460 --- /dev/null +++ b/meta/recipes-connectivity/avahi/files/00avahi-autoipd @@ -0,0 +1,10 @@ +#!/bin/sh + +[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 + +case "$1" in + + deconfig|renew|bound) + /usr/sbin/avahi-autoipd -k $interface 2> /dev/null + ;; +esac diff --git a/meta/recipes-connectivity/avahi/files/99avahi-autoipd b/meta/recipes-connectivity/avahi/files/99avahi-autoipd new file mode 100644 index 000000000..234cdaa3e --- /dev/null +++ b/meta/recipes-connectivity/avahi/files/99avahi-autoipd @@ -0,0 +1,10 @@ +#!/bin/sh + +[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 + +case "$1" in + + leasefail) + /usr/sbin/avahi-autoipd -wD $interface 2> /dev/null + ;; +esac diff --git a/meta/recipes-connectivity/avahi/files/initscript.patch b/meta/recipes-connectivity/avahi/files/initscript.patch new file mode 100644 index 000000000..f76a965b8 --- /dev/null +++ b/meta/recipes-connectivity/avahi/files/initscript.patch @@ -0,0 +1,39 @@ +diff --git a/initscript/debian/avahi-daemon.in b/initscript/debian/avahi-daemon.in +index 30a2c2f..b5848a8 100755 +--- a/initscript/debian/avahi-daemon.in ++++ b/initscript/debian/avahi-daemon.in +@@ -1,2 +1,14 @@ + #!/bin/sh +- ++### BEGIN INIT INFO ++# Provides: avahi ++# Required-Start: $remote_fs dbus ++# Required-Stop: $remote_fs dbus ++# Should-Start: $syslog ++# Should-Stop: $syslog ++# Default-Start: 2 3 4 5 ++# Default-Stop: 0 1 6 ++# Short-Description: Avahi mDNS/DNS-SD Daemon ++# Description: Zeroconf daemon for configuring your network ++# automatically ++### END INIT INFO ++# +diff --git a/initscript/debian/avahi-dnsconfd.in b/initscript/debian/avahi-dnsconfd.in +index ac34804..f95c340 100755 +--- a/initscript/debian/avahi-dnsconfd.in ++++ b/initscript/debian/avahi-dnsconfd.in +@@ -1,1 +1,14 @@ + #!/bin/sh ++### BEGIN INIT INFO ++# Provides: avahi-dnsconfd ++# Required-Start: $remote_fs avahi ++# Required-Stop: $remote_fs avahi ++# Should-Start: $syslog ++# Should-Stop: $syslog ++# Default-Start: 2 3 4 5 ++# Default-Stop: 0 1 6 ++# Short-Description: Avahi mDNS/DNS-SD DNS configuration ++# Description: Zeroconf daemon for configuring your network ++# automatically ++### END INIT INFO ++# |