Hi Luiz, On Wed, 14 Feb 2024 at 19:34, Luiz Augusto von Dentz <luiz.dentz@xxxxxxxxx> wrote: > > Hi Emil, > > On Wed, Feb 14, 2024 at 2:15 PM Emil Velikov <emil.l.velikov@xxxxxxxxx> wrote: > > > > On Wed, 14 Feb 2024 at 18:01, Luiz Augusto von Dentz > > <luiz.dentz@xxxxxxxxx> wrote: > > > > > > Hi Emil, > > > > > > On Wed, Feb 14, 2024 at 12:04 PM Emil Velikov <emil.l.velikov@xxxxxxxxx> wrote: > > > > > > > > Hello Luiz, > > > > > > > > Due to a bug in the CI bot, I've scraped this off the ML. Hope it's > > > > not too badly formatted :-) > > > > > > > > > Here is the summary with links: > > > > > - [BlueZ,v2,01/10] Return at least the title attribute from player_list_metadata() > > > > > https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=f2671bf8f951 > > > > > - [BlueZ,v2,02/10] adapter: Remove experimental flag for PowerState > > > > > https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=d3aeae79de4b > > > > > - [BlueZ,v2,03/10] test: consistently use /usr/bin/env python3 shebang > > > > > https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=d31f04aa928a > > > > > - [BlueZ,v2,04/10] profiles: remove unused suspend-dummy.c > > > > > https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=1313351f7144 > > > > > - [BlueZ,v2,05/10] obex: remove unused syncevolution plugin > > > > > (no matching commit) > > > > > - [BlueZ,v2,06/10] obex: remove unused mas/messages-tracker impl > > > > > (no matching commit) > > > > > - [BlueZ,v2,07/10] obex: remove phonebook tracker backend > > > > > (no matching commit) > > > > > - [BlueZ,v2,08/10] build: ship all config files with --enable-datafiles > > > > > https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=be0e796299b0 > > > > > - [BlueZ,v2,09/10] obex: Use GLib helper function to manipulate paths > > > > > (no matching commit) > > > > > - [BlueZ,v2,10/10] Allow using obexd without systemd in the user session > > > > > https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=b16b19885c53 > > > > > > > > Massive thanks for applying the above. > > > > > > > > Out of curiosity: is there anything wrong with the few remaining ones? > > > > I had a look through the ML archives on lore.kernel.org as well as my > > > > inbox and could not find any replies. > > > > > > I don't think we should remove the syncevolution and tracker backends, > > > they shall probably be disabled first so we don't break platforms > > > still using them. As for the GLib helper I don't think that is really > > > needed, at least there doesn't seem to be a problem with current > > > handling. > > > > > > > Unless I am missing something, all four backends/implementations are > > effectively disabled and unused. > > > > Ignoring the first that you've merged already, the other three are > > syncevolution, messages-tracker, phonebook tracker. All of those obexd > > specific and have been practically dead code for approximately 6 > > years. In particular ever since the obexd git repo was imported into > > bluez, they were never wired into the build system. > > --with-phonebook=tracker > > It does seem to work, I think you meant to say s/work/is allowed/ :-) Commit "obex: remove phonebook tracker backend" bans this as an option. > even though it doesn't track dependencies > particularly well: > > obexd/plugins/phonebook-tracker.c:21:10: fatal error: > libtracker-sparql/tracker-sparql.h: No such file or directory > 21 | #include <libtracker-sparql/tracker-sparql.h> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > In order to get past this, a small hack as mentioned previously is needed. While-space might be off: --- diff --git a/Makefile.obexd b/Makefile.obexd index 81456544d..2e954c92e 100644 --- a/Makefile.obexd +++ b/Makefile.obexd @@ -88,6 +88,7 @@ obexd_src_obexd_LDADD = lib/libbluetooth-internal.la \ gdbus/libgdbus-internal.la \ src/libshared-glib.la \ $(ICAL_LIBS) $(DBUS_LIBS) $(LIBEBOOK_LIBS) \ + $(TRAK_LIBS) \ $(LIBEDATASERVER_LIBS) $(GLIB_LIBS) -ldl if EXTERNAL_PLUGINS @@ -95,6 +96,7 @@ obexd_src_obexd_LDFLAGS = $(AM_LDFLAGS) -Wl,--export-dynamic endif obexd_src_obexd_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) $(DBUS_CFLAGS) \ + $(TRAK_CFLAGS) \ $(ICAL_CFLAGS) -DOBEX_PLUGIN_BUILTIN \ -DPLUGINDIR=\""$(obex_plugindir)"\" \ -D_FILE_OFFSET_BITS=64 \ diff --git a/configure.ac b/configure.ac index 05c76dddb..38853476f 100644 --- a/configure.ac +++ b/configure.ac @@ -449,6 +449,7 @@ if (test "${plugin_phonebook}" = "ebook"); then PKG_CHECK_MODULES(LIBEBOOK, libebook-1.2 >= 3.3) PKG_CHECK_MODULES(LIBEDATESERVER, libedataserver-1.2 >= 3.3) fi +PKG_CHECK_MODULES(TRAK, tracker-sparql-3.0) AC_SUBST(PLUGIN_PHONEBOOK, [${plugin_phonebook}]) AC_CONFIG_FILES( --- Getting past that, one gets over a dozen errors. The most indicative of which being: error: implicit declaration of function ‘tracker_sparql_connection_get_direct' Looking around shows that the API is from the tracker-1 days, where the last ones in that series 1.10.6 [1] and 1.12.4 [2]. Both of which released some 6 years ago. Looking at Debian Buster aka oldoldstable[3], it does not have tracker-1 [4]. Honestly I am struggling to see how this can be built on any remotely recent distribution, even with the build snippet/hack above. [1] https://gitlab.gnome.org/GNOME/tracker/-/tags/1.10.6 [2] https://gitlab.gnome.org/GNOME/tracker/-/tags/1.12.4 [3] https://wiki.debian.org/DebianOldOldStable [4] https://packages.debian.org/search?suite=buster&keywords=tracker > That said the message backends don't seem to have a similar backend > selection, not really where we drop support for it or it was never an > option for some reason, perhaps we can remove the messages backend > first, but afaik there was some support for syncevolution at least I > recall using it some ages ago to sync contacts with the phone, but I > guess things have changed quite a lot in the meantime and now everyone > sync directly with the Google Account, etc. > Digging a bit into this shows that each of those had an option within the original obexd repo [5]. Seemingly these were lost (or never ported if you will) when the obexd repo was "git filter-branch" imported into bluez. [5] https://git.kernel.org/pub/scm/bluetooth/obexd.git/tree/configure.ac I cannot find any Linux distribution that has built them over the last ~5 years, that has built those. The fact that loudly nobody complained for years, means that we can `git rm` them. There is nothing stopping the developer of tomorrow from "git revert", fixing the build and properly testing. Does that make sense? -Emil