summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Wegener <swegener@gentoo.org>2010-08-10 20:40:06 +0000
committerSven Wegener <swegener@gentoo.org>2010-08-10 20:40:06 +0000
commit42990cfb274673df33bdfa2df3e23da8b022cc0b (patch)
tree21f46516e1aab2fc0c0b60bda0d4f6aba24dcd0b /net-dns/avahi
parentVersion bump. Removes tabbed interface. (diff)
downloadgentoo-2-42990cfb274673df33bdfa2df3e23da8b022cc0b.tar.gz
gentoo-2-42990cfb274673df33bdfa2df3e23da8b022cc0b.tar.bz2
gentoo-2-42990cfb274673df33bdfa2df3e23da8b022cc0b.zip
Revert one commit that introduced compability for auto-activated services. This fixes bug #331275.
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'net-dns/avahi')
-rw-r--r--net-dns/avahi/ChangeLog9
-rw-r--r--net-dns/avahi/avahi-0.6.27-r1.ebuild201
-rw-r--r--net-dns/avahi/files/avahi-0.6.27-no-auto-activated.patch37
3 files changed, 246 insertions, 1 deletions
diff --git a/net-dns/avahi/ChangeLog b/net-dns/avahi/ChangeLog
index 8d05efb0df00..201154aaf6c2 100644
--- a/net-dns/avahi/ChangeLog
+++ b/net-dns/avahi/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for net-dns/avahi
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-dns/avahi/ChangeLog,v 1.181 2010/08/03 20:09:38 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-dns/avahi/ChangeLog,v 1.182 2010/08/10 20:40:05 swegener Exp $
+
+*avahi-0.6.27-r1 (10 Aug 2010)
+
+ 10 Aug 2010; Sven Wegener <swegener@gentoo.org> +avahi-0.6.27-r1.ebuild,
+ +files/avahi-0.6.27-no-auto-activated.patch:
+ Revert one commit that introduced compability for auto-activated services.
+ This fixes bug #331275.
*avahi-0.6.27 (03 Aug 2010)
diff --git a/net-dns/avahi/avahi-0.6.27-r1.ebuild b/net-dns/avahi/avahi-0.6.27-r1.ebuild
new file mode 100644
index 000000000000..bfac2578b997
--- /dev/null
+++ b/net-dns/avahi/avahi-0.6.27-r1.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-dns/avahi/avahi-0.6.27-r1.ebuild,v 1.1 2010/08/10 20:40:05 swegener Exp $
+
+EAPI="3"
+
+PYTHON_DEPEND="python? 2"
+PYTHON_USE_WITH="gdbm"
+PYTHON_USE_WITH_OPT="python"
+
+inherit eutils mono python multilib flag-o-matic
+
+DESCRIPTION="System which facilitates service discovery on a local network"
+HOMEPAGE="http://avahi.org/"
+SRC_URI="http://avahi.org/download/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="bookmarks howl-compat mdnsresponder-compat gdbm dbus doc mono gtk python qt4 autoipd kernel_linux test ipv6"
+
+RDEPEND=">=dev-libs/libdaemon-0.11-r1
+ dev-libs/expat
+ >=dev-libs/glib-2
+ gdbm? ( sys-libs/gdbm )
+ qt4? ( x11-libs/qt-core:4 )
+ gtk? (
+ >=x11-libs/gtk+-2.4.0:2
+ >=gnome-base/libglade-2.4.0
+ )
+ dbus? (
+ >=sys-apps/dbus-0.30
+ python? ( dev-python/dbus-python )
+ )
+ mono? (
+ >=dev-lang/mono-1.1.10
+ gtk? ( >=dev-dotnet/gtk-sharp-2 )
+ )
+ howl-compat? ( !net-misc/howl )
+ mdnsresponder-compat? ( !net-misc/mDNSResponder )
+ python? (
+ gtk? ( >=dev-python/pygtk-2 )
+ )
+ bookmarks? (
+ dev-python/twisted
+ dev-python/twisted-web
+ )
+ kernel_linux? ( sys-libs/libcap )"
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.40.5
+ >=dev-util/pkgconfig-0.9.0
+ doc? (
+ app-doc/doxygen
+ mono? ( >=virtual/monodoc-1.1.8 )
+ )"
+
+pkg_setup() {
+ if use python
+ then
+ python_set_active_version 2
+ python_pkg_setup
+ fi
+
+ if ( use mdnsresponder-compat || use howl-compat || use mono ) && ! use dbus
+ then
+ die "For *-compat or mono support you also need to enable the dbus USE flag!"
+ fi
+
+ if use bookmarks && ! ( use python && use dbus && use gtk )
+ then
+ die "For bookmarks support you also need to enable the python, dbus and gtk USE flags!"
+ fi
+
+ if use python && ! use dbus && ! use gtk
+ then
+ die "For proper python support you also need the dbus and gtk USE flags!"
+ fi
+}
+
+pkg_preinst() {
+ enewgroup netdev
+ enewgroup avahi
+ enewuser avahi -1 -1 -1 avahi
+
+ if use autoipd
+ then
+ enewgroup avahi-autoipd
+ enewuser avahi-autoipd -1 -1 -1 avahi-autoipd
+ fi
+}
+
+src_prepare() {
+ use ipv6 && sed -i -e s/use-ipv6=no/use-ipv6=yes/ avahi-daemon/avahi-daemon.conf
+
+ sed -i -e "s:\\.\\./\\.\\./\\.\\./doc/avahi-docs/html/:../../../doc/${PF}/html/:" doxygen_to_devhelp.xsl
+
+ epatch "${FILESDIR}"/${P}-no-auto-activated.patch
+}
+
+src_configure() {
+ use sh && replace-flags -O? -O0
+
+ local myconf=""
+
+ if use python
+ then
+ use dbus && myconf="${myconf} --enable-python-dbus"
+ use gtk && myconf="${myconf} --enable-pygtk"
+ fi
+
+ if use mono && use doc
+ then
+ myconf="${myconf} --enable-monodoc"
+ fi
+
+ # We need to unset DISPLAY, else the configure script might have problems detecting the pygtk module
+ unset DISPLAY
+
+ econf \
+ --localstatedir=/var \
+ --with-distro=gentoo \
+ --disable-python-dbus \
+ --disable-pygtk \
+ --disable-xmltoman \
+ --disable-monodoc \
+ --enable-glib \
+ $(use_enable test tests) \
+ $(use_enable autoipd) \
+ $(use_enable mdnsresponder-compat compat-libdns_sd) \
+ $(use_enable howl-compat compat-howl) \
+ $(use_enable doc doxygen-doc) \
+ $(use_enable mono) \
+ $(use_enable dbus) \
+ $(use_enable python) \
+ --disable-gtk3 \
+ $(use_enable gtk) \
+ --disable-qt3 \
+ $(use_enable qt4) \
+ $(use_enable gdbm) \
+ ${myconf}
+}
+
+src_compile() {
+ emake || die "emake failed"
+
+ use doc && emake avahi.devhelp
+}
+
+src_install() {
+ emake install py_compile=true DESTDIR="${D}" || die "make install failed"
+ use bookmarks || rm -f "${D}"/usr/bin/avahi-bookmarks
+
+ use howl-compat && ln -s avahi-compat-howl.pc "${D}"/usr/$(get_libdir)/pkgconfig/howl.pc
+ use mdnsresponder-compat && ln -s avahi-compat-libdns_sd/dns_sd.h "${D}"/usr/include/dns_sd.h
+
+ if use autoipd
+ then
+ insinto /$(get_libdir)/rcscripts/net
+ doins "${FILESDIR}"/autoipd.sh
+
+ insinto /$(get_libdir)/rc/net
+ newins "${FILESDIR}"/autoipd-openrc.sh autoipd.sh
+ fi
+
+ dodoc docs/{AUTHORS,NEWS,README,TODO}
+
+ if use doc
+ then
+ dohtml -r doxygen/html/.
+ insinto /usr/share/devhelp/books/avahi
+ doins avahi.devhelp
+ fi
+}
+
+pkg_postrm() {
+ if use python; then
+ python_mod_cleanup avahi avahi_discover
+ fi
+}
+
+pkg_postinst() {
+ if use python; then
+ python_mod_optimize avahi avahi_discover
+ fi
+
+ if use autoipd
+ then
+ elog
+ elog "To use avahi-autoipd to configure your interfaces with IPv4LL (RFC3927)"
+ elog "addresses, just set config_<interface>=( autoipd ) in /etc/conf.d/net!"
+ elog
+ fi
+
+ if use dbus
+ then
+ elog
+ elog "If this is your first install of avahi please reload your dbus config"
+ elog "with /etc/init.d/dbus reload before starting avahi-daemon!"
+ elog
+ fi
+}
diff --git a/net-dns/avahi/files/avahi-0.6.27-no-auto-activated.patch b/net-dns/avahi/files/avahi-0.6.27-no-auto-activated.patch
new file mode 100644
index 000000000000..8a37cd7f3282
--- /dev/null
+++ b/net-dns/avahi/files/avahi-0.6.27-no-auto-activated.patch
@@ -0,0 +1,37 @@
+diff --git b/avahi-client/client.c a/avahi-client/client.c
+index 2b29480..6435723 100644
+--- b/avahi-client/client.c
++++ a/avahi-client/client.c
+@@ -141,10 +141,9 @@ static DBusHandlerResult filter_func(DBusConnection *bus, DBusMessage *message,
+
+ if (strcmp(name, AVAHI_DBUS_NAME) == 0) {
+
+- if (old[0] &&
+- avahi_client_is_connected(client)) {
++ if (avahi_client_is_connected(client)) {
+
+- /* Regardless if the server lost its name or
++ /* Regardless if the server lost or acquired its name or
+ * if the name was transfered: our services are no longer
+ * available, so we disconnect ourselves */
+ avahi_client_set_errno(client, AVAHI_ERR_DISCONNECTED);
+@@ -523,7 +522,7 @@ AvahiClient *avahi_client_new(const AvahiPoll *poll_api, AvahiClientFlags flags,
+ goto fail;
+ }
+
+- if (!dbus_connection_add_filter(client->bus, filter_func, client, NULL)) {
++ if (!dbus_connection_add_filter (client->bus, filter_func, client, NULL)) {
+ if (ret_error)
+ *ret_error = AVAHI_ERR_NO_MEMORY;
+ goto fail;
+@@ -560,7 +559,9 @@ AvahiClient *avahi_client_new(const AvahiPoll *poll_api, AvahiClientFlags flags,
+ if (dbus_error_is_set(&error))
+ goto fail;
+
+- if (!dbus_bus_start_service_by_name(client->bus, AVAHI_DBUS_NAME, 0, NULL, &error)) {
++
++ if (!(dbus_bus_name_has_owner(client->bus, AVAHI_DBUS_NAME, &error)) ||
++ dbus_error_is_set(&error)) {
+
+ /* We free the error so its not set, that way the fail target
+ * will return the NO_DAEMON error rather than a DBUS error */