Re: Re: [PATCH BlueZ v2 00/10] Distribution inspired fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Emil,

On Wed, Feb 14, 2024 at 3:48 PM Emil Velikov <emil.l.velikov@xxxxxxxxx> wrote:
>
> 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.

Hmm, I don't have anything like that on git log, do you have the actual hash?

> > 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?

For messages I guess you are right, we can just remove them since they
were never really used, but at least the phonebook-ebook was used at
some point, so perhaps we just switch to use it by default, so we can
remove the backend options, etc.


-- 
Luiz Augusto von Dentz





[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux