Skip to content
  • Carlos Garnacho's avatar
    libtracker-sparql: Rewrite TrackerRemoteConnection · 30b66198
    Carlos Garnacho authored
    This very cathartic change rewrites the remote TrackerSparqlConnection
    implementation from Vala to C, besides the additional boilerplate code
    is pretty much 1:1 otherwise.
    
    Indirectly fixes build errors when using tracker as a submodule (like
    in tracker-miners CI) on some semi-recent Vala versions (e.g. the one
    in F34), seen as:
    
    subprojects/tracker/src/libtracker-sparql/libtracker-sparql-private.a.p/remote/tracker-remote.c:58:8: error: redefinition of 'struct _TrackerRemoteConnection'
       58 | struct _TrackerRemoteConnection {
          |        ^~~~~~~~~~~~~~~~~~~~~~~~
    In file included from subprojects/tracker/src/libtracker-sparql/libtracker-sparql-private.a.p/remote/tracker-remote.c:34:
    subprojects/tracker/src/libtracker-sparql/tracker-sparql-private.h:88:8: note: originally defined here
       88 | struct _TrackerRemoteConnection {
          |        ^~~~~~~~~~~~~~~~~~~~~~~~
    
    Where both tracker-remote.c and tracker-sparql-private.h here are
    files generated by Vala, and the latter should have no struct
    definitions.
    
    But this also reduces on symbols that Vala unintendedly makes
    public behind our back (through VALA_EXTERN).
    
    Closes: tracker-miners#220
    30b66198