Skip to content

Dissolve libtracker-miner

Carlos Garnacho requested to merge wip/carlos/bye-libtracker-miner into master

The history of this library is a bit convoluted, it started as a "miner toolkit" public library that got barely used, then it was made private to the tracker-miners repo, but otherwise still installed as a shared .so for different executables.

Looking close at the library elements, there is truly very little shared code:

  • TrackerMiner and TrackerMinerProxy objects are the only objects shared between tracker-miner-fs/tracker-miner-rss/tracker-extract, they have been moved to libtracker-miners-common
  • TrackerMinerOnline is only used by tracker-miner-rss, it's been moved there
  • TrackerDecorator and TrackerDecoratorFS are only used by tracker-extract, they've been moved there
  • All other objects are only used by tracker-miner-fs, thus have been moved there

There's 2 main potential benefits to this, this could open the door to further code simplifications (e.g. conflating intermediate subclasses like TrackerDecoratorFS and TrackerMinerFS), but also it makes it easier to move SPARQL queries of each executable into GResources, since there are no library barriers nor need for multiple levels of GResource.

Merge request reports