Hi all,

It is well known that Tracker has been accumulating lots of code and
features over the years, with greatly varying states of maintenance.
There's been earlier talks in this ML about splitting the whole thing
into more palatable chunks, some refactoring happened towards making
this easier, but it was never accomplished.

So I'd say now is just as a good time as any to finally do this, I've
pushed (so far) the following WIP branches I worked on the last couple
of evenings:

- wip/split/core : contains Tracker "core", most notably
tracker-store, ontologies, libtracker-sparql, libtracker-miner,
libtracker-control and the tracker CLI tool.
- wip/split/miner-fs : contains everything around FS miner,
tracker-miner-fs, tracker-extract and tracker-writeback.
wip/split/rss: contains tracker-miner-rss only.

The three branches pass distcheck and build stuff into separate
tarballs, so (with some rebasing) they're a suitable starting point
for standalone repos.

Now, the bad news, things are broken, unmaintained or IMHO should be deleted:

- tracker-preferences: I'm a bit opinionated on this one,
tracker-preferences is a mixed bag of store and miner-fs
configuration, and having a GUI to configure a daemon is too 2000's
(not just the UI itself...). I think some of its functionality could
be moved to the tracker CLI tool, or just be left to DE integration
(like gnome search preferences).

- tracker-needle: This is barely maintained, IMHO we're beyond the
times that we needed a standalone/demo GUI, other apps out there make
a better work at making Tracker look nice. That said, I know other
people saw this useful, so if anyone is willing to maintain it, I'd
gladly set up other branch/repo for it.

- tracker-miner-apps: AFAIK this is unused since the maemo times, I'd
say to send it to the chopper, unless anyone wants to resuscitate it.

- tracker-miner-user-guides: ditto.

- evolution plugin/miner: it's been broken for ages. Again, if anyone
cares enough to pick this up and fix it...

- firefox and thunderbird plugins: They are basically unmaintained,
and AFAIR thunderbird was even blacklisted due to stability issues.

- nautilus tagging extension: Another one I have a hard time caring...
If this feature is as desirable, should be implemented in nautilus
itself (and most likely with better looking and more integrated
results). I'll probably split it, make a release, and never revisit
again. As above, maintainers welcome.

If anyone feels like adopting one of these items, please reply or come
over to #tracker. Speak soon or be ready to rescue a bunch of code
from git history :).

So the split seemed quite painless (the cuts were mostly clear thanks
to earlier refactors), although I'm sure that some closer analysis
will reveal more stuff to remove on each repo (esp. libtracker-common
seems like a good candidate).

The only oddity I see is that the tracker CLI tool (residing in the
core) pokes virtually everywhere, it would be nicer to make the
"tracker" command a shallow interface to subcommands, that are
installed by either tracker core, miner-fs, or whatever.

In the future, we would want the ontology out of Tracker core, but
probably at the time we can claim tracker-store is a generic SPARQL
endpoint :)

Comments? Maintainers? I won't rush this much, but would certainly
want to tackle this before the branches become too hard to
rebase/merge.

Cheers,
  Carlos
_______________________________________________
tracker-list mailing list
tracker-list@gnome.org
https://mail.gnome.org/mailman/listinfo/tracker-list

Reply via email to