The branch, master has been updated
via a485a910473 bootstrap: Remove libtracker-sparql-2
via 8789759afb0 s3:mdssvc: Remove support for tracker sparql support
from 9322231f716 docs-xml: Improve the samba-bgqd manpage
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit a485a91047315775072d0a8cbf1e1b8263ce3a31
Author: Andreas Schneider <[email protected]>
Date: Tue Nov 11 11:48:10 2025 +0100
bootstrap: Remove libtracker-sparql-2
This is not used anymore.
Signed-off-by: Andreas Schneider <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
Autobuild-User(master): Andreas Schneider <[email protected]>
Autobuild-Date(master): Fri Nov 14 16:34:48 UTC 2025 on atb-devel-224
commit 8789759afb051f1859a6606d9d8f12969f2dbaec
Author: Andreas Schneider <[email protected]>
Date: Tue Nov 11 11:45:23 2025 +0100
s3:mdssvc: Remove support for tracker sparql support
This only support v2 of tracker sparql which is only avilable on the Ubuntu
20.04 runner. All newer distributions provide only tracker sparql v3.
Also the tevent glib stopped working on Fedora 43.
Time to remove it.
Signed-off-by: Andreas Schneider <[email protected]>
Reviewed-by: Ralph Boehme <[email protected]>
-----------------------------------------------------------------------
Summary of changes:
.gitlab-ci-main.yml | 2 +-
bootstrap/config.py | 8 -
bootstrap/generated-dists/centos9s/bootstrap.sh | 1 -
bootstrap/generated-dists/centos9s/packages.yml | 1 -
.../generated-dists/debian11-32bit/bootstrap.sh | 1 -
.../generated-dists/debian11-32bit/packages.yml | 1 -
bootstrap/generated-dists/debian11/bootstrap.sh | 1 -
bootstrap/generated-dists/debian11/packages.yml | 1 -
bootstrap/generated-dists/fedora42/bootstrap.sh | 1 -
bootstrap/generated-dists/fedora42/packages.yml | 1 -
bootstrap/generated-dists/opensuse155/bootstrap.sh | 1 -
bootstrap/generated-dists/opensuse155/packages.yml | 1 -
bootstrap/generated-dists/rocky8/bootstrap.sh | 1 -
bootstrap/generated-dists/rocky8/packages.yml | 1 -
bootstrap/generated-dists/ubuntu2004/bootstrap.sh | 1 -
bootstrap/generated-dists/ubuntu2004/packages.yml | 1 -
bootstrap/sha1sum.txt | 2 +-
source3/lib/tevent_glib_glue.c | 881 ---------------------
source3/lib/tevent_glib_glue.h | 68 --
source3/lib/tevent_glib_glue_tests.c | 397 ----------
source3/rpc_server/mdssvc/README | 10 -
source3/rpc_server/mdssvc/mdssvc.c | 24 -
source3/rpc_server/mdssvc/mdssvc_tracker.c | 499 ------------
source3/rpc_server/mdssvc/mdssvc_tracker.h | 62 --
source3/rpc_server/mdssvc/sparql_lexer.l | 67 --
source3/rpc_server/mdssvc/sparql_mapping.c | 378 ---------
source3/rpc_server/mdssvc/sparql_mapping.h | 58 --
source3/rpc_server/mdssvc/sparql_parser.y | 483 -----------
source3/rpc_server/mdssvc/sparql_parser_test.c | 47 --
source3/rpc_server/wscript_build | 9 -
source3/script/tests/test_tevent_glib_glue.sh | 20 -
source3/selftest/tests.py | 3 -
source3/utils/async-tracker.c | 315 --------
source3/wscript | 41 -
source3/wscript_build | 35 -
35 files changed, 2 insertions(+), 3421 deletions(-)
delete mode 100644 source3/lib/tevent_glib_glue.c
delete mode 100644 source3/lib/tevent_glib_glue.h
delete mode 100644 source3/lib/tevent_glib_glue_tests.c
delete mode 100644 source3/rpc_server/mdssvc/mdssvc_tracker.c
delete mode 100644 source3/rpc_server/mdssvc/mdssvc_tracker.h
delete mode 100644 source3/rpc_server/mdssvc/sparql_lexer.l
delete mode 100644 source3/rpc_server/mdssvc/sparql_mapping.c
delete mode 100644 source3/rpc_server/mdssvc/sparql_mapping.h
delete mode 100644 source3/rpc_server/mdssvc/sparql_parser.y
delete mode 100644 source3/rpc_server/mdssvc/sparql_parser_test.c
delete mode 100755 source3/script/tests/test_tevent_glib_glue.sh
delete mode 100644 source3/utils/async-tracker.c
Changeset truncated at 500 lines:
diff --git a/.gitlab-ci-main.yml b/.gitlab-ci-main.yml
index b6ba6fab20f..86a5361dd27 100644
--- a/.gitlab-ci-main.yml
+++ b/.gitlab-ci-main.yml
@@ -47,7 +47,7 @@ variables:
# Set this to the contents of bootstrap/sha1sum.txt
# which is generated by bootstrap/template.py --render
#
- SAMBA_CI_CONTAINER_TAG: c881e62a14fbabdf014bb3653fffcff5a13e71cc
+ SAMBA_CI_CONTAINER_TAG: 10d513aa79bd89a7884621fe3db3f77fffcb6217
#
# We use the ubuntu2204 image as default as
# it matches what we have on atb-devel-224
diff --git a/bootstrap/config.py b/bootstrap/config.py
index 3ef975c943f..29a3f322f59 100644
--- a/bootstrap/config.py
+++ b/bootstrap/config.py
@@ -176,9 +176,6 @@ PKGS = [
('glusterfs-common', 'glusterfs-devel'),
('libcephfs-dev', 'libcephfs-devel'),
- # spotlight
- ('libtracker-sparql-2.0-dev', 'tracker-devel'),
-
# systemd userdb
('', 'libvarlink-devel'),
('', 'python3-varlink'),
@@ -479,7 +476,6 @@ DEB_DISTS = {
'vagrant_box': 'debian/bookworm64',
'replace': {
'language-pack-en': '', # included in locales
- 'libtracker-sparql-2.0-dev': '', # only tracker 3.x is available
'cargo': '', # included cargo is broken
'landscape-common': '',
}
@@ -489,7 +485,6 @@ DEB_DISTS = {
'vagrant_box': 'debian/bookworm32',
'replace': {
'language-pack-en': '', # included in locales
- 'libtracker-sparql-2.0-dev': '', # only tracker 3.x is available
'cargo': '', # included cargo is broken
'landscape-common': '',
}
@@ -507,14 +502,12 @@ DEB_DISTS = {
'docker_image': 'ubuntu:22.04',
'vagrant_box': 'ubuntu/jammy64',
'replace': {
- 'libtracker-sparql-2.0-dev': '', # only tracker 3.x is available
},
},
'ubuntu2404': {
'docker_image': 'ubuntu:24.04',
'vagrant_box': 'ubuntu/noble64',
'replace': {
- 'libtracker-sparql-2.0-dev': '', # only tracker 3.x is available
},
},
}
@@ -569,7 +562,6 @@ RPM_DISTS = {
'lsb-release': 'redhat-lsb',
'perl-FindBin': '',
'python3-iso8601': 'python3-dateutil',
- 'libtracker-sparql-2.0-dev': '', # only tracker 3.x is available
}
},
'opensuse155': {
diff --git a/bootstrap/generated-dists/centos9s/bootstrap.sh
b/bootstrap/generated-dists/centos9s/bootstrap.sh
index 9181f97d278..9fd164ed0da 100755
--- a/bootstrap/generated-dists/centos9s/bootstrap.sh
+++ b/bootstrap/generated-dists/centos9s/bootstrap.sh
@@ -117,7 +117,6 @@ dnf install -y \
sudo \
systemd-devel \
tar \
- tracker-devel \
tree \
utf8proc-devel \
wget \
diff --git a/bootstrap/generated-dists/centos9s/packages.yml
b/bootstrap/generated-dists/centos9s/packages.yml
index b78799a24ff..889198a282a 100644
--- a/bootstrap/generated-dists/centos9s/packages.yml
+++ b/bootstrap/generated-dists/centos9s/packages.yml
@@ -98,7 +98,6 @@ packages:
- sudo
- systemd-devel
- tar
- - tracker-devel
- tree
- utf8proc-devel
- wget
diff --git a/bootstrap/generated-dists/debian11-32bit/bootstrap.sh
b/bootstrap/generated-dists/debian11-32bit/bootstrap.sh
index a32636de32f..371291f33fb 100755
--- a/bootstrap/generated-dists/debian11-32bit/bootstrap.sh
+++ b/bootstrap/generated-dists/debian11-32bit/bootstrap.sh
@@ -74,7 +74,6 @@ apt-get -y install \
libsystemd-dev \
libtasn1-bin \
libtasn1-dev \
- libtracker-sparql-2.0-dev \
libunwind-dev \
liburing-dev \
libutf8proc-dev \
diff --git a/bootstrap/generated-dists/debian11-32bit/packages.yml
b/bootstrap/generated-dists/debian11-32bit/packages.yml
index f2249eba899..479b2940cf6 100644
--- a/bootstrap/generated-dists/debian11-32bit/packages.yml
+++ b/bootstrap/generated-dists/debian11-32bit/packages.yml
@@ -63,7 +63,6 @@ packages:
- libsystemd-dev
- libtasn1-bin
- libtasn1-dev
- - libtracker-sparql-2.0-dev
- libunwind-dev
- liburing-dev
- libutf8proc-dev
diff --git a/bootstrap/generated-dists/debian11/bootstrap.sh
b/bootstrap/generated-dists/debian11/bootstrap.sh
index a32636de32f..371291f33fb 100755
--- a/bootstrap/generated-dists/debian11/bootstrap.sh
+++ b/bootstrap/generated-dists/debian11/bootstrap.sh
@@ -74,7 +74,6 @@ apt-get -y install \
libsystemd-dev \
libtasn1-bin \
libtasn1-dev \
- libtracker-sparql-2.0-dev \
libunwind-dev \
liburing-dev \
libutf8proc-dev \
diff --git a/bootstrap/generated-dists/debian11/packages.yml
b/bootstrap/generated-dists/debian11/packages.yml
index f2249eba899..479b2940cf6 100644
--- a/bootstrap/generated-dists/debian11/packages.yml
+++ b/bootstrap/generated-dists/debian11/packages.yml
@@ -63,7 +63,6 @@ packages:
- libsystemd-dev
- libtasn1-bin
- libtasn1-dev
- - libtracker-sparql-2.0-dev
- libunwind-dev
- liburing-dev
- libutf8proc-dev
diff --git a/bootstrap/generated-dists/fedora42/bootstrap.sh
b/bootstrap/generated-dists/fedora42/bootstrap.sh
index b985b14d754..235658d054f 100755
--- a/bootstrap/generated-dists/fedora42/bootstrap.sh
+++ b/bootstrap/generated-dists/fedora42/bootstrap.sh
@@ -118,7 +118,6 @@ dnf install -y \
sudo \
systemd-devel \
tar \
- tracker-devel \
tree \
utf8proc-devel \
wget \
diff --git a/bootstrap/generated-dists/fedora42/packages.yml
b/bootstrap/generated-dists/fedora42/packages.yml
index 930e0a98652..d8162e34aba 100644
--- a/bootstrap/generated-dists/fedora42/packages.yml
+++ b/bootstrap/generated-dists/fedora42/packages.yml
@@ -107,7 +107,6 @@ packages:
- sudo
- systemd-devel
- tar
- - tracker-devel
- tree
- utf8proc-devel
- wget
diff --git a/bootstrap/generated-dists/opensuse155/bootstrap.sh
b/bootstrap/generated-dists/opensuse155/bootstrap.sh
index bcf8fbca90b..28b41df7fb9 100755
--- a/bootstrap/generated-dists/opensuse155/bootstrap.sh
+++ b/bootstrap/generated-dists/opensuse155/bootstrap.sh
@@ -109,7 +109,6 @@ zypper --non-interactive install \
sudo \
systemd-devel \
tar \
- tracker-devel \
tree \
utf8proc-devel \
wget \
diff --git a/bootstrap/generated-dists/opensuse155/packages.yml
b/bootstrap/generated-dists/opensuse155/packages.yml
index 6bb490ce5be..eb59f9054e2 100644
--- a/bootstrap/generated-dists/opensuse155/packages.yml
+++ b/bootstrap/generated-dists/opensuse155/packages.yml
@@ -97,7 +97,6 @@ packages:
- sudo
- systemd-devel
- tar
- - tracker-devel
- tree
- utf8proc-devel
- wget
diff --git a/bootstrap/generated-dists/rocky8/bootstrap.sh
b/bootstrap/generated-dists/rocky8/bootstrap.sh
index 87d62646820..e5cdb92b352 100755
--- a/bootstrap/generated-dists/rocky8/bootstrap.sh
+++ b/bootstrap/generated-dists/rocky8/bootstrap.sh
@@ -124,7 +124,6 @@ yum install -y \
sudo \
systemd-devel \
tar \
- tracker-devel \
tree \
utf8proc-devel \
wget \
diff --git a/bootstrap/generated-dists/rocky8/packages.yml
b/bootstrap/generated-dists/rocky8/packages.yml
index b7ee2c54c4a..759d629288a 100644
--- a/bootstrap/generated-dists/rocky8/packages.yml
+++ b/bootstrap/generated-dists/rocky8/packages.yml
@@ -100,7 +100,6 @@ packages:
- sudo
- systemd-devel
- tar
- - tracker-devel
- tree
- utf8proc-devel
- wget
diff --git a/bootstrap/generated-dists/ubuntu2004/bootstrap.sh
b/bootstrap/generated-dists/ubuntu2004/bootstrap.sh
index fc2ad508b70..ea7dca93b2d 100755
--- a/bootstrap/generated-dists/ubuntu2004/bootstrap.sh
+++ b/bootstrap/generated-dists/ubuntu2004/bootstrap.sh
@@ -77,7 +77,6 @@ apt-get -y install \
libsystemd-dev \
libtasn1-bin \
libtasn1-dev \
- libtracker-sparql-2.0-dev \
libunwind-dev \
libutf8proc-dev \
lmdb-utils \
diff --git a/bootstrap/generated-dists/ubuntu2004/packages.yml
b/bootstrap/generated-dists/ubuntu2004/packages.yml
index 2bdcbfa89ff..e5f1fdf1139 100644
--- a/bootstrap/generated-dists/ubuntu2004/packages.yml
+++ b/bootstrap/generated-dists/ubuntu2004/packages.yml
@@ -66,7 +66,6 @@ packages:
- libsystemd-dev
- libtasn1-bin
- libtasn1-dev
- - libtracker-sparql-2.0-dev
- libunwind-dev
- libutf8proc-dev
- lmdb-utils
diff --git a/bootstrap/sha1sum.txt b/bootstrap/sha1sum.txt
index eef678cad7c..fa35a9baedb 100644
--- a/bootstrap/sha1sum.txt
+++ b/bootstrap/sha1sum.txt
@@ -1 +1 @@
-c881e62a14fbabdf014bb3653fffcff5a13e71cc
+10d513aa79bd89a7884621fe3db3f77fffcb6217
diff --git a/source3/lib/tevent_glib_glue.c b/source3/lib/tevent_glib_glue.c
deleted file mode 100644
index 3be08fc3794..00000000000
--- a/source3/lib/tevent_glib_glue.c
+++ /dev/null
@@ -1,881 +0,0 @@
-/*
- Unix SMB/CIFS implementation.
- Integration of a glib g_main_context into a tevent_context
- Copyright (C) Stefan Metzmacher 2016
- Copyright (C) Ralph Boehme 2016
-
- ** NOTE! The following LGPL license applies to the tevent
- ** library. This does NOT imply that all of Samba is released
- ** under the LGPL
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 3 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "replace.h"
-#include "system/filesys.h"
-#include "lib/util/debug.h"
-#include "lib/util/select.h"
-#include <tevent.h>
-
-#undef DBGC_CLASS
-#define DBGC_CLASS DBGC_TEVENT
-
-#ifdef HAVE_GLIB
-#include <glib.h>
-#include "tevent_glib_glue.h"
-
-struct fd_map {
- struct tevent_glib_glue *glue;
- int fd;
- struct tevent_fd *fd_event;
-};
-
-struct tevent_glib_glue {
- /*
- * The tevent context we're feeding.
- */
- struct tevent_context *ev;
-
- /*
- * The glib gmain context we're polling and whether we're currently
- * owning it by virtue of g_main_context_acquire().
- */
- GMainContext *gmain_ctx;
- bool gmain_owner;
-
- /*
- * Set by samba_tevent_glib_glue_quit().
- */
- bool quit;
-
- /*
- * tevent trace callback and data we got from
tevent_get_trace_callback()
- * before installing our own trace callback.
- */
- tevent_trace_callback_t prev_tevent_trace_cb;
- void *prev_tevent_trace_data;
-
- /*
- * Don't call tevent_glib_prepare() in the tevent tracepoint handler if
- * explicitly told so. This is an optimisation for the case that glib
- * event sources are created from glib event callbacks.
- */
- bool skip_glib_refresh;
-
- /*
- * Used when acquiring the glib gmain context failed.
- */
- struct tevent_timer *acquire_retry_timer;
-
- /*
- * glib gmain context timeout and priority for the current event look
- * iteration. gtimeout is translated to a tevent timer event, unless it
- * is 0 which signals some event source is pending. In that case we
- * dispatch an immediate event. gpriority is ignored by us, just passed
- * to the glib relevant functions.
- */
- gint gtimeout;
- gint gpriority;
- struct tevent_timer *timer;
- struct tevent_immediate *im;
- bool scheduled_im;
-
- /*
- * glib gmain context fds returned from g_main_context_query(). These
- * get translated to tevent fd events.
- */
- GPollFD *gpollfds;
- gint num_gpollfds;
-
- /*
- * A copy of gpollfds and num_gpollfds from the previous event loop
- * iteration, used to detect changes in the set of fds.
- */
- GPollFD *prev_gpollfds;
- gint num_prev_gpollfds;
-
- /*
- * An array of pointers to fd_map's. The fd_map'd contain the tevent
- * event fd as well as a pointer to the corresponding glib GPollFD.
- */
- struct fd_map **fd_map;
- size_t num_maps;
-};
-
-static bool tevent_glib_prepare(struct tevent_glib_glue *glue);
-static bool tevent_glib_process(struct tevent_glib_glue *glue);
-static bool tevent_glib_glue_reinit(struct tevent_glib_glue *glue);
-static void tevent_glib_fd_handler(struct tevent_context *ev,
- struct tevent_fd *fde,
- uint16_t flags,
- void *private_data);
-
-typedef int (*gfds_cmp_cb)(const void *fd1, const void *fd2);
-typedef bool (*gfds_found_cb)(struct tevent_glib_glue *glue,
- const GPollFD *new,
- const GPollFD *old);
-typedef bool (*gfds_new_cb)(struct tevent_glib_glue *glue,
- const GPollFD *fd);
-typedef bool (*gfds_removed_cb)(struct tevent_glib_glue *glue,
- const GPollFD *fd);
-
-/**
- * Compare two sorted GPollFD arrays
- *
- * For every element that exists in gfds and prev_gfds found_fn() is called.
- * For every element in gfds but not in prev_gfds, new_fn() is called.
- * For every element in prev_gfds but not in gfds removed_fn() is called.
- **/
-static bool cmp_gfds(struct tevent_glib_glue *glue,
- GPollFD *gfds,
- GPollFD *prev_gfds,
- size_t num_gfds,
- size_t num_prev_gfds,
- gfds_cmp_cb cmp_cb,
- gfds_found_cb found_cb,
- gfds_new_cb new_cb,
- gfds_removed_cb removed_cb)
-{
- bool ok;
- size_t i = 0, j = 0;
- int cmp;
-
- while (i < num_gfds && j < num_prev_gfds) {
- cmp = cmp_cb(&gfds[i], &prev_gfds[j]);
- if (cmp == 0) {
- ok = found_cb(glue, &gfds[i], &prev_gfds[j]);
- if (!ok) {
- return false;
- }
- i++;
- j++;
- } else if (cmp < 0) {
- ok = new_cb(glue, &gfds[i]);
- if (!ok) {
- return false;
- }
- i++;
- } else {
- ok = removed_cb(glue, &prev_gfds[j]);
- if (!ok) {
- return false;
- }
- j++;
- }
- }
-
- while (i < num_gfds) {
- ok = new_cb(glue, &gfds[i++]);
- if (!ok) {
- return false;
- }
- }
-
- while (j < num_prev_gfds) {
- ok = removed_cb(glue, &prev_gfds[j++]);
- if (!ok) {
- return false;
- }
- }
-
- return true;
-}
-
-static int glib_fd_cmp_func(const void *p1, const void *p2)
-{
- const GPollFD *lhs = p1;
- const GPollFD *rhs = p2;
-
- if (lhs->fd < rhs->fd) {
- return -1;
- } else if (lhs->fd > rhs->fd) {
- return 1;
- }
-
- return 0;
-}
-
-/*
- * We already have a tevent fd event for the glib GPollFD, but we may have to
- * update flags.
- */
-static bool match_gfd_cb(struct tevent_glib_glue *glue,
- const GPollFD *new_gfd,
- const GPollFD *old_gfd)
-{
- size_t i;
- struct fd_map *fd_map = NULL;
- struct tevent_fd *fd_event = NULL;
-
- if (new_gfd->events == old_gfd->events) {
- return true;
- }
-
- for (i = 0; i < glue->num_maps; i++) {
- if (glue->fd_map[i]->fd == new_gfd->fd) {
- break;
- }
- }
-
- if (i == glue->num_maps) {
- DBG_ERR("match_gfd_cb: glib fd %d not in map\n", new_gfd->fd);
- return false;
- }
-
- fd_map = glue->fd_map[i];
- if (fd_map == NULL) {
- DBG_ERR("fd_map for fd %d is NULL\n", new_gfd->fd);
- return false;
- }
-
- fd_event = fd_map->fd_event;
- if (fd_event == NULL) {
- DBG_ERR("fd_event for fd %d is NULL\n", new_gfd->fd);
- return false;
- }
-
- tevent_fd_set_flags(fd_event, 0);
-
- if (new_gfd->events & (G_IO_IN | G_IO_HUP | G_IO_ERR)) {
- TEVENT_FD_READABLE(fd_event);
- }
- if (new_gfd->events & G_IO_OUT) {
--
Samba Shared Repository