Fedora, tracker RSS miner and sqlite FTS support

Hi readers, as you might know Allan Day gave us initial mockups for new GNOME project – News. This post is not about first preview working application, this post is about how we started writing application and how we helping other GNOME and Fedora projects 🙂

GNOME News mockup

With Vadim Rutkovsky we started working on this app yesterday’s night. We did choose to use tracker as storage backend and libgrss as our fetcher engine.

But we found some issues with them:

  • libgrss ships its .gir and .typelib in wrong directory – FIX. I spotted this when packaged libgrss, not when we started coding
  • libgrss introspection a bit wrong because it’s provides us gpointer instead of GrssFeedItem – FIX
  • tracker wants older name of libgrss (libgrss-0.6), but API/ABI have not broken and 0.5 version doesn’t work for us – FIX

Okay, we fixed this in upstream, cherry-picked changes to Fedora, but after enabling FTS support in Fedora’s sqlite – tracker doesn’t work on my laptop. I’ve spent a lot of time with trying to decide what happens there.

I gave SSH to my laptop for Carlos Garnacho and he realized that FTS support at compile-time was not enabled and tracker tries to load its own FTS, but actually FTS module from sqlite already loaded, so we got trying to load 2 the same modules (from sqlite and from tracker) twice.

Then I started rebuilding tracker in Fedora and got the same FTS not enabled at compile-time. The problem was with broken CFLAGS/LDFLAGS in m4 macro. In parallel I also found that /usr/bin/tracker-control has no executable flag and there are no tracker-compat binary. All those fixed in 1.5.0. Finally I updated tracker in Fedora to 1.5.0 with enabled FTS and RSS support – Koji build.

Feel free to join our channel in IRC: #gnome-news at GimpNet

Continue reading →