diff options
70 files changed, 3595 insertions, 0 deletions
diff --git a/net-dns/avahi-base/Manifest b/net-dns/avahi-base/Manifest new file mode 100644 index 00000000..0206eaaa --- /dev/null +++ b/net-dns/avahi-base/Manifest @@ -0,0 +1 @@ +DIST avahi-0.6.31.tar.gz 1268686 SHA256 8372719b24e2dd75de6f59bb1315e600db4fd092805bd1201ed0cb651a2dab48 SHA512 53eb00d570a274d841e1e6ad07da077950089ae39b4f7aa21fcd21cc5320b30b506b43e7e57e56198e155cc7bd289b779a48b2b2fc002dc6194a946110451858 WHIRLPOOL a6d97b87dfbb81be359ee03d8f32ebafdbb311bd596d686aeb55a2952ecb6c7c84466b1230e70392ffe23a20a56da7e0a5bd00c8dc1812b2156c0b4a8022144f diff --git a/net-dns/avahi-base/avahi-base-0.6.31-r1.ebuild b/net-dns/avahi-base/avahi-base-0.6.31-r1.ebuild new file mode 100644 index 00000000..e7b1c070 --- /dev/null +++ b/net-dns/avahi-base/avahi-base-0.6.31-r1.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2013 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" + +WANT_AUTOMAKE=1.11 +PYTHON_DEPEND="python? 2" +PYTHON_USE_WITH="gdbm" +PYTHON_USE_WITH_OPT="python" + +DBUS_DEPEND=">=sys-apps/dbus-0.30" +IUSE="autoipd bookmarks dbus doc gdbm howl-compat +introspection ipv6 + mdnsresponder-compat python test" +COMMON_DEPEND=">=dev-libs/libdaemon-0.14 + dev-libs/expat + dev-libs/glib:2 + gdbm? ( sys-libs/gdbm ) + dbus? ( + ${DBUS_DEPEND} + python? ( dev-python/dbus-python ) + ) + howl-compat? ( ${DBUS_DEPEND} ) + introspection? ( >=dev-libs/gobject-introspection-0.9.5 ) + mdnsresponder-compat? ( ${DBUS_DEPEND} ) + bookmarks? ( + dev-python/twisted + dev-python/twisted-web + ) + kernel_linux? ( sys-libs/libcap ) + " +AVAHI_MODULE_DEPEND="${COMMON_DEPEND} + doc? ( app-doc/doxygen )" +AVAHI_MODULE_RDEPEND="${COMMON_DEPEND} + howl-compat? ( !net-misc/howl ) + mdnsresponder-compat? ( !net-misc/mDNSResponder )" + +AVAHI_PATCHES=( + # Fix init scripts for >=openrc-0.9.0 (bug #383641) + "${FILESDIR}/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch" + # install-exec-local -> install-exec-hook + "${FILESDIR}"/${P/-base}-install-exec-hook.patch + # Backport host-name-from-machine-id patch, bug #466134 + "${FILESDIR}"/${P/-base}-host-name-from-machine-id.patch + # Sabayon, workaround timeout on shutdown + "${FILESDIR}"/${PN/-base}-0.6.31-workaround-systemd-stop-timeout.patch +) +inherit eutils multilib python avahi + +pkg_setup() { + if use python; then + python_set_active_version 2 + python_pkg_setup + 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() { + if use ipv6; then + sed -i \ + -e s/use-ipv6=no/use-ipv6=yes/ \ + avahi-daemon/avahi-daemon.conf || die + fi + avahi_src_prepare +} + +src_configure() { + local myconf="" + if use python; then + myconf+=" $(use_enable dbus python-dbus)" + fi + + # these require dbus enabled + if use mdnsresponder-compat || use howl-compat; then + myconf+=" --enable-dbus" + fi + + myconf+=" + $(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 dbus) + $(use_enable python) + $(use_enable introspection) + $(use_enable gdbm) + --disable-qt4 + --disable-gtk + --disable-gtk3 + --disable-pygtk + --disable-mono" + if use python; then + myconf+=" $(use_enable dbus python-dbus)" + else + myconf+=" --disable-python-dbus" + fi + avahi_src_configure "${myconf}" +} + +src_compile() { + emake || die "emake failed" + use doc && { emake avahi.devhelp || die ; } +} + +src_install() { + emake install DESTDIR="${ED}" || die "make install failed" + use bookmarks || rm -f "${ED}"/usr/bin/avahi-bookmarks + + use howl-compat && ln -s avahi-compat-howl.pc "${ED}"/usr/$(get_libdir)/pkgconfig/howl.pc + use mdnsresponder-compat && ln -s avahi-compat-libdns_sd/dns_sd.h "${ED}"/usr/include/dns_sd.h + + if use autoipd; then + insinto /$(get_libdir)/rcscripts/net + doins "${FILESDIR}"/autoipd.sh || die + + insinto /$(get_libdir)/rc/net + newins "${FILESDIR}"/autoipd-openrc.sh autoipd.sh || die + fi + + dodoc docs/{AUTHORS,NEWS,README,TODO} || die + + if use doc; then + dohtml -r doxygen/html/. || die + insinto /usr/share/devhelp/books/avahi + doins avahi.devhelp || die + fi + + echo + elog "If you changed USE flags or did a version/revision bump, make sure" + elog "to rebuild all the modules:" + for mod in ${SUPPORTED_AVAHI_MODULES}; do + elog " net-dns/avahi-${mod}" + done + echo + + avahi_src_install-cleanup +} + +pkg_postrm() { + use python && python_mod_cleanup avahi +} + +pkg_postinst() { + use python && python_mod_optimize avahi + + if use autoipd; then + echo + elog "To use avahi-autoipd to configure your interfaces with IPv4LL (RFC3927)" + elog "addresses, just set config_<interface>=( autoipd ) in /etc/conf.d/net!" + fi + + if use dbus; then + echo + 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!" + fi +} diff --git a/net-dns/avahi-base/avahi-base-0.6.31-r5.ebuild b/net-dns/avahi-base/avahi-base-0.6.31-r5.ebuild new file mode 100644 index 00000000..894551df --- /dev/null +++ b/net-dns/avahi-base/avahi-base-0.6.31-r5.ebuild @@ -0,0 +1,224 @@ +# Copyright 1999-2014 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" + +AVAHI_MODULE="${AVAHI_MODULE:-${PN/avahi-}}" +MY_P=${P/-${AVAHI_MODULE}} +MY_PN=${PN/-${AVAHI_MODULE}} + +PYTHON_COMPAT=( python{2_6,2_7} ) +PYTHON_REQ_USE="gdbm" + +WANT_AUTOMAKE=1.11 + +inherit autotools eutils flag-o-matic multilib multilib-minimal \ + python-r1 systemd user + +DESCRIPTION="System which facilitates service discovery on a local network (base pkg)" +HOMEPAGE="http://avahi.org/" +SRC_URI="http://avahi.org/download/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +IUSE="autoipd bookmarks dbus doc gdbm howl-compat +introspection ipv6 kernel_linux mdnsresponder-compat nls python selinux test" + +S="${WORKDIR}/${MY_P}" + +REQUIRED_USE=" + python? ( dbus gdbm ) + howl-compat? ( dbus ) + mdnsresponder-compat? ( dbus ) +" + +COMMON_DEPEND=" + dev-libs/libdaemon + dev-libs/expat + dev-libs/glib:2[${MULTILIB_USEDEP}] + gdbm? ( sys-libs/gdbm[${MULTILIB_USEDEP}] ) + dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + kernel_linux? ( sys-libs/libcap ) + introspection? ( dev-libs/gobject-introspection ) + python? ( + ${PYTHON_DEPS} + dbus? ( dev-python/dbus-python ) + ) + selinux? ( sec-policy/selinux-avahi ) + bookmarks? ( + dev-python/twisted-core + dev-python/twisted-web + ) +" + +DEPEND=" + ${COMMON_DEPEND} + dev-util/intltool + virtual/pkgconfig[${MULTILIB_USEDEP}] + doc? ( + app-doc/doxygen + ) +" + +RDEPEND=" + ${COMMON_DEPEND} + howl-compat? ( !net-misc/howl ) + mdnsresponder-compat? ( !net-misc/mDNSResponder ) +" + +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() { + if use ipv6; then + sed -i \ + -e s/use-ipv6=no/use-ipv6=yes/ \ + avahi-daemon/avahi-daemon.conf || die + fi + + sed -i\ + -e "s:\\.\\./\\.\\./\\.\\./doc/avahi-docs/html/:../../../doc/${PF}/html/:" \ + doxygen_to_devhelp.xsl || die + + # Make gtk utils optional + epatch "${FILESDIR}"/${MY_PN}-0.6.30-optional-gtk-utils.patch + + # Fix init scripts for >=openrc-0.9.0, bug #383641 + epatch "${FILESDIR}"/${MY_PN}-0.6.x-openrc-0.9.x-init-scripts-fixes.patch + + # install-exec-local -> install-exec-hook + epatch "${FILESDIR}"/${MY_P}-install-exec-hook.patch + + # Backport host-name-from-machine-id patch, bug #466134 + epatch "${FILESDIR}"/${MY_P}-host-name-from-machine-id.patch + + # Don't install avahi-discover unless ENABLE_GTK_UTILS, bug #359575 + epatch "${FILESDIR}"/${MY_P}-fix-install-avahi-discover.patch + + epatch "${FILESDIR}"/${MY_P}-so_reuseport-may-not-exist-in-running-kernel.patch + + # allow building client without the daemon + epatch "${FILESDIR}"/${MY_P}-build-client-without-daemon.patch + + # Drop DEPRECATED flags, bug #384743 + sed -i -e 's:-D[A-Z_]*DISABLE_DEPRECATED=1::g' avahi-ui/Makefile.am || die + + # Fix references to Lennart's home directory, bug #466210 + sed -i -e 's/\/home\/lennart\/tmp\/avahi//g' man/* || die + + # Prevent .pyc files in DESTDIR + >py-compile + + eautoreconf + + # bundled manpages + multilib_copy_sources +} + +src_configure() { + # those steps should be done once-per-ebuild rather than per-ABI + use sh && replace-flags -O? -O0 + use python && python_export_best + + # We need to unset DISPLAY, else the configure script might have problems detecting the pygtk module + unset DISPLAY + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( --disable-static ) + + if use python; then + myconf+=( + $(multilib_native_use_enable dbus python-dbus) + ) + fi + + if ! multilib_is_native_abi; then + myconf+=( + # used by daemons only + --disable-libdaemon + --with-xml=none + ) + fi + + econf \ + --localstatedir="${EPREFIX}/var" \ + --with-distro=gentoo \ + --disable-python-dbus \ + --disable-pygtk \ + --disable-xmltoman \ + --disable-monodoc \ + --disable-mono \ + --enable-glib \ + --enable-gobject \ + $(multilib_native_use_enable test tests) \ + $(multilib_native_use_enable autoipd) \ + $(use_enable mdnsresponder-compat compat-libdns_sd) \ + $(use_enable howl-compat compat-howl) \ + $(multilib_native_use_enable doc doxygen-doc) \ + $(use_enable dbus) \ + $(multilib_native_use_enable python) \ + $(use_enable nls) \ + $(multilib_native_use_enable introspection) \ + --disable-qt3 \ + --disable-qt4 \ + --disable-gtk \ + --disable-gtk3 \ + $(use_enable gdbm) \ + $(systemd_with_unitdir) \ + "${myconf[@]}" +} + +multilib_src_compile() { + emake + + multilib_is_native_abi && use doc && emake avahi.devhelp +} + +multilib_src_install() { + emake install DESTDIR="${D}" + rm -f "${ED}"/usr/bin/avahi-bookmarks + + use howl-compat && dosym avahi-compat-howl.pc /usr/$(get_libdir)/pkgconfig/howl.pc + use mdnsresponder-compat && dosym avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h + + if multilib_is_native_abi && use doc; then + dohtml -r doxygen/html/. || die + insinto /usr/share/devhelp/books/avahi + doins avahi.devhelp || die + fi +} + +multilib_src_install_all() { + 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} + + prune_libtool_files --all +} + +pkg_postinst() { + 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 +} diff --git a/net-dns/avahi-base/files/autoipd-openrc.sh b/net-dns/avahi-base/files/autoipd-openrc.sh new file mode 100644 index 00000000..dec3aa05 --- /dev/null +++ b/net-dns/avahi-base/files/autoipd-openrc.sh @@ -0,0 +1,32 @@ +# Copyright (C) 2004-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# Contributed by Sven Wegener (swegener@gentoo.org) + +_config_vars="$_config_vars autoipd" + +autoipd_depend() { + program /usr/sbin/avahi-autoipd + after interface +} + +autoipd_start() { + _exists true || return 1 + + eval args=\$autoipd_${IFVAR} + + ebegin "Starting avahi-autoipd" + /usr/sbin/avahi-autoipd --daemonize --syslog --wait ${args} "${IFACE}" + eend "${?}" || return 1 + + _show_address + + return 0 +} + +autoipd_stop() { + /usr/sbin/avahi-autoipd --check --syslog "${IFACE}" || return 0 + + ebegin "Stopping avahi-autoipd" + /usr/sbin/avahi-autoipd --kill --syslog "${IFACE}" + eend "${?}" +} diff --git a/net-dns/avahi-base/files/autoipd.sh b/net-dns/avahi-base/files/autoipd.sh new file mode 100644 index 00000000..89d02e33 --- /dev/null +++ b/net-dns/avahi-base/files/autoipd.sh @@ -0,0 +1,52 @@ +# Copyright (c) 2004-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# Contributed by Sven Wegener (swegener@gentoo.org) + +# void autoipd_depend(void) +# +# Sets up the dependencies for the module +autoipd_depend() { + after interface +} + +# void autoipd_expose(void) +# +# Expose variables that can be configured +autoipd_expose() { + variables autoipd +} + +# bool autoipd_start(char *iface) +# +# Tries to configure the interface via avahi-autoipd +autoipd_start() { + local iface="${1}" ifvar="$(bash_variable "${iface}")" opts="autoipd_${ifvar}" addr="" + + interface_exists "${iface}" true || return 1 + + ebegin "Starting avahi-autoipd" + if /usr/sbin/avahi-autoipd --daemonize --syslog --wait ${!opts} "${iface}" + then + eend 0 + addr="$(interface_get_address "${iface}")" + einfo "${iface} received address ${addr}" + return 0 + fi + + eend "${?}" "Failed to get address via avahi-autoipd!" +} + +# bool autoipd_stop(char *iface) +# +# Stops a running avahi-autoipd instance +autoipd_stop() { + local iface="${1}" + + /usr/sbin/avahi-autoipd --check --syslog "${iface}" || return 0 + + ebegin "Stopping avahi-autoipd" + /usr/sbin/avahi-autoipd --kill --syslog "${iface}" + eend "${?}" "Failed to stop running avahi-autoipd instance!" +} + +# vim: set ts=4 : diff --git a/net-dns/avahi-base/files/avahi-0.6.30-automake-1.11.2.patch b/net-dns/avahi-base/files/avahi-0.6.30-automake-1.11.2.patch new file mode 100644 index 00000000..be385f6c --- /dev/null +++ b/net-dns/avahi-base/files/avahi-0.6.30-automake-1.11.2.patch @@ -0,0 +1,102 @@ +http://bugs.gentoo.org/397477 + +--- avahi-python/avahi/Makefile.am ++++ avahi-python/avahi/Makefile.am +@@ -31,7 +31,7 @@ + -e 's,@FIRST_KEY\@,key = self.db.firstkey(),g' \ + -e 's,@CHECK_KEY\@,while key is not None:,g' \ + -e 's,@NEXT_KEY\@,key = self.db.nextkey(key),g' \ +- -e 's,@pkglibdir\@,$(pkglibdir),g' $< > $@ && \ ++ -e 's,@pkgdatadir\@,$(pkgdatadir),g' $< > $@ && \ + chmod +x $@ + endif + +@@ -44,7 +44,7 @@ + -e 's,@FIRST_KEY\@,keys = self.db.keys(),g' \ + -e 's,@CHECK_KEY\@,for key in keys:,g' \ + -e 's,@NEXT_KEY\@,,g' \ +- -e 's,@pkglibdir\@,$(pkglibdir),g' $< > $@ && \ ++ -e 's,@pkgdatadir\@,$(pkgdatadir),g' $< > $@ && \ + chmod +x $@ + endif + +--- avahi-python/avahi/ServiceTypeDatabase.py.in ++++ avahi-python/avahi/ServiceTypeDatabase.py.in +@@ -26,7 +26,7 @@ + class ServiceTypeDatabase: + """ServiceTypeDatabase maps service types to descriptions""" + +- def __init__(self, filename = "@pkglibdir@/service-types.db"): ++ def __init__(self, filename = "@pkgdatadir@/service-types.db"): + + self.db = @DBM@.open(filename, "r") + +--- avahi-ui/Makefile.am ++++ avahi-ui/Makefile.am +@@ -62,18 +62,18 @@ + + if HAVE_GDBM + libavahi_ui_la_SOURCES += ../avahi-utils/stdb.h ../avahi-utils/stdb.c +-libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + libavahi_ui_la_LIBADD += -lgdbm + +-libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + libavahi_ui_gtk3_la_LIBADD += -lgdbm + endif + + if HAVE_DBM + libavahi_ui_la_SOURCES += ../avahi-utils/stdb.h ../avahi-utils/stdb.c +-libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + +-libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + endif + + bin_PROGRAMS = bssh +--- avahi-utils/Makefile.am ++++ avahi-utils/Makefile.am +@@ -30,13 +30,13 @@ + + if HAVE_GDBM + avahi_browse_SOURCES += stdb.h stdb.c +-avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + avahi_browse_LDADD += -lgdbm + endif + + if HAVE_DBM + avahi_browse_SOURCES += stdb.h stdb.c +-avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + endif + + avahi_resolve_SOURCES = avahi-resolve.c sigint.c sigint.h +--- service-type-database/Makefile.am ++++ service-type-database/Makefile.am +@@ -18,13 +18,12 @@ + EXTRA_DIST=build-db.in service-types + + pkgdata_DATA=service-types +-pkglib_DATA= + + if HAVE_PYTHON + if HAVE_GDBM + + noinst_SCRIPTS=build-db +-pkglib_DATA+=service-types.db ++pkgdata_DATA+=service-types.db + + build-db: build-db.in + $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ +@@ -41,7 +40,7 @@ + if HAVE_DBM + + noinst_SCRIPTS=build-db +-pkglib_DATA+=service-types.db.pag service-types.db.dir ++pkgdata_DATA+=service-types.db.pag service-types.db.dir + + build-db: build-db.in + $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ diff --git a/net-dns/avahi-base/files/avahi-0.6.30-optional-gtk-utils.patch b/net-dns/avahi-base/files/avahi-0.6.30-optional-gtk-utils.patch new file mode 100644 index 00000000..2c615a2b --- /dev/null +++ b/net-dns/avahi-base/files/avahi-0.6.30-optional-gtk-utils.patch @@ -0,0 +1,83 @@ +--- avahi-discover-standalone/Makefile.am ++++ avahi-discover-standalone/Makefile.am +@@ -23,7 +23,7 @@ + # This cool debug trap works on i386/gcc only + AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")' + +-if HAVE_GTK2OR3 ++if ENABLE_GTK_UTILS + if HAVE_GLIB + bin_PROGRAMS = \ + avahi-discover-standalone +--- avahi-ui/Makefile.am ++++ avahi-ui/Makefile.am +@@ -76,6 +76,7 @@ + libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" + endif + ++if ENABLE_GTK_UTILS + bin_PROGRAMS = bssh + desktop_DATA += bssh.desktop bvnc.desktop + @INTLTOOL_DESKTOP_RULE@ +@@ -102,6 +103,7 @@ + bvnc.desktop.in: bvnc.desktop.in.in + $(AM_V_GEN)sed -e 's,@bindir\@,$(bindir),g' $< > $@ + ++endif # ENABLE_GTK_UTILS + endif # HAVE_GLIB + endif + endif +--- configure.ac ++++ configure.ac +@@ -564,7 +564,29 @@ + fi + AM_CONDITIONAL(HAVE_GTK3, test "x$HAVE_GTK3" = "xyes") + +-AM_CONDITIONAL(HAVE_GTK2OR3, test "x$HAVE_GTK3" = "xyes" -o "x$HAVE_GTK" = "xyes" ) ++# ++# Check for GTK+ Utils ++# ++AC_ARG_ENABLE(gtk-utils, ++ AS_HELP_STRING([--disable-gtk-utils],[Disable GTK+ utilities]), ++ [case "${enableval}" in ++ yes) WANT_GTK_UTILS=yes ;; ++ no) WANT_GTK_UTILS=no ;; ++ *) AC_MSG_ERROR(bad value ${enableval} for --enable-gtk-utils) ;; ++ esac], ++ [WANT_GTK_UTILS=yes]) ++ ++ENABLE_GTK_UTILS=no ++HAVE_GTK2OR3=no ++if test "x$HAVE_GTK3" = "xyes" -o "x$HAVE_GTK" = "xyes"; then ++ HAVE_GTK2OR3=yes ++ if test "x$WANT_GTK_UTILS" = "xyes"; then ++ ENABLE_GTK_UTILS=yes ++ fi ++fi ++ ++AM_CONDITIONAL(HAVE_GTK2OR3, test "x$HAVE_GTK2OR3" = "xyes") ++AM_CONDITIONAL(ENABLE_GTK_UTILS, test "x$ENABLE_GTK_UTILS" = "xyes") + + # + # D-Bus +@@ -1199,11 +1221,6 @@ + ENABLE_AUTOIPD="no (You need libdaemon!)" + fi + +-HAVE_GTK2OR3=no +-if test "x$HAVE_GTK" = "xyes" -o "x$HAVE_GTK3" = "xyes" ; then +- HAVE_GTK2OR3=yes +-fi +- + BUILD_UI="no" + if test "x$HAVE_GTK2OR3" = "xyes" -a "x$BUILD_CLIENT" = "xyes" ; then + BUILD_UI="yes" +@@ -1223,7 +1240,7 @@ + Building avahi-python: ${BUILD_PYTHON} + Building libavahi-glib: ${HAVE_GLIB} + Building libavahi-gobject: ${BUILD_GOBJECT} +- Building avahi-discover-standalone: ${HAVE_GTK2OR3} ++ Building avahi-discover-standalone: ${ENABLE_GTK_UTILS} + Building libavahi-qt3: ${HAVE_QT3} + Building libavahi-qt4: ${HAVE_QT4} + Building avahi-sharp: ${HAVE_MONO} diff --git a/net-dns/avahi-base/files/avahi-0.6.30-parallel.patch b/net-dns/avahi-base/files/avahi-0.6.30-parallel.patch new file mode 100644 index 00000000..a75f9910 --- /dev/null +++ b/net-dns/avahi-base/files/avahi-0.6.30-parallel.patch @@ -0,0 +1,34 @@ +From cb10a844f9e91322aca91340b7adc0db19c96b36 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@flameeyes.eu> +Date: Mon, 30 Apr 2012 17:07:41 -0700 +Subject: [PATCH] build-sys: fix parallel install in avahi-utils +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The moment install-exec-local is called, we might still not have +created ${DESTDIR}/${bindir} so we should make sure to create it +first, and then try to chdir into it. + +Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu> +--- + avahi-utils/Makefile.am | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/avahi-utils/Makefile.am b/avahi-utils/Makefile.am +index a644b4a..1abc79a 100644 +--- a/avahi-utils/Makefile.am ++++ b/avahi-utils/Makefile.am +@@ -54,7 +54,8 @@ avahi_set_host_name_CFLAGS = $(AM_CFLAGS) + avahi_set_host_name_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la + + install-exec-local: +- cd $(DESTDIR)/$(bindir) && \ ++ $(mkdir_p) $(DESTDIR)/$(bindir) && \ ++ cd $(DESTDIR)/$(bindir) && \ + rm -f avahi-resolve-host-name avahi-resolve-address avahi-browse-domains avahi-publish-address avahi-publish-service && \ + $(LN_S) avahi-resolve avahi-resolve-host-name && \ + $(LN_S) avahi-resolve avahi-resolve-address && \ +-- +1.7.8.6 + diff --git a/net-dns/avahi-base/files/avahi-0.6.31-build-client-without-daemon.patch b/net-dns/avahi-base/files/avahi-0.6.31-build-client-without-daemon.patch new file mode 100644 index 00000000..df0c420f --- /dev/null +++ b/net-dns/avahi-base/files/avahi-0.6.31-build-client-without-daemon.patch @@ -0,0 +1,27 @@ +From ce3b83de6aa689c0cefe0b1e85c03a627b537099 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Mon, 12 May 2014 19:46:22 +0200 +Subject: [PATCH] Allow building client without the daemon. + +There's no good reason to disallow that, and that's what we specifically +want to do for multilib. +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0e190ba..c56cf01 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1185,7 +1185,7 @@ fi + + BUILD_CLIENT="no (You need avahi-daemon and D-Bus!)" + +-if test "x$BUILD_DAEMON" = "xyes" -a "x$HAVE_DBUS" = "xyes" ; then ++if "x$HAVE_DBUS" = "xyes" ; then + BUILD_CLIENT=yes + fi + +-- +1.9.3 + diff --git a/net-dns/avahi-base/files/avahi-0.6.31-fix-install-avahi-discover.patch b/net-dns/avahi-base/files/avahi-0.6.31-fix-install-avahi-discover.patch new file mode 100644 index 00000000..62ba967c --- /dev/null +++ b/net-dns/avahi-base/files/avahi-0.6.31-fix-install-avahi-discover.patch @@ -0,0 +1,31 @@ +--- avahi-0.6.30.old/avahi-python/avahi-discover/Makefile.am 2010-06-28 23:30:34.000000000 -0400 ++++ avahi-0.6.30/avahi-python/avahi-discover/Makefile.am 2012-04-21 18:02:01.642934527 -0400 +@@ -22,6 +22,7 @@ + avahi-discover.py \ + avahi-discover.desktop.in.in + ++if ENABLE_GTK_UTILS + if HAVE_PYTHON + if HAVE_PYTHON_DBUS + if HAVE_PYGTK +@@ -67,3 +68,4 @@ + endif + endif + endif ++endif +--- avahi-0.6.30.old/man/Makefile.am 2012-04-21 18:10:45.690900742 -0400 ++++ avahi-0.6.30/man/Makefile.am 2012-04-21 18:09:15.146906578 -0400 +@@ -65,11 +65,13 @@ + man_MANS += \ + avahi-bookmarks.1 + if HAVE_GTK ++if ENABLE_GTK_UTILS + man_MANS += \ + avahi-discover.1 + endif + endif + endif ++endif + + if ENABLE_AUTOIPD + if HAVE_LIBDAEMON diff --git a/net-dns/avahi-base/files/avahi-0.6.31-host-name-from-machine-id.patch b/net-dns/avahi-base/files/avahi-0.6.31-host-name-from-machine-id.patch new file mode 100644 index 00000000..17ecba52 --- /dev/null +++ b/net-dns/avahi-base/files/avahi-0.6.31-host-name-from-machine-id.patch @@ -0,0 +1,85 @@ +From: David Zeuthen <zeuthen@chromium.org> +Date: Tue, 5 Mar 2013 19:52:38 +0000 (-0800) +Subject: avahi-daemon: add option "host-name-from-machine-id=" +X-Git-Url: http://git.0pointer.de/?p=avahi.git;a=commitdiff_plain;h=147cdce70b22ae7cee9fb4fe123db40952f31c9e + +avahi-daemon: add option "host-name-from-machine-id=" + +Signed-off-by: David Zeuthen <zeuthen@chromium.org> +--- + +diff --git a/avahi-daemon/main.c b/avahi-daemon/main.c +index d46f40a..8c28fd6 100644 +--- a/avahi-daemon/main.c ++++ b/avahi-daemon/main.c +@@ -65,6 +65,7 @@ + #include <avahi-core/publish.h> + #include <avahi-core/dns-srv-rr.h> + #include <avahi-core/log.h> ++#include <avahi-core/util.h> + + #ifdef ENABLE_CHROOT + #include "chroot.h" +@@ -576,6 +577,29 @@ static int parse_usec(const char *s, AvahiUsec *u) { + return 0; + } + ++static char *get_machine_id(void) { ++ int fd; ++ char buf[32]; ++ ++ fd = open("/etc/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY); ++ if (fd == -1 && errno == ENOENT) ++ fd = open("/var/lib/dbus/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY); ++ if (fd == -1) ++ return NULL; ++ ++ /* File is on a filesystem so we never get EINTR or partial reads */ ++ if (read(fd, buf, sizeof buf) != sizeof buf) { ++ close(fd); ++ return NULL; ++ } ++ close(fd); ++ ++ /* Contents can be lower, upper and even mixed case so normalize */ ++ avahi_strdown(buf); ++ ++ return avahi_strndup(buf, sizeof buf); ++} ++ + static int load_config_file(DaemonConfig *c) { + int r = -1; + AvahiIniFile *f; +@@ -631,6 +655,15 @@ static int load_config_file(DaemonConfig *c) { + c->server_config.use_iff_running = is_yes(p->value); + else if (strcasecmp(p->key, "disallow-other-stacks") == 0) + c->server_config.disallow_other_stacks = is_yes(p->value); ++ else if (strcasecmp(p->key, "host-name-from-machine-id") == 0) { ++ if (*(p->value) == 'y' || *(p->value) == 'Y') { ++ char *machine_id = get_machine_id(); ++ if (machine_id != NULL) { ++ avahi_free(c->server_config.host_name); ++ c->server_config.host_name = machine_id; ++ } ++ } ++ } + #ifdef HAVE_DBUS + else if (strcasecmp(p->key, "enable-dbus") == 0) { + +diff --git a/man/avahi-daemon.conf.5.xml.in b/man/avahi-daemon.conf.5.xml.in +index bea7ed5..2d15017 100644 +--- a/man/avahi-daemon.conf.5.xml.in ++++ b/man/avahi-daemon.conf.5.xml.in +@@ -40,6 +40,12 @@ + </option> + + <option> ++ <p><opt>host-name-from-machine-id=</opt> Takes a boolean ++ value ("yes" or "no"). If set to "yes" avahi-daemon ++ will use the machine-id as name on the LAN.</p> ++ </option> ++ ++ <option> + <p><opt>domain-name=</opt> Set the default domain name avahi-daemon + tries to register its host name and services on the LAN in. If + omitted defaults to ".local".</p> diff --git a/net-dns/avahi-base/files/avahi-0.6.31-install-exec-hook.patch b/net-dns/avahi-base/files/avahi-0.6.31-install-exec-hook.patch new file mode 100644 index 00000000..d9a7bc34 --- /dev/null +++ b/net-dns/avahi-base/files/avahi-0.6.31-install-exec-hook.patch @@ -0,0 +1,11 @@ +--- avahi-0.6.31/avahi-utils/Makefile.am ++++ avahi-0.6.31/avahi-utils/Makefile.am +@@ -53,7 +53,7 @@ + avahi_set_host_name_CFLAGS = $(AM_CFLAGS) + avahi_set_host_name_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la + +-install-exec-local: ++install-exec-hook: + cd $(DESTDIR)/$(bindir) && \ + rm -f avahi-resolve-host-name avahi-resolve-address avahi-browse-domains avahi-publish-address avahi-publish-service && \ + $(LN_S) avahi-resolve avahi-resolve-host-name && \ diff --git a/net-dns/avahi-base/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch b/net-dns/avahi-base/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch new file mode 100644 index 00000000..9c23ca5e --- /dev/null +++ b/net-dns/avahi-base/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch @@ -0,0 +1,30 @@ +https://bugs.gentoo.org/484212 + +Description: SO_REUSEPORT may not exist in running kernel + When userspace defines SO_REUSEPORT we will attempt to enable socket + port number reuse. However if the running kernel does not support + this call it will fail preventing daemon startup. If this call is + present but fails ENOPROTOOPT then we know that actually the kernel + does not support it and we should continue as if we did not have the + call at all. (LP: #1228204) + . + This patch could be removed from the debian package after jessie release. +Author: Andy Whitcroft <apw@canonical.com> +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1228204 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732009 +Last-Update: 2013-09-20 + +Index: avahi-0.6.31/avahi-core/socket.c +=================================================================== +--- avahi-0.6.31.orig/avahi-core/socket.c 2013-09-20 16:36:50.000000000 +0100 ++++ avahi-0.6.31/avahi-core/socket.c 2013-09-20 16:38:23.781863644 +0100 +@@ -177,7 +177,8 @@ + yes = 1; + if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &yes, sizeof(yes)) < 0) { + avahi_log_warn("SO_REUSEPORT failed: %s", strerror(errno)); +- return -1; ++ if (errno != ENOPROTOOPT) ++ return -1; + } + #endif + diff --git a/net-dns/avahi-base/files/avahi-0.6.31-workaround-systemd-stop-timeout.patch b/net-dns/avahi-base/files/avahi-0.6.31-workaround-systemd-stop-timeout.patch new file mode 100644 index 00000000..947ba9ec --- /dev/null +++ b/net-dns/avahi-base/files/avahi-0.6.31-workaround-systemd-stop-timeout.patch @@ -0,0 +1,10 @@ +--- a/avahi-daemon/avahi-daemon.service.in ++++ b/avahi-daemon/avahi-daemon.service.in +@@ -24,6 +24,7 @@ Type=dbus + BusName=org.freedesktop.Avahi + ExecStart=@sbindir@/avahi-daemon -s + ExecReload=@sbindir@/avahi-daemon -r ++TimeoutStopSec=5 + NotifyAccess=main + + [Install] diff --git a/net-dns/avahi-base/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch b/net-dns/avahi-base/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch new file mode 100644 index 00000000..394f6d34 --- /dev/null +++ b/net-dns/avahi-base/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch @@ -0,0 +1,22 @@ +--- avahi-0.6.30/initscript/gentoo/avahi-daemon.in ++++ avahi-0.6.30/initscript/gentoo/avahi-daemon.in +@@ -2,7 +2,7 @@ + # Copyright 1999-2007 Gentoo Foundation + # Distributed under the terms of the GNU General Public License v2 + +-opts="reload" ++extra_started_commands="reload" + + depend() { + before netmount nfsmount +--- avahi-0.6.30/initscript/gentoo/avahi-dnsconfd.in ++++ avahi-0.6.30/initscript/gentoo/avahi-dnsconfd.in +@@ -2,7 +2,7 @@ + # Copyright 1999-2007 Gentoo Foundation + # Distributed under the terms of the GNU General Public License v2 + +-opts="reload" ++extra_started_commands="reload" + + depend() { + need avahi-daemon diff --git a/net-dns/avahi-base/metadata.xml b/net-dns/avahi-base/metadata.xml new file mode 100644 index 00000000..9e286f8b --- /dev/null +++ b/net-dns/avahi-base/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>no-herd</herd> +<maintainer> + <email>lxnay@gentoo.org</email> +</maintainer> +<use> + <flag name='autoipd'>Build and install the IPv4LL (RFC3927) network address + configuration daemon</flag> + <flag name='bookmarks'>Install the avahi-bookmarks application (requires + <pkg>dev-python/twisted</pkg>)</flag> + <flag name='howl-compat'>Enable compat libraries for howl</flag> + <flag name='mdnsresponder-compat'>Enable compat libraries for + mDNSResponder</flag> +</use> +</pkgmetadata> diff --git a/net-dns/avahi-gtk/Manifest b/net-dns/avahi-gtk/Manifest new file mode 100644 index 00000000..0206eaaa --- /dev/null +++ b/net-dns/avahi-gtk/Manifest @@ -0,0 +1 @@ +DIST avahi-0.6.31.tar.gz 1268686 SHA256 8372719b24e2dd75de6f59bb1315e600db4fd092805bd1201ed0cb651a2dab48 SHA512 53eb00d570a274d841e1e6ad07da077950089ae39b4f7aa21fcd21cc5320b30b506b43e7e57e56198e155cc7bd289b779a48b2b2fc002dc6194a946110451858 WHIRLPOOL a6d97b87dfbb81be359ee03d8f32ebafdbb311bd596d686aeb55a2952ecb6c7c84466b1230e70392ffe23a20a56da7e0a5bd00c8dc1812b2156c0b4a8022144f diff --git a/net-dns/avahi-gtk/avahi-gtk-0.6.31-r1.ebuild b/net-dns/avahi-gtk/avahi-gtk-0.6.31-r1.ebuild new file mode 100644 index 00000000..7200ad7f --- /dev/null +++ b/net-dns/avahi-gtk/avahi-gtk-0.6.31-r1.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2013 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" + +IUSE="python utils dbus" +COMMON_DEPEND="=net-dns/avahi-base-${PVR}[dbus=,python=] + >=x11-libs/gtk+-2.14.0:2 + python? ( >=dev-python/pygtk-2 )" +AVAHI_MODULE_DEPEND="${COMMON_DEPEND}" +AVAHI_MODULE_RDEPEND="${COMMON_DEPEND}" + +WANT_AUTOMAKE=1.11 +AVAHI_PATCHES=( + # install-exec-local -> install-exec-hook + "${FILESDIR}"/${P/-gtk}-install-exec-hook.patch + # Backport host-name-from-machine-id patch, bug #466134 + "${FILESDIR}"/${P/-gtk}-host-name-from-machine-id.patch + # Make gtk utils optional + "${FILESDIR}"/${PN/-gtk}-0.6.30-optional-gtk-utils.patch +) +inherit eutils python avahi + +src_configure() { + local myconf=" --enable-gtk + --disable-gtk3 + --disable-mono + $(use_enable dbus) + $(use_enable utils gtk-utils) + --enable-pygtk" + if use python; then + myconf+=" $(use_enable dbus python-dbus)" + fi + avahi_src_configure "${myconf}" +} + +src_compile() { + for target in avahi-common avahi-client avahi-glib avahi-ui; do + cd "${S}"/${target} || die + emake || die + done + cd "${S}" || die + emake avahi-ui.pc || die +} + +src_install() { + cd "${S}"/avahi-ui || die + emake install DESTDIR="${ED}" || die + if use python; then + cd "${S}"/avahi-python/avahi-discover || die + emake install DESTDIR="${ED}" || die + fi + cd "${S}" || die + dodir /usr/$(get_libdir)/pkgconfig + insinto /usr/$(get_libdir)/pkgconfig + doins avahi-ui.pc + + avahi_src_install-cleanup +} + +pkg_postrm() { + use python && python_mod_cleanup $(use dbus && echo avahi_discover) +} + +pkg_postinst() { + use python && python_mod_optimize avahi $(use dbus && echo avahi_discover) +} + + diff --git a/net-dns/avahi-gtk/avahi-gtk-0.6.31-r5.ebuild b/net-dns/avahi-gtk/avahi-gtk-0.6.31-r5.ebuild new file mode 100644 index 00000000..b7061539 --- /dev/null +++ b/net-dns/avahi-gtk/avahi-gtk-0.6.31-r5.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2014 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" + +AVAHI_MODULE="${AVAHI_MODULE:-${PN/avahi-}}" +MY_P=${P/-${AVAHI_MODULE}} +MY_PN=${PN/-${AVAHI_MODULE}} + +PYTHON_COMPAT=( python{2_6,2_7} ) +PYTHON_REQ_USE="gdbm" + +WANT_AUTOMAKE=1.11 + +inherit autotools eutils flag-o-matic multilib multilib-minimal \ + python-r1 systemd user + +DESCRIPTION="System which facilitates service discovery on a local network (gtk pkg)" +HOMEPAGE="http://avahi.org/" +SRC_URI="http://avahi.org/download/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +IUSE="dbus gdbm introspection nls python utils" + +S="${WORKDIR}/${MY_P}" + +COMMON_DEPEND=" + ~net-dns/avahi-base-${PV}[dbus=,gdbm=,introspection=,nls=,python=,${MULTILIB_USEDEP}] + x11-libs/gtk+:2 + python? ( dev-python/pygtk ) +" + +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +src_prepare() { + # Make gtk utils optional + epatch "${FILESDIR}"/${MY_PN}-0.6.30-optional-gtk-utils.patch + + # Fix init scripts for >=openrc-0.9.0, bug #383641 + epatch "${FILESDIR}"/${MY_PN}-0.6.x-openrc-0.9.x-init-scripts-fixes.patch + + # install-exec-local -> install-exec-hook + epatch "${FILESDIR}"/${MY_P}-install-exec-hook.patch + + # Backport host-name-from-machine-id patch, bug #466134 + epatch "${FILESDIR}"/${MY_P}-host-name-from-machine-id.patch + + # Don't install avahi-discover unless ENABLE_GTK_UTILS, bug #359575 + epatch "${FILESDIR}"/${MY_P}-fix-install-avahi-discover.patch + + epatch "${FILESDIR}"/${MY_P}-so_reuseport-may-not-exist-in-running-kernel.patch + + # allow building client without the daemon + epatch "${FILESDIR}"/${MY_P}-build-client-without-daemon.patch + + # Drop DEPRECATED flags, bug #384743 + sed -i -e 's:-D[A-Z_]*DISABLE_DEPRECATED=1::g' avahi-ui/Makefile.am || die + + # Fix references to Lennart's home directory, bug #466210 + sed -i -e 's/\/home\/lennart\/tmp\/avahi//g' man/* || die + + # Prevent .pyc files in DESTDIR + >py-compile + + eautoreconf + + # bundled manpages + multilib_copy_sources +} + +src_configure() { + # those steps should be done once-per-ebuild rather than per-ABI + use sh && replace-flags -O? -O0 + use python && python_export_best + + # We need to unset DISPLAY, else the configure script might have problems detecting the pygtk module + unset DISPLAY + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( --disable-static ) + + if use python; then + myconf+=( + $(multilib_native_use_enable dbus python-dbus) + --enable-pygtk + ) + fi + + if ! multilib_is_native_abi; then + myconf+=( + # used by daemons only + --disable-libdaemon + --with-xml=none + ) + fi + + econf \ + --localstatedir="${EPREFIX}/var" \ + --with-distro=gentoo \ + --disable-python-dbus \ + --disable-xmltoman \ + --disable-monodoc \ + --disable-pygtk \ + --enable-glib \ + --enable-gobject \ + $(use_enable dbus) \ + $(multilib_native_use_enable python) \ + $(use_enable nls) \ + $(multilib_native_use_enable introspection) \ + --disable-qt3 \ + --disable-qt4 \ + $(multilib_is_native_abi && echo -n --enable-gtk || echo -n --disable-gtk) \ + $(multilib_is_native_abi && echo -n --enable-gtk-utils || echo -n --disable-gtk-utils) \ + --disable-gtk3 \ + $(use_enable gdbm) \ + $(systemd_with_unitdir) \ + "${myconf[@]}" +} + +multilib_src_compile() { + if multilib_is_native_abi; then + for target in avahi-common avahi-client avahi-glib avahi-ui; do + cd "${BUILD_DIR}"/${target} || die + emake || die + done + cd "${BUILD_DIR}" || die + emake avahi-ui.pc || die + fi +} + +multilib_src_install() { + mkdir -p "${D}/usr/bin" || die + + if multilib_is_native_abi; then + cd "${BUILD_DIR}"/avahi-ui || die + emake DESTDIR="${D}" install || die + if use python; then + cd "${BUILD_DIR}"/avahi-python/avahi-discover || die + emake install DESTDIR="${D}" || die + fi + cd "${BUILD_DIR}" || die + dodir /usr/$(get_libdir)/pkgconfig + insinto /usr/$(get_libdir)/pkgconfig + doins avahi-ui.pc + + # Workaround for avahi-ui.h collision between avahi-gtk and avahi-gtk3 + root_avahi_ui="${ROOT}usr/include/avahi-ui/avahi-ui.h" + if [ -e "${root_avahi_ui}" ]; then + rm -f "${D}usr/include/avahi-ui/avahi-ui.h" + fi + + # provided by avahi-gtk3 + rm "${D}"usr/bin/bshell || die + rm "${D}"usr/bin/bssh || die + rm "${D}"usr/bin/bvnc || die + rm "${D}"usr/share/applications/bssh.desktop || die + rm "${D}"usr/share/applications/bvnc.desktop || die + fi +} + +multilib_src_install_all() { + prune_libtool_files --all +} diff --git a/net-dns/avahi-gtk/files/avahi-0.6.30-automake-1.11.2.patch b/net-dns/avahi-gtk/files/avahi-0.6.30-automake-1.11.2.patch new file mode 100644 index 00000000..be385f6c --- /dev/null +++ b/net-dns/avahi-gtk/files/avahi-0.6.30-automake-1.11.2.patch @@ -0,0 +1,102 @@ +http://bugs.gentoo.org/397477 + +--- avahi-python/avahi/Makefile.am ++++ avahi-python/avahi/Makefile.am +@@ -31,7 +31,7 @@ + -e 's,@FIRST_KEY\@,key = self.db.firstkey(),g' \ + -e 's,@CHECK_KEY\@,while key is not None:,g' \ + -e 's,@NEXT_KEY\@,key = self.db.nextkey(key),g' \ +- -e 's,@pkglibdir\@,$(pkglibdir),g' $< > $@ && \ ++ -e 's,@pkgdatadir\@,$(pkgdatadir),g' $< > $@ && \ + chmod +x $@ + endif + +@@ -44,7 +44,7 @@ + -e 's,@FIRST_KEY\@,keys = self.db.keys(),g' \ + -e 's,@CHECK_KEY\@,for key in keys:,g' \ + -e 's,@NEXT_KEY\@,,g' \ +- -e 's,@pkglibdir\@,$(pkglibdir),g' $< > $@ && \ ++ -e 's,@pkgdatadir\@,$(pkgdatadir),g' $< > $@ && \ + chmod +x $@ + endif + +--- avahi-python/avahi/ServiceTypeDatabase.py.in ++++ avahi-python/avahi/ServiceTypeDatabase.py.in +@@ -26,7 +26,7 @@ + class ServiceTypeDatabase: + """ServiceTypeDatabase maps service types to descriptions""" + +- def __init__(self, filename = "@pkglibdir@/service-types.db"): ++ def __init__(self, filename = "@pkgdatadir@/service-types.db"): + + self.db = @DBM@.open(filename, "r") + +--- avahi-ui/Makefile.am ++++ avahi-ui/Makefile.am +@@ -62,18 +62,18 @@ + + if HAVE_GDBM + libavahi_ui_la_SOURCES += ../avahi-utils/stdb.h ../avahi-utils/stdb.c +-libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + libavahi_ui_la_LIBADD += -lgdbm + +-libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + libavahi_ui_gtk3_la_LIBADD += -lgdbm + endif + + if HAVE_DBM + libavahi_ui_la_SOURCES += ../avahi-utils/stdb.h ../avahi-utils/stdb.c +-libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + +-libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + endif + + bin_PROGRAMS = bssh +--- avahi-utils/Makefile.am ++++ avahi-utils/Makefile.am +@@ -30,13 +30,13 @@ + + if HAVE_GDBM + avahi_browse_SOURCES += stdb.h stdb.c +-avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + avahi_browse_LDADD += -lgdbm + endif + + if HAVE_DBM + avahi_browse_SOURCES += stdb.h stdb.c +-avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + endif + + avahi_resolve_SOURCES = avahi-resolve.c sigint.c sigint.h +--- service-type-database/Makefile.am ++++ service-type-database/Makefile.am +@@ -18,13 +18,12 @@ + EXTRA_DIST=build-db.in service-types + + pkgdata_DATA=service-types +-pkglib_DATA= + + if HAVE_PYTHON + if HAVE_GDBM + + noinst_SCRIPTS=build-db +-pkglib_DATA+=service-types.db ++pkgdata_DATA+=service-types.db + + build-db: build-db.in + $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ +@@ -41,7 +40,7 @@ + if HAVE_DBM + + noinst_SCRIPTS=build-db +-pkglib_DATA+=service-types.db.pag service-types.db.dir ++pkgdata_DATA+=service-types.db.pag service-types.db.dir + + build-db: build-db.in + $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ diff --git a/net-dns/avahi-gtk/files/avahi-0.6.30-optional-gtk-utils.patch b/net-dns/avahi-gtk/files/avahi-0.6.30-optional-gtk-utils.patch new file mode 100644 index 00000000..2c615a2b --- /dev/null +++ b/net-dns/avahi-gtk/files/avahi-0.6.30-optional-gtk-utils.patch @@ -0,0 +1,83 @@ +--- avahi-discover-standalone/Makefile.am ++++ avahi-discover-standalone/Makefile.am +@@ -23,7 +23,7 @@ + # This cool debug trap works on i386/gcc only + AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")' + +-if HAVE_GTK2OR3 ++if ENABLE_GTK_UTILS + if HAVE_GLIB + bin_PROGRAMS = \ + avahi-discover-standalone +--- avahi-ui/Makefile.am ++++ avahi-ui/Makefile.am +@@ -76,6 +76,7 @@ + libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" + endif + ++if ENABLE_GTK_UTILS + bin_PROGRAMS = bssh + desktop_DATA += bssh.desktop bvnc.desktop + @INTLTOOL_DESKTOP_RULE@ +@@ -102,6 +103,7 @@ + bvnc.desktop.in: bvnc.desktop.in.in + $(AM_V_GEN)sed -e 's,@bindir\@,$(bindir),g' $< > $@ + ++endif # ENABLE_GTK_UTILS + endif # HAVE_GLIB + endif + endif +--- configure.ac ++++ configure.ac +@@ -564,7 +564,29 @@ + fi + AM_CONDITIONAL(HAVE_GTK3, test "x$HAVE_GTK3" = "xyes") + +-AM_CONDITIONAL(HAVE_GTK2OR3, test "x$HAVE_GTK3" = "xyes" -o "x$HAVE_GTK" = "xyes" ) ++# ++# Check for GTK+ Utils ++# ++AC_ARG_ENABLE(gtk-utils, ++ AS_HELP_STRING([--disable-gtk-utils],[Disable GTK+ utilities]), ++ [case "${enableval}" in ++ yes) WANT_GTK_UTILS=yes ;; ++ no) WANT_GTK_UTILS=no ;; ++ *) AC_MSG_ERROR(bad value ${enableval} for --enable-gtk-utils) ;; ++ esac], ++ [WANT_GTK_UTILS=yes]) ++ ++ENABLE_GTK_UTILS=no ++HAVE_GTK2OR3=no ++if test "x$HAVE_GTK3" = "xyes" -o "x$HAVE_GTK" = "xyes"; then ++ HAVE_GTK2OR3=yes ++ if test "x$WANT_GTK_UTILS" = "xyes"; then ++ ENABLE_GTK_UTILS=yes ++ fi ++fi ++ ++AM_CONDITIONAL(HAVE_GTK2OR3, test "x$HAVE_GTK2OR3" = "xyes") ++AM_CONDITIONAL(ENABLE_GTK_UTILS, test "x$ENABLE_GTK_UTILS" = "xyes") + + # + # D-Bus +@@ -1199,11 +1221,6 @@ + ENABLE_AUTOIPD="no (You need libdaemon!)" + fi + +-HAVE_GTK2OR3=no +-if test "x$HAVE_GTK" = "xyes" -o "x$HAVE_GTK3" = "xyes" ; then +- HAVE_GTK2OR3=yes +-fi +- + BUILD_UI="no" + if test "x$HAVE_GTK2OR3" = "xyes" -a "x$BUILD_CLIENT" = "xyes" ; then + BUILD_UI="yes" +@@ -1223,7 +1240,7 @@ + Building avahi-python: ${BUILD_PYTHON} + Building libavahi-glib: ${HAVE_GLIB} + Building libavahi-gobject: ${BUILD_GOBJECT} +- Building avahi-discover-standalone: ${HAVE_GTK2OR3} ++ Building avahi-discover-standalone: ${ENABLE_GTK_UTILS} + Building libavahi-qt3: ${HAVE_QT3} + Building libavahi-qt4: ${HAVE_QT4} + Building avahi-sharp: ${HAVE_MONO} diff --git a/net-dns/avahi-gtk/files/avahi-0.6.30-parallel.patch b/net-dns/avahi-gtk/files/avahi-0.6.30-parallel.patch new file mode 100644 index 00000000..a75f9910 --- /dev/null +++ b/net-dns/avahi-gtk/files/avahi-0.6.30-parallel.patch @@ -0,0 +1,34 @@ +From cb10a844f9e91322aca91340b7adc0db19c96b36 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@flameeyes.eu> +Date: Mon, 30 Apr 2012 17:07:41 -0700 +Subject: [PATCH] build-sys: fix parallel install in avahi-utils +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The moment install-exec-local is called, we might still not have +created ${DESTDIR}/${bindir} so we should make sure to create it +first, and then try to chdir into it. + +Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu> +--- + avahi-utils/Makefile.am | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/avahi-utils/Makefile.am b/avahi-utils/Makefile.am +index a644b4a..1abc79a 100644 +--- a/avahi-utils/Makefile.am ++++ b/avahi-utils/Makefile.am +@@ -54,7 +54,8 @@ avahi_set_host_name_CFLAGS = $(AM_CFLAGS) + avahi_set_host_name_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la + + install-exec-local: +- cd $(DESTDIR)/$(bindir) && \ ++ $(mkdir_p) $(DESTDIR)/$(bindir) && \ ++ cd $(DESTDIR)/$(bindir) && \ + rm -f avahi-resolve-host-name avahi-resolve-address avahi-browse-domains avahi-publish-address avahi-publish-service && \ + $(LN_S) avahi-resolve avahi-resolve-host-name && \ + $(LN_S) avahi-resolve avahi-resolve-address && \ +-- +1.7.8.6 + diff --git a/net-dns/avahi-gtk/files/avahi-0.6.31-build-client-without-daemon.patch b/net-dns/avahi-gtk/files/avahi-0.6.31-build-client-without-daemon.patch new file mode 100644 index 00000000..df0c420f --- /dev/null +++ b/net-dns/avahi-gtk/files/avahi-0.6.31-build-client-without-daemon.patch @@ -0,0 +1,27 @@ +From ce3b83de6aa689c0cefe0b1e85c03a627b537099 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Mon, 12 May 2014 19:46:22 +0200 +Subject: [PATCH] Allow building client without the daemon. + +There's no good reason to disallow that, and that's what we specifically +want to do for multilib. +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0e190ba..c56cf01 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1185,7 +1185,7 @@ fi + + BUILD_CLIENT="no (You need avahi-daemon and D-Bus!)" + +-if test "x$BUILD_DAEMON" = "xyes" -a "x$HAVE_DBUS" = "xyes" ; then ++if "x$HAVE_DBUS" = "xyes" ; then + BUILD_CLIENT=yes + fi + +-- +1.9.3 + diff --git a/net-dns/avahi-gtk/files/avahi-0.6.31-fix-install-avahi-discover.patch b/net-dns/avahi-gtk/files/avahi-0.6.31-fix-install-avahi-discover.patch new file mode 100644 index 00000000..62ba967c --- /dev/null +++ b/net-dns/avahi-gtk/files/avahi-0.6.31-fix-install-avahi-discover.patch @@ -0,0 +1,31 @@ +--- avahi-0.6.30.old/avahi-python/avahi-discover/Makefile.am 2010-06-28 23:30:34.000000000 -0400 ++++ avahi-0.6.30/avahi-python/avahi-discover/Makefile.am 2012-04-21 18:02:01.642934527 -0400 +@@ -22,6 +22,7 @@ + avahi-discover.py \ + avahi-discover.desktop.in.in + ++if ENABLE_GTK_UTILS + if HAVE_PYTHON + if HAVE_PYTHON_DBUS + if HAVE_PYGTK +@@ -67,3 +68,4 @@ + endif + endif + endif ++endif +--- avahi-0.6.30.old/man/Makefile.am 2012-04-21 18:10:45.690900742 -0400 ++++ avahi-0.6.30/man/Makefile.am 2012-04-21 18:09:15.146906578 -0400 +@@ -65,11 +65,13 @@ + man_MANS += \ + avahi-bookmarks.1 + if HAVE_GTK ++if ENABLE_GTK_UTILS + man_MANS += \ + avahi-discover.1 + endif + endif + endif ++endif + + if ENABLE_AUTOIPD + if HAVE_LIBDAEMON diff --git a/net-dns/avahi-gtk/files/avahi-0.6.31-host-name-from-machine-id.patch b/net-dns/avahi-gtk/files/avahi-0.6.31-host-name-from-machine-id.patch new file mode 100644 index 00000000..17ecba52 --- /dev/null +++ b/net-dns/avahi-gtk/files/avahi-0.6.31-host-name-from-machine-id.patch @@ -0,0 +1,85 @@ +From: David Zeuthen <zeuthen@chromium.org> +Date: Tue, 5 Mar 2013 19:52:38 +0000 (-0800) +Subject: avahi-daemon: add option "host-name-from-machine-id=" +X-Git-Url: http://git.0pointer.de/?p=avahi.git;a=commitdiff_plain;h=147cdce70b22ae7cee9fb4fe123db40952f31c9e + +avahi-daemon: add option "host-name-from-machine-id=" + +Signed-off-by: David Zeuthen <zeuthen@chromium.org> +--- + +diff --git a/avahi-daemon/main.c b/avahi-daemon/main.c +index d46f40a..8c28fd6 100644 +--- a/avahi-daemon/main.c ++++ b/avahi-daemon/main.c +@@ -65,6 +65,7 @@ + #include <avahi-core/publish.h> + #include <avahi-core/dns-srv-rr.h> + #include <avahi-core/log.h> ++#include <avahi-core/util.h> + + #ifdef ENABLE_CHROOT + #include "chroot.h" +@@ -576,6 +577,29 @@ static int parse_usec(const char *s, AvahiUsec *u) { + return 0; + } + ++static char *get_machine_id(void) { ++ int fd; ++ char buf[32]; ++ ++ fd = open("/etc/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY); ++ if (fd == -1 && errno == ENOENT) ++ fd = open("/var/lib/dbus/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY); ++ if (fd == -1) ++ return NULL; ++ ++ /* File is on a filesystem so we never get EINTR or partial reads */ ++ if (read(fd, buf, sizeof buf) != sizeof buf) { ++ close(fd); ++ return NULL; ++ } ++ close(fd); ++ ++ /* Contents can be lower, upper and even mixed case so normalize */ ++ avahi_strdown(buf); ++ ++ return avahi_strndup(buf, sizeof buf); ++} ++ + static int load_config_file(DaemonConfig *c) { + int r = -1; + AvahiIniFile *f; +@@ -631,6 +655,15 @@ static int load_config_file(DaemonConfig *c) { + c->server_config.use_iff_running = is_yes(p->value); + else if (strcasecmp(p->key, "disallow-other-stacks") == 0) + c->server_config.disallow_other_stacks = is_yes(p->value); ++ else if (strcasecmp(p->key, "host-name-from-machine-id") == 0) { ++ if (*(p->value) == 'y' || *(p->value) == 'Y') { ++ char *machine_id = get_machine_id(); ++ if (machine_id != NULL) { ++ avahi_free(c->server_config.host_name); ++ c->server_config.host_name = machine_id; ++ } ++ } ++ } + #ifdef HAVE_DBUS + else if (strcasecmp(p->key, "enable-dbus") == 0) { + +diff --git a/man/avahi-daemon.conf.5.xml.in b/man/avahi-daemon.conf.5.xml.in +index bea7ed5..2d15017 100644 +--- a/man/avahi-daemon.conf.5.xml.in ++++ b/man/avahi-daemon.conf.5.xml.in +@@ -40,6 +40,12 @@ + </option> + + <option> ++ <p><opt>host-name-from-machine-id=</opt> Takes a boolean ++ value ("yes" or "no"). If set to "yes" avahi-daemon ++ will use the machine-id as name on the LAN.</p> ++ </option> ++ ++ <option> + <p><opt>domain-name=</opt> Set the default domain name avahi-daemon + tries to register its host name and services on the LAN in. If + omitted defaults to ".local".</p> diff --git a/net-dns/avahi-gtk/files/avahi-0.6.31-install-exec-hook.patch b/net-dns/avahi-gtk/files/avahi-0.6.31-install-exec-hook.patch new file mode 100644 index 00000000..d9a7bc34 --- /dev/null +++ b/net-dns/avahi-gtk/files/avahi-0.6.31-install-exec-hook.patch @@ -0,0 +1,11 @@ +--- avahi-0.6.31/avahi-utils/Makefile.am ++++ avahi-0.6.31/avahi-utils/Makefile.am +@@ -53,7 +53,7 @@ + avahi_set_host_name_CFLAGS = $(AM_CFLAGS) + avahi_set_host_name_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la + +-install-exec-local: ++install-exec-hook: + cd $(DESTDIR)/$(bindir) && \ + rm -f avahi-resolve-host-name avahi-resolve-address avahi-browse-domains avahi-publish-address avahi-publish-service && \ + $(LN_S) avahi-resolve avahi-resolve-host-name && \ diff --git a/net-dns/avahi-gtk/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch b/net-dns/avahi-gtk/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch new file mode 100644 index 00000000..9c23ca5e --- /dev/null +++ b/net-dns/avahi-gtk/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch @@ -0,0 +1,30 @@ +https://bugs.gentoo.org/484212 + +Description: SO_REUSEPORT may not exist in running kernel + When userspace defines SO_REUSEPORT we will attempt to enable socket + port number reuse. However if the running kernel does not support + this call it will fail preventing daemon startup. If this call is + present but fails ENOPROTOOPT then we know that actually the kernel + does not support it and we should continue as if we did not have the + call at all. (LP: #1228204) + . + This patch could be removed from the debian package after jessie release. +Author: Andy Whitcroft <apw@canonical.com> +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1228204 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732009 +Last-Update: 2013-09-20 + +Index: avahi-0.6.31/avahi-core/socket.c +=================================================================== +--- avahi-0.6.31.orig/avahi-core/socket.c 2013-09-20 16:36:50.000000000 +0100 ++++ avahi-0.6.31/avahi-core/socket.c 2013-09-20 16:38:23.781863644 +0100 +@@ -177,7 +177,8 @@ + yes = 1; + if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &yes, sizeof(yes)) < 0) { + avahi_log_warn("SO_REUSEPORT failed: %s", strerror(errno)); +- return -1; ++ if (errno != ENOPROTOOPT) ++ return -1; + } + #endif + diff --git a/net-dns/avahi-gtk/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch b/net-dns/avahi-gtk/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch new file mode 100644 index 00000000..394f6d34 --- /dev/null +++ b/net-dns/avahi-gtk/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch @@ -0,0 +1,22 @@ +--- avahi-0.6.30/initscript/gentoo/avahi-daemon.in ++++ avahi-0.6.30/initscript/gentoo/avahi-daemon.in +@@ -2,7 +2,7 @@ + # Copyright 1999-2007 Gentoo Foundation + # Distributed under the terms of the GNU General Public License v2 + +-opts="reload" ++extra_started_commands="reload" + + depend() { + before netmount nfsmount +--- avahi-0.6.30/initscript/gentoo/avahi-dnsconfd.in ++++ avahi-0.6.30/initscript/gentoo/avahi-dnsconfd.in +@@ -2,7 +2,7 @@ + # Copyright 1999-2007 Gentoo Foundation + # Distributed under the terms of the GNU General Public License v2 + +-opts="reload" ++extra_started_commands="reload" + + depend() { + need avahi-daemon diff --git a/net-dns/avahi-gtk/metadata.xml b/net-dns/avahi-gtk/metadata.xml new file mode 100644 index 00000000..2c673780 --- /dev/null +++ b/net-dns/avahi-gtk/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>no-herd</herd> +<maintainer> + <email>lxnay@gentoo.org</email> +</maintainer> +</pkgmetadata> diff --git a/net-dns/avahi-gtk3/Manifest b/net-dns/avahi-gtk3/Manifest new file mode 100644 index 00000000..0206eaaa --- /dev/null +++ b/net-dns/avahi-gtk3/Manifest @@ -0,0 +1 @@ +DIST avahi-0.6.31.tar.gz 1268686 SHA256 8372719b24e2dd75de6f59bb1315e600db4fd092805bd1201ed0cb651a2dab48 SHA512 53eb00d570a274d841e1e6ad07da077950089ae39b4f7aa21fcd21cc5320b30b506b43e7e57e56198e155cc7bd289b779a48b2b2fc002dc6194a946110451858 WHIRLPOOL a6d97b87dfbb81be359ee03d8f32ebafdbb311bd596d686aeb55a2952ecb6c7c84466b1230e70392ffe23a20a56da7e0a5bd00c8dc1812b2156c0b4a8022144f diff --git a/net-dns/avahi-gtk3/avahi-gtk3-0.6.31-r1.ebuild b/net-dns/avahi-gtk3/avahi-gtk3-0.6.31-r1.ebuild new file mode 100644 index 00000000..d2c14917 --- /dev/null +++ b/net-dns/avahi-gtk3/avahi-gtk3-0.6.31-r1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2013 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" + +IUSE="" +COMMON_DEPEND="=net-dns/avahi-base-${PVR} + x11-libs/gtk+:3" +AVAHI_MODULE_DEPEND="${COMMON_DEPEND}" +AVAHI_MODULE_RDEPEND="${COMMON_DEPEND}" + +WANT_AUTOMAKE=1.11 +AVAHI_PATCHES=( + # Fix init scripts for >=openrc-0.9.0 (bug #383641) + "${FILESDIR}/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch" + # install-exec-local -> install-exec-hook + "${FILESDIR}"/${P/-gtk3}-install-exec-hook.patch + # Backport host-name-from-machine-id patch, bug #466134 + "${FILESDIR}"/${P/-gtk3}-host-name-from-machine-id.patch +) +inherit eutils avahi + +src_configure() { + local myconf=" --disable-gtk --enable-gtk3" + avahi_src_configure "${myconf}" +} + +src_compile() { + for target in avahi-common avahi-client avahi-glib avahi-ui; do + cd "${S}"/${target} || die + emake || die + done + cd "${S}" || die + emake avahi-ui-gtk3.pc || die +} + +src_install() { + cd "${S}"/avahi-ui || die + emake -j1 install DESTDIR="${ED}" || die + cd "${S}" || die + dodir /usr/$(get_libdir)/pkgconfig + insinto /usr/$(get_libdir)/pkgconfig + doins avahi-ui-gtk3.pc + + avahi_src_install-cleanup + + # Workaround for avahi-ui.h collision between avahi-gtk and avahi-gtk3 + root_avahi_ui="${ROOT}usr/include/avahi-ui/avahi-ui.h" + if [ -e "${root_avahi_ui}" ]; then + rm -f "${ED}usr/include/avahi-ui/avahi-ui.h" + fi +} diff --git a/net-dns/avahi-gtk3/avahi-gtk3-0.6.31-r5.ebuild b/net-dns/avahi-gtk3/avahi-gtk3-0.6.31-r5.ebuild new file mode 100644 index 00000000..4cef03a1 --- /dev/null +++ b/net-dns/avahi-gtk3/avahi-gtk3-0.6.31-r5.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2014 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" + +AVAHI_MODULE="${AVAHI_MODULE:-${PN/avahi-}}" +MY_P=${P/-${AVAHI_MODULE}} +MY_PN=${PN/-${AVAHI_MODULE}} + +WANT_AUTOMAKE=1.11 + +PYTHON_COMPAT=( python{2_6,2_7} ) +PYTHON_REQ_USE="gdbm" + +inherit autotools eutils flag-o-matic multilib multilib-minimal \ + python-r1 systemd user + +DESCRIPTION="System which facilitates service discovery on a local network (gtk3 pkg)" +HOMEPAGE="http://avahi.org/" +SRC_URI="http://avahi.org/download/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +IUSE="bookmarks dbus gdbm introspection nls python utils" + +S="${WORKDIR}/${MY_P}" + +COMMON_DEPEND=" + ~net-dns/avahi-base-${PV}[bookmarks=,dbus=,gdbm=,introspection=,nls=,python=,${MULTILIB_USEDEP}] + x11-libs/gtk+:3 +" + +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +MULTILIB_WRAPPED_HEADERS=( + # necessary until the UI libraries are ported + /usr/include/avahi-ui/avahi-ui.h +) + +src_prepare() { + # Make gtk utils optional + epatch "${FILESDIR}"/${MY_PN}-0.6.30-optional-gtk-utils.patch + + # Fix init scripts for >=openrc-0.9.0, bug #383641 + epatch "${FILESDIR}"/${MY_PN}-0.6.x-openrc-0.9.x-init-scripts-fixes.patch + + # install-exec-local -> install-exec-hook + epatch "${FILESDIR}"/${MY_P}-install-exec-hook.patch + + # Backport host-name-from-machine-id patch, bug #466134 + epatch "${FILESDIR}"/${MY_P}-host-name-from-machine-id.patch + + # Don't install avahi-discover unless ENABLE_GTK_UTILS, bug #359575 + epatch "${FILESDIR}"/${MY_P}-fix-install-avahi-discover.patch + + epatch "${FILESDIR}"/${MY_P}-so_reuseport-may-not-exist-in-running-kernel.patch + + # allow building client without the daemon + epatch "${FILESDIR}"/${MY_P}-build-client-without-daemon.patch + + # Drop DEPRECATED flags, bug #384743 + sed -i -e 's:-D[A-Z_]*DISABLE_DEPRECATED=1::g' avahi-ui/Makefile.am || die + + # Fix references to Lennart's home directory, bug #466210 + sed -i -e 's/\/home\/lennart\/tmp\/avahi//g' man/* || die + + # Prevent .pyc files in DESTDIR + >py-compile + + eautoreconf + + # bundled manpages + multilib_copy_sources +} + +src_configure() { + # those steps should be done once-per-ebuild rather than per-ABI + use sh && replace-flags -O? -O0 + + # We need to unset DISPLAY, else the configure script might have problems detecting the pygtk module + unset DISPLAY + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( --disable-static ) + + if ! multilib_is_native_abi; then + myconf+=( + # used by daemons only + --disable-libdaemon + --with-xml=none + ) + fi + + if use python; then + myconf+=( + $(multilib_native_use_enable dbus python-dbus) + ) + fi + + econf \ + --localstatedir="${EPREFIX}/var" \ + --with-distro=gentoo \ + --disable-python-dbus \ + --disable-xmltoman \ + --disable-monodoc \ + --disable-pygtk \ + --enable-glib \ + --enable-gobject \ + $(use_enable dbus) \ + $(multilib_native_use_enable python) \ + $(use_enable nls) \ + $(multilib_native_use_enable introspection) \ + --disable-qt3 \ + --disable-qt4 \ + --disable-gtk \ + $(multilib_is_native_abi && echo -n --enable-gtk3 --enable-utils || echo -n --disable-gtk3 --disable-utils) \ + $(use_enable gdbm) \ + $(systemd_with_unitdir) \ + "${myconf[@]}" +} + +multilib_src_compile() { + if multilib_is_native_abi; then + for target in avahi-common avahi-client avahi-glib avahi-ui; do + cd "${BUILD_DIR}"/${target} || die + emake || die + done + cd "${BUILD_DIR}" || die + emake avahi-ui-gtk3.pc || die + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + mkdir -p "${D}/usr/bin" || die + cd "${BUILD_DIR}"/avahi-ui || die + emake DESTDIR="${D}" install || die + cd "${BUILD_DIR}" || die + dodir /usr/$(get_libdir)/pkgconfig + insinto /usr/$(get_libdir)/pkgconfig + doins avahi-ui-gtk3.pc + fi +} + +multilib_src_install_all() { + prune_libtool_files --all + use bookmarks && use python && use dbus || \ + rm -f "${D}"/usr/bin/avahi-bookmarks +} diff --git a/net-dns/avahi-gtk3/files/avahi-0.6.30-automake-1.11.2.patch b/net-dns/avahi-gtk3/files/avahi-0.6.30-automake-1.11.2.patch new file mode 100644 index 00000000..be385f6c --- /dev/null +++ b/net-dns/avahi-gtk3/files/avahi-0.6.30-automake-1.11.2.patch @@ -0,0 +1,102 @@ +http://bugs.gentoo.org/397477 + +--- avahi-python/avahi/Makefile.am ++++ avahi-python/avahi/Makefile.am +@@ -31,7 +31,7 @@ + -e 's,@FIRST_KEY\@,key = self.db.firstkey(),g' \ + -e 's,@CHECK_KEY\@,while key is not None:,g' \ + -e 's,@NEXT_KEY\@,key = self.db.nextkey(key),g' \ +- -e 's,@pkglibdir\@,$(pkglibdir),g' $< > $@ && \ ++ -e 's,@pkgdatadir\@,$(pkgdatadir),g' $< > $@ && \ + chmod +x $@ + endif + +@@ -44,7 +44,7 @@ + -e 's,@FIRST_KEY\@,keys = self.db.keys(),g' \ + -e 's,@CHECK_KEY\@,for key in keys:,g' \ + -e 's,@NEXT_KEY\@,,g' \ +- -e 's,@pkglibdir\@,$(pkglibdir),g' $< > $@ && \ ++ -e 's,@pkgdatadir\@,$(pkgdatadir),g' $< > $@ && \ + chmod +x $@ + endif + +--- avahi-python/avahi/ServiceTypeDatabase.py.in ++++ avahi-python/avahi/ServiceTypeDatabase.py.in +@@ -26,7 +26,7 @@ + class ServiceTypeDatabase: + """ServiceTypeDatabase maps service types to descriptions""" + +- def __init__(self, filename = "@pkglibdir@/service-types.db"): ++ def __init__(self, filename = "@pkgdatadir@/service-types.db"): + + self.db = @DBM@.open(filename, "r") + +--- avahi-ui/Makefile.am ++++ avahi-ui/Makefile.am +@@ -62,18 +62,18 @@ + + if HAVE_GDBM + libavahi_ui_la_SOURCES += ../avahi-utils/stdb.h ../avahi-utils/stdb.c +-libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + libavahi_ui_la_LIBADD += -lgdbm + +-libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + libavahi_ui_gtk3_la_LIBADD += -lgdbm + endif + + if HAVE_DBM + libavahi_ui_la_SOURCES += ../avahi-utils/stdb.h ../avahi-utils/stdb.c +-libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + +-libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + endif + + bin_PROGRAMS = bssh +--- avahi-utils/Makefile.am ++++ avahi-utils/Makefile.am +@@ -30,13 +30,13 @@ + + if HAVE_GDBM + avahi_browse_SOURCES += stdb.h stdb.c +-avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + avahi_browse_LDADD += -lgdbm + endif + + if HAVE_DBM + avahi_browse_SOURCES += stdb.h stdb.c +-avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + endif + + avahi_resolve_SOURCES = avahi-resolve.c sigint.c sigint.h +--- service-type-database/Makefile.am ++++ service-type-database/Makefile.am +@@ -18,13 +18,12 @@ + EXTRA_DIST=build-db.in service-types + + pkgdata_DATA=service-types +-pkglib_DATA= + + if HAVE_PYTHON + if HAVE_GDBM + + noinst_SCRIPTS=build-db +-pkglib_DATA+=service-types.db ++pkgdata_DATA+=service-types.db + + build-db: build-db.in + $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ +@@ -41,7 +40,7 @@ + if HAVE_DBM + + noinst_SCRIPTS=build-db +-pkglib_DATA+=service-types.db.pag service-types.db.dir ++pkgdata_DATA+=service-types.db.pag service-types.db.dir + + build-db: build-db.in + $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ diff --git a/net-dns/avahi-gtk3/files/avahi-0.6.30-optional-gtk-utils.patch b/net-dns/avahi-gtk3/files/avahi-0.6.30-optional-gtk-utils.patch new file mode 100644 index 00000000..2c615a2b --- /dev/null +++ b/net-dns/avahi-gtk3/files/avahi-0.6.30-optional-gtk-utils.patch @@ -0,0 +1,83 @@ +--- avahi-discover-standalone/Makefile.am ++++ avahi-discover-standalone/Makefile.am +@@ -23,7 +23,7 @@ + # This cool debug trap works on i386/gcc only + AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")' + +-if HAVE_GTK2OR3 ++if ENABLE_GTK_UTILS + if HAVE_GLIB + bin_PROGRAMS = \ + avahi-discover-standalone +--- avahi-ui/Makefile.am ++++ avahi-ui/Makefile.am +@@ -76,6 +76,7 @@ + libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" + endif + ++if ENABLE_GTK_UTILS + bin_PROGRAMS = bssh + desktop_DATA += bssh.desktop bvnc.desktop + @INTLTOOL_DESKTOP_RULE@ +@@ -102,6 +103,7 @@ + bvnc.desktop.in: bvnc.desktop.in.in + $(AM_V_GEN)sed -e 's,@bindir\@,$(bindir),g' $< > $@ + ++endif # ENABLE_GTK_UTILS + endif # HAVE_GLIB + endif + endif +--- configure.ac ++++ configure.ac +@@ -564,7 +564,29 @@ + fi + AM_CONDITIONAL(HAVE_GTK3, test "x$HAVE_GTK3" = "xyes") + +-AM_CONDITIONAL(HAVE_GTK2OR3, test "x$HAVE_GTK3" = "xyes" -o "x$HAVE_GTK" = "xyes" ) ++# ++# Check for GTK+ Utils ++# ++AC_ARG_ENABLE(gtk-utils, ++ AS_HELP_STRING([--disable-gtk-utils],[Disable GTK+ utilities]), ++ [case "${enableval}" in ++ yes) WANT_GTK_UTILS=yes ;; ++ no) WANT_GTK_UTILS=no ;; ++ *) AC_MSG_ERROR(bad value ${enableval} for --enable-gtk-utils) ;; ++ esac], ++ [WANT_GTK_UTILS=yes]) ++ ++ENABLE_GTK_UTILS=no ++HAVE_GTK2OR3=no ++if test "x$HAVE_GTK3" = "xyes" -o "x$HAVE_GTK" = "xyes"; then ++ HAVE_GTK2OR3=yes ++ if test "x$WANT_GTK_UTILS" = "xyes"; then ++ ENABLE_GTK_UTILS=yes ++ fi ++fi ++ ++AM_CONDITIONAL(HAVE_GTK2OR3, test "x$HAVE_GTK2OR3" = "xyes") ++AM_CONDITIONAL(ENABLE_GTK_UTILS, test "x$ENABLE_GTK_UTILS" = "xyes") + + # + # D-Bus +@@ -1199,11 +1221,6 @@ + ENABLE_AUTOIPD="no (You need libdaemon!)" + fi + +-HAVE_GTK2OR3=no +-if test "x$HAVE_GTK" = "xyes" -o "x$HAVE_GTK3" = "xyes" ; then +- HAVE_GTK2OR3=yes +-fi +- + BUILD_UI="no" + if test "x$HAVE_GTK2OR3" = "xyes" -a "x$BUILD_CLIENT" = "xyes" ; then + BUILD_UI="yes" +@@ -1223,7 +1240,7 @@ + Building avahi-python: ${BUILD_PYTHON} + Building libavahi-glib: ${HAVE_GLIB} + Building libavahi-gobject: ${BUILD_GOBJECT} +- Building avahi-discover-standalone: ${HAVE_GTK2OR3} ++ Building avahi-discover-standalone: ${ENABLE_GTK_UTILS} + Building libavahi-qt3: ${HAVE_QT3} + Building libavahi-qt4: ${HAVE_QT4} + Building avahi-sharp: ${HAVE_MONO} diff --git a/net-dns/avahi-gtk3/files/avahi-0.6.30-parallel.patch b/net-dns/avahi-gtk3/files/avahi-0.6.30-parallel.patch new file mode 100644 index 00000000..a75f9910 --- /dev/null +++ b/net-dns/avahi-gtk3/files/avahi-0.6.30-parallel.patch @@ -0,0 +1,34 @@ +From cb10a844f9e91322aca91340b7adc0db19c96b36 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@flameeyes.eu> +Date: Mon, 30 Apr 2012 17:07:41 -0700 +Subject: [PATCH] build-sys: fix parallel install in avahi-utils +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The moment install-exec-local is called, we might still not have +created ${DESTDIR}/${bindir} so we should make sure to create it +first, and then try to chdir into it. + +Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu> +--- + avahi-utils/Makefile.am | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/avahi-utils/Makefile.am b/avahi-utils/Makefile.am +index a644b4a..1abc79a 100644 +--- a/avahi-utils/Makefile.am ++++ b/avahi-utils/Makefile.am +@@ -54,7 +54,8 @@ avahi_set_host_name_CFLAGS = $(AM_CFLAGS) + avahi_set_host_name_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la + + install-exec-local: +- cd $(DESTDIR)/$(bindir) && \ ++ $(mkdir_p) $(DESTDIR)/$(bindir) && \ ++ cd $(DESTDIR)/$(bindir) && \ + rm -f avahi-resolve-host-name avahi-resolve-address avahi-browse-domains avahi-publish-address avahi-publish-service && \ + $(LN_S) avahi-resolve avahi-resolve-host-name && \ + $(LN_S) avahi-resolve avahi-resolve-address && \ +-- +1.7.8.6 + diff --git a/net-dns/avahi-gtk3/files/avahi-0.6.31-build-client-without-daemon.patch b/net-dns/avahi-gtk3/files/avahi-0.6.31-build-client-without-daemon.patch new file mode 100644 index 00000000..df0c420f --- /dev/null +++ b/net-dns/avahi-gtk3/files/avahi-0.6.31-build-client-without-daemon.patch @@ -0,0 +1,27 @@ +From ce3b83de6aa689c0cefe0b1e85c03a627b537099 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Mon, 12 May 2014 19:46:22 +0200 +Subject: [PATCH] Allow building client without the daemon. + +There's no good reason to disallow that, and that's what we specifically +want to do for multilib. +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0e190ba..c56cf01 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1185,7 +1185,7 @@ fi + + BUILD_CLIENT="no (You need avahi-daemon and D-Bus!)" + +-if test "x$BUILD_DAEMON" = "xyes" -a "x$HAVE_DBUS" = "xyes" ; then ++if "x$HAVE_DBUS" = "xyes" ; then + BUILD_CLIENT=yes + fi + +-- +1.9.3 + diff --git a/net-dns/avahi-gtk3/files/avahi-0.6.31-fix-install-avahi-discover.patch b/net-dns/avahi-gtk3/files/avahi-0.6.31-fix-install-avahi-discover.patch new file mode 100644 index 00000000..62ba967c --- /dev/null +++ b/net-dns/avahi-gtk3/files/avahi-0.6.31-fix-install-avahi-discover.patch @@ -0,0 +1,31 @@ +--- avahi-0.6.30.old/avahi-python/avahi-discover/Makefile.am 2010-06-28 23:30:34.000000000 -0400 ++++ avahi-0.6.30/avahi-python/avahi-discover/Makefile.am 2012-04-21 18:02:01.642934527 -0400 +@@ -22,6 +22,7 @@ + avahi-discover.py \ + avahi-discover.desktop.in.in + ++if ENABLE_GTK_UTILS + if HAVE_PYTHON + if HAVE_PYTHON_DBUS + if HAVE_PYGTK +@@ -67,3 +68,4 @@ + endif + endif + endif ++endif +--- avahi-0.6.30.old/man/Makefile.am 2012-04-21 18:10:45.690900742 -0400 ++++ avahi-0.6.30/man/Makefile.am 2012-04-21 18:09:15.146906578 -0400 +@@ -65,11 +65,13 @@ + man_MANS += \ + avahi-bookmarks.1 + if HAVE_GTK ++if ENABLE_GTK_UTILS + man_MANS += \ + avahi-discover.1 + endif + endif + endif ++endif + + if ENABLE_AUTOIPD + if HAVE_LIBDAEMON diff --git a/net-dns/avahi-gtk3/files/avahi-0.6.31-host-name-from-machine-id.patch b/net-dns/avahi-gtk3/files/avahi-0.6.31-host-name-from-machine-id.patch new file mode 100644 index 00000000..17ecba52 --- /dev/null +++ b/net-dns/avahi-gtk3/files/avahi-0.6.31-host-name-from-machine-id.patch @@ -0,0 +1,85 @@ +From: David Zeuthen <zeuthen@chromium.org> +Date: Tue, 5 Mar 2013 19:52:38 +0000 (-0800) +Subject: avahi-daemon: add option "host-name-from-machine-id=" +X-Git-Url: http://git.0pointer.de/?p=avahi.git;a=commitdiff_plain;h=147cdce70b22ae7cee9fb4fe123db40952f31c9e + +avahi-daemon: add option "host-name-from-machine-id=" + +Signed-off-by: David Zeuthen <zeuthen@chromium.org> +--- + +diff --git a/avahi-daemon/main.c b/avahi-daemon/main.c +index d46f40a..8c28fd6 100644 +--- a/avahi-daemon/main.c ++++ b/avahi-daemon/main.c +@@ -65,6 +65,7 @@ + #include <avahi-core/publish.h> + #include <avahi-core/dns-srv-rr.h> + #include <avahi-core/log.h> ++#include <avahi-core/util.h> + + #ifdef ENABLE_CHROOT + #include "chroot.h" +@@ -576,6 +577,29 @@ static int parse_usec(const char *s, AvahiUsec *u) { + return 0; + } + ++static char *get_machine_id(void) { ++ int fd; ++ char buf[32]; ++ ++ fd = open("/etc/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY); ++ if (fd == -1 && errno == ENOENT) ++ fd = open("/var/lib/dbus/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY); ++ if (fd == -1) ++ return NULL; ++ ++ /* File is on a filesystem so we never get EINTR or partial reads */ ++ if (read(fd, buf, sizeof buf) != sizeof buf) { ++ close(fd); ++ return NULL; ++ } ++ close(fd); ++ ++ /* Contents can be lower, upper and even mixed case so normalize */ ++ avahi_strdown(buf); ++ ++ return avahi_strndup(buf, sizeof buf); ++} ++ + static int load_config_file(DaemonConfig *c) { + int r = -1; + AvahiIniFile *f; +@@ -631,6 +655,15 @@ static int load_config_file(DaemonConfig *c) { + c->server_config.use_iff_running = is_yes(p->value); + else if (strcasecmp(p->key, "disallow-other-stacks") == 0) + c->server_config.disallow_other_stacks = is_yes(p->value); ++ else if (strcasecmp(p->key, "host-name-from-machine-id") == 0) { ++ if (*(p->value) == 'y' || *(p->value) == 'Y') { ++ char *machine_id = get_machine_id(); ++ if (machine_id != NULL) { ++ avahi_free(c->server_config.host_name); ++ c->server_config.host_name = machine_id; ++ } ++ } ++ } + #ifdef HAVE_DBUS + else if (strcasecmp(p->key, "enable-dbus") == 0) { + +diff --git a/man/avahi-daemon.conf.5.xml.in b/man/avahi-daemon.conf.5.xml.in +index bea7ed5..2d15017 100644 +--- a/man/avahi-daemon.conf.5.xml.in ++++ b/man/avahi-daemon.conf.5.xml.in +@@ -40,6 +40,12 @@ + </option> + + <option> ++ <p><opt>host-name-from-machine-id=</opt> Takes a boolean ++ value ("yes" or "no"). If set to "yes" avahi-daemon ++ will use the machine-id as name on the LAN.</p> ++ </option> ++ ++ <option> + <p><opt>domain-name=</opt> Set the default domain name avahi-daemon + tries to register its host name and services on the LAN in. If + omitted defaults to ".local".</p> diff --git a/net-dns/avahi-gtk3/files/avahi-0.6.31-install-exec-hook.patch b/net-dns/avahi-gtk3/files/avahi-0.6.31-install-exec-hook.patch new file mode 100644 index 00000000..d9a7bc34 --- /dev/null +++ b/net-dns/avahi-gtk3/files/avahi-0.6.31-install-exec-hook.patch @@ -0,0 +1,11 @@ +--- avahi-0.6.31/avahi-utils/Makefile.am ++++ avahi-0.6.31/avahi-utils/Makefile.am +@@ -53,7 +53,7 @@ + avahi_set_host_name_CFLAGS = $(AM_CFLAGS) + avahi_set_host_name_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la + +-install-exec-local: ++install-exec-hook: + cd $(DESTDIR)/$(bindir) && \ + rm -f avahi-resolve-host-name avahi-resolve-address avahi-browse-domains avahi-publish-address avahi-publish-service && \ + $(LN_S) avahi-resolve avahi-resolve-host-name && \ diff --git a/net-dns/avahi-gtk3/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch b/net-dns/avahi-gtk3/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch new file mode 100644 index 00000000..9c23ca5e --- /dev/null +++ b/net-dns/avahi-gtk3/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch @@ -0,0 +1,30 @@ +https://bugs.gentoo.org/484212 + +Description: SO_REUSEPORT may not exist in running kernel + When userspace defines SO_REUSEPORT we will attempt to enable socket + port number reuse. However if the running kernel does not support + this call it will fail preventing daemon startup. If this call is + present but fails ENOPROTOOPT then we know that actually the kernel + does not support it and we should continue as if we did not have the + call at all. (LP: #1228204) + . + This patch could be removed from the debian package after jessie release. +Author: Andy Whitcroft <apw@canonical.com> +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1228204 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732009 +Last-Update: 2013-09-20 + +Index: avahi-0.6.31/avahi-core/socket.c +=================================================================== +--- avahi-0.6.31.orig/avahi-core/socket.c 2013-09-20 16:36:50.000000000 +0100 ++++ avahi-0.6.31/avahi-core/socket.c 2013-09-20 16:38:23.781863644 +0100 +@@ -177,7 +177,8 @@ + yes = 1; + if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &yes, sizeof(yes)) < 0) { + avahi_log_warn("SO_REUSEPORT failed: %s", strerror(errno)); +- return -1; ++ if (errno != ENOPROTOOPT) ++ return -1; + } + #endif + diff --git a/net-dns/avahi-gtk3/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch b/net-dns/avahi-gtk3/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch new file mode 100644 index 00000000..394f6d34 --- /dev/null +++ b/net-dns/avahi-gtk3/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch @@ -0,0 +1,22 @@ +--- avahi-0.6.30/initscript/gentoo/avahi-daemon.in ++++ avahi-0.6.30/initscript/gentoo/avahi-daemon.in +@@ -2,7 +2,7 @@ + # Copyright 1999-2007 Gentoo Foundation + # Distributed under the terms of the GNU General Public License v2 + +-opts="reload" ++extra_started_commands="reload" + + depend() { + before netmount nfsmount +--- avahi-0.6.30/initscript/gentoo/avahi-dnsconfd.in ++++ avahi-0.6.30/initscript/gentoo/avahi-dnsconfd.in +@@ -2,7 +2,7 @@ + # Copyright 1999-2007 Gentoo Foundation + # Distributed under the terms of the GNU General Public License v2 + +-opts="reload" ++extra_started_commands="reload" + + depend() { + need avahi-daemon diff --git a/net-dns/avahi-gtk3/metadata.xml b/net-dns/avahi-gtk3/metadata.xml new file mode 100644 index 00000000..2c673780 --- /dev/null +++ b/net-dns/avahi-gtk3/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>no-herd</herd> +<maintainer> + <email>lxnay@gentoo.org</email> +</maintainer> +</pkgmetadata> diff --git a/net-dns/avahi-mono/Manifest b/net-dns/avahi-mono/Manifest new file mode 100644 index 00000000..0206eaaa --- /dev/null +++ b/net-dns/avahi-mono/Manifest @@ -0,0 +1 @@ +DIST avahi-0.6.31.tar.gz 1268686 SHA256 8372719b24e2dd75de6f59bb1315e600db4fd092805bd1201ed0cb651a2dab48 SHA512 53eb00d570a274d841e1e6ad07da077950089ae39b4f7aa21fcd21cc5320b30b506b43e7e57e56198e155cc7bd289b779a48b2b2fc002dc6194a946110451858 WHIRLPOOL a6d97b87dfbb81be359ee03d8f32ebafdbb311bd596d686aeb55a2952ecb6c7c84466b1230e70392ffe23a20a56da7e0a5bd00c8dc1812b2156c0b4a8022144f diff --git a/net-dns/avahi-mono/avahi-mono-0.6.31-r1.ebuild b/net-dns/avahi-mono/avahi-mono-0.6.31-r1.ebuild new file mode 100644 index 00000000..c9d02bab --- /dev/null +++ b/net-dns/avahi-mono/avahi-mono-0.6.31-r1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2013 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" + +IUSE="doc gtk" +COMMON_DEPEND="=net-dns/avahi-base-${PVR}[dbus] + >=dev-lang/mono-1.1.10 + gtk? ( + =net-dns/avahi-gtk-${PVR} + >=dev-dotnet/gtk-sharp-2 + )" +AVAHI_MODULE_DEPEND="${COMMON_DEPEND} + doc? ( >=virtual/monodoc-1.1.8 )" +AVAHI_MODULE_RDEPEND="${COMMON_DEPEND}" + +WANT_AUTOMAKE=1.11 +AVAHI_PATCHES=( + # Fix init scripts for >=openrc-0.9.0 (bug #383641) + "${FILESDIR}/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch" + # install-exec-local -> install-exec-hook + "${FILESDIR}"/${P/-mono}-install-exec-hook.patch + # Backport host-name-from-machine-id patch, bug #466134 + "${FILESDIR}"/${P/-mono}-host-name-from-machine-id.patch +) +inherit eutils avahi + +src_configure() { + local myconf="--enable-mono --enable-dbus" + myconf+=" $(use_enable doc monodoc)" + avahi_src_configure "${myconf}" +} + +src_compile() { + for target in avahi-common avahi-client avahi-glib avahi-sharp; do + cd "${S}"/${target} || die + emake || die + done + cd "${S}" || die + emake avahi-sharp.pc || die + if use gtk; then + cd "${S}"/avahi-ui-sharp || die + emake || die + cd "${S}" || die + emake avahi-ui-sharp.pc || die + fi +} + +src_install() { + cd "${S}"/avahi-sharp || die + emake install DESTDIR="${ED}" || die + if use gtk; then + cd "${S}"/avahi-ui-sharp || die + emake install DESTDIR="${ED}" || die + fi + cd "${S}" || die + dodir /usr/$(get_libdir)/pkgconfig + insinto /usr/$(get_libdir)/pkgconfig + doins *.pc + + avahi_src_install-cleanup +} diff --git a/net-dns/avahi-mono/avahi-mono-0.6.31-r5.ebuild b/net-dns/avahi-mono/avahi-mono-0.6.31-r5.ebuild new file mode 100644 index 00000000..17d9c1f7 --- /dev/null +++ b/net-dns/avahi-mono/avahi-mono-0.6.31-r5.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2014 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" + +AVAHI_MODULE="${AVAHI_MODULE:-${PN/avahi-}}" +MY_P=${P/-${AVAHI_MODULE}} +MY_PN=${PN/-${AVAHI_MODULE}} + +WANT_AUTOMAKE=1.11 + +PYTHON_COMPAT=( python{2_6,2_7} ) +PYTHON_REQ_USE="gdbm" + +inherit autotools eutils flag-o-matic multilib multilib-minimal \ + python-r1 systemd user + +DESCRIPTION="System which facilitates service discovery on a local network (mono pkg)" +HOMEPAGE="http://avahi.org/" +SRC_URI="http://avahi.org/download/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +IUSE="dbus doc gdbm gtk introspection nls python utils" + +S="${WORKDIR}/${MY_P}" + +COMMON_DEPEND=" + ~net-dns/avahi-base-${PV}[dbus=,gdbm=,introspection=,nls=,python=,${MULTILIB_USEDEP}] + gtk? ( + ~net-dns/avahi-gtk-${PV}[dbus=,gdbm=,introspection=,nls=,python=,${MULTILIB_USEDEP}] + >=dev-dotnet/gtk-sharp-2 + ) +" + +DEPEND="${COMMON_DEPEND} + doc? ( >=virtual/monodoc-1.1.8 )" +RDEPEND="${COMMON_DEPEND}" + +pkg_setup() { + mono-env_pkg_setup +} + +src_prepare() { + # Make gtk utils optional + epatch "${FILESDIR}"/${MY_PN}-0.6.30-optional-gtk-utils.patch + + # Fix init scripts for >=openrc-0.9.0, bug #383641 + epatch "${FILESDIR}"/${MY_PN}-0.6.x-openrc-0.9.x-init-scripts-fixes.patch + + # install-exec-local -> install-exec-hook + epatch "${FILESDIR}"/${MY_P}-install-exec-hook.patch + + # Backport host-name-from-machine-id patch, bug #466134 + epatch "${FILESDIR}"/${MY_P}-host-name-from-machine-id.patch + + # Don't install avahi-discover unless ENABLE_GTK_UTILS, bug #359575 + epatch "${FILESDIR}"/${MY_P}-fix-install-avahi-discover.patch + + epatch "${FILESDIR}"/${MY_P}-so_reuseport-may-not-exist-in-running-kernel.patch + + # allow building client without the daemon + epatch "${FILESDIR}"/${MY_P}-build-client-without-daemon.patch + + # Drop DEPRECATED flags, bug #384743 + sed -i -e 's:-D[A-Z_]*DISABLE_DEPRECATED=1::g' avahi-ui/Makefile.am || die + + # Fix references to Lennart's home directory, bug #466210 + sed -i -e 's/\/home\/lennart\/tmp\/avahi//g' man/* || die + + # Prevent .pyc files in DESTDIR + >py-compile + + eautoreconf + + # bundled manpages + multilib_copy_sources +} + +src_configure() { + # those steps should be done once-per-ebuild rather than per-ABI + use sh && replace-flags -O? -O0 + + # We need to unset DISPLAY, else the configure script might have problems detecting the pygtk module + unset DISPLAY + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( --disable-static ) + + if ! multilib_is_native_abi; then + myconf+=( + # used by daemons only + --disable-libdaemon + --with-xml=none + ) + fi + + if use python; then + myconf+=( + $(multilib_native_use_enable dbus python-dbus) + ) + fi + + econf \ + --localstatedir="${EPREFIX}/var" \ + --with-distro=gentoo \ + --disable-python-dbus \ + --disable-xmltoman \ + --disable-monodoc \ + --disable-pygtk \ + --enable-glib \ + --enable-gobject \ + $(use_enable dbus) \ + $(multilib_native_use_enable python) \ + $(use_enable nls) \ + $(multilib_native_use_enable introspection) \ + --disable-qt3 \ + --disable-qt4 \ + --disable-gtk --disable-gtk-utils \ + --disable-gtk3 \ + $(multilib_is_native_abi && echo -n --enable-mono || echo -n --disable-mono) \ + $(multilib_is_native_abi && echo -n --enable-monodoc || echo -n --disable-monodoc) \ + $(use_enable gdbm) \ + $(systemd_with_unitdir) \ + "${myconf[@]}" +} + +multilib_src_compile() { + if multilib_is_native_abi; then + for target in avahi-common avahi-client avahi-glib avahi-sharp; do + cd "${BUILD_DIR}"/${target} || die + emake || die + done + cd "${BUILD_DIR}" || die + emake avahi-sharp.pc || die + + if use gtk; then + cd "${BUILD_DIR}"/avahi-ui-sharp || die + emake || die + cd "${BUILD_DIR}" || die + emake avahi-ui-sharp.pc || die + fi + fi +} + +multilib_src_install() { + mkdir -p "${D}/usr/bin" || die + + if multilib_is_native_abi; then + cd "${BUILD_DIR}"/avahi-sharp || die + emake install DESTDIR="${D}" || die + if use gtk; then + cd "${BUILD_DIR}"/avahi-ui-sharp || die + emake install DESTDIR="${D}" || die + fi + cd "${BUILD_DIR}" || die + dodir /usr/$(get_libdir)/pkgconfig + insinto /usr/$(get_libdir)/pkgconfig + doins *.pc + fi +} + +multilib_src_install_all() { + prune_libtool_files --all +} diff --git a/net-dns/avahi-mono/files/avahi-0.6.30-automake-1.11.2.patch b/net-dns/avahi-mono/files/avahi-0.6.30-automake-1.11.2.patch new file mode 100644 index 00000000..be385f6c --- /dev/null +++ b/net-dns/avahi-mono/files/avahi-0.6.30-automake-1.11.2.patch @@ -0,0 +1,102 @@ +http://bugs.gentoo.org/397477 + +--- avahi-python/avahi/Makefile.am ++++ avahi-python/avahi/Makefile.am +@@ -31,7 +31,7 @@ + -e 's,@FIRST_KEY\@,key = self.db.firstkey(),g' \ + -e 's,@CHECK_KEY\@,while key is not None:,g' \ + -e 's,@NEXT_KEY\@,key = self.db.nextkey(key),g' \ +- -e 's,@pkglibdir\@,$(pkglibdir),g' $< > $@ && \ ++ -e 's,@pkgdatadir\@,$(pkgdatadir),g' $< > $@ && \ + chmod +x $@ + endif + +@@ -44,7 +44,7 @@ + -e 's,@FIRST_KEY\@,keys = self.db.keys(),g' \ + -e 's,@CHECK_KEY\@,for key in keys:,g' \ + -e 's,@NEXT_KEY\@,,g' \ +- -e 's,@pkglibdir\@,$(pkglibdir),g' $< > $@ && \ ++ -e 's,@pkgdatadir\@,$(pkgdatadir),g' $< > $@ && \ + chmod +x $@ + endif + +--- avahi-python/avahi/ServiceTypeDatabase.py.in ++++ avahi-python/avahi/ServiceTypeDatabase.py.in +@@ -26,7 +26,7 @@ + class ServiceTypeDatabase: + """ServiceTypeDatabase maps service types to descriptions""" + +- def __init__(self, filename = "@pkglibdir@/service-types.db"): ++ def __init__(self, filename = "@pkgdatadir@/service-types.db"): + + self.db = @DBM@.open(filename, "r") + +--- avahi-ui/Makefile.am ++++ avahi-ui/Makefile.am +@@ -62,18 +62,18 @@ + + if HAVE_GDBM + libavahi_ui_la_SOURCES += ../avahi-utils/stdb.h ../avahi-utils/stdb.c +-libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + libavahi_ui_la_LIBADD += -lgdbm + +-libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + libavahi_ui_gtk3_la_LIBADD += -lgdbm + endif + + if HAVE_DBM + libavahi_ui_la_SOURCES += ../avahi-utils/stdb.h ../avahi-utils/stdb.c +-libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + +-libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + endif + + bin_PROGRAMS = bssh +--- avahi-utils/Makefile.am ++++ avahi-utils/Makefile.am +@@ -30,13 +30,13 @@ + + if HAVE_GDBM + avahi_browse_SOURCES += stdb.h stdb.c +-avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + avahi_browse_LDADD += -lgdbm + endif + + if HAVE_DBM + avahi_browse_SOURCES += stdb.h stdb.c +-avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + endif + + avahi_resolve_SOURCES = avahi-resolve.c sigint.c sigint.h +--- service-type-database/Makefile.am ++++ service-type-database/Makefile.am +@@ -18,13 +18,12 @@ + EXTRA_DIST=build-db.in service-types + + pkgdata_DATA=service-types +-pkglib_DATA= + + if HAVE_PYTHON + if HAVE_GDBM + + noinst_SCRIPTS=build-db +-pkglib_DATA+=service-types.db ++pkgdata_DATA+=service-types.db + + build-db: build-db.in + $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ +@@ -41,7 +40,7 @@ + if HAVE_DBM + + noinst_SCRIPTS=build-db +-pkglib_DATA+=service-types.db.pag service-types.db.dir ++pkgdata_DATA+=service-types.db.pag service-types.db.dir + + build-db: build-db.in + $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ diff --git a/net-dns/avahi-mono/files/avahi-0.6.30-optional-gtk-utils.patch b/net-dns/avahi-mono/files/avahi-0.6.30-optional-gtk-utils.patch new file mode 100644 index 00000000..2c615a2b --- /dev/null +++ b/net-dns/avahi-mono/files/avahi-0.6.30-optional-gtk-utils.patch @@ -0,0 +1,83 @@ +--- avahi-discover-standalone/Makefile.am ++++ avahi-discover-standalone/Makefile.am +@@ -23,7 +23,7 @@ + # This cool debug trap works on i386/gcc only + AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")' + +-if HAVE_GTK2OR3 ++if ENABLE_GTK_UTILS + if HAVE_GLIB + bin_PROGRAMS = \ + avahi-discover-standalone +--- avahi-ui/Makefile.am ++++ avahi-ui/Makefile.am +@@ -76,6 +76,7 @@ + libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" + endif + ++if ENABLE_GTK_UTILS + bin_PROGRAMS = bssh + desktop_DATA += bssh.desktop bvnc.desktop + @INTLTOOL_DESKTOP_RULE@ +@@ -102,6 +103,7 @@ + bvnc.desktop.in: bvnc.desktop.in.in + $(AM_V_GEN)sed -e 's,@bindir\@,$(bindir),g' $< > $@ + ++endif # ENABLE_GTK_UTILS + endif # HAVE_GLIB + endif + endif +--- configure.ac ++++ configure.ac +@@ -564,7 +564,29 @@ + fi + AM_CONDITIONAL(HAVE_GTK3, test "x$HAVE_GTK3" = "xyes") + +-AM_CONDITIONAL(HAVE_GTK2OR3, test "x$HAVE_GTK3" = "xyes" -o "x$HAVE_GTK" = "xyes" ) ++# ++# Check for GTK+ Utils ++# ++AC_ARG_ENABLE(gtk-utils, ++ AS_HELP_STRING([--disable-gtk-utils],[Disable GTK+ utilities]), ++ [case "${enableval}" in ++ yes) WANT_GTK_UTILS=yes ;; ++ no) WANT_GTK_UTILS=no ;; ++ *) AC_MSG_ERROR(bad value ${enableval} for --enable-gtk-utils) ;; ++ esac], ++ [WANT_GTK_UTILS=yes]) ++ ++ENABLE_GTK_UTILS=no ++HAVE_GTK2OR3=no ++if test "x$HAVE_GTK3" = "xyes" -o "x$HAVE_GTK" = "xyes"; then ++ HAVE_GTK2OR3=yes ++ if test "x$WANT_GTK_UTILS" = "xyes"; then ++ ENABLE_GTK_UTILS=yes ++ fi ++fi ++ ++AM_CONDITIONAL(HAVE_GTK2OR3, test "x$HAVE_GTK2OR3" = "xyes") ++AM_CONDITIONAL(ENABLE_GTK_UTILS, test "x$ENABLE_GTK_UTILS" = "xyes") + + # + # D-Bus +@@ -1199,11 +1221,6 @@ + ENABLE_AUTOIPD="no (You need libdaemon!)" + fi + +-HAVE_GTK2OR3=no +-if test "x$HAVE_GTK" = "xyes" -o "x$HAVE_GTK3" = "xyes" ; then +- HAVE_GTK2OR3=yes +-fi +- + BUILD_UI="no" + if test "x$HAVE_GTK2OR3" = "xyes" -a "x$BUILD_CLIENT" = "xyes" ; then + BUILD_UI="yes" +@@ -1223,7 +1240,7 @@ + Building avahi-python: ${BUILD_PYTHON} + Building libavahi-glib: ${HAVE_GLIB} + Building libavahi-gobject: ${BUILD_GOBJECT} +- Building avahi-discover-standalone: ${HAVE_GTK2OR3} ++ Building avahi-discover-standalone: ${ENABLE_GTK_UTILS} + Building libavahi-qt3: ${HAVE_QT3} + Building libavahi-qt4: ${HAVE_QT4} + Building avahi-sharp: ${HAVE_MONO} diff --git a/net-dns/avahi-mono/files/avahi-0.6.30-parallel.patch b/net-dns/avahi-mono/files/avahi-0.6.30-parallel.patch new file mode 100644 index 00000000..a75f9910 --- /dev/null +++ b/net-dns/avahi-mono/files/avahi-0.6.30-parallel.patch @@ -0,0 +1,34 @@ +From cb10a844f9e91322aca91340b7adc0db19c96b36 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@flameeyes.eu> +Date: Mon, 30 Apr 2012 17:07:41 -0700 +Subject: [PATCH] build-sys: fix parallel install in avahi-utils +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The moment install-exec-local is called, we might still not have +created ${DESTDIR}/${bindir} so we should make sure to create it +first, and then try to chdir into it. + +Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu> +--- + avahi-utils/Makefile.am | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/avahi-utils/Makefile.am b/avahi-utils/Makefile.am +index a644b4a..1abc79a 100644 +--- a/avahi-utils/Makefile.am ++++ b/avahi-utils/Makefile.am +@@ -54,7 +54,8 @@ avahi_set_host_name_CFLAGS = $(AM_CFLAGS) + avahi_set_host_name_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la + + install-exec-local: +- cd $(DESTDIR)/$(bindir) && \ ++ $(mkdir_p) $(DESTDIR)/$(bindir) && \ ++ cd $(DESTDIR)/$(bindir) && \ + rm -f avahi-resolve-host-name avahi-resolve-address avahi-browse-domains avahi-publish-address avahi-publish-service && \ + $(LN_S) avahi-resolve avahi-resolve-host-name && \ + $(LN_S) avahi-resolve avahi-resolve-address && \ +-- +1.7.8.6 + diff --git a/net-dns/avahi-mono/files/avahi-0.6.31-build-client-without-daemon.patch b/net-dns/avahi-mono/files/avahi-0.6.31-build-client-without-daemon.patch new file mode 100644 index 00000000..df0c420f --- /dev/null +++ b/net-dns/avahi-mono/files/avahi-0.6.31-build-client-without-daemon.patch @@ -0,0 +1,27 @@ +From ce3b83de6aa689c0cefe0b1e85c03a627b537099 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Mon, 12 May 2014 19:46:22 +0200 +Subject: [PATCH] Allow building client without the daemon. + +There's no good reason to disallow that, and that's what we specifically +want to do for multilib. +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0e190ba..c56cf01 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1185,7 +1185,7 @@ fi + + BUILD_CLIENT="no (You need avahi-daemon and D-Bus!)" + +-if test "x$BUILD_DAEMON" = "xyes" -a "x$HAVE_DBUS" = "xyes" ; then ++if "x$HAVE_DBUS" = "xyes" ; then + BUILD_CLIENT=yes + fi + +-- +1.9.3 + diff --git a/net-dns/avahi-mono/files/avahi-0.6.31-fix-install-avahi-discover.patch b/net-dns/avahi-mono/files/avahi-0.6.31-fix-install-avahi-discover.patch new file mode 100644 index 00000000..62ba967c --- /dev/null +++ b/net-dns/avahi-mono/files/avahi-0.6.31-fix-install-avahi-discover.patch @@ -0,0 +1,31 @@ +--- avahi-0.6.30.old/avahi-python/avahi-discover/Makefile.am 2010-06-28 23:30:34.000000000 -0400 ++++ avahi-0.6.30/avahi-python/avahi-discover/Makefile.am 2012-04-21 18:02:01.642934527 -0400 +@@ -22,6 +22,7 @@ + avahi-discover.py \ + avahi-discover.desktop.in.in + ++if ENABLE_GTK_UTILS + if HAVE_PYTHON + if HAVE_PYTHON_DBUS + if HAVE_PYGTK +@@ -67,3 +68,4 @@ + endif + endif + endif ++endif +--- avahi-0.6.30.old/man/Makefile.am 2012-04-21 18:10:45.690900742 -0400 ++++ avahi-0.6.30/man/Makefile.am 2012-04-21 18:09:15.146906578 -0400 +@@ -65,11 +65,13 @@ + man_MANS += \ + avahi-bookmarks.1 + if HAVE_GTK ++if ENABLE_GTK_UTILS + man_MANS += \ + avahi-discover.1 + endif + endif + endif ++endif + + if ENABLE_AUTOIPD + if HAVE_LIBDAEMON diff --git a/net-dns/avahi-mono/files/avahi-0.6.31-host-name-from-machine-id.patch b/net-dns/avahi-mono/files/avahi-0.6.31-host-name-from-machine-id.patch new file mode 100644 index 00000000..17ecba52 --- /dev/null +++ b/net-dns/avahi-mono/files/avahi-0.6.31-host-name-from-machine-id.patch @@ -0,0 +1,85 @@ +From: David Zeuthen <zeuthen@chromium.org> +Date: Tue, 5 Mar 2013 19:52:38 +0000 (-0800) +Subject: avahi-daemon: add option "host-name-from-machine-id=" +X-Git-Url: http://git.0pointer.de/?p=avahi.git;a=commitdiff_plain;h=147cdce70b22ae7cee9fb4fe123db40952f31c9e + +avahi-daemon: add option "host-name-from-machine-id=" + +Signed-off-by: David Zeuthen <zeuthen@chromium.org> +--- + +diff --git a/avahi-daemon/main.c b/avahi-daemon/main.c +index d46f40a..8c28fd6 100644 +--- a/avahi-daemon/main.c ++++ b/avahi-daemon/main.c +@@ -65,6 +65,7 @@ + #include <avahi-core/publish.h> + #include <avahi-core/dns-srv-rr.h> + #include <avahi-core/log.h> ++#include <avahi-core/util.h> + + #ifdef ENABLE_CHROOT + #include "chroot.h" +@@ -576,6 +577,29 @@ static int parse_usec(const char *s, AvahiUsec *u) { + return 0; + } + ++static char *get_machine_id(void) { ++ int fd; ++ char buf[32]; ++ ++ fd = open("/etc/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY); ++ if (fd == -1 && errno == ENOENT) ++ fd = open("/var/lib/dbus/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY); ++ if (fd == -1) ++ return NULL; ++ ++ /* File is on a filesystem so we never get EINTR or partial reads */ ++ if (read(fd, buf, sizeof buf) != sizeof buf) { ++ close(fd); ++ return NULL; ++ } ++ close(fd); ++ ++ /* Contents can be lower, upper and even mixed case so normalize */ ++ avahi_strdown(buf); ++ ++ return avahi_strndup(buf, sizeof buf); ++} ++ + static int load_config_file(DaemonConfig *c) { + int r = -1; + AvahiIniFile *f; +@@ -631,6 +655,15 @@ static int load_config_file(DaemonConfig *c) { + c->server_config.use_iff_running = is_yes(p->value); + else if (strcasecmp(p->key, "disallow-other-stacks") == 0) + c->server_config.disallow_other_stacks = is_yes(p->value); ++ else if (strcasecmp(p->key, "host-name-from-machine-id") == 0) { ++ if (*(p->value) == 'y' || *(p->value) == 'Y') { ++ char *machine_id = get_machine_id(); ++ if (machine_id != NULL) { ++ avahi_free(c->server_config.host_name); ++ c->server_config.host_name = machine_id; ++ } ++ } ++ } + #ifdef HAVE_DBUS + else if (strcasecmp(p->key, "enable-dbus") == 0) { + +diff --git a/man/avahi-daemon.conf.5.xml.in b/man/avahi-daemon.conf.5.xml.in +index bea7ed5..2d15017 100644 +--- a/man/avahi-daemon.conf.5.xml.in ++++ b/man/avahi-daemon.conf.5.xml.in +@@ -40,6 +40,12 @@ + </option> + + <option> ++ <p><opt>host-name-from-machine-id=</opt> Takes a boolean ++ value ("yes" or "no"). If set to "yes" avahi-daemon ++ will use the machine-id as name on the LAN.</p> ++ </option> ++ ++ <option> + <p><opt>domain-name=</opt> Set the default domain name avahi-daemon + tries to register its host name and services on the LAN in. If + omitted defaults to ".local".</p> diff --git a/net-dns/avahi-mono/files/avahi-0.6.31-install-exec-hook.patch b/net-dns/avahi-mono/files/avahi-0.6.31-install-exec-hook.patch new file mode 100644 index 00000000..d9a7bc34 --- /dev/null +++ b/net-dns/avahi-mono/files/avahi-0.6.31-install-exec-hook.patch @@ -0,0 +1,11 @@ +--- avahi-0.6.31/avahi-utils/Makefile.am ++++ avahi-0.6.31/avahi-utils/Makefile.am +@@ -53,7 +53,7 @@ + avahi_set_host_name_CFLAGS = $(AM_CFLAGS) + avahi_set_host_name_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la + +-install-exec-local: ++install-exec-hook: + cd $(DESTDIR)/$(bindir) && \ + rm -f avahi-resolve-host-name avahi-resolve-address avahi-browse-domains avahi-publish-address avahi-publish-service && \ + $(LN_S) avahi-resolve avahi-resolve-host-name && \ diff --git a/net-dns/avahi-mono/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch b/net-dns/avahi-mono/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch new file mode 100644 index 00000000..9c23ca5e --- /dev/null +++ b/net-dns/avahi-mono/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch @@ -0,0 +1,30 @@ +https://bugs.gentoo.org/484212 + +Description: SO_REUSEPORT may not exist in running kernel + When userspace defines SO_REUSEPORT we will attempt to enable socket + port number reuse. However if the running kernel does not support + this call it will fail preventing daemon startup. If this call is + present but fails ENOPROTOOPT then we know that actually the kernel + does not support it and we should continue as if we did not have the + call at all. (LP: #1228204) + . + This patch could be removed from the debian package after jessie release. +Author: Andy Whitcroft <apw@canonical.com> +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1228204 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732009 +Last-Update: 2013-09-20 + +Index: avahi-0.6.31/avahi-core/socket.c +=================================================================== +--- avahi-0.6.31.orig/avahi-core/socket.c 2013-09-20 16:36:50.000000000 +0100 ++++ avahi-0.6.31/avahi-core/socket.c 2013-09-20 16:38:23.781863644 +0100 +@@ -177,7 +177,8 @@ + yes = 1; + if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &yes, sizeof(yes)) < 0) { + avahi_log_warn("SO_REUSEPORT failed: %s", strerror(errno)); +- return -1; ++ if (errno != ENOPROTOOPT) ++ return -1; + } + #endif + diff --git a/net-dns/avahi-mono/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch b/net-dns/avahi-mono/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch new file mode 100644 index 00000000..394f6d34 --- /dev/null +++ b/net-dns/avahi-mono/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch @@ -0,0 +1,22 @@ +--- avahi-0.6.30/initscript/gentoo/avahi-daemon.in ++++ avahi-0.6.30/initscript/gentoo/avahi-daemon.in +@@ -2,7 +2,7 @@ + # Copyright 1999-2007 Gentoo Foundation + # Distributed under the terms of the GNU General Public License v2 + +-opts="reload" ++extra_started_commands="reload" + + depend() { + before netmount nfsmount +--- avahi-0.6.30/initscript/gentoo/avahi-dnsconfd.in ++++ avahi-0.6.30/initscript/gentoo/avahi-dnsconfd.in +@@ -2,7 +2,7 @@ + # Copyright 1999-2007 Gentoo Foundation + # Distributed under the terms of the GNU General Public License v2 + +-opts="reload" ++extra_started_commands="reload" + + depend() { + need avahi-daemon diff --git a/net-dns/avahi-mono/metadata.xml b/net-dns/avahi-mono/metadata.xml new file mode 100644 index 00000000..2c673780 --- /dev/null +++ b/net-dns/avahi-mono/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>no-herd</herd> +<maintainer> + <email>lxnay@gentoo.org</email> +</maintainer> +</pkgmetadata> diff --git a/net-dns/avahi-qt/Manifest b/net-dns/avahi-qt/Manifest new file mode 100644 index 00000000..0206eaaa --- /dev/null +++ b/net-dns/avahi-qt/Manifest @@ -0,0 +1 @@ +DIST avahi-0.6.31.tar.gz 1268686 SHA256 8372719b24e2dd75de6f59bb1315e600db4fd092805bd1201ed0cb651a2dab48 SHA512 53eb00d570a274d841e1e6ad07da077950089ae39b4f7aa21fcd21cc5320b30b506b43e7e57e56198e155cc7bd289b779a48b2b2fc002dc6194a946110451858 WHIRLPOOL a6d97b87dfbb81be359ee03d8f32ebafdbb311bd596d686aeb55a2952ecb6c7c84466b1230e70392ffe23a20a56da7e0a5bd00c8dc1812b2156c0b4a8022144f diff --git a/net-dns/avahi-qt/avahi-qt-0.6.31-r1.ebuild b/net-dns/avahi-qt/avahi-qt-0.6.31-r1.ebuild new file mode 100644 index 00000000..357345d6 --- /dev/null +++ b/net-dns/avahi-qt/avahi-qt-0.6.31-r1.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2013 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="3" + +inherit multilib + +IUSE="" +COMMON_DEPEND="=net-dns/avahi-base-${PVR} + dev-qt/qtcore:4" +AVAHI_MODULE_DEPEND="${COMMON_DEPEND}" +AVAHI_MODULE_RDEPEND="${COMMON_DEPEND}" + +WANT_AUTOMAKE=1.11 +AVAHI_PATCHES=( + # Fix init scripts for >=openrc-0.9.0 (bug #383641) + "${FILESDIR}/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch" + # install-exec-local -> install-exec-hook + "${FILESDIR}"/${P/-qt}-install-exec-hook.patch + # Backport host-name-from-machine-id patch, bug #466134 + "${FILESDIR}"/${P/-qt}-host-name-from-machine-id.patch +) +inherit eutils avahi + +src_configure() { + local myconf=" --enable-qt4 + --disable-mono" + avahi_src_configure "${myconf}" +} + +src_compile() { + cd "${S}"/avahi-common || die + emake || die + cd "${S}"/avahi-qt || die + emake || die + cd "${S}" || die + emake avahi-qt4.pc || die +} + +src_install() { + cd "${S}"/avahi-qt || die + emake install DESTDIR="${ED}" || die + + cd "${S}" || die + dodir /usr/$(get_libdir)/pkgconfig + insinto /usr/$(get_libdir)/pkgconfig + doins avahi-qt4.pc + + avahi_src_install-cleanup +} diff --git a/net-dns/avahi-qt/avahi-qt-0.6.31-r5.ebuild b/net-dns/avahi-qt/avahi-qt-0.6.31-r5.ebuild new file mode 100644 index 00000000..7eaa29d2 --- /dev/null +++ b/net-dns/avahi-qt/avahi-qt-0.6.31-r5.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2014 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" + +AVAHI_MODULE="${AVAHI_MODULE:-${PN/avahi-}}" +MY_P=${P/-${AVAHI_MODULE}} +MY_PN=${PN/-${AVAHI_MODULE}} + +WANT_AUTOMAKE=1.11 + +PYTHON_COMPAT=( python{2_6,2_7} ) +PYTHON_REQ_USE="gdbm" + +inherit autotools eutils flag-o-matic multilib multilib-minimal \ + python-r1 systemd user + +DESCRIPTION="System which facilitates service discovery on a local network (qt4 pkg)" +HOMEPAGE="http://avahi.org/" +SRC_URI="http://avahi.org/download/${MY_P}.tar.gz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +IUSE="dbus gdbm introspection nls python utils" + +S="${WORKDIR}/${MY_P}" + +COMMON_DEPEND=" + ~net-dns/avahi-base-${PV}[dbus=,gdbm=,introspection=,nls=,python=,${MULTILIB_USEDEP}] + dev-qt/qtcore:4 +" + +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +MULTILIB_WRAPPED_HEADERS=( + # necessary until the UI libraries are ported + /usr/include/avahi-qt4/qt-watch.h +) + +src_prepare() { + # Make gtk utils optional + epatch "${FILESDIR}"/${MY_PN}-0.6.30-optional-gtk-utils.patch + + # Fix init scripts for >=openrc-0.9.0, bug #383641 + epatch "${FILESDIR}"/${MY_PN}-0.6.x-openrc-0.9.x-init-scripts-fixes.patch + + # install-exec-local -> install-exec-hook + epatch "${FILESDIR}"/${MY_P}-install-exec-hook.patch + + # Backport host-name-from-machine-id patch, bug #466134 + epatch "${FILESDIR}"/${MY_P}-host-name-from-machine-id.patch + + # Don't install avahi-discover unless ENABLE_GTK_UTILS, bug #359575 + epatch "${FILESDIR}"/${MY_P}-fix-install-avahi-discover.patch + + epatch "${FILESDIR}"/${MY_P}-so_reuseport-may-not-exist-in-running-kernel.patch + + # allow building client without the daemon + epatch "${FILESDIR}"/${MY_P}-build-client-without-daemon.patch + + # Drop DEPRECATED flags, bug #384743 + sed -i -e 's:-D[A-Z_]*DISABLE_DEPRECATED=1::g' avahi-ui/Makefile.am || die + + # Fix references to Lennart's home directory, bug #466210 + sed -i -e 's/\/home\/lennart\/tmp\/avahi//g' man/* || die + + # Prevent .pyc files in DESTDIR + >py-compile + + eautoreconf + + # bundled manpages + multilib_copy_sources +} + +src_configure() { + # those steps should be done once-per-ebuild rather than per-ABI + use sh && replace-flags -O? -O0 + + # We need to unset DISPLAY, else the configure script might have problems detecting the pygtk module + unset DISPLAY + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myconf=( --disable-static ) + + if ! multilib_is_native_abi; then + myconf+=( + # used by daemons only + --disable-libdaemon + --with-xml=none + ) + fi + + if use python; then + myconf+=( + $(multilib_native_use_enable dbus python-dbus) + ) + fi + + econf \ + --localstatedir="${EPREFIX}/var" \ + --with-distro=gentoo \ + --disable-python-dbus \ + --disable-xmltoman \ + --disable-monodoc \ + --disable-pygtk \ + --enable-glib \ + --enable-gobject \ + $(use_enable dbus) \ + $(multilib_native_use_enable python) \ + $(use_enable nls) \ + $(multilib_native_use_enable introspection) \ + --disable-qt3 \ + --disable-gtk3 \ + --disable-gtk --disable-gtk-utils \ + $(multilib_is_native_abi && echo -n --enable-qt4 || echo -n --disable-qt4) \ + $(use_enable gdbm) \ + $(systemd_with_unitdir) \ + "${myconf[@]}" +} + +multilib_src_compile() { + if multilib_is_native_abi; then + cd "${BUILD_DIR}"/avahi-common || die + emake || die + cd "${BUILD_DIR}"/avahi-qt || die + emake || die + cd "${BUILD_DIR}" || die + emake avahi-qt4.pc || die + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + mkdir -p "${D}/usr/bin" || die + + cd "${BUILD_DIR}"/avahi-qt || die + emake install DESTDIR="${D}" || die + + cd "${BUILD_DIR}" || die + dodir /usr/$(get_libdir)/pkgconfig + insinto /usr/$(get_libdir)/pkgconfig + doins avahi-qt4.pc + fi +} + +multilib_src_install_all() { + prune_libtool_files --all +} diff --git a/net-dns/avahi-qt/files/avahi-0.6.30-automake-1.11.2.patch b/net-dns/avahi-qt/files/avahi-0.6.30-automake-1.11.2.patch new file mode 100644 index 00000000..be385f6c --- /dev/null +++ b/net-dns/avahi-qt/files/avahi-0.6.30-automake-1.11.2.patch @@ -0,0 +1,102 @@ +http://bugs.gentoo.org/397477 + +--- avahi-python/avahi/Makefile.am ++++ avahi-python/avahi/Makefile.am +@@ -31,7 +31,7 @@ + -e 's,@FIRST_KEY\@,key = self.db.firstkey(),g' \ + -e 's,@CHECK_KEY\@,while key is not None:,g' \ + -e 's,@NEXT_KEY\@,key = self.db.nextkey(key),g' \ +- -e 's,@pkglibdir\@,$(pkglibdir),g' $< > $@ && \ ++ -e 's,@pkgdatadir\@,$(pkgdatadir),g' $< > $@ && \ + chmod +x $@ + endif + +@@ -44,7 +44,7 @@ + -e 's,@FIRST_KEY\@,keys = self.db.keys(),g' \ + -e 's,@CHECK_KEY\@,for key in keys:,g' \ + -e 's,@NEXT_KEY\@,,g' \ +- -e 's,@pkglibdir\@,$(pkglibdir),g' $< > $@ && \ ++ -e 's,@pkgdatadir\@,$(pkgdatadir),g' $< > $@ && \ + chmod +x $@ + endif + +--- avahi-python/avahi/ServiceTypeDatabase.py.in ++++ avahi-python/avahi/ServiceTypeDatabase.py.in +@@ -26,7 +26,7 @@ + class ServiceTypeDatabase: + """ServiceTypeDatabase maps service types to descriptions""" + +- def __init__(self, filename = "@pkglibdir@/service-types.db"): ++ def __init__(self, filename = "@pkgdatadir@/service-types.db"): + + self.db = @DBM@.open(filename, "r") + +--- avahi-ui/Makefile.am ++++ avahi-ui/Makefile.am +@@ -62,18 +62,18 @@ + + if HAVE_GDBM + libavahi_ui_la_SOURCES += ../avahi-utils/stdb.h ../avahi-utils/stdb.c +-libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + libavahi_ui_la_LIBADD += -lgdbm + +-libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + libavahi_ui_gtk3_la_LIBADD += -lgdbm + endif + + if HAVE_DBM + libavahi_ui_la_SOURCES += ../avahi-utils/stdb.h ../avahi-utils/stdb.c +-libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + +-libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + endif + + bin_PROGRAMS = bssh +--- avahi-utils/Makefile.am ++++ avahi-utils/Makefile.am +@@ -30,13 +30,13 @@ + + if HAVE_GDBM + avahi_browse_SOURCES += stdb.h stdb.c +-avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + avahi_browse_LDADD += -lgdbm + endif + + if HAVE_DBM + avahi_browse_SOURCES += stdb.h stdb.c +-avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" ++avahi_browse_CFLAGS += -DDATABASE_FILE=\"$(pkgdatadir)/service-types.db\" + endif + + avahi_resolve_SOURCES = avahi-resolve.c sigint.c sigint.h +--- service-type-database/Makefile.am ++++ service-type-database/Makefile.am +@@ -18,13 +18,12 @@ + EXTRA_DIST=build-db.in service-types + + pkgdata_DATA=service-types +-pkglib_DATA= + + if HAVE_PYTHON + if HAVE_GDBM + + noinst_SCRIPTS=build-db +-pkglib_DATA+=service-types.db ++pkgdata_DATA+=service-types.db + + build-db: build-db.in + $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ +@@ -41,7 +40,7 @@ + if HAVE_DBM + + noinst_SCRIPTS=build-db +-pkglib_DATA+=service-types.db.pag service-types.db.dir ++pkgdata_DATA+=service-types.db.pag service-types.db.dir + + build-db: build-db.in + $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ diff --git a/net-dns/avahi-qt/files/avahi-0.6.30-optional-gtk-utils.patch b/net-dns/avahi-qt/files/avahi-0.6.30-optional-gtk-utils.patch new file mode 100644 index 00000000..2c615a2b --- /dev/null +++ b/net-dns/avahi-qt/files/avahi-0.6.30-optional-gtk-utils.patch @@ -0,0 +1,83 @@ +--- avahi-discover-standalone/Makefile.am ++++ avahi-discover-standalone/Makefile.am +@@ -23,7 +23,7 @@ + # This cool debug trap works on i386/gcc only + AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")' + +-if HAVE_GTK2OR3 ++if ENABLE_GTK_UTILS + if HAVE_GLIB + bin_PROGRAMS = \ + avahi-discover-standalone +--- avahi-ui/Makefile.am ++++ avahi-ui/Makefile.am +@@ -76,6 +76,7 @@ + libavahi_ui_gtk3_la_CFLAGS += -DDATABASE_FILE=\"$(pkglibdir)/service-types.db\" + endif + ++if ENABLE_GTK_UTILS + bin_PROGRAMS = bssh + desktop_DATA += bssh.desktop bvnc.desktop + @INTLTOOL_DESKTOP_RULE@ +@@ -102,6 +103,7 @@ + bvnc.desktop.in: bvnc.desktop.in.in + $(AM_V_GEN)sed -e 's,@bindir\@,$(bindir),g' $< > $@ + ++endif # ENABLE_GTK_UTILS + endif # HAVE_GLIB + endif + endif +--- configure.ac ++++ configure.ac +@@ -564,7 +564,29 @@ + fi + AM_CONDITIONAL(HAVE_GTK3, test "x$HAVE_GTK3" = "xyes") + +-AM_CONDITIONAL(HAVE_GTK2OR3, test "x$HAVE_GTK3" = "xyes" -o "x$HAVE_GTK" = "xyes" ) ++# ++# Check for GTK+ Utils ++# ++AC_ARG_ENABLE(gtk-utils, ++ AS_HELP_STRING([--disable-gtk-utils],[Disable GTK+ utilities]), ++ [case "${enableval}" in ++ yes) WANT_GTK_UTILS=yes ;; ++ no) WANT_GTK_UTILS=no ;; ++ *) AC_MSG_ERROR(bad value ${enableval} for --enable-gtk-utils) ;; ++ esac], ++ [WANT_GTK_UTILS=yes]) ++ ++ENABLE_GTK_UTILS=no ++HAVE_GTK2OR3=no ++if test "x$HAVE_GTK3" = "xyes" -o "x$HAVE_GTK" = "xyes"; then ++ HAVE_GTK2OR3=yes ++ if test "x$WANT_GTK_UTILS" = "xyes"; then ++ ENABLE_GTK_UTILS=yes ++ fi ++fi ++ ++AM_CONDITIONAL(HAVE_GTK2OR3, test "x$HAVE_GTK2OR3" = "xyes") ++AM_CONDITIONAL(ENABLE_GTK_UTILS, test "x$ENABLE_GTK_UTILS" = "xyes") + + # + # D-Bus +@@ -1199,11 +1221,6 @@ + ENABLE_AUTOIPD="no (You need libdaemon!)" + fi + +-HAVE_GTK2OR3=no +-if test "x$HAVE_GTK" = "xyes" -o "x$HAVE_GTK3" = "xyes" ; then +- HAVE_GTK2OR3=yes +-fi +- + BUILD_UI="no" + if test "x$HAVE_GTK2OR3" = "xyes" -a "x$BUILD_CLIENT" = "xyes" ; then + BUILD_UI="yes" +@@ -1223,7 +1240,7 @@ + Building avahi-python: ${BUILD_PYTHON} + Building libavahi-glib: ${HAVE_GLIB} + Building libavahi-gobject: ${BUILD_GOBJECT} +- Building avahi-discover-standalone: ${HAVE_GTK2OR3} ++ Building avahi-discover-standalone: ${ENABLE_GTK_UTILS} + Building libavahi-qt3: ${HAVE_QT3} + Building libavahi-qt4: ${HAVE_QT4} + Building avahi-sharp: ${HAVE_MONO} diff --git a/net-dns/avahi-qt/files/avahi-0.6.30-parallel.patch b/net-dns/avahi-qt/files/avahi-0.6.30-parallel.patch new file mode 100644 index 00000000..a75f9910 --- /dev/null +++ b/net-dns/avahi-qt/files/avahi-0.6.30-parallel.patch @@ -0,0 +1,34 @@ +From cb10a844f9e91322aca91340b7adc0db19c96b36 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Diego=20Elio=20Petten=C3=B2?= <flameeyes@flameeyes.eu> +Date: Mon, 30 Apr 2012 17:07:41 -0700 +Subject: [PATCH] build-sys: fix parallel install in avahi-utils +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The moment install-exec-local is called, we might still not have +created ${DESTDIR}/${bindir} so we should make sure to create it +first, and then try to chdir into it. + +Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu> +--- + avahi-utils/Makefile.am | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/avahi-utils/Makefile.am b/avahi-utils/Makefile.am +index a644b4a..1abc79a 100644 +--- a/avahi-utils/Makefile.am ++++ b/avahi-utils/Makefile.am +@@ -54,7 +54,8 @@ avahi_set_host_name_CFLAGS = $(AM_CFLAGS) + avahi_set_host_name_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la + + install-exec-local: +- cd $(DESTDIR)/$(bindir) && \ ++ $(mkdir_p) $(DESTDIR)/$(bindir) && \ ++ cd $(DESTDIR)/$(bindir) && \ + rm -f avahi-resolve-host-name avahi-resolve-address avahi-browse-domains avahi-publish-address avahi-publish-service && \ + $(LN_S) avahi-resolve avahi-resolve-host-name && \ + $(LN_S) avahi-resolve avahi-resolve-address && \ +-- +1.7.8.6 + diff --git a/net-dns/avahi-qt/files/avahi-0.6.31-build-client-without-daemon.patch b/net-dns/avahi-qt/files/avahi-0.6.31-build-client-without-daemon.patch new file mode 100644 index 00000000..df0c420f --- /dev/null +++ b/net-dns/avahi-qt/files/avahi-0.6.31-build-client-without-daemon.patch @@ -0,0 +1,27 @@ +From ce3b83de6aa689c0cefe0b1e85c03a627b537099 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> +Date: Mon, 12 May 2014 19:46:22 +0200 +Subject: [PATCH] Allow building client without the daemon. + +There's no good reason to disallow that, and that's what we specifically +want to do for multilib. +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 0e190ba..c56cf01 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1185,7 +1185,7 @@ fi + + BUILD_CLIENT="no (You need avahi-daemon and D-Bus!)" + +-if test "x$BUILD_DAEMON" = "xyes" -a "x$HAVE_DBUS" = "xyes" ; then ++if "x$HAVE_DBUS" = "xyes" ; then + BUILD_CLIENT=yes + fi + +-- +1.9.3 + diff --git a/net-dns/avahi-qt/files/avahi-0.6.31-fix-install-avahi-discover.patch b/net-dns/avahi-qt/files/avahi-0.6.31-fix-install-avahi-discover.patch new file mode 100644 index 00000000..62ba967c --- /dev/null +++ b/net-dns/avahi-qt/files/avahi-0.6.31-fix-install-avahi-discover.patch @@ -0,0 +1,31 @@ +--- avahi-0.6.30.old/avahi-python/avahi-discover/Makefile.am 2010-06-28 23:30:34.000000000 -0400 ++++ avahi-0.6.30/avahi-python/avahi-discover/Makefile.am 2012-04-21 18:02:01.642934527 -0400 +@@ -22,6 +22,7 @@ + avahi-discover.py \ + avahi-discover.desktop.in.in + ++if ENABLE_GTK_UTILS + if HAVE_PYTHON + if HAVE_PYTHON_DBUS + if HAVE_PYGTK +@@ -67,3 +68,4 @@ + endif + endif + endif ++endif +--- avahi-0.6.30.old/man/Makefile.am 2012-04-21 18:10:45.690900742 -0400 ++++ avahi-0.6.30/man/Makefile.am 2012-04-21 18:09:15.146906578 -0400 +@@ -65,11 +65,13 @@ + man_MANS += \ + avahi-bookmarks.1 + if HAVE_GTK ++if ENABLE_GTK_UTILS + man_MANS += \ + avahi-discover.1 + endif + endif + endif ++endif + + if ENABLE_AUTOIPD + if HAVE_LIBDAEMON diff --git a/net-dns/avahi-qt/files/avahi-0.6.31-host-name-from-machine-id.patch b/net-dns/avahi-qt/files/avahi-0.6.31-host-name-from-machine-id.patch new file mode 100644 index 00000000..17ecba52 --- /dev/null +++ b/net-dns/avahi-qt/files/avahi-0.6.31-host-name-from-machine-id.patch @@ -0,0 +1,85 @@ +From: David Zeuthen <zeuthen@chromium.org> +Date: Tue, 5 Mar 2013 19:52:38 +0000 (-0800) +Subject: avahi-daemon: add option "host-name-from-machine-id=" +X-Git-Url: http://git.0pointer.de/?p=avahi.git;a=commitdiff_plain;h=147cdce70b22ae7cee9fb4fe123db40952f31c9e + +avahi-daemon: add option "host-name-from-machine-id=" + +Signed-off-by: David Zeuthen <zeuthen@chromium.org> +--- + +diff --git a/avahi-daemon/main.c b/avahi-daemon/main.c +index d46f40a..8c28fd6 100644 +--- a/avahi-daemon/main.c ++++ b/avahi-daemon/main.c +@@ -65,6 +65,7 @@ + #include <avahi-core/publish.h> + #include <avahi-core/dns-srv-rr.h> + #include <avahi-core/log.h> ++#include <avahi-core/util.h> + + #ifdef ENABLE_CHROOT + #include "chroot.h" +@@ -576,6 +577,29 @@ static int parse_usec(const char *s, AvahiUsec *u) { + return 0; + } + ++static char *get_machine_id(void) { ++ int fd; ++ char buf[32]; ++ ++ fd = open("/etc/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY); ++ if (fd == -1 && errno == ENOENT) ++ fd = open("/var/lib/dbus/machine-id", O_RDONLY|O_CLOEXEC|O_NOCTTY); ++ if (fd == -1) ++ return NULL; ++ ++ /* File is on a filesystem so we never get EINTR or partial reads */ ++ if (read(fd, buf, sizeof buf) != sizeof buf) { ++ close(fd); ++ return NULL; ++ } ++ close(fd); ++ ++ /* Contents can be lower, upper and even mixed case so normalize */ ++ avahi_strdown(buf); ++ ++ return avahi_strndup(buf, sizeof buf); ++} ++ + static int load_config_file(DaemonConfig *c) { + int r = -1; + AvahiIniFile *f; +@@ -631,6 +655,15 @@ static int load_config_file(DaemonConfig *c) { + c->server_config.use_iff_running = is_yes(p->value); + else if (strcasecmp(p->key, "disallow-other-stacks") == 0) + c->server_config.disallow_other_stacks = is_yes(p->value); ++ else if (strcasecmp(p->key, "host-name-from-machine-id") == 0) { ++ if (*(p->value) == 'y' || *(p->value) == 'Y') { ++ char *machine_id = get_machine_id(); ++ if (machine_id != NULL) { ++ avahi_free(c->server_config.host_name); ++ c->server_config.host_name = machine_id; ++ } ++ } ++ } + #ifdef HAVE_DBUS + else if (strcasecmp(p->key, "enable-dbus") == 0) { + +diff --git a/man/avahi-daemon.conf.5.xml.in b/man/avahi-daemon.conf.5.xml.in +index bea7ed5..2d15017 100644 +--- a/man/avahi-daemon.conf.5.xml.in ++++ b/man/avahi-daemon.conf.5.xml.in +@@ -40,6 +40,12 @@ + </option> + + <option> ++ <p><opt>host-name-from-machine-id=</opt> Takes a boolean ++ value ("yes" or "no"). If set to "yes" avahi-daemon ++ will use the machine-id as name on the LAN.</p> ++ </option> ++ ++ <option> + <p><opt>domain-name=</opt> Set the default domain name avahi-daemon + tries to register its host name and services on the LAN in. If + omitted defaults to ".local".</p> diff --git a/net-dns/avahi-qt/files/avahi-0.6.31-install-exec-hook.patch b/net-dns/avahi-qt/files/avahi-0.6.31-install-exec-hook.patch new file mode 100644 index 00000000..d9a7bc34 --- /dev/null +++ b/net-dns/avahi-qt/files/avahi-0.6.31-install-exec-hook.patch @@ -0,0 +1,11 @@ +--- avahi-0.6.31/avahi-utils/Makefile.am ++++ avahi-0.6.31/avahi-utils/Makefile.am +@@ -53,7 +53,7 @@ + avahi_set_host_name_CFLAGS = $(AM_CFLAGS) + avahi_set_host_name_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la + +-install-exec-local: ++install-exec-hook: + cd $(DESTDIR)/$(bindir) && \ + rm -f avahi-resolve-host-name avahi-resolve-address avahi-browse-domains avahi-publish-address avahi-publish-service && \ + $(LN_S) avahi-resolve avahi-resolve-host-name && \ diff --git a/net-dns/avahi-qt/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch b/net-dns/avahi-qt/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch new file mode 100644 index 00000000..9c23ca5e --- /dev/null +++ b/net-dns/avahi-qt/files/avahi-0.6.31-so_reuseport-may-not-exist-in-running-kernel.patch @@ -0,0 +1,30 @@ +https://bugs.gentoo.org/484212 + +Description: SO_REUSEPORT may not exist in running kernel + When userspace defines SO_REUSEPORT we will attempt to enable socket + port number reuse. However if the running kernel does not support + this call it will fail preventing daemon startup. If this call is + present but fails ENOPROTOOPT then we know that actually the kernel + does not support it and we should continue as if we did not have the + call at all. (LP: #1228204) + . + This patch could be removed from the debian package after jessie release. +Author: Andy Whitcroft <apw@canonical.com> +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1228204 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732009 +Last-Update: 2013-09-20 + +Index: avahi-0.6.31/avahi-core/socket.c +=================================================================== +--- avahi-0.6.31.orig/avahi-core/socket.c 2013-09-20 16:36:50.000000000 +0100 ++++ avahi-0.6.31/avahi-core/socket.c 2013-09-20 16:38:23.781863644 +0100 +@@ -177,7 +177,8 @@ + yes = 1; + if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &yes, sizeof(yes)) < 0) { + avahi_log_warn("SO_REUSEPORT failed: %s", strerror(errno)); +- return -1; ++ if (errno != ENOPROTOOPT) ++ return -1; + } + #endif + diff --git a/net-dns/avahi-qt/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch b/net-dns/avahi-qt/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch new file mode 100644 index 00000000..394f6d34 --- /dev/null +++ b/net-dns/avahi-qt/files/avahi-0.6.x-openrc-0.9.x-init-scripts-fixes.patch @@ -0,0 +1,22 @@ +--- avahi-0.6.30/initscript/gentoo/avahi-daemon.in ++++ avahi-0.6.30/initscript/gentoo/avahi-daemon.in +@@ -2,7 +2,7 @@ + # Copyright 1999-2007 Gentoo Foundation + # Distributed under the terms of the GNU General Public License v2 + +-opts="reload" ++extra_started_commands="reload" + + depend() { + before netmount nfsmount +--- avahi-0.6.30/initscript/gentoo/avahi-dnsconfd.in ++++ avahi-0.6.30/initscript/gentoo/avahi-dnsconfd.in +@@ -2,7 +2,7 @@ + # Copyright 1999-2007 Gentoo Foundation + # Distributed under the terms of the GNU General Public License v2 + +-opts="reload" ++extra_started_commands="reload" + + depend() { + need avahi-daemon diff --git a/net-dns/avahi-qt/metadata.xml b/net-dns/avahi-qt/metadata.xml new file mode 100644 index 00000000..2c673780 --- /dev/null +++ b/net-dns/avahi-qt/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>no-herd</herd> +<maintainer> + <email>lxnay@gentoo.org</email> +</maintainer> +</pkgmetadata> diff --git a/net-dns/avahi/avahi-0.6.31-r5.ebuild b/net-dns/avahi/avahi-0.6.31-r5.ebuild new file mode 100644 index 00000000..6fcd7c9a --- /dev/null +++ b/net-dns/avahi/avahi-0.6.31-r5.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2014 Sabayon +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit multilib-build + +DESCRIPTION="System which facilitates service discovery on a local network (meta package)" +HOMEPAGE="http://avahi.org/" +SRC_URI="" + +KEYWORDS="~amd64 ~arm ~x86" + +LICENSE="LGPL-2.1" +SLOT="0" +IUSE="autoipd bookmarks dbus doc gdbm gtk gtk3 howl-compat +introspection ipv6 kernel_linux mdnsresponder-compat mono nls python qt4 selinux test utils" + +COMMON_DEPEND="=net-dns/avahi-base-${PVR}[autoipd=,bookmarks=,dbus=,doc=,gdbm=,howl-compat=,introspection=,ipv6=,mdnsresponder-compat=,python=,test=,nls=,selinux=,${MULTILIB_USEDEP}] + gtk? ( =net-dns/avahi-gtk-${PVR}[bookmarks=,gdbm=,nls=,python=,dbus=,${MULTILIB_USEDEP}] ) + utils? ( =net-dns/avahi-gtk3-${PVR}[utils,${MULTILIB_USEDEP}] ) + gtk3? ( =net-dns/avahi-gtk3-${PVR}[${MULTILIB_USEDEP}] ) + mono? ( =net-dns/avahi-mono-${PVR}[${MULTILIB_USEDEP}] ) + qt4? ( =net-dns/avahi-qt-${PVR}[${MULTILIB_USEDEP}] )" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${DEPEND}" diff --git a/net-dns/avahi/metadata.xml b/net-dns/avahi/metadata.xml new file mode 100644 index 00000000..d8e743d4 --- /dev/null +++ b/net-dns/avahi/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>no-herd</herd> +<maintainer> + <email>swegener@gentoo.org</email> +</maintainer> +<use> + <flag name='autoipd'>Build and install the IPv4LL (RFC3927) network address + configuration daemon</flag> + <flag name='bookmarks'>Install the avahi-bookmarks application (requires + <pkg>dev-python/twisted</pkg>)</flag> + <flag name='howl-compat'>Enable compat libraries for howl</flag> + <flag name='mdnsresponder-compat'>Enable compat libraries for + mDNSResponder</flag> +</use> +</pkgmetadata> |