mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 17:09:10 -07:00
net-fs/netatalk: prefer native Avahi API
Instead of preferring the Apple mDNSResponder API, which is deprecated in Avahi, prefer the native Avahi API. Fixes bug #492716 Gentoo-Bug: 492716 Package-Manager: portage-2.2.20.1 Signed-off-by: Doug Goldstein <cardoe@gentoo.org>
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
From 6b4abfe853ab2143ad2f5b95a15a39c91174fda3 Mon Sep 17 00:00:00 2001
|
||||
From: Doug Goldstein <cardoe@cardoe.com>
|
||||
Date: Fri, 9 Oct 2015 00:28:19 -0500
|
||||
Subject: [PATCH] zeroconf: prefer native Avahi support over mDNSResponder
|
||||
|
||||
Check first for native Avahi support and use that over mDNSResponder
|
||||
support to avoid using Avahi's mDNSResponder compatibility layer by
|
||||
default.
|
||||
|
||||
Bug: http://sourceforge.net/p/netatalk/bugs/586/
|
||||
Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=492716
|
||||
|
||||
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
|
||||
---
|
||||
macros/zeroconf.m4 | 52 ++++++++++++++++++++++++++--------------------------
|
||||
1 file changed, 26 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/macros/zeroconf.m4 b/macros/zeroconf.m4
|
||||
index 6916c99..fd2f920 100644
|
||||
--- a/macros/zeroconf.m4
|
||||
+++ b/macros/zeroconf.m4
|
||||
@@ -25,46 +25,46 @@ AC_DEFUN([AC_NETATALK_ZEROCONF], [
|
||||
zeroconf_dir="$zeroconf"
|
||||
fi
|
||||
|
||||
- # mDNS support using mDNSResponder
|
||||
+ # mDNS support using Avahi
|
||||
AC_CHECK_HEADER(
|
||||
- dns_sd.h,
|
||||
+ avahi-client/client.h,
|
||||
AC_CHECK_LIB(
|
||||
- dns_sd,
|
||||
- DNSServiceRegister,
|
||||
+ avahi-client,
|
||||
+ avahi_client_new,
|
||||
AC_DEFINE(USE_ZEROCONF, 1, [Use DNS-SD registration]))
|
||||
)
|
||||
|
||||
- if test "$ac_cv_lib_dns_sd_DNSServiceRegister" = yes; then
|
||||
- ZEROCONF_LIBS="-ldns_sd"
|
||||
- AC_DEFINE(HAVE_MDNS, 1, [Use mDNSRespnder/DNS-SD registration])
|
||||
+ case "$ac_cv_lib_avahi_client_avahi_client_new" in
|
||||
+ yes)
|
||||
+ PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6 ])
|
||||
+ PKG_CHECK_MODULES(AVAHI_TPOLL, [ avahi-client >= 0.6.4 ],
|
||||
+ [AC_DEFINE(HAVE_AVAHI_THREADED_POLL, 1, [Uses Avahis threaded poll implementation])],
|
||||
+ [AC_MSG_WARN(This Avahi implementation is not supporting threaded poll objects. Maybe this is not what you want.)])
|
||||
+ ZEROCONF_LIBS="$AVAHI_LIBS"
|
||||
+ ZEROCONF_CFLAGS="$AVAHI_CFLAGS"
|
||||
+ AC_DEFINE(HAVE_AVAHI, 1, [Use Avahi/DNS-SD registration])
|
||||
found_zeroconf=yes
|
||||
- fi
|
||||
+ ;;
|
||||
+ esac
|
||||
+ CPPFLAGS="$savedcppflags"
|
||||
+ LDFLAGS="$savedldflags"
|
||||
|
||||
- # mDNS support using Avahi
|
||||
+ # mDNS support using mDNSResponder
|
||||
if test x"$found_zeroconf" != x"yes" ; then
|
||||
AC_CHECK_HEADER(
|
||||
- avahi-client/client.h,
|
||||
+ dns_sd.h,
|
||||
AC_CHECK_LIB(
|
||||
- avahi-client,
|
||||
- avahi_client_new,
|
||||
+ dns_sd,
|
||||
+ DNSServiceRegister,
|
||||
AC_DEFINE(USE_ZEROCONF, 1, [Use DNS-SD registration]))
|
||||
)
|
||||
|
||||
- case "$ac_cv_lib_avahi_client_avahi_client_new" in
|
||||
- yes)
|
||||
- PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6 ])
|
||||
- PKG_CHECK_MODULES(AVAHI_TPOLL, [ avahi-client >= 0.6.4 ],
|
||||
- [AC_DEFINE(HAVE_AVAHI_THREADED_POLL, 1, [Uses Avahis threaded poll implementation])],
|
||||
- [AC_MSG_WARN(This Avahi implementation is not supporting threaded poll objects. Maybe this is not what you want.)])
|
||||
- ZEROCONF_LIBS="$AVAHI_LIBS"
|
||||
- ZEROCONF_CFLAGS="$AVAHI_CFLAGS"
|
||||
- AC_DEFINE(HAVE_AVAHI, 1, [Use Avahi/DNS-SD registration])
|
||||
+ if test "$ac_cv_lib_dns_sd_DNSServiceRegister" = yes; then
|
||||
+ ZEROCONF_LIBS="-ldns_sd"
|
||||
+ AC_DEFINE(HAVE_MDNS, 1, [Use mDNSRespnder/DNS-SD registration])
|
||||
found_zeroconf=yes
|
||||
- ;;
|
||||
- esac
|
||||
- CPPFLAGS="$savedcppflags"
|
||||
- LDFLAGS="$savedldflags"
|
||||
- fi
|
||||
+ fi
|
||||
+ fi
|
||||
fi
|
||||
|
||||
netatalk_cv_zeroconf=no
|
||||
--
|
||||
2.4.9
|
||||
|
||||
180
net-fs/netatalk/netatalk-3.1.7-r1.ebuild
Normal file
180
net-fs/netatalk/netatalk-3.1.7-r1.ebuild
Normal file
@@ -0,0 +1,180 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
AUTOTOOLS_AUTORECONF=yes
|
||||
|
||||
inherit autotools-utils flag-o-matic multilib pam python-r1 systemd versionator
|
||||
|
||||
DESCRIPTION="Open Source AFP server"
|
||||
HOMEPAGE="http://netatalk.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/project/${PN}/${PN}/$(get_version_component_range 1-3)/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2 BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd"
|
||||
IUSE="acl avahi cracklib dbus debug pgp kerberos ldap pam quota samba +shadow ssl static-libs tracker tcpd +utils"
|
||||
|
||||
CDEPEND="
|
||||
!app-editors/yudit
|
||||
dev-libs/libevent
|
||||
>=dev-libs/libgcrypt-1.2.3:0
|
||||
sys-apps/coreutils
|
||||
>=sys-libs/db-4.2.52:=
|
||||
sys-libs/tdb
|
||||
acl? (
|
||||
sys-apps/attr
|
||||
sys-apps/acl
|
||||
)
|
||||
avahi? ( net-dns/avahi[dbus] )
|
||||
cracklib? ( sys-libs/cracklib )
|
||||
dbus? ( sys-apps/dbus dev-libs/dbus-glib )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( net-nds/openldap )
|
||||
pam? ( virtual/pam )
|
||||
ssl? ( dev-libs/openssl:0 )
|
||||
tcpd? ( sys-apps/tcp-wrappers )
|
||||
tracker? ( app-misc/tracker )
|
||||
utils? ( ${PYTHON_DEPS} )
|
||||
"
|
||||
RDEPEND="${CDEPEND}
|
||||
utils? (
|
||||
dev-lang/perl
|
||||
dev-python/dbus-python[${PYTHON_USEDEP}]
|
||||
)"
|
||||
DEPEND="${CDEPEND}
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
REQUIRED_USE="
|
||||
ldap? ( acl )
|
||||
utils? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${P}-gentoo.patch
|
||||
"${FILESDIR}"/${P}-zeroconf-prefer-native-Avahi-support.patch )
|
||||
|
||||
src_prepare() {
|
||||
if ! use utils; then
|
||||
sed \
|
||||
-e "s:shell_utils::g" \
|
||||
-i contrib/Makefile.am || die
|
||||
fi
|
||||
autotools-utils_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=()
|
||||
|
||||
append-flags -fno-strict-aliasing
|
||||
|
||||
if use acl; then
|
||||
myeconfargs+=( --with-acls $(use_with ldap) )
|
||||
else
|
||||
myeconfargs+=( --without-acls --without-ldap )
|
||||
fi
|
||||
|
||||
# Ignore --with-init-style=gentoo, we install the init.d by hand and we avoid having
|
||||
# to sed the Makefiles to not do rc-update.
|
||||
# TODO:
|
||||
# systemd : --with-init-style=systemd
|
||||
myeconfargs+=(
|
||||
--disable-silent-rules
|
||||
$(use_enable avahi zeroconf)
|
||||
$(use_enable debug)
|
||||
$(use_enable debug debugging)
|
||||
$(use_enable pgp pgp-uam)
|
||||
$(use_enable kerberos)
|
||||
$(use_enable kerberos krbV-uam)
|
||||
$(use_enable quota)
|
||||
$(use_enable tcpd tcp-wrappers)
|
||||
$(use_with cracklib)
|
||||
$(use_with dbus afpstats)
|
||||
$(use_with pam)
|
||||
$(use_with samba smbsharemodes)
|
||||
$(use_with shadow)
|
||||
$(use_with ssl ssl-dir)
|
||||
$(use_with tracker)
|
||||
$(use_with tracker tracker-pkgconfig-version $(get_version_component_range 1-2 $(best_version app-misc/tracker | sed 's:app-misc/tracker-::g')))
|
||||
--enable-overwrite
|
||||
--disable-krb4-uam
|
||||
--disable-afs
|
||||
--with-libevent-header=/usr/include
|
||||
--with-libevent-lib=/usr/$(get_libdir)
|
||||
--with-bdb=/usr
|
||||
--with-uams-path=/usr/$(get_libdir)/${PN}
|
||||
--disable-silent-rules
|
||||
--with-init-style=gentoo
|
||||
--without-libevent
|
||||
--without-tdb
|
||||
--with-lockfile=/run/lock/${PN}
|
||||
)
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
autotools-utils_src_install
|
||||
|
||||
if use avahi; then
|
||||
sed -i -e '/avahi-daemon/s:use:need:g' "${D}"/etc/init.d/${PN} || die
|
||||
else
|
||||
sed -i -e '/avahi-daemon/d' "${D}"/etc/init.d/${PN} || die
|
||||
fi
|
||||
|
||||
# The pamd file isn't what we need, use pamd_mimic_system
|
||||
rm -rf "${ED}/etc/pam.d" || die
|
||||
pamd_mimic_system netatalk auth account password session
|
||||
|
||||
sed \
|
||||
-e "s|:SBINDIR:|${EPREFIX}/usr/sbin|g" \
|
||||
-e "s|:PATH_NETATALK_LOCK:|/run/lock/netatalk|g" \
|
||||
distrib/initscripts/service.systemd.tmpl \
|
||||
> "${T}"/service.systemd || die
|
||||
systemd_newunit "${T}"/service.systemd ${PN}.service
|
||||
|
||||
use utils && python_foreach_impl python_doscript contrib/shell_utils/afpstats
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local fle
|
||||
if [[ ${REPLACING_VERSIONS} < 3 ]]; then
|
||||
for fle in afp_signature.conf afp_voluuid.conf; do
|
||||
if [[ -f "${ROOT}"etc/netatalk/${fle} ]]; then
|
||||
if [[ ! -f "${ROOT}"var/lib/netatalk/${fle} ]]; then
|
||||
mv \
|
||||
"${ROOT}"etc/netatalk/${fle} \
|
||||
"${ROOT}"var/lib/netatalk/
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
elog "Starting from version 3.0 only uses a single init script again"
|
||||
elog "Please update your runlevels accordingly"
|
||||
echo ""
|
||||
elog "Dependencies should be resolved automatically depending on settings"
|
||||
elog "but please report issues with this on https://bugs.gentoo.org/ if"
|
||||
elog "you find any."
|
||||
echo ""
|
||||
elog "Following config files are obsolete now:"
|
||||
elog "afpd.conf, netatalk.conf, AppleVolumes.default and afp_ldap.conf"
|
||||
elog "in favour of"
|
||||
elog "/etc/afp.conf"
|
||||
echo ""
|
||||
elog "Please convert your existing configs before you restart your daemon"
|
||||
echo ""
|
||||
elog "The new AppleDouble default backend is appledouble = ea"
|
||||
elog "Existing entries will be updated on access, but can do an offline"
|
||||
elog "conversion with"
|
||||
elog "dbd -ruve /path/to/Volume"
|
||||
echo ""
|
||||
elog "For general notes on the upgrade, please visit"
|
||||
elog "http://netatalk.sourceforge.net/3.0/htmldocs/upgrade.html"
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user