summaryrefslogtreecommitdiff
path: root/net-fs/netatalk/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-05-11 19:55:43 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-05-11 19:55:43 +0100
commit185fa19bbf68a4d4dca534d2b46729207a177f16 (patch)
treea8a537b82fda83a0799c2ca9887f212558363aa7 /net-fs/netatalk/files
parentc8fd0d84af0bfd1949542adc2cbb735b1d28f9ed (diff)
gentoo resync : 11.05.2021
Diffstat (limited to 'net-fs/netatalk/files')
-rw-r--r--net-fs/netatalk/files/netatalk-3.1.12-tracker3.patch136
1 files changed, 136 insertions, 0 deletions
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 000000000000..bb946364f575
--- /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 <zonexpertconsulting@outlook.com>
+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 <gio/gio.h>
+ #include <tracker-sparql.h>
++#ifndef HAVE_TRACKER3
+ #include <libtracker-miner/tracker-miner.h>
+ #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])