Tentative rename roadmap
The intent is to rename the Tracker SPARQL library to something that does not give people goosebumps these days.
For a full rename, there would be a few things to tackle on the project surface:
- Prefix of the C library API calls (e.g.
tracker_sparql_connection_new()
) - Prefix of the D-Bus endpoint interface (
org.freedesktop.Tracker3.Endpoint
) - D-Bus name of the portal (
org.freedesktop.portal.Tracker
) - Names of pkg-config files (
pkg-config --libs --cflags tracker-3.0
) - Namespaces at gobject-introspection and Vala VAPI files (e.g.
from gi.repository import Tracker3
) - Installed header files (e.g.
#include <tracker-sparql.h>
) - Install locations for internal files (e.g.
/usr/lib64/tracker-3.0
) - Installed public .so library files (e.g.
/usr/lib64/libtracker-sparql-3.0.so
) - Name of the command line utility (
/usr/bin/tracker3
) - Last but not least, the name of this repository
There is some of those which would require a major bump, something we would prefer to avoid at the time being. The next best thing is a "soft rename" approach, i.e. going as far as possible with a rename as our backwards compatibility promises allow us to. A tentative list of things doable in 3.x might be:
-
Rename the command line utility (no. 9), as it's arguably not under our API/ABI compatibility promises (!673 (merged)) -
Rename install locations for our internal files (no. 7) (!673 (merged)) -
Would be interesting though to move the trackertestutils
python helpers out of the way, e.g. into thetracker-miners
source tree as it's deeply tied to it.
-
-
Install parallel pkg-config files to the already existing ones (no. 4), to allow projects to transition. (!673 (merged)) -
Install parallel gir/vapi files (?) to the already existing ones (no. 5), this requires investigation on whether we can simply override the namespace. (!673 (merged)) -
[x] The D-Bus endpoint interface (no. 2) is largely private to us (we implement both ends ourselves), although it's arguably "public API" by the objects implementing these interfaces just being on D-Bus.(cannot do this, this is exposed by the portal, so there are no guarantees that library versions will match across both sides). -
The repository name (no. 10)
Our hands are completely tied with:
- C API prefixes (no. 1)
- Portal D-Bus name (no. 3)
-
org.freedesktop.Tracker3.Endpoint
DBus interface and default/org/freedesktop/Tracker3/Endpoint
D-Bus path (no. 2) - .so file names (no. 8)
- Header files (no. 6)
Until a 4.x release.
Edited by Carlos Garnacho