2016-08-23 Carlos Garnacho Release 1.9.1 tests: Include new libtracker-data tests in dist libtracker-miner: Move to next priority queue segment after deleting tail If the tail element of a segment is being removed, we didn't move on to the next one, so accounting of subsequent segments might get broken if further elements are removed that are the head or the tail of a segment. Also, just do the "jump to next segment" bit generic, so the affected paths just turn on a fetch_segment boolean flag. https://bugzilla.gnome.org/show_bug.cgi?id=769035 2016-08-23 Debarshi Ray libtracker-control: Add convenience API for IndexFileForProcess This mirrors the miner D-Bus API that is already available. https://bugzilla.gnome.org/show_bug.cgi?id=757369 2016-08-22 Piotr Drąg Updated Polish translation 2016-08-20 Balázs Úr Updated Hungarian translation 2016-08-19 Flo H Updated German translation 2016-08-19 Andika Triwidada Updated Indonesian translation 2016-08-17 Marek Černocký Updated Czech translation 2016-08-10 Carlos Garnacho configure: Do not hardcode dep on libpng There is a --enable/disable-png check below. 2016-08-05 Dušan Kazik Updated Slovak translation 2016-08-02 Daniel Mustieles Updated Spanish translation 2016-07-31 Aurimas Černius Updated Lithuanian translation 2016-07-25 Piotr Drąg Add Language headers to po files Future versions of gettext will fail if this header is missing. 2016-07-18 Daniel Mustieles Updated Spanish translation 2016-07-17 Carlos Garnacho libtracker-sparql-backend: Turn failure to initialize direct backend to a warning This usually indicates a wrong environment, we elegantly fallback to using the bus backend so this is for the most part not noticeable by the user. Turn this into a warning so the problem is more visible. tracker: Fix possible warnings with the tracker search -[msivt] subcommands We used to poke a third column when the "no search term given" queries just return 2. This triggers warnings in the bus backend, but doesn't with the direct backend, which just returns NULL. Some people are seeing these warnings, which sounds bad enough because it means tracker is forcing the "bus" backend for some reason. But of all ways to notice this situation, this should not be one. tests: Add tests around DELETE{}INSERT{}WHERE{} syntax several (un)successful replacements of data are tested. tests: Add tests around update syntax So far, test for INSERT DATA, DELETE DATA and DELETE WHERE, which became broken recently. libtracker-data: Fix INSERT/DELETE DATA and DELETE WHERE syntax This was broken with the introduction of DELETE{}INSERT{}WHERE{}. Unbreak it, and check harder for invalid syntax situations, which we should warn about. libtracker-sparql: Make tracker URI GType private We don't expose it anywhere in API, may be hidden as an implementation detail. libtracker-extract: Remove TrackerSparqlBuilder guarantee functions Those are not used anymore, and libtracker-extract is private, so... tests: Update tracker guarantee tests to check the TrackerResource functions Those are the ones used now. 2016-07-16 Carlos Garnacho libtracker-sparql: Add TrackerResource/NamespaceManager to docs And document the missing functions. libtracker-sparql: Fix small typo Quite harmless, but triggers gtk-doc warnings. libtracker-extract: Ensure UTF-8 content in contact/tag helpers Those are created from untrusted data in some places, better to ensure UTF-8 content in those. tracker-extract-tiff: Ensure UTF-8 content in several TIFF fields We can't rely on libtiff to do this. tracker-extract-gif: Ensure UTF-8 content in nie:comment We can't rely on libgif to do this. tracker-extract-jpeg: Ensure UTF-8 content in nie:comment We can't rely on libjpeg to do this. libtracker-extract: Add tracker_guarantee_resource_utf8_string() This is a wrapper to tracker_resource_set_string(), which additionally validates the string to be UTF-8, and inserts only as much text as could be validated. Can be thought of as an internal replacement to tracker_sparql_builder_object_unvalidated(), the fact that we deal with non utf-8 data sources is an implementation detail to extractors, so it doesn't make as much sense to make this a public function in the shiny new TrackerResource API. tracker-extract-mp3: Fix albumArtist coalescing It seems the fix in commit 6dc2c85856 got oddly merged with the TrackerResource work, this fixes coalescing so the performer is used again as a last resort to determining the nmm:albumArtist. 2016-07-15 Sam Thursfield Merge branch 'sam/resource' 2016-07-14 Sam Thursfield Use TrackerResource instead of TrackerSparqlBuilder in all extractors For a long time, all the Tracker extractors have manually constructed a SPARQL update command using TrackerSparqlBuilder to represent their output. This commit changes all of them to use the TrackerResource class instead, which makes the code a lot more concise and readable. This introduces some API breaks in the internal libtracker-extract library. This has been a private library since Tracker 0.16 or earlier, so it's fine. If the extractors only output SPARQL then they are only useful to people who are using a SPARQL store. Now we can output a serialization format like Turtle as well. This will hopefully make the extract modules useful outside of Tracker itself. I've tried to preserve the behaviour of the extractors as much as possible, but there are two things that are now handled differently: * nao:Tag resources are given a fixed URI based on the tag label, such as . Previously they were inserted as blank nodes, so tracker-store would give them unique IDs like * All extractors created nco:Contact resources for content publishers, but previously some would assign fixed URIs based on the name , while others would insert them as blank nodes so they would be assigned unique IDs like . Now, all extractors create nco:Contact resources with fixed URIs based on the content creator's name. https://bugzilla.gnome.org/show_bug.cgi?id=767472 2016-07-14 Sam Thursfield libtracker-extract: Add resource-helpers module This is factoring common code out of the individual extract modules. https://bugzilla.gnome.org/show_bug.cgi?id=767472 2016-07-14 Sam Thursfield libtracker-sparql: Add TrackerResource class This provides a "resource-oriented" API for inserting and updating the database. Rather than having to generate SPARQL queries, you can use the TrackerResource abstraction to prepare information about a set of resources, then generate a SPARQL query automatically. TrackerResource can also serialize to Turtle directly. https://bugzilla.gnome.org/show_bug.cgi?id=767472 2016-07-14 Sam Thursfield libtracker-sparql: Add TrackerNamespaceManager This will keep track of a set of namespaces and their prefixes. Then, when we are serializing a resource, we can use it. This is separate from the Namespace and Ontologies classes in libtracker-data. They may be able to make use of it though. https://bugzilla.gnome.org/show_bug.cgi?id=767472 libtracker-sparql: Add TRACKER_TYPE_URI This is the same as G_TYPE_STRING, but we need to treat strings and URIs differently when generating SPARQL from the TrackerResource class, so we need a separate GType to keep track of which is which when given a GValue. https://bugzilla.gnome.org/show_bug.cgi?id=767472 2016-07-14 Sam Thursfield Bump GLib dependency to 2.44 So I can use G_DECLARE_DERIVABLE_TYPE() instead of writing out everything manually. https://bugzilla.gnome.org/show_bug.cgi?id=767472 2016-07-14 Sam Thursfield tracker-extract: Fix invalid SPARQL used when blacklisting files This issue meant that files that triggered crashes never got blacklisted, as the invalid SPARQL was ignored by the tracker-store. So tracker-extract would spin on invalid files forever in some cases. Clarify SPARQL example in manpage https://bugzilla.gnome.org/show_bug.cgi?id=767246 Merge branch 'sam/extract-command' 2016-07-13 Sam Thursfield functional-tests: Add test case for re-extracting known files This testcase should pass. I did think there was a bug here and opened , but that turned out to be invalid. functional-tests: Fix bug in await_resource_inserted() As a performance optimisation, after the first GraphUpdated signal for a resource, subsequent changes to that resource would be ignored. This is actually dumb, because it means we ignore all the data added by the extractor in some cases. 2016-07-12 Sam Thursfield tracker-extract-gstreamer: Only show GstDateTime message with verbosity=debug I can't see any use for this message myself, maybe it should be removed altogether: GstDateTime was not complete, parts of the date/time were missing (e.g. hours, minutes, seconds) 2016-07-04 Sam Thursfield Add example configuration 'uncrustify' formatting tool This is useful for aligning variables in parameter names. tracker-extract-gstreamer: Fix hash value format on 32-bit systems The gsize type is 32 bits on a 32-bit system, but the hash value we are printing is a guint64 so it's 64 bits on all systems. Note that G_GINT64_MODIFIER is for both signed and unsigned int64 values. 2016-07-03 Adrien Bustany Updated French translation 2016-06-30 Sam Thursfield sandbox: Support Python 3 as well as Python 2 sandbox: Fix MIME hack introduced in 8a758a03afada It seems that new systems don't have this custom 'mime' dir (which is good news), it's just some weird relic that exists on my laptop. The workaround should now not break things in any case. 2016-06-28 Igor Gnatenko tracker-store: use @libexecdir@ in systemd service References: https://bugzilla.gnome.org/show_bug.cgi?id=768127 2016-06-25 Sam Thursfield sandbox: Fix MIME-type detection inside the sandbox It turns out that MIME-type detection depends on various files in $XDG_DATA_HOME/mime, at least on my Fedora 24 system. We need to link to these files in our overridden XDG_DATA_HOME dir if we want extraction to work properly, otherwise everything is detected as text/plain. 2016-06-24 Sam Thursfield libtracker-data: Fix pointer sign warnings 2016-06-22 Tiago Santos Updated Portuguese translation