From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 7B23E13835D for ; Sat, 8 May 2021 09:27:47 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C2B87E081A; Sat, 8 May 2021 09:27:46 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 98A5AE081A for ; Sat, 8 May 2021 09:27:46 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2C09B340E84 for ; Sat, 8 May 2021 09:27:45 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 58D28778 for ; Sat, 8 May 2021 09:27:42 +0000 (UTC) From: "Pacho Ramos" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Pacho Ramos" Message-ID: <1620466056.67168a3294f56a7c95f4e7cfa76f399efe93850e.pacho@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-fs/netatalk/, net-fs/netatalk/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-fs/netatalk/files/netatalk-3.1.12-tracker3.patch net-fs/netatalk/netatalk-3.1.12-r3.ebuild X-VCS-Directories: net-fs/netatalk/files/ net-fs/netatalk/ X-VCS-Committer: pacho X-VCS-Committer-Name: Pacho Ramos X-VCS-Revision: 67168a3294f56a7c95f4e7cfa76f399efe93850e X-VCS-Branch: master Date: Sat, 8 May 2021 09:27:42 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: f2bc1130-a715-4924-83e9-0d52df88f66c X-Archives-Hash: 0842b55db39ce9621d721d43a4df8181 commit: 67168a3294f56a7c95f4e7cfa76f399efe93850e Author: Pacho Ramos gentoo org> AuthorDate: Sat May 8 09:27:19 2021 +0000 Commit: Pacho Ramos gentoo org> CommitDate: Sat May 8 09:27:36 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=67168a32 net-fs/netatalk: Port to tracker-3 Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Pacho Ramos gentoo.org> .../netatalk/files/netatalk-3.1.12-tracker3.patch | 136 ++++++++++++++++ net-fs/netatalk/netatalk-3.1.12-r3.ebuild | 181 +++++++++++++++++++++ 2 files changed, 317 insertions(+) diff --git a/net-fs/netatalk/files/netatalk-3.1.12-tracker3.patch b/net-fs/netatalk/files/netatalk-3.1.12-tracker3.patch new file mode 100644 index 00000000000..bb946364f57 --- /dev/null +++ b/net-fs/netatalk/files/netatalk-3.1.12-tracker3.patch @@ -0,0 +1,136 @@ +From a7ff155b4a907af0cb979863758137aa5f8dce3f Mon Sep 17 00:00:00 2001 +From: Andrew Bauer +Date: Sat, 13 Mar 2021 13:16:36 -0600 +Subject: [PATCH] add support for tracker3 + +--- + etc/afpd/spotlight.c | 20 ++++++++++++++++++++ + etc/spotlight/sparql_parser.c | 2 +- + etc/spotlight/sparql_parser.y | 2 +- + include/atalk/spotlight.h | 2 ++ + macros/netatalk.m4 | 10 +++++++++- + 5 files changed, 33 insertions(+), 3 deletions(-) + +diff --git a/etc/afpd/spotlight.c b/etc/afpd/spotlight.c +index 9c8b4700..fa8f8083 100644 +--- a/etc/afpd/spotlight.c ++++ b/etc/afpd/spotlight.c +@@ -581,6 +581,7 @@ static void slq_dump(void) + * Tracker async callbacks + ************************************************/ + ++#ifndef HAVE_TRACKER3 + static void tracker_con_cb(GObject *object, + GAsyncResult *res, + gpointer user_data) +@@ -600,6 +601,7 @@ static void tracker_con_cb(GObject *object, + + LOG(log_info, logtype_sl, "connected to Tracker"); + } ++#endif + + static void tracker_cursor_cb(GObject *object, + GAsyncResult *res, +@@ -1312,6 +1314,9 @@ int spotlight_init(AFPObj *obj) + static bool initialized = false; + const char *attributes; + struct sl_ctx *sl_ctx; ++#ifdef HAVE_TRACKER3 ++ GError *error = NULL; ++#endif + + if (initialized) { + return 0; +@@ -1342,8 +1347,23 @@ int spotlight_init(AFPObj *obj) + setenv("XDG_CACHE_HOME", _PATH_STATEDIR, 0); + setenv("TRACKER_USE_LOG_FILES", "1", 0); + ++#ifdef HAVE_TRACKER3 ++ sl_ctx->tracker_con = tracker_sparql_connection_bus_new ("org.freedesktop.Tracker3.Miner.Files", ++ NULL, NULL, &error); ++ ++ if (error) { ++ LOG(log_error, logtype_sl, "Could not connect to Tracker: %s", ++ error->message); ++ sl_ctx->tracker_con = NULL; ++ g_error_free(error); ++ return -1; ++ } ++ ++ LOG(log_info, logtype_sl, "connected to Tracker3"); ++#else + tracker_sparql_connection_get_async(sl_ctx->cancellable, + tracker_con_cb, sl_ctx); ++#endif + + initialized = true; + return 0; +diff --git a/etc/spotlight/sparql_parser.c b/etc/spotlight/sparql_parser.c +index d6f5d3be..88b868ef 100644 +--- a/etc/spotlight/sparql_parser.c ++++ b/etc/spotlight/sparql_parser.c +@@ -1455,7 +1455,7 @@ yyparse () + result_limit = ""; + ssp_result = talloc_asprintf(ssp_slq, + "SELECT ?url WHERE " +- "{ %s . ?obj nie:url ?url . FILTER(tracker:uri-is-descendant('file://%s/', ?url)) } %s", ++ "{ %s . ?obj nie:isStoredAs ?file . ?file nie:url ?url . FILTER(tracker:uri-is-descendant('file://%s/', ?url)) } %s", + (yyvsp[(1) - (1)].sval), ssp_slq->slq_scope, result_limit); + (yyval.sval) = ssp_result; + } +diff --git a/etc/spotlight/sparql_parser.y b/etc/spotlight/sparql_parser.y +index 9d609976..5201e3d3 100644 +--- a/etc/spotlight/sparql_parser.y ++++ b/etc/spotlight/sparql_parser.y +@@ -78,7 +78,7 @@ expr { + result_limit = ""; + ssp_result = talloc_asprintf(ssp_slq, + "SELECT ?url WHERE " +- "{ %s . ?obj nie:url ?url . FILTER(tracker:uri-is-descendant('file://%s/', ?url)) } %s", ++ "{ %s . ?obj nie:isStoredAs ?file . ?file nie:url ?url . FILTER(tracker:uri-is-descendant('file://%s/', ?url)) } %s", + $1, ssp_slq->slq_scope, result_limit); + $$ = ssp_result; + } +diff --git a/include/atalk/spotlight.h b/include/atalk/spotlight.h +index 0e64b860..19d71009 100644 +--- a/include/atalk/spotlight.h ++++ b/include/atalk/spotlight.h +@@ -29,8 +29,10 @@ + #ifdef HAVE_TRACKER + #include + #include ++#ifndef HAVE_TRACKER3 + #include + #endif ++#endif + + /****************************************************************************** + * Spotlight RPC and marshalling stuff +diff --git a/macros/netatalk.m4 b/macros/netatalk.m4 +index 3bd03ccb..33ba5575 100644 +--- a/macros/netatalk.m4 ++++ b/macros/netatalk.m4 +@@ -184,14 +184,22 @@ AC_DEFUN([AC_NETATALK_SPOTLIGHT], [ + AC_DEFINE(HAVE_TRACKER, 1, [Define if Tracker is available]) + AC_DEFINE_UNQUOTED(TRACKER_PREFIX, ["$ac_cv_tracker_install_prefix"], [Path to Tracker]) + AC_DEFINE_UNQUOTED([DBUS_DAEMON_PATH], ["$ac_cv_dbus_daemon"], [Path to dbus-daemon]) ++ ++ ac_cv_tracker_pkg_version_MAJOR=`echo $ac_cv_tracker_pkg_version | cut -d. -f1` ++ if test $ac_cv_tracker_pkg_version_MAJOR -ge 3 ; then ++ AC_DEFINE(HAVE_TRACKER3, 1, [Define if Tracker3 is used]) ++ fi + fi + + dnl Tracker Managing Command + if test x"$ac_cv_have_tracker" = x"yes" ; then +- AC_CHECK_PROGS(ac_cv_tracker_manage, tracker tracker-control, , ["$ac_cv_tracker_prefix"/bin]) ++ AC_CHECK_PROGS(ac_cv_tracker_manage, tracker tracker3 tracker-control, , ["$ac_cv_tracker_prefix"/bin]) + if test x"$ac_cv_tracker_manage" = x"tracker" ; then + TRACKER_MANAGING_COMMAND="tracker daemon" + AC_DEFINE(TRACKER_MANAGING_COMMAND, "tracker daemon", [tracker managing command]) ++ elif test x"$ac_cv_tracker_manage" = x"tracker3" ; then ++ TRACKER_MANAGING_COMMAND="tracker3 daemon" ++ AC_DEFINE(TRACKER_MANAGING_COMMAND, "tracker3 daemon", [tracker managing command]) + elif test x"$ac_cv_tracker_manage" = x"tracker-control" ; then + TRACKER_MANAGING_COMMAND="tracker-control" + AC_DEFINE(TRACKER_MANAGING_COMMAND, "tracker-control", [tracker managing command]) diff --git a/net-fs/netatalk/netatalk-3.1.12-r3.ebuild b/net-fs/netatalk/netatalk-3.1.12-r3.ebuild new file mode 100644 index 00000000000..181cdc98f60 --- /dev/null +++ b/net-fs/netatalk/netatalk-3.1.12-r3.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +AUTOTOOLS_AUTORECONF=yes + +inherit autotools flag-o-matic multilib pam systemd + +DESCRIPTION="Open Source AFP server" +HOMEPAGE="http://netatalk.sourceforge.net/" +SRC_URI="mirror://sourceforge/project/${PN}/${PN}/$(ver_cut 1-3)/${P}.tar.bz2" + +LICENSE="GPL-2 BSD" +SLOT="0/18.0" +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86" +IUSE="acl cracklib dbus debug kerberos ldap pam pgp quota samba +shadow ssl tracker tcpd zeroconf" + +CDEPEND=" + !app-editors/yudit + dev-libs/libevent:0= + >=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 + ) + cracklib? ( sys-libs/cracklib ) + dbus? ( sys-apps/dbus dev-libs/dbus-glib ) + kerberos? ( virtual/krb5 ) + ldap? ( net-nds/openldap ) + pam? ( sys-libs/pam ) + ssl? ( dev-libs/openssl:0= ) + tcpd? ( sys-apps/tcp-wrappers ) + tracker? ( app-misc/tracker:3= ) + zeroconf? ( net-dns/avahi[dbus] ) +" +RDEPEND="${CDEPEND}" +DEPEND="${CDEPEND} + virtual/yacc + sys-devel/flex +" + +RESTRICT="test" + +REQUIRED_USE=" + ldap? ( acl ) + tracker? ( dbus )" + +PATCHES=( + "${FILESDIR}"/${PN}-3.1.7-gentoo.patch + "${FILESDIR}"/${PN}-3.1.8-disable-ld-library-path.patch #564350 + "${FILESDIR}"/${PN}-3.1.12-my_bool.patch #692560 + "${FILESDIR}"/${PN}-3.1.12-fno-common.patch #706852 + # https://sourceforge.net/p/netatalk/patches/147/ + "${FILESDIR}"/${PN}-3.1.12-tracker3.patch +) + +src_prepare() { + default + append-flags -fno-strict-aliasing + + sed \ + -e "s:shell_utils::g" \ + -i contrib/Makefile.am || die + + eautoreconf +} + +src_configure() { + local myeconfargs=() + + # 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+=( + $(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_enable zeroconf) + $(use_with acl acls) + $(use_with cracklib) + $(use_with dbus afpstats) + $(use_with ldap) + $(use_with pam) + $(use_with samba smbsharemodes) + $(use_with shadow) + $(use_with ssl ssl-dir) + $(use_with tracker) + $(use_with tracker dbus-daemon "${EPREFIX}/usr/bin/dbus-daemon") + $(use_with tracker tracker-pkgconfig-version $(ver_cut 1 $(best_version app-misc/tracker | sed 's:app-misc/tracker-::g')).0) + --disable-static + --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} + --with-init-style=gentoo-openrc + --without-libevent + --without-tdb + --with-lockfile=/run/lock/${PN} + ) + econf ${myeconfargs[@]} +} + +src_install() { + default + + if use zeroconf; then + sed -i -e '/avahi-daemon/s:use:need:g' "${ED}"/etc/init.d/${PN} || die + else + sed -i -e '/avahi-daemon/d' "${ED}"/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 + + if use pam; then + pamd_mimic_system netatalk auth account password session + fi + + 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 + + # no static archives + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + local fle v + for v in ${REPLACING_VERSIONS}; do + if [[ $(ver_test ${v} -lt 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 + + elog + elog "Starting from version 3.0 only uses a single init script again" + elog "Please update your runlevels accordingly" + elog + 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." + elog + 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" + elog + elog "Please convert your existing configs before you restart your daemon" + elog + 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" + elog + elog "For general notes on the upgrade, please visit" + elog "http://netatalk.sourceforge.net/3.0/htmldocs/upgrade.html" + elog + break + fi + done +}