diff --git a/extra/avahi/PKGBUILD b/extra/avahi/PKGBUILD new file mode 100644 index 000000000..970459f39 --- /dev/null +++ b/extra/avahi/PKGBUILD @@ -0,0 +1,78 @@ +# $Id: PKGBUILD 166539 2012-09-10 04:37:24Z bisson $ +# Contributor: Douglas Soares de Andrade +# Maintainer: Gaetan Bisson + +# ALARM: Kevin Mihelich +# - drop qt3 bindings + +pkgname=avahi +pkgver=0.6.31 +pkgrel=4 +pkgdesc='Multicast/unicast DNS-SD framework' +url='http://www.avahi.org/' +license=('LGPL') +arch=('i686' 'x86_64') +options=('!libtool' '!emptydirs') +depends=('expat' 'libdaemon' 'glib2' 'dbus' 'libcap' 'gdbm') +optdepends=('gtk3: avahi-discover-standalone, bshell, bssh, bvnc' + 'gtk2: gtk2 bindings' + 'qt: qt bindings' + 'pygtk: avahi-bookmarks, avahi-discover' + 'twisted: avahi-bookmarks' + 'mono: mono bindings' + 'dbus-python: avahi-discover' + 'nss-mdns: NSS support for mDNS') +makedepends=('qt' 'pygtk' 'mono' 'intltool' 'dbus-python' + 'gtk-sharp-2' 'gobject-introspection' 'gtk3' 'xmltoman') +backup=('etc/avahi/hosts' + 'etc/avahi/avahi-daemon.conf' + 'etc/avahi/services/ssh.service' + 'etc/avahi/services/sftp-ssh.service') +source=("http://www.avahi.org/download/avahi-${pkgver}.tar.gz" + 'rc.d.patch') +sha1sums=('7e05bd78572c9088b03b1207a0ad5aba38490684' + '625ad7c131c0c1c383caeddef18fc7a32d8f3ab9') + +conflicts=('howl' 'mdnsresponder') +provides=('howl' 'mdnsresponder') + +install=install + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + sed -i 's/netdev/network/g' avahi-daemon/avahi-dbus.conf + patch -p1 -i ../rc.d.patch + + # pygtk requires python2; make it explicit in case other python are installed: FS#21865 + PYTHON=python2 \ + PKG_CONFIG_PATH=/opt/qt/lib/pkgconfig \ + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-static \ + --disable-monodoc \ + --disable-qt3 \ + --enable-compat-libdns_sd \ + --enable-compat-howl \ + --with-distro=archlinux \ + --with-avahi-priv-access-group=network \ + --with-autoipd-user=avahi \ + --with-autoipd-group=avahi \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + cd "${pkgdir}" + sed -i '1c #!/usr/bin/python2' usr/bin/avahi-{bookmarks,discover} + + # howl and mdnsresponder compatability + (cd usr/include; ln -s avahi-compat-libdns_sd/dns_sd.h dns_sd.h; ln -s avahi-compat-howl howl) + (cd usr/lib/pkgconfig; ln -s avahi-compat-howl.pc howl.pc) +} diff --git a/extra/avahi/install b/extra/avahi/install new file mode 100644 index 000000000..7c75c3dd4 --- /dev/null +++ b/extra/avahi/install @@ -0,0 +1,21 @@ +post_install() { + getent group avahi &>/dev/null || groupadd -r -g 84 avahi >/dev/null + getent passwd avahi &>/dev/null || useradd -r -u 84 -g avahi -d / -s /bin/false -c avahi avahi >/dev/null + + cat < The following daemons may be added to DAEMONS in /etc/rc.conf: +==> avahi-daemon: the mdns responder, you probably want this. +==> dbus needs to be running when you start it. +==> avahi-dnsconfd: daemon used for peer-to-peer automatic dns +==> configuration on dhcp-less networks. + +==> To use some of the client applications you will have to install python. +==> In addition, pygtk is required for the graphical ones and +==> twisted for avahi-bookmarks. +EOF +} + +post_remove() { + getent passwd avahi &>/dev/null && userdel avahi >/dev/null + getent group avahi &>/dev/null && groupdel avahi >/dev/null +} diff --git a/extra/avahi/rc.d.patch b/extra/avahi/rc.d.patch new file mode 100644 index 000000000..fd735734b --- /dev/null +++ b/extra/avahi/rc.d.patch @@ -0,0 +1,11 @@ +diff -aur old/initscript/archlinux/avahi-daemon.in new/initscript/archlinux/avahi-daemon.in +--- old/initscript/archlinux/avahi-daemon.in 2011-06-24 03:07:00.916170590 +0200 ++++ new/initscript/archlinux/avahi-daemon.in 2011-06-24 03:16:32.220596377 +0200 +@@ -33,6 +33,7 @@ + + case "$1" in + start) ++ ck_daemon dbus && { echo -n "Start dbus first." >&2; stat_die; } + stat_busy "Starting $DESC" + $DAEMON -D > /dev/null 2>&1 + if [ $? -gt 0 ]; then