Re: [Tracker] The Big Rip



Most of this sounds good to me Carlos. I'll reply inline


On Fri, 2016-10-28 at 14:34 +0200, Carlos Garnacho wrote:
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.

I would move libtracker-miner and libtracker-control to miner-fs or
create a wip/split/miner and move them there.

- wip/split/miner-fs : contains everything around FS miner,
tracker-miner-fs, tracker-extract and tracker-writeback.

Sounds good. Perhaps there are users of libracker-extract and
tracker-extract without miner-fs? In that case those could also be moved
to a separate tarball. But if everybody uses tracker-extract together
with miner-fs, then they belong together.

wip/split/rss: contains tracker-miner-rss only.

Nobody has adopted this one yet? Damn ..

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

Cool

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).

We could turn it into a libtracker-preferences-ui and a
libtracker-preferences maybe? But if it's too simple to develop this for
the DE integrators, then yeah .. just toss it in the fire.

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

nod

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

This doesn't work with generic .desktop files?

- tracker-miner-user-guides: ditto.

How is or was this one different to the .txt and .doc, .pdf, etc
extractors?

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

This should be maintained by the Evolution team in my opinion. But then
they have to be willing to pick it up.

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

Same. s/evolution/thunderbird

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

Same. s/evolution/nautilus

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).

Or just move code that isn't reused by +1 component to the component.

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.

nod. Good idea

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 :)

yep

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

Can each new repository be a clone of the full original one, and then
remove from the clone until all unneeded files are gone? That way we
keep the version and commit history.

Kind regards,

Philip

Attachment: signature.asc
Description: This is a digitally signed message part



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