2017-08-07 Carlos Garnacho <carlosg@gnome.org> Release 1.99.2 2017-08-03 Carlos Garnacho <carlosg@gnome.org> Update doap file meson: Create all miner links on $datadir/tracker/miners Remove code not related to miners The miners are being split from the core tracker package. On both autotools/meson builds, datadir and libdir for private data has been changed to be separate from the tracker core. Same goes for the gettext package and other bits. Additionally, avoid installing the dbus xml descriptions. That's fairly non-standard and unnecessary with introspection. 2017-08-03 Marek Cernocky <marek_cernocky@conel.cz> Updated Czech translation 2017-07-28 Lucas Satabin <lucas.satabin@gnieh.org> rss: Add support for enclosures Some feed (e.g. podcasts) use the `enclosure` element of the RSS feed format. The ontology supports these element throught the `mfo:enclosureList` relationship and `mfo:Enclosure` class. Support for enclosures is simply added by looping over such elements if any, and adding the relationships upon feed message insertion or update. Enclosures are deleted when the `mfo:FeedMessage` that links to it is deleted. Also fixes a problem of double free when contributor list is not empty. https://bugzilla.gnome.org/show_bug.cgi?id=785454 2017-07-25 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2017-07-24 Lubomir Rintel <lkundrak@v3.sk> libtracker-miner: port to libnm It's the perferred NetworkManager's library for a couple of years now already. Keep compatibility with the older one, since it's reasonably similar. https://bugzilla.gnome.org/show_bug.cgi?id=777178 2017-07-24 Carlos Garnacho <carlosg@gnome.org> meson: Add optional upower/hal deps on tracker-miner-fs Otherwise those fail to compile due to the missing includes/cflags. meson: Fix bash completion dir guessing Use the right method to fetch a pkg-config variable. https://bugzilla.gnome.org/show_bug.cgi?id=785248 libtracker-data: Don't rely on spaces as separators on title collation Skip non alphanumeric characters both at the beginning of titles, and after the prefix match. Of course, require at least one such non alphanumeric character after the prefix match, in order to avoid matching beginnings of words. https://bugzilla.gnome.org/show_bug.cgi?id=785146 2017-07-23 Jeremy Bicha <jbicha@ubuntu.com> libtracker-data: fix format-security issue https://bugzilla.gnome.org/show_bug.cgi?id=785245 build: meson: Fix upower-glib check https://bugzilla.gnome.org/show_bug.cgi?id=785247 2017-07-23 Michael Biebl <biebl@debian.org> Remove leftover @LIBTRACKER_MINER_PC_REQUIRES@ from tracker-miner.pc.in Follow-up for commit ac84484dfb5dea636e4b2e830d25901413fb970c. https://bugzilla.gnome.org/show_bug.cgi?id=785294 2017-07-22 Kukuh Syafaat <syafaatkukuh@gmail.com> Update Indonesian translation 2017-07-19 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Use '|' as separator for title articles. As suggested in https://bugzilla.gnome.org/show_bug.cgi?id=785146 and following https://bugzilla.gnome.org/show_bug.cgi?id=771348, change the separator used for common articles. Translators, apologies for the moving target. Release 1.99.1 build: Cleanup TRACKER_COMPILATION defines from c_args It is now defined globally, so can removed from specific targets. build: Unbreak meson build The change in 1b31260292 added somewhat clumsy meson support. The C-side vapi is now required by the Vala-side vapi, but only the latter is included when building the rest of the libraries. Since we can't tell the build to ditch the vala vapi and include our merged/spiced up tracker-sparql-2.0.vapi file, add a dependency on the C vapi that we can add on the selected places. A side effect of including the unfixed vapis is that includes point to internal files, so make sure everything gets TRACKER_COMPILATION when building to circumvent it. libtracker-sparql: Fix tracker-sparql-2.0.vapi generation It would be left partly including headers that must not be accessed directly. Also, ensure that we look for the C vapi file in srcdir for both meson and autotools. libtracker-data: Implement tracker:title-order() SPARQL function This is a tracker-specific helper function that will remove the initial common articles (the, a, an, ...) for sorting purposes. This is implemented as an additional collation, so tracker:title-order only makes sense to be used in the ORDER BY clause. 2017-07-18 Fabio Tomat <f.t.public@gmail.com> Update Friulian translation 2017-07-17 Rico Tzschichholz <ricotz@ubuntu.com> libtracker-miner: Fix introspection warning due header/source-def mismatch 2017-07-16 Carlos Garnacho <carlosg@gnome.org> tracker-store: Check wal threadpool existence before using it During shutdown the thread pool might be actually gone. Do not try to poke it in those situations, a blocking wal checkpoint will happen eventually. 2017-07-16 Emmanuele Bassi <ebassi@gnome.org> build: Add generated enumeration files to BUILT_SOURCES Dependency tracking in Automake is a side effect of compilation. This means two things: * headers are ignored when it comes to building dependencies, even when listed inside sources for a binary target * generated headers included inside source files are not used as a dependency until compilation of the source file completes successfully If binary target L depends on a source file C, and that source file includes a generated header H, there is no guarantee that the header H will be available by the time source file C is built, because the dependency is extracted from C itself, not from the list of sources. Additionally, any header H does not count towards the dependency resolution because headers are only used for ancillary features, like extracting tags. For this reason, Automake has `BUILT_SOURCES`. This is a bit of obscure corner of Automake that trips up many who are not practitioners of the Dark Arts. More information is available here: https://www.gnu.org/software/automake/manual/html_node/Built-Sources-Example.html#Built-Sources-Example 2017-07-15 Carlos Garnacho <carlosg@gnome.org> tracker-miner-fs: Fix signal prototype of TrackerMinerFiles::writeback It's defined a boolean return value, which was not obtained when emitting the signal. Agree everywhere on removing it since it's not necessary. Fixes a crash when the signal was emitted. libtracker-data: Do not reuse TrackerDBInterface used for DB checks It is just too soon to let it initialize like the others, just drop it and let the TrackerDBManager create proper ones on demand. Fixes possible crashes on FTS because the TrackerOntology is still empty, so the TrackerDBInterface ends up with 0 cached FTS properties. https://bugzilla.gnome.org/show_bug.cgi?id=784926 2017-07-13 Dušan Kazik <prescott66@gmail.com> Update Slovak translation 2017-07-12 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Disable monitors during crawling on large indexing trees If the number of indexed folders exceed the TrackerMonitor limit, acknowledge that the filesystem image shall be possibly out of date soon and disable monitors temporarily during crawling. This results in a major speedup in the crawling phase (both initial indexing and the one performed on every startup to update the Tracker concept of the filesystem), because an excessive amount of directory monitors make the syscalls performed during crawling inherently slower. Testing with the same sample folders than commit 2e7e70a2ea (and the same quarter million files in 17k folders), this results on ~4x faster tracker-miner-fs startups. The accumulated improvements took regular startup stituations (i.e. just ensuring the filesystem is up-to-date) from roughly 4m to 22s here. Everything measured on i7/ssd, otherwise idle, ... libtracker-miner: Add TrackerMonitor function to check the limit 2017-07-11 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Do not accept "... AS foo" anymore Nowadays this is pretty useless nonstandard syntax, SPARQL1.1 settled on ".... AS ?foo" and we've accepted it for a long time. libtracker-sparql: Implement tracker_sparql_connection_get_namespace_manager() This is implemented on direct connections and the generic backend. The TrackerNamespaceManager will be filled in from the internal ontologies, as read by the TrackerDataManager. libtracker-data: Add tracker_data_manager_get_namespaces() This will be used to fill in TrackerNamespaceManager objects that are specific to a TrackerSparqlConnection. libtracker-sparql: Add vapi file for the C portions Just like we do with girs, merge together the vapi for the C portions and the generated vapi for the vala bits. This allows using TrackerNamespaceManager and TrackerResource from vala code. libtracker-sparql: Deprecate TrackerSparqlBuilder It has been superseded by TrackerResource, it is encouraged for new development. libtracker-miner: Drop TrackerSparqlBuilder from TrackerDecorator API Just add tracker_decorator_info_complete[_error] functions to let the decorator implementation give back the resulting SPARQL. This way the TrackerDecorator API is agnostic of the method/API used to build the SPARQL. libtracker-sparql: Fix horrible confusion with G_GINT64_FORMAT The "d" is already implied there, not for us to add. Let's pretend this never happened... libtracker-miner: Remove deprecation annotation from vapi file This applied to ignore_next_update(), which has been removed for 2.0. libtracker-sparql: Add tracker_resource_[add|set]_take_relation() These are C helper functions, so users may create trees of TrackerResources without having to manually unref all non-root ones. docs: Remove doc references to TrackerEnumerator libtracker-sparql: Remove get_direct(_async|_finish) Those functions have been deprecated for years and are being removed for 2.0. Use tracker_sparql_connection_get() and async variants instead, that will smartly use the direct connection underneath. 2017-07-10 Jeremy Bicha <jbicha@ubuntu.com> Fix Spanish translation header See https://bugzilla.gnome.org/show_bug.cgi?id=771765 2017-07-10 Kukuh Syafaat <syafaatkukuh@gmail.com> Update Indonesian translation 2017-07-10 Carlos Garnacho <carlosg@gnome.org> tests: Adapt tracker-backup-test to non-GPrivate interfaces This code relies on being able to query again the contents immediately after restore, this may or may not be true depending on the TrackerDBInterface used on the posterior query (eg. not being the one that performed the update). Since testing access from multiple DBInterfaces is not in the scope of this test, just add an extra TrackerDataManager initialization in between to ensure the interface used on the query is up to date. libtracker-data: Don't use GPrivate to store TrackerDBInterfaces The improvement is twofold here. On one hand ensures there's no confusions with multiple TrackerDBManagers, because we had no guarantees that a thread would be reused across those. But also we can be much smarter about which TrackerDBInterface we hand for operations, giving one that is "free" (i.e. has no other active cursors) gives much more reduced mutex contention on stress loads. The maximum number of interfaces has been obtained rather unscientifically, seems the turning point at which throughtput does not really increment on downright stupid workloads, given the amount of readonly threads we allow on the direct connection. libtracker-data: Make all other ifaces than wal/writable readonly The interfaces returned by tracker_data_manager_get_db_interface() are now ensured to be only used in select queries, so be bolder about this and ensure the interfaces are actually readonly. libtracker-data: Make writable/wal interfaces unique Instead of "picking" one of the several DB interfaces created, ensure canonical ones for these operations. libtracker-data: Pass DB interface to tracker_data_query_resource_id() This is used on both readonly and readwrite paths, pass the DB interface explicitly to avoid confusions wrt the one that must be used. libtracker-miner: Fix cancellation of data_provider_begin() The async op is not owner of the user data, so it may be actually gone in the GAsyncReadyCallback. Ensure we only use it on success or on other errors than cancelled, fixes crashes in tracker-crawler crawl-interrupted test after commit b4f7b84fe4 because tracker_crawler_stop() is now called at a time that triggers this. 2017-07-10 Piotr Drąg <piotrdrag@gmail.com> Update POTFILES.in 2017-07-10 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Ensure sparql buffer keeps flushing The sparql buffer might get full again with new tasks before the update_array operation for the current batch returned. In this case nothing will kick the TrackerMinerFS again, nor the SPARQL buffer from flushing again. Fix this by just flushing again, the miner will follow as soon as the SPARQL buffer is below limits. libtracker-data: Set interfaces' prepared statement LRUs on common code All DB interfaces get the max number of items set, so just set those in common code. Also, avoid allocating any space for update statements in readonly interfaces. libtracker-miner: Call next_files_async() in batches Instead of painstakingly requesting GFileInfos one by one, request several of those in a single batch. This is a lot easier to the main loop, because we don't need hitting it several times per file. This and the previous commits result in massive speedups to TrackerMinerFS, since CPU time in userspace during TrackerMinerFS activity was largely dominated by GSource and main loop overhead. Somewhere around 1.80x-2x faster for initial indexing, and up to 3x faster for startup on an already indexed FS, from unscientifical testing with a quarter million files contained in ~17K folders. libtracker-miner: Remove Tracker[File]Enumerator This is a pretty pointless shallow wrapper to GFileEnumerator. Just make TrackerDataProvider offer GFileEnumerators. If anyone ever was in need for implementing a TrackerEnumerator, they can do the very same by implementing GFileEnumerator, and handing those from their TrackerDataProvider impl. This also cuts a level of indirection in directory crawling (i.e. no wrapping of GTasks in GTasks), and allows us to fully use GFileEnumerator API (eg. g_file_enumerator_next_files will be handy). 2017-07-09 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Process TrackerMinerFS elements in batches This prevents us from hitting too hard the main loop. libtracker-miner: Shortcut the initial op after tracker_crawler_start() It is well known, and will already happen asynchronously, no need to hit the main loop for that. libtracker-miner: Process TrackerCrawler elements in batches This prevents us from hitting too hard the main loop. libtracker-data: Preserve ontology journal writer for a bit longer It's destroyed far too soon if the ontology needs rebuilding. 2017-07-06 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Add explicit shutdown call to TrackerDataManager As DB interfaces will have a reference each on the TrackerDataManager, callers will never drop the last reference themselves. Add an explicit shutdown() call that just runs the dispose phase, and destroy the TrackerDBManager on it. Destroying the DB manager will tear down the writeable DB interface and unlink the "is running" file. Any remaining readonly DB interfaces presumably don't need the DB manager anymore and will disappear as soon as all their remaining cursors are closed. Release 1.99.0 libtracker-miner: Fix warnings if move ops happened during initial crawling The checks to notify about indexing having finished on TrackerIndexingTree roots were mistaking ItemMovedData* with GFile*, which lead to warnings. This should be harmless, the signal might be possibly emitted before the move op is dispatched, that's all. tracker-miner-fs: Request source item URN as expected When the code to handle SPARQL updates related to move operations moved from libtracker-miner to tracker-miner-fs, we started querying the dest file here, which would return a NULL URN as expected, since it doesn't "exist" yet. miners: Request DBus name after creating miner objects Fixes those not seeming to autostart properly through the "tracker daemon -s" CLI command, because it calls for a method in an object that's not yet created at the time the DBus name is visible. libtracker-miner: Add missing ::move-file signal Fixes handling of moved files, since the subclass vmethod wouldn't be triggered. 2017-07-03 Sam Thursfield <sam@afuera.me.uk> meson: Rearrange dependencies until things compile Targets far down the dependency chain were failing due to mysteriously missing symbols. The use of -Wl,--as-needed seemed to be triggering the issue. This only occured with new versions of Meson. Previously circular dependencies would be added recursively but this was removed with <https://github.com/mesonbuild/meson/pull/1545>. I'm not 100% sure how this fixes things, but I think that removing or at least reshuffling circular dependencies of libtracker-sparql means that libraries are passed to the linker in "correct" order. 2017-07-03 Piotr Drąg <piotrdrag@gmail.com> Use glib preset for i18n https://bugzilla.gnome.org/show_bug.cgi?id=783750 2017-07-03 Carlos Garnacho <carlosg@gnome.org> configure: Do not generate src/plugins/Makefile Makefile.am is not there anymore. utils: Remove gtk-sparql util It's not even ported to pygi, it could go to examples/ if refurbished, but there's aplenty on internet. utils: Remove clean-tracker-prefix script We've got make/ninja uninstall for that. Delete tracker-needle It was cool when Tracker search was barely integrated anywhere. Nowadays, it's nothing but an aging showcase app (eg. was conceived in the gtk2 days and barely ported to gtk3, and it shows everywhere). If you want a modern and capable search UI, try Nautilus. If you are outraged that tracker-needle is gone and ended up here, by all means be my guest, reset to the parent of this commit and take it out of tree. If you join #tracker I'll gladly give you advise on how could it be brought up-to-date. But our hands are full, sorry, we leave cool UIs to others. Delete tracker-preferences This is a mix of store and miner features which can't be assumed to go together. It is better to leave configuration UI up to the environment, in the GNOME case this is gnome-control-center search panel. For settings that fall in the cracks, or for environments that don't integrate Tracker search in their configuration UI, there's the rather capable dconf-editor which will provide all toggles, and will explain them better than any UI we may have. In the future the CLI tools might gain some configuration subcommand, but it will not be a graphical UI. Delete evolution/thunderbird/nautilus/firefox plugins Those are unmaintained, are broken, don't compile, or a combination of all. Sadly there hasn't been enough manpower during the last years to keep those up to par. Future seems shiny enough for nautilus, as the features are being developed in-tree. If anyone ever remembers there were such plugins and misses them enough to take over maintainership, by all means reset to the parent of this commit and take those out of tree. You will have my gratitude. Thanks too to everyone who ever contributed in those plugins, I'm not happy to let that much work go. libtracker-miner: Remove writeback API The only user that might ever care does already implement it itself. There is no need to provide this infrastructure that will be scarcely used in libtracker-miner API. tracker-miner-fs: Implement writeback atop TrackerMinerFS This implementation just pauses the miner while there's writeback items to process, and uses the filter_event vmethod to perform maintenance of writeback tasks. Functionally, is not that different from the TrackerMinerFS implementation. 2017-07-02 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Add filter_event vmethod This is not a signal because external users of a TrackerMiner have no business in modifying behavior at this level, this is reserved for subclasses that presumably know what they are doing. This vmethod is toggled for every event that gets received from the TrackerFileNotifier, before the file gets to hit any processing queue. tests: Add missing macros to meson build instructions Those were added on autotools, but were forgotten on meson... 2017-07-01 Carlos Garnacho <carlosg@gnome.org> libtracker-fts: Skip loading the FTS module if sqlite has it builtin It is unneeded, and the missing symbol will be treated as a fatal error. 2017-06-29 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Fix compile errors with --disable-journal libtracker-data: Allow using older sqlite API But warn about it, as it is unsafe. Merge branch 'wip/carlosg/domain-ontologies' libtracker-common: Add a last resort envvar to load default domain ontology This can only be used if the default domain ontology file is not found, and is now used on tests that do rely on the default tracker-store instance. Also, add back the TRACKER_DB_ONTOLOGIES_DIR, under the same restrictions. libtracker-miner: Add connection property to TrackerFileNotifier So it can be specified from the miner. tracker-store: Use wal_checkpoint API from TrackerDBInterface Better than calling the pragma and involving prepared statements libtracker-data: Make Tracker.DBStatement an InitiallyUnowned in vapi It does not matter much since the getter still returns a sunk reference, but better to be consistent with the real implementation. libtracker-control: Skip miners not meant to be loaded. This will make the miners not specified in the domain ontology description file invisible from the API user perspective. tracker-store: Add all known tracker miners to default domain ontology So it still behaves as it used to do. libtracker-common: Add domain ontology key/api to get expected miners This is purely a hint, and people may still run things manually or perform updates against this domain ontology themselves. Will be useful so we don't autostart more miners than necessary through the libtracker-control API. tracker-store: Remove ontology_name argument We do already deal with ontology locations at this point, which we also print. libtracker-data: Fix compilation on DISABLE_JOURNAL Pass the TrackerDataManager down tracker_backup_save(), so we can fetch the DB file underneath. tracker-extract: If there is a domain, set watch on it And exit as soon as the name vanishes. It may safely continue its operations on the next startup. tracker-miner-apps: If there is a domain, set watch on it And exit as soon as the name vanishes. It may safely continue its operations on the next startup. tracker-miner-fs: If there is a domain, set a watch on it And exit as soon as the name vanishes. It may safely continue its operations on the next startup. tracker-miner-rss: If there is a domain, set watch on it And exit as soon as the name vanishes. It may safely continue its operations on the next startup. tracker-store: If a domain is set, set a watch on it Tracker-store will wait till there are no elements left before exiting, in order to ensure it does so cleanly. libtracker-miner: Make TrackerMinerProxy look for the right tracker-store Use the domain name to find out the right tracker-store DBus name. libtracker-data: Ensure we set user data on an existing connection tracker-miner-rss: Look up the right dbus name for GraphUpdated This should be ported to TrackerNotifier, which already does the right thing. libtracker-sparql-backend: Ensure we always load the bus connection first Otherwise the database might not be created yet when creating the direct connection. libtracker-common: Use XDG_DATA_DIRS to find domain ontology definitions libtracker-control: Add domain argument to tracker_miner_manager_new_full I personally prefer using the excuse of the major version bump than adding a tracker_miner_manager_new_fuller() variant, as this is clearly a construct_only thing. Creating a TrackerMinerManager with an specific domain will allow dealing with the miners spawned for it. libtracker-control: Remove obscure environment variables These were supposedly added for testing, but they are not used anywhere, nor it sounds ok to fundamentally change TrackerMinerManager behavior. Let's remove these. miners: Add NameSuffix field to miner .service files This will be used by TrackerMinerManager in order to find out the right dbus names according to the domain ontology. tracker-miner-fs: Drop standalone DBus name for Files.Index Because we're registering 2 interfaces and 2 dbus names, both expose the same 2 interfaces and are introspectable the same way. This makes no sense, just use the org.freedesktop.Tracker1.Miner.Files name for both interfaces. libtracker-miner: Add TrackerMiner::connection property So it is possible to use TrackerMiner facilities in-process using a dedicated TrackerSparqlConnection. Basically store and mining handled by the client app. libtracker-sparql: Make TrackerNotifier check GraphUpdated from the domain It must listen to the signal from the right tracker-store instance. rss: Add --domain-ontology switch This allows tracker-miner-rss to dump data on other domain ontologies than the default one. tracker-extract: Add --domain-ontology switch This allows tracker-extract to dump data on other domain ontologies than the default one. tracker-miner-apps: Add --domain-ontology switch This allows tracker-miner-apps to dump data on other domain ontologies than the default one. tracker-miner-fs: Add --domain-ontology switch This allows running tracker-miner-fs on other domain ontologies moderated by a tracker-store daemon. The switch does: 1) Set up the ontology domain for the default TrackerSparqlConnection 2) Make the miner use a DBus name relative to the domain In result, tracker-miner-fs can take a different DBus name and talk to other tracker-store instances than the default. libtracker-sparql: Use TrackerDomainOntology on tracker_sparql_connection_get() Add a global tracker_sparql_connection_set_domain() call that allows setting domain ontology that the client shall use. This only affects the connection obtained through tracker_sparql_connection_get(), other constructors may have different settings. libtracker-sparql-backend: Set namespace on Log object So we can include libtracker-common vapi without conflicts tracker-store: Use TrackerDomainOntology helper tracker-store: Install default domain ontology This makes Tracker behave as it ever used to. Also add some comments so it serves as a base for other domain ontologies. libtracker-common: Add TrackerDomainOntology helper This just wraps the information that can be extracted from a domain ontology rule file. tracker-store: Make DBus unique name purely dependent on the domain i.e. just remove the ontology name from there. We do add the ".Tracker1" suffix though, just so Tracker gets its own namespace dependent on it, eg: org.gnome.Photos.Tracker1 org.gnome.Photos.Tracker1.Miner.Files org.gnome.Photos.Tracker1.Miner.Extract tracker-store: Remove fine-grained domain ontologies CLI switches Only allow --domain-ontology/-d to specify the rule name. There is too much room for failure making it possible to provide all switches manually (eg. missing ones, or pointing to the wrong location). The ontology rules are installed at /usr/share, so presumably the author(s) know what they are doing. tracker-store: Remove dbus_path domain ontologies setting tracker-store: Register all objects with default DBus paths Let's make the DBus name customizable, but making the DBus paths customizable too seems a bit overkill. It is fine to have multiple services implementing /org/freedesktop/Tracker1/* objects libtracker-miner: Add TrackerMinerProxy object And shift all miner dbus handling from TrackerMiner. This object takes a TrackerMiner and implements the org.freedesktop.Tracker1.Miner interface for it on DBus. One notable difference in handling here is that libtracker-miner does not try to own DBus names anymore, that is left up to the caller. The registered object will be available on whatever dbus name the caller does register. For compatibility, all TrackerMiner implementations around have been made to request their usual name. libtracker-miner: Fix TrackerMiner::progress signal arguments The signal marshaller has an extra argument, that was not available in the class method. libtracker-miner: Merge tracker_miner_fs_check_file[with_priority] Only check_file() remains, with an extra priority argument. The default G_PRIORITY_HIGH in the older check_file() was unintuitive, and is now explicitly specified in the org.freedesktop.Tracker1.Miner.Files.Index interface calls. libtracker-miner: Remove tracker_miner_fs_check_directory*() More unused API that is a thin wrapper to TrackerIndexingTree, just remove it. libtracker-miner: Remove TrackerMinerFS API to add/remove directories The whole set of tracker_miner_fs_add_directory_without_parent(), tracker_miner_fs_directory_add(), directory_remove() and directory_remove_full() are all covered by TrackerIndexingTree and basically unused, except for code in examples/. libtracker-miner: Remove tracker_miner_fs_[sg]et_initial_crawling() It did nothing at the libtracker-miner level, and can be safely removed. tracker-miner-fs: Implement initial crawling fully here It seems this setting was just ignored at on libtracker-miner since the introduction of TrackerFileNotifier. And it does not make a lot of sense either, crawling is done for 2 purposes: checking mtimes and setting up monitors. So we have individual toggles for each of those, but if neither happens we could just not start the miner as well, which is most similar to the tracker-miner-fs behavior when this setting was introduced. libtracker-miner: Remove tracker_miner_fs_set_mtime_checking() This is just used to set the TRACKER_DIRECTORY_FLAG_CHECK_MTIME flag on the TrackerIndexingTree for all files. Given libtracker-miner has this fine grained switch and all use of it happens in src/miners/fs, just move the global toggle there and remove it from libtracker-miner API. The only usage of this flag inside libtracker-miner happened inside tracker_miner_fs_directory_add(), which was superseded by TrackerIndexingTree too and is scheduled for removal. tracker-miner-fs: Adopt TrackerThumbnailer from libtracker-miner It makes no sense to have that at the library level, just move thumbnail handling to TrackerMinerFiles. Coincidentally, this removes further queries that required knowledge about the ontology in TrackerMinerFS. libtracker-miner: Remove tracker_miner_fs_force_recheck() It's unused and unneeded, just set the TRACKER_DIRECTORY_FLAG_CHECK_MTIME flag on the TrackerIndexingTree. libtracker-miner: Remove tracker_miner_fs_force_recheck() It's been a no-op for years. libtracker-miner: Remove tracker_miner_fs_get_parent_urn() It is cached once to be used once. Besides, the parent GFile is obviously guaranteed to be a folder, and folders are (not so obviously) guaranteed to be cached. Thus looking up the URN should be fast enough. libtracker-miner: Add TrackerMinerFS::move-file vmethod We delegate the SPARQL generation to this vmethod, in order to keep TrackerMinerFS as agnostic of the ontology as possible. libtracker-miner: Split ::remove-file into two signals The only_children argument is a bit awkward as we emit ::remove-file on a file that is not removed at all. The TrackerSparqlBuilder argument has been also removed (the signals just have a gchar* return value containing the SPARQL for the delete op) so it's up to the caller to decide how to compose the SPARQL. This allows removing some more knowledge about specific ontologies from TrackerMinerFS, the ontology-dependent upper layers will know better how to delete the corresponding entities. libtracker-miner: Change API of ::process-file[-attributes] There's a few changes here: - The 2 vmethods are now given a GTask, its cancellable is to be used if the handling goes async. - tracker_miner_fs_file_notify() has changed into a more generic tracker_miner_fs_notify_finish() method, that takes such GTask and completes it. - The vmethods are no longer given a TrackerSparqlBuilder, instead they are expected to create the SPARQL through whatever mean is most fit. The sparql is given in the tracker_miner_fs_notify_finish() func. This opens the door to TrackerMinerFS implementations using TrackerResource. The intent is 1) Pass something to these vmethods that the user can't forge or mess with, as matching on GFile relies that it's the same pointer that it was given in the vmethods. And 2) Make the finish() function more generic to be fit to other methods going async. Remove ignore_next_update() API It's been deprecated for a long time, it stands in the middle of detaching TrackerMiner from DBus, and it's one less piece of ontology-dependent libtracker-miner code. Enough reasons to finally remove this. Remove libmediaart code entirely The libmediaart dependency was disabled in commit 6a05068624bfa, it doesn't make sense to drag this code around. docs: Ensure to create the output dir in ttl2sgml docs: Remove duplicated code Move these functions to ttl_model instead of keeping several copies around. docs: Remove "see also" section from ontology class documentation The link is also included (from the description file, not guessed) in the main ontology overview page. That seems sufficient. docs: Do not add copyright by default on the ontology doc tool Even less that one. The doc tool is not in the position to decide the ontology copyright at all. docs: Generate documentation for internal ontology in libtracker-sparql docs: Unify ontology documentation tools Now we have a single tool for the general ontology documentation and the per-class/property one. docs: Remove dead code This is basically unused, we use prefixes from ontology files themselves. docs: Use xi:include to optionally load ontology explanations Less toggles on the doc generation tool, more seamless documentation blending. Sounds like win-win. docs: Add documentation around creating and maintaining ontologies If we now expose that detail to users, it's better to have it documented properly. libtracker-data: Remove static variable Just keep the current journal filename number in the TrackerDBJournal. libtracker-fts: Avoid static variables Just keep a per-interface table of FTS properties in order to calculate weights. libtracker-data: Make TrackerDataManager a non singleton There can now be multiple instances looking into separate database and journal locations. TrackerDataManager has been made an initable too, and busy handling has been lifted to a signal, in order to reduce the arguments at new() a bit. libtracker-data: Remove TrackerDBInterface busy functions We can't report progress from updates anyway, it doesn't make sense to spam the same state over and over. Just call the busy handler directly in the only place it's being used, at the beginning of the integrity check. libtracker-fts: Remove tracker_fts_init/shutdown functions Instead, load the FTS extension in every TrackerDBInterface manually. libtracker-fts: Pass TrackerDBInterface through FTS machinery It will be useful in order to retrieve the data manager, and the TrackerOntologies. libtracker-data: Add API to attach user data to TrackerDBInterfaces This will be used to attach the data manager. libtracker-data: Drop unused function libtracker-data: Make tracker-data-update.c a non singleton In order to avoid messing much with API, just call it TrackerData for consistency, although it's not the best name... The data manager will keep one of these around to perform updates on the database. libtracker-data: Make TrackerDBManager a non-singleton It's turned into a singleton pointer in tracker-data-manager.c atm, but now multiple DB managers pointing to different locations are possible. tracker-miner-fs: Adopt DBManager API to manipulate stamp files Those just matter for indexing purposes, so move all management here. tracker-extract has just been made to equate SCHED_IDLE_FIRST_INDEX to SCHED_ALWAYS. libtracker-data: Use flags for ro/use_mutex in TrackerDBInterface Caller is now responsible of setting the USE_MUTEX flag, instead of having the interface poke the DB manager. libtracker-data: Turn tracker ontologies into an object And make it a singleton in tracker-data-manager.c at the moment. libtracker-common: Make locale readonly There's no reasonable situation why we should change this from a library. Initialization (and shutdown) was also mostly useless as it would just set the same settings that it just retrieved. It's been turned into a sanity check for the relevant places. libtracker-data: Make journal writers non-singletons We keep two separate writers, one for the ontology and another one for regular data. The ontology one is just used during database initialization and is not expected to survive past tracker_data_manager_init(). The second writer will remain in place in order to dump user updates. libtracker-data: Move journal deletion code to tracker-db-journal.c And call it directly from the "tracker reset" subcommand, which seems about the only place where this is needed. In the future, we should just consider cache/journal directory ours, delete those altogether, and avoid these horrible layering breaks. libtracker-data: Use data location directly to tracker_data_backup_*() Instead of figuring it out from the journal filename. libtracker-data: Remove another filename argument in TrackerDBJournal Which also makes it use the right data location for it. libtracker-data: Make journal reader a non singleton We initialize and shutdown it quite selectively, it can be safely made a temporary object which is later freed. libtracker-data: Demote g_message()s to g_info() g_message() is not filtered out by the default glib log handler, and it doesn't make sense that we differ in behavior here. Since this is a library and many new portions are now exposed to clients, just use g_info() for all this logging, which leave stdout clear unless users set G_MESSAGES_DEBUG. libtracker-common: Remove libmediaart log handler libmediaart was split from tracker ages ago. libtracker-sparql: Do not modify messages verbosity This is a library, G_MESSAGES_DEBUG is just not ours. The TRACKER_VERBOSITY envvar still affects all tracker executables, but users will need to manually set G_MESSAGES_DEBUG if they want to catch tracker debugging from an app linking to it. libtracker-bus: Move tracker-store ping call here We just need this if we have a bus-based connection at all. libtracker-fts: Remove TRACKER_FTS_STOP_WORDS envvar If we have to keep one for tests, let it be TRACKER_LANGUAGE_STOP_WORDS_DIR, and point to a dummy location in the fts tests. libtracker-data: Remove TRACKER_PRAGMAS_FILE envvar Now that we are exposing databases to apps, it doesn't make sense to offer an environment variable that can entirely mangle how tracker behaves for these (Nor IMHO made sense back in the days, either). Let's just remove this envvar and pretend it never existed. tracker-store: Move handling of TRACKER_DB_ONTOLOGIES_DIR envvar here It does not make sense at the libtracker-data level, still might make some here. libtracker-data: Remove filename argument from journal init funcs We already pass a GFile with the location, just use the predefined basename for these. libtracker-data: Use filename based on cachedir for ontologies.gvdb Otherwise other database prefixes mess up with the canonical location. libtracker-data: Build all journal file locations from the given GFiles This is necessary to make the journals ubiquitous, as otherwise we mangle the canonical database when opening other ones. ontologies: Move nepomuk files into separate directory libtracker-data: Require location directories in all internals cache/journal/ontology dirs are now mandatory in tracker_data_manager_init(), all the upper layers must know what database and ontology they are using. libtracker-data: Handle backups where journal/cache dirs are the same Otherwise the tmp dir would be already created, causing warnings. libtracker-sparql: Add tracker_sparql_connection_local_new(_async) methods These calls make private sparql databases available to applications. libtracker-direct: Allow creating readwrite databases through direct connection This will allow creating sparql databases that are private to applications. They will be able to get multiple readonly handles, and updates will be handled by a single private thread. Pretty much like tracker-store (and the refactor took heavy inspiration from it), just sans dbus. So far, only the current direct connections (i.e. readonly, pointing to ~/.cache/tracker) have been replaced. libtracker-data: Pass TrackerDBInterface to wal hook So there's at least some context to pull the DBManager from, Otherwise we're down to DBManager singleton lookups, which might not hold true forever. libtracker-data: Use GFile for cache/journal arguments Deal with those from tracker_data_manager_init() on as GFiles, those are still required to be local though. This is more for consistency. tests: Remove duplicate ontologies in libtracker-data tests Now TrackerDataManager can lookup ontologies in a directory, as opposed to tests_schemas which could point to specific files. Luckily the ontology files were repeated over and over for each test, so it was easy enough to compress the ontologies into one per set of tests. 2017-06-28 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Remove test_schemas argument from TrackerDataManager This is superfluous now that we can load ontologies from custom places. libtracker-data: Take a GFile for ontology location in the data manager The other tracker_data_manager_init() arguments taking file paths will follow. This fully exposes the ability to load ontologies from resource:// locations. ontologies: Build dc/xsd/rdf/nrl/nao as GResource Those ontology files are the tracker core, as the database files' structure is modeled around those classes and properties. Include those as a GResource so they're guaranteed to be there, all other ontology files are optional and must be provided on TrackerDataManager initialization. The NAO ontology has been split between the official bits (included in the GResource) and the non-official bits (just used by the evolution miner, and moved to 90-tracker) libtracker-data: Use GFile throughout the TrackerDataManager ontology bits Use a GFileEnumerator and GFile to load the ontology files. This makes it possible to use other than local paths for these. libtracker-data: Make TrackerTurtleReader take GFiles Instead of file paths. This is so we can load ontology files from resource:// uris. All callers have been changed accordingly. 2017-06-28 Philip Van Hoof <philip@codeminded.be> Domain-ontologies: allow more flexibility on locations. Example: /opt/tracker/share# cat tracker/domain-ontologies/test.rule [DomainOntology] DataLocation=%HOME%/.cache/test/data CacheLocation=%HOME%/.cache/test/cache OntologyLocation=%SHAREDIR%/tracker/ontologies Domain=test DBusPath=/test OntologyName=test Add cache location to db manager and data manager Some unique shortcut names Allow loading domain ontology from .rule file Allow loading domain ontology from .desktop file Allow loading domain ontology from .desktop file tracker-store: Allow running multiple D-Bus services for domain ontologies libtracker-data, tracker-store: domain specific ontologies Whitespace fixes libtracker-data: tracker-store: Initial infrastructure to support domain specific ontologies 2017-06-28 Carlos Garnacho <carlosg@gnome.org> configure: Bump API version autotools: Don't set -Wl,--enable-new-dtags globally Just set it in library LDFLAGS, otherwise introspection may find the installed libraries before the ones being built, which is not the right thing if there are new symbols/types to be looked up. libtracker-miner: Look up for the gir in the right place on g-ir-compile I now wonder how it ever succeeded locally... autotools: Fix srcdir!=builddir issues The gir should be generated in builddir for real. autotools: Build and merge C/Vala girs in libtracker-sparql Following the meson changes, build 2 separate static libs, generate introspection stuff for those, and put them together in src/libtracker-sparql-backend. https://bugzilla.gnome.org/show_bug.cgi?id=782091 libtracker-sparql: Drop needless typedef We don't need defining TrackerSparqlBuilder here, and it causes it to get picked up twice in C and Vala girs. https://bugzilla.gnome.org/show_bug.cgi?id=782091 2017-06-28 Sam Thursfield <sam@afuera.me.uk> Fix missing introspection data for libtracker-sparql (when using Meson) Up til now only the Tracker.SparqlConnection and Tracker.SparqlBuilder resources were introspectable. This is because we only used the introspection output from `valac`, but other bits of libtracker-sparql have since been added that are written in C. There seems to be no way to generate a single .gir for a combined C and Vala codebase, so instead I have written a simple `g-ir-merge` script which can combine two different namespaces into a single .gir. This is currently tested and working with the Meson build instructions. It would be possible to implement this for the Autotools build instructions as well. https://bugzilla.gnome.org/show_bug.cgi?id=782091 2017-06-24 Sam Thursfield <sam.thursfield@codethink.co.uk> Fixes to Meson build system First, instead of using add_global_arguments() we now use a variable to set global compiler args. It turns out that add_global_arguments() is broken if you ever want to include your project as a subproject of something else. Second, dependencies weren't being specified correctly. These are hopefully now fixed to avoid any more random build failures. 2017-06-23 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Protect sqlite3_bind*() with interface lock There may be multiple cursors/db_statements from the same db interface being accessed from multiple threads. This must be under the TrackerDBInterface lock in order to prevent threading issues. https://bugzilla.redhat.com/show_bug.cgi?id=1404285 2017-06-18 Jordi Mas <jmas@softcatala.org> Fix to Catalan translation Update Catalan translation 2017-06-08 Sam Thursfield <sam@afuera.me.uk> Remove Maemo/Meego leftovers This removes various code paths that we believe to be unused. * The userguides miner has been removed altogether. * The application miner no longer parses MeeGo-style .desktop files * The TRACKER_DISABLE_MEEGOTOUCH_LOCALE environment flag is gone (it already did nothing) * Character set detection with libmeegotouch is removed, only enca or libicu are supported * Meego-specific flags are gone from .desktop files * Functional tests have lost their vestigal Scratchbox and Aegis support There are 5 ontologies referencing Maemo, 4 of which are largely unused. These have been kept around in case anyone is using them outside Tracker. https://bugzilla.gnome.org/show_bug.cgi?id=783555 Remove IDE files that were accidentally committed This was my fault, just over a year ago in commit b6c1b5cb638051155 ... sorry! Remove obsolete references to the --disable-miner commandline flag 2017-06-06 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Fix typo in last commit The decoder is bcmdec, not bmcdec. I managed to mistype it all over the place. 2017-06-04 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Blacklist vaapi/bmcdec gstreamer elements Remove these from the registry after initialization, the vaapi one could just cause undesired output/warnings after seccomp forbid it to do something. The bmcdec element is dumber and would just crash after shmget() despite trying to refuse it politely with an appropriate errno. Fixes SIGSYS on shmget() from gstreamer1-plugin-crystalhd if it happens to be installed and a video file is indexed. The blacklisting code has been lifted from totem-video-thumbnailer. 2017-05-28 Марко Костић <marko.m.kostic@gmail.com> Update Serbian translation (cherry picked from commit bdba71e0313b91ca7d5eea275bd1d559527302c8) 2017-05-23 Carlos Garnacho <carlosg@gnome.org> Release 1.13.0 distcheck fixes Hopefully among the last ones! 2017-05-22 Sam Thursfield <sam@afuera.me.uk> Distribute meson.build files in tarballs generated by Autotools This is useful for people who are not building from Git but still want to avoid Autotools. See: https://mail.gnome.org/archives/desktop-devel-list/2017-April/msg00091.html 2017-05-22 Sam Thursfield <ssssam@gmail.com> Meson build instructions for Tracker See <http://mesonbuild.com/> for information about Meson. Remaining issues: * There's no `make dist` equivalent. We currently produce release tarballs containing the output files of the Vala compiler. We need to think through whether we can stop doing that. Shipping the generated .c files does make the Vala preprocessor useless so it would be good if we can stop. * The Firefox, Thunderbird, Evolution and Nautilus plugins are not built * https://github.com/mesonbuild/meson/issues/671 -- means we can't depend on tracker_common_dep in most places and have to manually set link_with, include_directories and sources instead. * https://github.com/mesonbuild/meson/issues/1469 -- without this we have to install generated Vala headers using a script * https://github.com/mesonbuild/meson/issues/1229 -- means adding the #include guard to libtracker-sparql/tracker-generated-no-checks.h is a pain * The test suite has some spurious failures. Here's a rough speed comparison. Meson: time sh -c 'meson .. --prefix=/opt/tracker-meson -D bash_completion=/opt/tracker-meson/share/bash-completion -Dsystemd_user_services=/opt/tracker-meson/lib/systemd/user -Ddbus_services=/opt/tracker-meson/share/dbus-1/services && ninja-build -j 4 && ninja-build install' real 1m8.194s user 2m16.962s sys 0m20.532s Autotools: time sh -c './configure --prefix=/opt/tracker-autotools --with-bash-completion-dir=/opt/tracker-autotools/share/bash-completion --with-session-bus-services-dir=/opt/tracker-autotools/share/dbus-1/services --disable-nautilus-extension && make -j 4 && make install' real 2m37.750s user 4m37.214s sys 0m54.806s Plus 30+ seconds of ./autogen.sh first. Note that Meson builds may fail if your source tree has generated files from an Autotools build in there. If you see errors about duplicate definitions, first try cleaning your source tree (use `git clean -dfx`, but make sure you commit any work first!!) 2017-05-11 Carlos Garnacho <carlosg@gnome.org> libtracker-common: Whitelist openat() With the same caveats than open(). https://bugzilla.gnome.org/show_bug.cgi?id=782514 2017-05-03 Fabio Tomat <f.t.public@gmail.com> Update Friulian translation 2017-05-03 Sam Thursfield <sam@afuera.me.uk> libtracker-sparql: Fix further introspection mistakes The gir-scanner doesn't actually run for these files at the moment (see bug#782091) which is why the mistakes didn't get caught until now. 2017-04-16 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Shuffle refcount handling when queueing back a file The file might or might not be inserted to the queue, which meant that the extra ref created outside the call might never dropped if the file didn't end up inserted again. Fix this by doing the refcount increase when actually inserting the file back in the queue. Reported by Jose M. Arroyo <jose.m.arroyo.se@gmail.com>. 2017-04-12 Sam Thursfield <sam@afuera.me.uk> libtracker-sparql: Fix introspection mistakes The gir-scanner doesn't actually run for these files at the moment, so the mistakes didn't get caught until now. 2017-04-07 Stas Solovey <whats_up@tut.by> Update Russian translation (cherry picked from commit 267eec992f033b9e7c71a2ab6370828a8c9afe4c) 2017-04-06 Carlos Garnacho <carlosg@gnome.org> libtracker-sparql: Add osinfo ontology to the default TrackerNamespace Otherwise namespace lookups will come out NULL. https://bugzilla.gnome.org/show_bug.cgi?id=780968 2017-03-30 Sam Thursfield <sam@afuera.me.uk> Remove unused Vala dep Fix another printf format for gsize, it varies between 32/64 bit 2017-03-29 Fabio Tomat <f.t.public@gmail.com> Update Friulian translation (cherry picked from commit 922c213a52859c6ee0a2b9f3f4dee6f5104bfaa7) 2017-03-21 Sam Thursfield <sam@afuera.me.uk> tracker-needle: Fix compile warning libtracker-sparql: Use correct printf format specifiers for gint64 Sadly the correct format is different on 32bit and 64bit systems so we have to use the unweildy G_GINT64_FORMAT macro. 2017-03-20 Carlos Garnacho <carlosg@gnome.org> Release 1.12.0 2017-03-18 Rūdolfs Mazurs <rudolfsm@src.gnome.org> Update Latvian translation 2017-03-14 Kukuh Syafaat <syafaatkukuh@gmail.com> Update Indonesian translation 2017-03-13 Milo Casagrande <milo@ubuntu.com> Update Italian translation 2017-03-11 Sam Thursfield <sam@afuera.me.uk> tracker-extract: Fix warning in TIFF extractor This uses code from libtracker-common, so it needs to include the header. tracker-preferences: Fix compile warning ../src/tracker-preferences/tracker-preferences.vala:27.1-27.33: warning: the modifier `static' is not applicable to constants extern static const string UIDIR; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use conditional to work around gtk+-3.0.vapi breakage Commit 53007652ce1ed3cf350ec042b310606e0115377a breaks the build with versions of Vala older than 0.35.6. It's more convenient for people building Tracker if we use a #if block instead to allow building with older stable versions Vala. Avoid crash in ttlresource2sgml.c on invalid output path Silence the ttl_loader.c script by default It clutters the build output when using Meson, and doesn't really add much of use in any case. tracker-extract: Remove unused #include Remove some unused Makefile variables and compile flags 2017-03-04 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2017-03-04 Seong-ho Cho <shcho@gnome.org> Update Korean translation 2017-03-02 Ask Hjorth Larsen <asklarsen@gmail.com> Updated Danish translation 2017-02-28 Carlos Garnacho <carlosg@gnome.org> Release 1.11.4 tracker-extract: Cache TrackerConfig::max-bytes This is the only setting read from extractor modules. It turns out that under the right circumstances a g_settings_get_value() call can trigger open() calls with readwrite permissions from the caller thread. This is forbidden in extractor threads and triggers warnings like: dconf-CRITICAL **: unable to create file '/run/user/1000/dconf/user': Permission denied. dconf will not work properly. Also, since this setting is meaningless to update during tracker-extract lifetime, just drop the g_settings_bind() call, this means the setting is only read once on startup. https://bugzilla.gnome.org/show_bug.cgi?id=779342 tracker-needle: Fix build with up-to-date gtk+ vapi The GtkListStore remove method now takes a ref TreeIter. tracker-preferences: Fix build with up-to-date gtk+ vapi The GtkListStore remove method now takes a ref TreeIter. tracker-extract: Avoid allocating full image in memory at once Just read it line by line reusing the same buffer, it will still let us to fetch metadata at the end of the file. https://bugzilla.gnome.org/show_bug.cgi?id=778090 2017-02-28 Mario Blättermann <mario.blaettermann@gmail.com> Update German translation 2017-02-27 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw> Update Chinese (Taiwan) translation 2017-02-26 Мирослав Николић <miroslavnikolic@rocketmail.com> Updated Serbian translation 2017-02-26 Fran Dieguez <fran@openhost.es> Updated Galician translations 2017-02-24 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Use memory temp store for readonly connections It seems a bit harsh that fts queries on readonly interfaces fail if / is full because a tmp file for the fts view couldn't be created. Let readonly clients fully operate on memory for these cases. tracker-store: Create our own error if cancelled No functional change, but fixes coverity warning about g_cancellable_set_error_if_cancelled() return value being unchecked, as vala would just check the returned error pointer. Coverity ID: 1298211 libtracker-common: Be more lenient with dup2/dup3 And allow these to manipulate stdin/out/err. They may close file descriptors, but they don't grant access to anything the process wouldn't have already access for, anyway. libtracker-data: Clear possible error The same GError may be reused further ahead, which would doubly free it as it gets non-NULL again to error handling paths. 2017-02-23 Sam Thursfield <sam@afuera.me.uk> Fix pointer signedness warnings It's a bit ugly that GLib string functions take signed chars and SQLite'3 string functions return unsigned chars. We could disable that warning instead but maybe it's useful in some other places. Remove superfluous struct initializer Remove some unused variables 2017-02-22 Claude Paroz <claude@2xlibre.net> Updated French translation 2017-02-19 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation. 2017-02-18 Jiri Grönroos <jiri.gronroos@iki.fi> Update Finnish translation 2017-02-18 Anders Jonsson <anders.jonsson@norsjovallen.se> Update Swedish translation 2017-02-16 Ask Hjorth Larsen <asklarsen@gmail.com> Updated Danish translation 2017-02-13 Inaki Larranaga Murgoitio <dooteo@zundan.com> Update Basque language 2017-02-06 Sam Thursfield <sam@afuera.me.uk> configure.ac: Remove obsolete bits for 'external' media handler There's no code to actually implement this nowadays, the configure.ac stuff is a relic. 2017-02-05 Philip Withnall <withnall@endlessm.com> tracker-extract: Clarify untrusted value checks When validating the values of csize and tsize (as they are read from a potentially untrusted MP3 file), put them as the left-hand operand in the comparison by themselves, without adding anything which: • confuses Coverity; • potentially overflows. Coverity ID: 1399652 https://bugzilla.gnome.org/show_bug.cgi?id=778206 tracker-extract: Clarify a magic number Looks like this is the value of the header and frame sizes. https://bugzilla.gnome.org/show_bug.cgi?id=778206 2017-02-04 Sam Thursfield <sam@afuera.me.uk> Don't store path to the source tree in binaries The tracker-needle & tracker-preferences tools had a developer convenience that would hardcode the path to the source tree into the binaries, so that while developing you could edit the .ui files without having to rerun `make install` afterwards. It's not good to enable this sort of thing in non-debug binaries, and also it prevents the binaries from being bit-for-bit reproducible. This problem was detected by the Debian reproducible builds CI system: https://tests.reproducible-builds.org/tracker 2017-01-31 Debarshi Ray <debarshir@gnome.org> tracker-extract-png: Insert "nfo:image-category-screenshot" as a URI This is not a string, but a builtin class, so it must be dealt with as a URI. https://bugzilla.gnome.org/show_bug.cgi?id=776723 2017-01-30 Carlos Garnacho <carlosg@gnome.org> examples: Check tracker_sparql_cursor_next() return value. Coverity ID: 1188420 examples: Drop unneeded g_object_unref() call Another one. Coverity ID: 1188470 libtracker-extract: Remove initialize arg from load_module() It's now TRUE from all call points, so just make it happen by default. libtracker-extract: Remove dead code These functions are now unused, and libtracker-extract is private to Tracker. So these functions can be just removed. tracker-extract: Take gstreamer initialization to plugin init phase The gst_init() call may end up rebuilding the registry, so should be happening outside the sandbox. tracker-extract: Ensure extract modules are initialized on startup This takes module initialization out of the sandbox. Modules are trusted bits of code, so only the extract function must be taken as untrusted. tracker-extract: Add helpers to retrieve BE uints/sizes from MP3 ID3 tags The current code pretty much seems to assume that the host byte order is little endian, as multibyte data contained in ID3 frames is BE and byte swapping is performed. Add helpers that do care to translate that to the host memory order. 2017-01-29 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Check size specified in id3v2.0/2.3/2.4 frames It might be conceivably used to read past mmap()ped memory boundaries given the right conditions. Bailing out early avoids that. Coverity ID: 1298199 (Tentative fix) 2017-01-28 Carlos Garnacho <carlosg@gnome.org> examples: Check for NULL cursors in class-signal example It is unlikely to receive errors on queries there, but still this is an example, so better be correct there. Coverity ID: 1188420 libtracker-data: Make tracker_ontology_[write|load]_gvdb return a boolean Those return a GError already, so returning a boolean too sounds consistent with GLib APIs. Coincidentally fixes an "Unchecked return value" Coverity warning with gvdb_table_write_contents(), we now do propagate it. Coverity ID: 1188424 examples: Drop unneeded g_object_unref() call The cursor will be NULL in the error paths, no need to try to unref it. Coverity ID: 1188470 libtracker-data: Remove graph_id argument from resource_buffer_switch() It is unused. The graph argument is important though, because we ensure a resource ID is created for it if it doesn't exist yet. Coverity ID: 1188466 libtracker-fts: Clarify code flow The xInst function pointer can't return a <0 column here, so in practical effects an offsets array is ensured to be created on the first iteration. It might not seem like that to the keen eye, nor Coverity. Coverity ID: 1388715 docs: Make error message actually useful It's an error, not a stroke. 2017-01-28 Piotr Drąg <piotrdrag@gmail.com> Fix translator comments They need to be exactly one line above a string to show up in .po files. 2017-01-27 Carlos Garnacho <carlosg@gnome.org> Revert "tracker-extract, png: Fix DLNA profiles" This reverts commit 89baaa45a70e5d50462bbd4e5b89dbb2c221e701. The reasons to classify all pngs as PNG_LRG went away with the maemo bugzilla. The reason isn't clear and seems to go against the DNLA spec (at least, how gupnp-dlna understands it, which Tracker took inspiration from). This commit also made the if (profile)... check below useless, which raised warnings in Coverity. Coverity ID: 1298205 https://bugzilla.gnome.org/show_bug.cgi?id=777819 2017-01-25 Philip Withnall <philip@tecnocode.co.uk> libtracker-miner: Fix use of an uninitialised variable In the error path, finish_current_directory() was called on `notifier` before it had been initialised. Coverity CID: 1397952 https://bugzilla.gnome.org/show_bug.cgi?id=777725 2017-01-24 Carlos Garnacho <carlosg@gnome.org> utils: drop "--pkg gee-0.8" This is unneeded now. utils: Drop libgee dependency It's only used on the tracker-resdump helper, and can be easily replaced with the GLib counterparts. 2017-01-23 Philip Withnall <withnall@endlessm.com> tracker-seccomp: Check syscall availability at runtime not compile time This makes our seccomp() protection independent of the exact kernel version Tracker is built against. https://bugzilla.gnome.org/show_bug.cgi?id=777591 tracker-seccomp: Rewrap macros to make them clearer This introduces no functional changes. https://bugzilla.gnome.org/show_bug.cgi?id=777591 2017-01-22 Philip Withnall <philip@tecnocode.co.uk> tracker-seccomp: Add checks for mlock2() and getrandom() syscalls On older kernels, these syscalls did not exist, so the __NR_* syscall number definition does not exist for them, and compilation fails. Make the seccomp rules for them conditional on the syscall numbers existing. https://bugzilla.gnome.org/show_bug.cgi?id=777591 2017-01-20 Piotr Drąg <piotrdrag@gmail.com> Update Polish translation 2017-01-20 Sam Thursfield <sam@afuera.me.uk> libtracker-sparql: Fix bad serialization of date/time values TrackerResource was creating bad SPARQL & Turtle from GDateTime values. If you saw this... GDBus.Error:org.freedesktop.Tracker1.SparqlError.Type: Not a ISO 8601 date string. Allowed form is [-]CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm] ...it's because in the arguments for g_date_time_format() I confused %S (seconds since the last minute) with %s (seconds since 1st January 1970). That's a lot of extra seconds. libtracker-sparql: Remove some unused variables from tracker-resource.c 2017-01-19 Carlos Garnacho <carlosg@gnome.org> libtracker-common: Whitelist waitid/waitpid/wait4 https://bugzilla.gnome.org/show_bug.cgi?id=776117 libtracker-common: Whitelist getpid() syscall https://bugzilla.gnome.org/show_bug.cgi?id=776117 2017-01-18 Dušan Kazik <prescott66@gmail.com> Update Slovak translation 2017-01-18 Carlos Garnacho <carlosg@gnome.org> Release 1.11.3 2017-01-16 Carlos Garnacho <carlosg@gnome.org> libtracker-sparql: Print resources referenced in cardinality>1 properties Those were not being printed, just referenced in the parent resource. Fixes properties like slo:location being lost on newly indexed photos. https://bugzilla.gnome.org/show_bug.cgi?id=776723 tracker-extract: Insert nfo:orientation as a resource This is not an string, but a builtin class, so it must be dealt with as a resource. https://bugzilla.gnome.org/show_bug.cgi?id=776723 tracker-extract: Insert nmm:whiteBalance as a resource This is not an string, but a builtin class, so it must be dealt with as a resource. https://bugzilla.gnome.org/show_bug.cgi?id=776723 tracker-extract: Insert nmm:meteringMode as a resource This is not an string, but a builtin class, so it must be dealt with as a resource. https://bugzilla.gnome.org/show_bug.cgi?id=776723 tracker-extract: Insert nmm:flash as a Resource This is not an string, but a builtin class, so it must be dealt with as a resource. https://bugzilla.gnome.org/show_bug.cgi?id=776723 libtracker-sparql: Fix sparql/turtle generation of builtin classes We don't need to generate sparql/turtle for builtin classes (eg. nmm:flash-on). https://bugzilla.gnome.org/show_bug.cgi?id=776723 libtracker-miner: Fully stop TrackerFileNotifier operations on errors It oddly tried to just keep going, which may result in spurious deletes or partial inserts. Sounds better to just drop the ball on the directory at hand, it should be correctly indexed eventually. libtracker-miner: Fix mem/fd leaks on TrackerCrawler cancellation On cancellation, the early return would leak the DataProviderData, which indirectly contains the GFileEnumerator, and thus the directory fd. Just deal with cancellation like we do with other errors, except we don't want to warn. libtracker-data: Plug unlikely mem/fd leak If we fail to set the DB pragmas, the TrackerDBInterface would be leaked altogether. tracker-miner-fs: Use correct graph when inserting tracker:Volumes The volume URN is not meant to be the graph URN, use the tracker-miner-fs graph instead. 2017-01-12 Rafael Fontenelle <rafaelff@gnome.org> Update Brazilian Portuguese translation 2016-12-22 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2016-12-22 Carlos Garnacho <carlosg@gnome.org> configure: Make libseccomp only mandatory on linux If other unices want a similar level of protection, additional implementations should be added. In the mean time, it's just harsh to make tracker impossible to compile there. https://bugzilla.gnome.org/show_bug.cgi?id=764786 2016-12-21 Carlos Garnacho <carlosg@gnome.org> libtracker-common: Allow querying process stats/limits Modifying those is not allowed though. https://bugzilla.gnome.org/show_bug.cgi?id=776117 libtracker-common: Handle mlock*/munlock* syscalls Disallow pinning memory on RAM, but make it softly fail with EPERM. https://bugzilla.gnome.org/show_bug.cgi?id=776117 2016-12-17 Carlos Garnacho <carlosg@gnome.org> configure: Disable libmediaart dependency Hopefully just temporarily. At the very least the processing should be taken out of the extractor threads, as it requires file operations that are not allowed there. In the worst case, we must reconsider this dependency, as it might become a window of opportunity to writing on the filesystem, even if on a very specific folder. libtracker-common: Whitelist umask Let's give extractor modules the illusion that they can write something, they actually can't. libtracker-common: Whitelist dup/dup2/dup3 dup2/3 have special requirements, as they can close underlying fds, they are not allowed on stdin/out/err. libtracker-common: Whitelist gettimeofday() syscall https://bugzilla.gnome.org/show_bug.cgi?id=776117 2016-12-16 Carlos Garnacho <carlosg@gnome.org> tracker-miner-fs: Hook name acquired handler properly In the right circumstances it might cause tracker-miner-fs to miss tracker-extract disappearing the first time, which might lead to it not being re-activated as expected. libtracker-common: Whitelist clock_gettime/getres Reported to trigger false positives on Ubuntu. 2016-12-15 Carlos Garnacho <carlosg@gnome.org> libtracker-common: Whitelist more syscalls used on non-x86_64 arches These ones were spotted after compiling Tracker on i686. https://bugzilla.gnome.org/show_bug.cgi?id=776117 libtracker-common: Whitelist *64() stat/getdents syscalls Those variants may end up called depending on architecture and other factors, there's no reason for those to be blacklisted. https://bugzilla.gnome.org/show_bug.cgi?id=776117 2016-12-14 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Check error on posix_fadvise() calls. libtracker-common: Check error on posix_fadvise() call tracker: Check error on tracker_sparql_cursor_next() call And make it clear we poke the GError contents if there is one, although next() isn't really expected to fail on a "SELECT COUNT..." query. tracker-extract: Don't pass known-NULL pointer in PNG error paths The info_ptr is checked to be NULL, no need to pass it to the png_destroy_read_struct() function. Spotted through a false "c&p mistake" report from Coverity further down, in the error paths where info_ptr is actually non-NULL and needs freeing. tracker-extract: Fix c&p issue in ico extractor Turns out we returned the icon width as the height, which went unnoticed since icons are most usually square. tracker-extract: Silence Coverity warning The return value of g_file_load_contents() is not used. We checked the returned error instead so the code is equivalent, but directly checking the return value seems more readable. libtracker-miner: Add missing return after switch() case The QUEUE_UPDATED elements where being additionally checked against the QUEUE_WRITEBACK queue. This was harmless, but potentially confusing. Spotted through Coverity. libtracker-extract: Remove unneeded NULL check The module_info variable is ensured to be non-NULL at this point. libtracker-data: Check g_rename() return value And error out properly if it fails. libtracker-data: Check g_input_stream_read() return value And error out if it fails. libtracker-data: Check g_mkdir return value And error out if it failed. libtracker-common: Remove dead code We made the compiler happy, but made Coverity unhappy about the unreachable branch. libtracker-common: Avoid unneeded NULL check The tokens variable is ensured to be non-NULL here, no need to check it. libtracker-common: Fix c&p issue We must remove and iterate to the next element on l2, the l1 path is performed in the if(){} path. Spotted through Coverity. tracker-extract: Skip useless function call in msoffice extractor Spotted by Coverity. 2016-12-13 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Plug FD leak in GIF extractor libtracker-data: Improve error checks on REPLACE implementation 2016-12-08 Carlos Garnacho <carlosg@gnome.org> Release 1.11.2 tracker-miner-fs: Watch after tracker-extract process Ensure it's restarted after going away (eg. due to unintended crashes), the extractor will eventually skip over the file and keep going. configure: Make seccomp support mandatory This is something we can do on master, older stable releases will have to stick to optional support. tracker-extract: Sandbox extractor threads through seccomp Those deal with plugins and potentially malicious content, make it sure that any potential exploit is deprived of all tools that could make it harmful. https://bugzilla.gnome.org/show_bug.cgi?id=764786 libtracker-common: Implement sandboxing through libseccomp The threads calling the new tracker_seccomp_init() function, and all threads/processes spawned from these, will enter a restricted mode where only a few sensible syscalls are allowed, and more specifically, filesystem/socket access are restricted to being respectively readonly and local only. https://bugzilla.gnome.org/show_bug.cgi?id=764786 libtracker-extract: Ditch ThreadAwareness module configuration toggle It's basically unused, just use a private thread per-module so they're easier to isolate. https://bugzilla.gnome.org/show_bug.cgi?id=764786 tracker-miner-fs: Remove G_ADD_PRIVATE update leftover We still tried to add the same private struct through the old means on tracker_writeback_listener_class_init(), which would raise a warning. libtracker-sparql: Remove comment It doesn't really apply. The DELETE DATA { pattern } query requires the exact given triples, and won't work on variables. As it's not nice or possible to query the current values just to perform a better looking DELETE DATA {} query, just stick to the DELETE {} WHERE {} one, and don't insinuate that we have a better option. tracker-extract: Fix possible runtime warnings in GStreamer extractor We don't NULL-check the GST_TAG_DATE_TIME tag content. tracker-extract: Initialize variable in EPUB extractor Warning introduced when trying to fix mem leaks. libtracker-miner: Process writeback events one by one The idle function could result in an unrestricted number of writeback events performing queries simultaneously, which may result in more CPU spent than desirable. So serialize the whole thing, split the GVariant into multiple events that get queued and processed one by one, only when one event has been fully processed the next will be processed. This reopens the question of what to do with writeback events at finalize time though. Those now will be freed instead of silently ignored after we break the main loop. 2016-11-28 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Use G_ADD_PRIVATE in TrackerWritebackListener libtracker-sparql: Add some braces around statement Multiline statements get braces around. tracker-extract: Plug leaks in MP3 extractor The album artist TrackerResource has been somewhat shuffled so it's just declared where needed. tracker-extract: Plug leaks in GStreamer extractor Some generated URIs being leaked. tracker-extract: Plug leak in GIF extractor In case of error the frame data would be leaked. tracker-extract: Plug leaks in EPUB extractor Introduced during the TrackerResource work. libtracker-sparql: Plug TrackerResource leaks The context is reused, so the list must be freed again after the second use. libtracker-sparql: Plug TrackerNotifier leak The GString used to build the query is being leaked. libtracker-miner: Plug leak This is a char**, we must free the array and the strings. libtracker-miner: Plug leak If the cursor returns no items, it would be leaked. libtracker-extract: Plug leak The TrackerResource was being leaked. libtracker-data: Preserve resulting TrackerDBInterface on initialization This interface is currently leaked if the data manager if the TRACKER_DB_MANAGER_READONLY flag is not present. Since we use per-thread interfaces, keep the interface for this running thread. libtracker-data: Keep interface ref during close() The cursor may tear down the last interface instance, which leads to invalid writes when poking its memory during unlock. 2016-11-27 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Add missing unlock call If the sqlite3_stmt fails to be compiled, we would return without releasing the TrackerDBInterface mutex, not good. 2016-11-23 Balázs Meskó <meskobalazs@gmail.com> Update Hungarian translation 2016-11-21 Sam Thursfield <sam@afuera.me.uk> tests: Fix tracker-encoding-test when libicu charset detection is used I'm not sure this test is actually useful for anything, maybe we should just delete it... functional-tests: The test runner exits with correct error codes now tests: Remove some unused code and compile flags tests: Fix invalid call to tracker_getline in libtracker-extract test The test passes when used with glibc's getline(), but the fallback implementation we ship will return EINVAL if the size pointer is not set to zero before the call. The man page suggests that this is valid behaviour for a getline() implementation, so let's fix the test. examples: Update example FS miner to current API The code didn't work at all due to API changes in libtracker-miner. 2016-11-21 Carlos Garnacho <carlosg@gnome.org> Release 1.11.1 The brown paper bag release that 1.11.0.1 was meant to be, because FML. Release 1.11.0.1 For real, modify configure.ac Release 1.11.0.1 Revert "libtracker-data: Wrap BIND argument with () in SQL" This reverts commit 8fc47cfed03030e5377bc7989e5afd24e9b24c5b. Too easy to be true, it breaks other legit situations. Release 1.11.0 libtracker-data: Wrap BIND argument with () in SQL Constructing the query as "SELECT $bind * FROM (...)" may trigger sqlite parser overflows if the BIND form turns out to be too complex, Doing the query as "SELECT ($bind) * FROM (...)" seems to be more friendly to the parser. This error was seen in gnome-music search, where the BIND() argument is something like: BIND((IF(STRSTARTS(?title_lower, "the "), SUBSTR(?title_lower, 5), IF(STRSTARTS(?title_lower, "a "), SUBSTR(?title_lower, 3), IF(STRSTARTS(?title_lower, "an "), SUBSTR(?title_lower, 4), fn:replace(fn:lower-case(?title_lower), "^[ !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]+|[ !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]+$", "") ) ) ) ) AS ?title_collation) Which, despite the fn:replace regex argument being passed as a host parameter, seemed too much to sqlite. libtracker-sparql: Distcheck fix 2016-11-21 Marek Cernocky <marek_cernocky@conel.cz> Updated Czech translation 2016-11-20 Carlos Garnacho <carlosg@gnome.org> libtracker-sparql: Use internal headers That's not guaranteed to be there yet at compile time, so it randomly breaks build. libtracker-miner: Use TrackerNotifier on TrackerDecorator Remove the GraphUpdated handler in favor of TrackerNotifier, it's been made to be a good fit here, and the porting results in a nice code removal. Given that the RDF types list is readwrite in TrackerDecorator, but construct-only in TrackerNotifier, this means we need to cater for changes in the RDF types list, just by creating another TrackerNotifier and dropping the older one. https://bugzilla.gnome.org/show_bug.cgi?id=773028 libtracker-sparql: Add TrackerNotifier to subscribe to change notifications This object abstracts GraphUpdated, and is now the recommended method to receive notifications upon changes in Tracker data. After creation, the caller may connect to the ::events signal. This signal packs all events received in one go, so as to avoid signal emission overhead on mass changes. The TrackerNotifier behavior can be slightly modified through the flags passed during instantiation. Eg. it can be requested to query some data (urn, location) upfront, although the API is tracker:id centric otherwise. https://bugzilla.gnome.org/show_bug.cgi?id=773028 tracker: Add remote connection support to "tracker sparql" CLI tool The -r/--remote switch can be used to specify the base url to be used in queries. https://bugzilla.gnome.org/show_bug.cgi?id=773031 libtracker-remote: Add support for application/sparql-results+xml As specified in https://www.w3.org/TR/rdf-sparql-XMLres/. This cursor implementation is able to read the XML expected under that content type. https://bugzilla.gnome.org/show_bug.cgi?id=773031 Add libtracker-remote This is yet another libtracker-sparql backend to connect to remote HTTP SPARQL endpoints. Connections are made explicitly through the tracker_sparql_connection_remote_new() API call, passing a server to connect to. This commit introduces support for application/sparql-results+json as specified in https://www.w3.org/TR/sparql11-results-json/. XML format will be handled next. Just readonly queries are supported, and provided there's no authentication schemes. https://bugzilla.gnome.org/show_bug.cgi?id=773031 tracker: Fix "tracker sql -f" It was doing nothing, missing the actual execution of the query. libtracker-fts: Ensure a sqlite3_stmt is finalized on FTS5 failure paths It is an error condition if no FTS5 API is found, it's no excuse to leave the sqlite3_stmt unfinalized though. libtracker-data: Add explicit calls to grab/release an stmt An stmt can just be grabbed once at a time, and will ref both the stmt and its DB interface for as long as the stmt is grabbed. After releasing both refs will be dropped (and stmt_is_used set back to FALSE), so it will be ensured that a database connection lives as long as there are active cursors grabbing an statement. libtracker-data: Remove global interface We no longer need to restrict to a single TrackerDBInterface for the direct connection use. This also allows to maximize the throughput in clients performing multiple simultaneous async queries, as we're going from using a single TrackerDBInterface to satisfy all requests (with the locking overhead this involves) to using multiple database connections that can run different concurrent queries each. This (and the last commits) translates to faster concurrent access, which evolves close to linearly under much higher loads, instead of exponentially. It is expected though that O(n^m) happens again if the number of operations vastly exceed the number of interfaces serving requests, but that's much farther. As an example, the numbers when running multiple concurrent queries for "SELECT ?u WHERE { ?u a rdfs:Resource }" (returning 12897 elements each in this computer) progress like this on an otherwise idle session: Simul. Queries With Without 5 0,399s 0,437s 10 0,700s 0,842s 50 3,621s 4,285s 100 7,315s 8,956s 500 36,012s 1m 24,952s 1000 1m 16,355s 8m 33,880s So as expected the numbers really shine when the thread contention is most noticeable, and quite close to linearly (eg. in the "with" column, every row is roughly 10x higher than the one corresponding to simultaneous queries/10) libtracker-data: Remove TrackerDBManager locking functions The TrackerDBManager mutex is used nowhere now, it's safe to remove. libtracker-direct: Replace TrackerDBManager lock usage with private one We need to lock here not because of the TrackerDBInterface, but because of other misc things needed at the time of constructing the SQL query (like TrackerOntologies, which constructs data on demand from the gvdb, this can't work across multiple threads). But we don't need to use the TrackerDBManager lock, it can be just a private one, and we remove another usage of this global lock. libtracker-data: Protect stmt creation with the TrackerDBInterface mutex Creating the sqlite3_stmt counts as "accessing the database handle", so make it sure they're also protected by the TrackerDBInterface mutex. libtracker-data: Use internal mutex in TrackerDBInterfaceSqlite There is no reason to use a global mutex for multiple TrackerDBInterfaces, the threading restriction in sqlite is "no multiple threads using the same sqlite3* at the same time" (being cursor included "using" there). This means we must restrict simultaneous threaded access to a single TrackerDBInterface, but multiple threads are free to use a TrackerDBInterface each without further interference. So, use a per-TrackerDBInterface mutex instead of a global one, if multiple cursors are created on the same interface, they'll backreference to it, so will be blocking on the same mutex. libtracker-data: Remove threadsafe argument This was only ever used to make libtracker-direct use protected cursors, which is now set by the TRACKER_DB_MANAGER_ENABLE_MUTEXES flag, so avoid passing this all along. libtracker-data: Add ENABLE_MUTEXES TrackerDBManager initialization flag libtracker-direct: Drop mutex around TrackerDBManager initialization It doesn't need to care about this anymore, TrackerDBManager uses an internal mutex. libtracker-data: Use internal mutex for TrackerDBManager (de)init There's no reason to handle locking externally, and this is not a frequent enough operation to care about thread contention times in eg. tracker-store, so just add an internal mutex protecting initialization. libtracker-data: Pass "readonly" argument to TrackerDBInterface constructor Instead of having two almost identical call stacks to obtain rw/ro interfaces, put it all together in one with a readonly argument. libtracker-data: Rename confusing TrackerDBStatement field Now that the TrackerDBStatement is a GInitiallyUnowned, the stmt_is_sunk boolean field is somewhat confusing. It is used to keep track of the stmts being currently in use by a TrackerDBCursor, renaming it to stmt_is_used seems more obvious. libtracker-data: Make TrackerDBStatement a GInitiallyUnowned We actually deal with it as if it were (cached stmts have one ref owned by the cache, and one by the caller. non-cached has just one reference). So make TrackerDBStatement actually an unowned type, and g_object_ref_sink() in both places, if the stmt is cached the ref will be sunk by the cache, and an extra ref added for the caller, and if non-cached the only sunk reference will be the callers'. libtracker-data: Refactor LRU sqlite3_stmt management There's 3 independent operations we do on it: lookup, insert, and move to top. These have been moved to separate functions (although the code is mostly as-is). libtracker-data: Refactor sqlite3_stmt preparation Add a helper function, and use it in the two places preparing the statement and checking for errors. libtracker-data: Cleanup function initialization We create enough functions to make it worth putting those in an array, so they can be nicely categorized too. libtracker-data: Remove unused field libtracker-data: Delete collation/locale change mechanisms Those are entirely unused, we support no live locale nor collation changes. The n_active_cursors field is now unused, although it's been left as it's useful to keep track of the amount of active statements/cursors in an interface. libtracker-data: Remove sqlite3_stmt argument It's already contained in the TrackerDBStatement for all callers, and it makes no sense passing other sqlite3_stmt than the one there. libtracker-data: Indentation fix tracker-extract: Drop string constness This string is actually copied and freed, so definitely not const. tracker-extract: Remove unused variable tracker: Avoid deprecated GSettings API And use GSettingsSchema/GSettingsSchemaSource. This code is still disgusting. libtracker-sparql-backend: Make methods possibly throw GLib.Error It was missing according to the valac warnings. tracker-extract: Deep copy GstToc According to gst_discoverer_info_get_toc(), it must be deep copied if you want to use it past the discoverer info lifetime. libtracker-extract: Pass the right struct pointer Confusion between TrackerExtractInfo and TrackerDecoratorInfo, might induce crashes. libtracker-miner: Handle extra GFileMonitorEvent values We don't use G_FILE_MONITOR_WATCH_MOVES as it doesn't add much to us, so make the extra derived event types a no-op. libtracker-miner: Drop wimax handling in TrackerMinerOnline NM 1.2 deprecated this type as it doesn't support wimax anymore, and I don't even know what it is. So it seems something we can do without, falling back to the "unknown" network type is just as safe. libtracker-data: Explicitly cast string to char* This fixes a valac warning. libtracker-data: Use right constness in some internal calls The string array is fully const (i.e. we deep copy it), so make these functions have the right constness. libtracker-data: Rename internal variable We are actually requesting the context to resolve variables to the binding sql expression, so rename to a more apt need_binding_expression. libtracker-data: Handle BIND while in group graph pattern Currently SQL construction fails while using the BIND form inside a group graph pattern, eg. after OPTIONALs. When in that stage, the OPTIONALs will be already resolved to SQL in the "FROM ..." clause as nested SELECTs. As such the generated SQL is wrong, make it handle this case by wrapping the nested SELECTs under "SELECT $bind_value, * FROM (...)" so the value is made available to the wrapping SELECT. The older code still applies when building simple "{ ... . BIND (...) }" clauses. https://bugzilla.gnome.org/show_bug.cgi?id=774251 libtracker-data: Return NULL SQL expression if the binding is not yet setup Recent vala changed property setters so they compare with the previous value before emitting anything, this triggers the property getter called at a time when we just don't have a DataTable to construct the SQL expression (and it's being set anyway). So ensure the binding is in the right state before trying to construct a SQL expression for it. tracker-needle: Fix build It seems recent vala got pickier with passing unsigned to a %d parameter. It's still right nonetheless, and changing the string is a needless translation change, so just cast to int. 2016-11-15 Marinus Schraal <mschraal@src.gnome.org> Use nie:title instead of nmm:albumTitle nmm:albumTitle is deprecated https://bugzilla.gnome.org/show_bug.cgi?id=773697 tracker-extract: Use date as album uri identifier Use the album creation date as part of the album uri identifier if available. This should make the separation of similar named albums even better. Also port mp3 & gstreamer to use the resource helper functon for exctracting album disc data. https://bugzilla.gnome.org/show_bug.cgi?id=773697 tracker-extract: Use albumartist if available Use albumartist in libav/vorbis/flac (resource-helpers), gstreamer & mp3 extractors if available to be part of the album(-disc) uri. This makes the uri more unique and tracker better at distinguishing separate albums and it makes all the extractors behave the same. https://bugzilla.gnome.org/show_bug.cgi?id=773697 tracker-extract: Don't mix artist and albumartist The 'album artist' is not the same thing as the 'performer' or the 'artist' metadata. In some extractors these tags however got mixed to provide fallback values for certain tags. In the long run this is not a viable approach: the tracker information should be a true representation of what is in the tags. https://bugzilla.gnome.org/show_bug.cgi?id=773697 2016-11-11 Marinus Schraal <mschraal@src.gnome.org> tracker-extract: Fix flac albumartistsort tag parsing Albumartist tag can have a sort variant too. https://bugzilla.gnome.org/show_bug.cgi?id=772596 2016-11-08 Marinus Schraal <mschraal@src.gnome.org> tracker-extract: Revert libflac as default rule Keep gstreamer as the primary extractor as long as the libflac extractor is not on-par with it. 2016-11-07 Marinus Schraal <mschraal@src.gnome.org> tracker-extract: Pass the flac metadata Oversight from the move to TrackerResource, the flac extractor was not passing the metadata on for further processing. https://bugzilla.gnome.org/show_bug.cgi?id=774062 tracker-extract: Albumartist may be NULL in flac album_artist is a TrackerResource, but may be NULL: do not just unref it. https://bugzilla.gnome.org/show_bug.cgi?id=774062 2016-11-04 Fabio Tomat <f.t.public@gmail.com> Update Friulian translation 2016-11-03 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Handle overflows on libicu-based normalization We allocate by default double the string size, which is a pretty generous allotment most usually. If that is not enough for storing the normalized string, just reallocate the buffer with the given expected size and try again. Also, refactor string normalization to a separate function, so it's shared by both tracker:normalize and tracker:unaccent. https://bugzilla.gnome.org/show_bug.cgi?id=769982 libtracker-miner: Start TrackerDecorator queries on TrackerMiner::started This should not be done in the initable vfunc, as the miner should remain idle until tracker_miner_start() is called on it. This fixes a possible race condition in tracker-extract, where this query is already in flight at the time TrackerPersistence handles blacklisting of files that caused earlier crashes of tracker-extract. So the query might contain the file that's being blacklisted right away. tracker_miner_start() is called after TrackerPersistence did the blacklisting job, so the first query will get the up-to-date info. 2016-11-03 Marinus Schraal <mschraal@src.gnome.org> tracker-extract: Fix album disc uri in gstreamer It should build the album disc uri with the album_artist_name. https://bugzilla.gnome.org/show_bug.cgi?id=773607 2016-11-02 Daniel Mustieles <daniel.mustieles@gmail.com> Update Spanish translation 2016-10-30 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translaton 2016-10-29 Mario Blättermann <mario.blaettermann@gmail.com> Update German translation 2016-10-28 Marek Černocký <marek@manet.cz> Updated Czech translation 2016-10-26 Marinus Schraal <mschraal@src.gnome.org> tracker-extract: Only use CUE info as last resort in gstreamer CUE data was overriding file tags in the gstreamer extractor, however CUE data is notoriously unreliable. Instead, only use the CUE data if we have nothing else. https://bugzilla.gnome.org/show_bug.cgi?id=773524 2016-10-23 Anders Jonsson <anders.jonsson@norsjovallen.se> Update Swedish translation 2016-10-23 Gábor Kelemen <kelemeng@openscope.org> Update Hungarian translation 2016-10-19 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Propagate "locale mismatch" error from locale_changed() And set the differing locales in the error message. Errors here are mainly due to 1) inconsistent locales, specifically the client running with a different locale than tracker-store, and 2) faulty apps that don't call setlocale() as appropriate. We already used to warn when locales differ, but the message wasn't that useful. Including the differing locales helps narrow down the issue. This error is mainly visible in the libtracker-direct backend, tracker-store shall handle locale changes on (re)start. configure.ac: Bump version to 1.11.0 Not much worth releasing yet, but having tracker-1.10 have a higher soname than master is confusing. 2016-10-18 Piotr Drąg <piotrdrag@gmail.com> Update Polish translation 2016-10-18 Dz Chen <wsxy162@gmail.com> Update zh_CN translation 2016-10-16 Carlos Garnacho <carlosg@gnome.org> libtracker-sparql: Avoid C++ keyword in variable "namespace" is a C++ keyword, better to avoid in public headers, spotted by Christoph Cullmann <cullmann@kde.org>. https://bugzilla.gnome.org/show_bug.cgi?id=772979 2016-10-13 Fabio Tomat <f.t.public@gmail.com> Update Friulian translation (cherry picked from commit 86f17e9fe0446e74051f98095ef7de4b182ad349) 2016-10-12 Fabio Tomat <f.t.public@gmail.com> Update Friulian translation (cherry picked from commit 67bbfc1f6331dd844d1638a17100ad8256d9152d) 2016-10-12 Andrew Branson <andrew.branson@jollamobile.com> tracker-extract: FLAC metadata iterator wasn't closed It must be closed after iterating, otherwise we leak fds. https://bugzilla.gnome.org/show_bug.cgi?id=772799 2016-10-10 Zeeshan Ali <zeenix@gmail.com> tracker-sparql: Drop use of 'Deprecated' Otherwise, valac spits warnings for each 'Deprecated' line when building tracker-sparql and any Vala code that uses tracker-sparql. 2016-10-09 Piotr Drąg <piotrdrag@gmail.com> Use Unicode in translatable strings See https://developer.gnome.org/hig/stable/typography.html 2016-10-09 Carlos Garnacho <carlosg@gnome.org> libtracker-fts: Do not hardcode fts5 table in query And also attempt to drop the fts5_TMP table, in case it's left there from previous broken attempts. libtracker-data: Fix typo 2016-10-09 Andrew Branson <andrew.branson@jollamobile.com> Fix FLAC artist and album tag parsing, and add 'audio/flac' mime type to the extract rules. https://bugzilla.gnome.org/show_bug.cgi?id=772596 Fix tracker-extract-libav memory leak https://bugzilla.gnome.org/show_bug.cgi?id=772611 2016-10-09 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Be more lenient towards NULLs in fn:uri-is-descendant And actually check all arguments, not just first/last. The check is meant to catch non-string types (eg. ints, doubles) being wrongly passed here, NULLs are more arguably acceptable strings, even if it's to fast path to returning FALSE. This fixes the "Invalid child(0)" errors some users see in gnome-music, sometimes the query planner would call the function with a NULL argument even though the query would return no results. 2016-10-04 Matthias Berndt <matthias_berndt@gmx.de> Override Sparql.Connection.update_array_async() with correct return-type "Error" is an unqualified identifier and can thus refer to different types in different contexts. In the context of tracker-connection.vala it refers to Tracker.Sparql.Error, in the context of tracker-bus.vala it refers to GLib.Error. https://bugzilla.gnome.org/show_bug.cgi?id=772381 2016-09-25 Jordi Mas <jmas@softcatala.org> Fixes to Catalan translation 2016-09-20 Sam Thursfield <sam@afuera.me.uk> functional-tests: Fix brokenness introduced in e4493c677f721193c3e641 2016-09-19 Inaki Larranaga Murgoitio <dooteo@zundan.com> Update Basque language 2016-09-19 Carlos Garnacho <carlosg@gnome.org> Release 1.10.0 2016-09-18 David King <amigadave@amigadave.com> Update British English translation 2016-09-17 Ask Hjorth Larsen <asklarsen@gmail.com> Updated Danish translation 2016-09-16 Tom Tryfonidis <tomtryf@gnome.org> Updated Greek translation 2016-09-14 Carlos Garnacho <carlosg@gnome.org> Release 1.9.2 utils: Require python2 for generate script Seems too attached to python2 doings, so make it require python2 for the time being. tests: Ensure folder is deleted If it previously fails somewhere here, the ttl folder will be created from earlier attempts, and mkdir will fail. Attempt to delete the folder before, just in case it exists. 2016-09-12 Bastien Nocera <hadess@hadess.net> tracker-extract: Add new mime-types for comic books The mime-type changed from application/x-cbz to application/vnd.comicbook+zip, but the alias application/x-cbz was added to keep the backwards compatibility. See https://bugs.freedesktop.org/show_bug.cgi?id=97688 https://bugzilla.gnome.org/show_bug.cgi?id=771106 2016-09-12 Piotr Drąg <piotrdrag@gmail.com> Add more options to XGETTEXT_OPTIONS in po/Makevars 2016-09-11 Baurzhan Muftakhidinov <baurthefirst@gmail.com> Added Kazakh translation 2016-09-10 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2016-09-09 Fran Dieguez <fran.dieguez@mabishu.com> Updated Galician translations 2016-09-08 Rūdolfs Mazurs <rudolfsm@src.gnome.org> Update Latvian translation 2016-09-08 Anders Jonsson <anders.jonsson@norsjovallen.se> Updated Swedish translation 2016-09-08 Trần Ngọc Quân <vnwildman@gmail.com> Init Vietnamese translation 2016-09-05 Fabio Tomat <f.t.public@gmail.com> Updated Friulian translation Updated Friulian translation Updated Friulian translation Updated Friulian translation Updated Friulian translation Updated Friulian translation 2016-09-04 Charles Monzat <superboa@hotmail.fr> Updated French translation 2016-09-03 Debarshi Ray <debarshir@gnome.org> libtracker-extract: Restore trailing colon in nfo:Equipment URIs Fall out from 032e2a7ed874bacce4ca5f0dd9ddbad6ab8f5f81 https://bugzilla.gnome.org/show_bug.cgi?id=767472 2016-09-03 Sam Thursfield <sam@afuera.me.uk> tests: Avoid horrible hang in test-tracker-resource Seems that missing the 'return' statement from a g_test_trap_subprocess() block can result in hanging Linux completely; some kind of fork bomb I guess. The problem only hits when the test is failing, so I didn't spot the mistake before. 2016-09-03 Seong-ho Cho <shcho@gnome.org> Updated Korean translation 2016-09-02 Fabio Tomat <f.t.public@gmail.com> Updated Friulian translation Updated Friulian translation Updated Friulian translation 2016-09-01 Fabio Tomat <f.t.public@gmail.com> Updated Friulian translation Updated Friulian translation 2016-08-31 Fabio Tomat <f.t.public@gmail.com> Updated Friulian translation Updated Friulian translation 2016-08-30 Rafael Fontenelle <rafaelff@gnome.org> Updated Brazilian Portuguese translation 2016-08-28 Мирослав Николић <miroslavnikolic@rocketmail.com> Updated Serbian translation 2016-08-26 Fabio Tomat <f.t.public@gmail.com> Added Friulian translation 2016-08-26 Ask Hjorth Larsen <asklarsen@gmail.com> Updated Danish translation 2016-08-23 Carlos Garnacho <carlosg@gnome.org> 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 <debarshir@gnome.org> 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 <piotrdrag@gmail.com> Updated Polish translation 2016-08-20 Balázs Úr <urbalazs@gmail.com> Updated Hungarian translation 2016-08-19 Flo H <gnu.l10n.de@gmail.com> Updated German translation 2016-08-19 Andika Triwidada <atriwidada@gnome.org> Updated Indonesian translation 2016-08-17 Marek Černocký <marek@manet.cz> Updated Czech translation 2016-08-10 Carlos Garnacho <carlosg@gnome.org> configure: Do not hardcode dep on libpng There is a --enable/disable-png check below. 2016-08-05 Dušan Kazik <prescott66@gmail.com> Updated Slovak translation 2016-08-02 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2016-07-31 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2016-07-25 Piotr Drąg <piotrdrag@gmail.com> Add Language headers to po files Future versions of gettext will fail if this header is missing. 2016-07-18 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2016-07-17 Carlos Garnacho <carlosg@gnome.org> 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 <carlosg@gnome.org> 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 <sam@afuera.me.uk> Merge branch 'sam/resource' 2016-07-14 Sam Thursfield <ssssam@gmail.com> 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 <urn:tag:My_Tag>. Previously they were inserted as blank nodes, so tracker-store would give them unique IDs like <urn:uuid:1234...> * All extractors created nco:Contact resources for content publishers, but previously some would assign fixed URIs based on the name <urn:contact:James%20Joyce>, while others would insert them as blank nodes so they would be assigned unique IDs like <urn:uuid:1234...>. 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 <sam@afuera.me.uk> 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 <ssssam@gmail.com> 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 <sam@afuera.me.uk> 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 <ssssam@gmail.com> 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 <sam@afuera.me.uk> 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 <sam@afuera.me.uk> functional-tests: Add test case for re-extracting known files This testcase should pass. I did think there was a bug here and opened <https://bugzilla.gnome.org/show_bug.cgi?id=768706>, 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 <sam@afuera.me.uk> 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 <sam@afuera.me.uk> 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 <adrien-xx-gnome@bustany.org> Updated French translation 2016-06-30 Sam Thursfield <sam@afuera.me.uk> 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 <ignatenko@src.gnome.org> tracker-store: use @libexecdir@ in systemd service References: https://bugzilla.gnome.org/show_bug.cgi?id=768127 2016-06-25 Sam Thursfield <sam@afuera.me.uk> 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 <sam@afuera.me.uk> libtracker-data: Fix pointer sign warnings 2016-06-22 Tiago Santos <tiagofsantos81@sapo.pt> Updated Portuguese translation 2016-06-21 Carlos Garnacho <carlosg@gnome.org> Release 1.9.0 libtracker-data: Ensure variables are defined in aggregate expressions Look those up and error out if they are undefined. https://bugzilla.gnome.org/show_bug.cgi?id=759361 fts: Do not apply stop-words when tokenizing query search terms FTS5 notifies of the purpose in tokenization in their xTokenize vfunc, check for the FTS5_TOKENIZE_QUERY flag indicating that this is the tokenization of the search terms in a query and do not apply the stop words list in this case. One example where this is potentially harmful are "search as you type" UIs. eg. typing the word "ontology" would have you type the word "onto", which is an ignored word. Only after typing the next character you'd get matches, which seems irregular behavior. 2016-06-16 Rafael Fontenelle <rafaelff@gnome.org> Updated Brazilian Portuguese translation 2016-06-14 Sam Thursfield <ssssam@gmail.com> configure.ac: Remove some unused variables 2016-06-14 Sam Thursfield <sam@afuera.me.uk> functional-tests: Increase resource wait timeout to 30 seconds Tests in the 300-miner-basic-ops function tests were failing for me, which turned out to be just because the extractor was slower than the timeout in certain cases. It would be good to work out why it's slow, but let's start by fixing the random test failures. 2016-06-13 Sam Thursfield <sam@afuera.me.uk> functional-tests: Fix crash in tests with multiple testsuites For some reason the GLib main loop calls a timeout even after we've removed it, in some cases, leading to errors like this: [tracker-store] ready. test_journal_01 (__main__.JournalReplayTest) ... Traceback (most recent call last): File "/home/shared/gnome/src/tracker/tests/functional-tests/common/utils/helpers.py", line 110, in _process_watch_cb status = self.process.poll () AttributeError: 'NoneType' object has no attribute 'poll' All this does is workaround that problem. tracker-store: Avoid duplicate timeout removal I kept seeing warnings like this in the 200-backup-restore functional-test: test_backup_01 (__main__.BackupRestoreTest) ... (tracker-store:8104): GLib-CRITICAL **: Source ID 25 was not found when attempting to remove it test_backup_02 (__main__.BackupRestoreTest) ... (tracker-store:8104): GLib-CRITICAL **: Source ID 25 was not found when attempting to remove it functional-tests: Decode query results as UTF-8 in the correct way Previously the code would try to cast a 'str' instance to 'unicode', which fails because it assumes the 'str' instance is valid ASCII (i.e. all characters are in the range 0-127). This fixes 2 test case failures that looked like this: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1: ordinal not in range(128) functional-tests: Add missing GLib import Fixes an ImportError. 2016-06-12 Dušan Kazik <prescott66@gmail.com> Updated Slovak translation 2016-06-11 Sam Thursfield <sam@afuera.me.uk> Tweak documentation of tracker_decorator_info_get_task() Mention what the task's data will be. Readers might not realise that the documentation of tracker_decorator_info_get_sparql() holds that information (I didn't). Fix warning introduced in 0a92485009f08cb2872325d9c6627343134fbcc9 2016-06-09 Sam Thursfield <sam@afuera.me.uk> utils: Add create-tree-from-real-data script This script grabs a mix files from your system and creates a link farm, with the aim of creating a tree of Tracker test data that exercises each of the extract modules. tests: Give tracker-test.c a slightly better name cli: Add --verbosity option to `tracker extract` This is based on the --set-log-verbosity option from `tracker daemon`. The TRACKER_VERBOSITY environment variable also works here, and overrides the value on the commandline, so I'm not sure if this patch is really necessary... Rewrite tracker-extract man page It now corresponds with the user-facing `tracker-extract` command, rather than the hidden /usr/libexec/tracker-extract program. 2016-06-09 Sam Thursfield <ssssam@gmail.com> cli: Add `tracker extract` command This wraps `$libexecdir/tracker-extract --file`. I think that the extractor is a really important part of Tracker that needs to be accessible in a standard way. Currently the output of `tracker-extract --file` contains a lot of log information even with `--verbosity=0`. And dumping the result as a SPARQL UPDATE operation isn't ideal, it'd be nicer to output Turtle or something. https://bugzilla.gnome.org/show_bug.cgi?id=751991 2016-06-09 Sam Thursfield <sam@afuera.me.uk> Silence libmediaart log messages This was removed in commit 2454185dd8a8459c45e4d32e0c3602f14647bbdd, but it is actually still needed to hide log messages from libmediaart when running `tracker-extract --verbosity=0`. The mistake of reusing the same variable to store both log handler IDs is now fixed. tracker-extract: Improve console output for when extraction fails Old output: tracker_mimetype_info_get_module: assertion 'info != NULL' failed No metadata or extractor modules found to handle this file New output: file:///uri/of/file: No metadata or extractor modules found to handle this file The message is now also printed to stderr rather than stdout, so that stdout contains only the metadata itself in whatever output format the caller chose. cli: Fix message when `tracker index` is called with no mode arg If you run `tracker index` with no arguments you get the help output. However, if you ran `tracker index ~/myfile` before you would see this: (tracker index:28627): Tracker-WARNING **: (tracker-index.c:369):index_run: code should not be reached Now you get a more helpful message: Use `tracker index --file` when giving a specific file or directory to index. See `tracker help index` for more information. We could probably just assume --file if no mode is passed, but let's do that separately. To be honest, `tracker index` should probably only take a file or a mimetype, and the --backup, --restore and --import modes should become commands in their own right. 2016-06-06 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2016-06-05 Carlos Garnacho <carlosg@gnome.org> tracker: Don't unref manager in the loop in "tracker index -f" subcommand Must be unref'ed after the loop. Fixes crash if >1 files are provided. https://bugzilla.gnome.org/show_bug.cgi?id=767024 2016-06-05 Martin Kampas <martin.kampas@tieto.com> miner-fs: Fix handling files moved soon after creating Noticed this when executing functional tests for write-back: (tracker-miner-fs:21288): Tracker-CRITICAL **: Could not execute sparql: Subject `(null)' is not in domain `nfo:FileDataObject' of property `nfo:fileName' This warning happens in item_move() when the source just didn't have time to be indexed. One example: copy ("file.txt", "temp_XYZ.file.txt") - received G_FILE_MONITOR_EVENT_CREATED ("temp.file.txt") - received G_FILE_MONITOR_EVENT_CHANGED ("temp.file.txt") - received G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT ("temp.file.txt") modify ("temp_XYZ.file.txt") - received G_FILE_MONITOR_EVENT_CHANGED ("temp.file.txt") - received G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT ("temp.file.txt") mv ("temp_XYZ.file.txt", "file.txt") - received G_FILE_MONITOR_EVENT_MOVED ("temp.file.txt", "file.txt") - emitted ITEM_MOVED ("temp.file.txt", "file.txt") It was already handled in item_move() in past, but removed with eef0e7f (libtracker-miner: Remove useless code) after previously misidentified as useless in scope of ee58e67 (libtracker-miner: Add compat layer for tracker_miner_fs_directory_*) The comment from ee58e67 """FIXME: This situation shouldn't happen from a TrackerFileNotifier event""" simply cannot be satisfied: no way to get "temp.file.txt" indexed before ITEM_MOVED is processed - the file disappears too fast. https://bugzilla.gnome.org/show_bug.cgi?id=678986 2016-06-05 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: cater for unbound nfo:belongsToContainer when moving items Fixes warnings when moving indexing roots around. This query expects this property to be bound, resulting in no-op if that's not the case (e.g. indexing roots), later reinsertions of nie:url and other properties with max cardinality=1 trigger the whole update failure, because those weren't properly removed. 2016-06-04 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Insert into the right graph when moving items The query to update parent-dependent data was using the source file urn as a graph urn. 2016-05-31 Carlos Garnacho <carlosg@gnome.org> libtracker-common: Remove unused variable libtracker-data: Implement fn:upper-case/UCASE UCASE() was implemented over a nonexisting function, fix that. Impls for both libunistring and libicu have been added. 2016-05-30 Carlos Garnacho <carlosg@gnome.org> tests: Add some BIND() tests Revert "libtracker-data: Relate Variable objects to their origin Context" Not needed anymore. This reverts commit 5c0fe132eb7d0e193ccc669447e015f8f9e8b3d6. libtracker-data: Refine BIND() variable mapping The implementation of BIND() introduced an special case in the way we construct the result columns in selects (Handled in commit 64b54a7784). This special case however turns out wrong when the resolved variable is used both in and outside the BIND() statement. So, admit the nature of this hack and special case it altogether, the check was too iffy when there is really one situation where this makes sense. https://bugzilla.gnome.org/show_bug.cgi?id=766505 2016-05-30 Bastien Nocera <hadess@hadess.net> tracker-extract: Consider DjVu multipage docs as Ebooks ddb79e3 and cf7f5df tried to categorise DjVu files as paginated documents, which would have slotted them next to PDF files in gnome-documents. But we'd like them to be near EPubs in gnome-books. As the EBook RDF type is not too strict in its definition, tagging the DjVu multi-page files as Ebooks is the easy way to fix it. https://bugzilla.gnome.org/show_bug.cgi?id=766781 2016-05-30 Cédric Valmary <cvalmary@yahoo.fr> Updated Occitan translation 2016-05-28 Carlos Garnacho <carlosg@gnome.org> tests: Fix distcheck Missing data files in EXTRA_DIST docs: Do not delete xml directory when redoing docs We're competing with gtk-doc.make here, which may turn out in failures when doing mkdir on an already created directory, or failures in writing xml/gtkdocentities.ent because we deleted the directory under its feet. So just do the same, use MKDIR_P to ensure it won't fail if the directory is already there, and don't bother deleting it as it's handled in gtk-doc.make. The ontology docs helper app will rewrite the xml files anyway. tracker-miner-fs: Ignore .desktop and .directory files Those are responsibility of tracker-miner-applications. tracker: Add -f argument to "tracker reset" CLI subcommand It takes a file to be reset, works recursively for directories. Immediately after reset, a reindex will be requested, so the data is promptly indexed again. tracker-miner-fs: Trigger reindex of files/directories on IndexFiles If the file was already contained in an indexed directory, the IndexFile was ignored. Actually cause a reindexing so we can trigger rechecks after deleting the data. tracker-miner-fs: Replace direct emission of TrackerIndexingTree signals We now have tracker_indexing_tree_notify_update(). libtracker-miner: Add tracker_indexing_tree_notify_update() This function notifies about updates in either an indexing root, or a child of it. The typical reaction will be reindexing the element. This will replace the several ad-hoc emissions of ::directory-updated over the place. libtracker-miner: Reindex elements on TrackerIndexingTree::child-updated Directories will be crawled according to the root directory flags, regular files will be notified upon right away. libtracker-miner: Add TrackerIndexingTree::child-updated signal So we can notify on something else than indexing roots. May be used for the IndexFile request. 2016-05-27 Bastien Nocera <hadess@hadess.net> tracker-extract: Install DjVu rule https://bugzilla.gnome.org/show_bug.cgi?id=754479#c5 2016-05-25 Friedrich Herbst <fherbst@opmbx.org> Updated German translation 2016-05-22 Carlos Garnacho <carlosg@gnome.org> libtracker-common: Actually ignore XDG dirs set to $HOME If an XDG dir is set to $HOME, we do ignore it (So it's not inadvertently indexed recursively). However we just made the expansion to the real path fail, the alias (e.g. &VIDEOS) was still dealt with as a path, and attempted to be indexed. So now we always return TRUE if the alias has a mapping, but only return the string if the path is to our liking. This makes the alias truly ignored. 2016-05-21 Carlos Garnacho <carlosg@gnome.org> tracker-extract-mp3: Use performer as fallback to album artist Commit 79af6adf6 changed the MP3 extractor to use the TPE2 tag info to retrieve nmm:albumArtist. It is fine to favor that data, but we should still resort to TPE1 if we get nothing from there. Otherwise the album artist is not filled. 2016-05-21 Tiago Santos <tiagofsantos81@sapo.pt> Updated Portuguese translation 2016-05-16 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2016-05-16 Simon McVittie <simon.mcvittie@collabora.co.uk> Add systemd user services corresponding to D-Bus session services The one exception is the email miner, which does not actually have anything to start, so its D-Bus service file won't work anyway. Restart the services on failure, but do not after SIGKILL, because that's what `tracker daemon --kill` (formerly `tracker-control --kill`) does. systemd already treats SIGTERM as a graceful exit which is not considered to be a failure. Loosely based on a patch by Alban Crequy, which only applied this to tracker-store and tracker-miner-fs, and did not have the special handling for SIGKILL. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=755739 Reviewed-by: Carlos Garnacho 2016-05-14 Carlos Garnacho <carlosg@gnome.org> tracker-miner-fs: Add MS Office "owner files" to ignored-files "Owner files" (described in https://support.microsoft.com/en-us/kb/211632) works as a lock file when opening the document. Those are supposedly removed when the document is closed, but in practice there's situations where those are left behind, and are meaningless to tracker. Those files may be generated for any of the document extensions, so handle the whole bunch. https://bugzilla.gnome.org/show_bug.cgi?id=764739 manpages: Drop manpages of configuration settings/files Gsettings are self-documenting, plus translatable. There is no need to duplicate this documentation, and even less if it focuses on the deprecated keyfile format. It is time to hide that under the rug. tests: Tear down test data in tracker-steroids tests 2016-05-14 Bastien Nocera <hadess@hadess.net> tracker-extract: Add RDF type for DjVu files https://bugzilla.gnome.org/show_bug.cgi?id=754479 2016-05-14 Julien Hémono <whackvault@me.com> IPTC extractors : use nco:contributor for contact metadata 5a27279a7e07a9f1f0c58f663f4c290c397d4aff adds support for contact IPTC metadata and represents it with a nco:representative predicate. This contradicts the ontology that stipulates that the subject of a nco:representative predicate is a nco:Contact. Consequently, updates from extraction of files containing this IPTC field are rejected by the store. This fix uses the nco:contributor predicate instead. Official documentation at [1] says the field "Identifies the person or organisation which can provide further background information on the objectdata." Nco:contributor is therefore too narrow as not every such person need be a contributor. The adequate predicate doesn't exist but if it did it would definitely at least be a nao:annotation or more narrowly a nao:isRelated. But I deem these too broad because their range isn't a person or an organisation. https://bugzilla.gnome.org/show_bug.cgi?id=762675 2016-05-10 Cédric Valmary <cvalmary@yahoo.fr> Updated Occitan translation 2016-05-10 Antoine Jacoutot <ajacoutot@gnome.org> tracker_file_system_get_remaining_space: use proper units The fields of type fsblkcnt_t must be reported in units of f_frsize for statvfs() and f_bsize for statfs(). https://bugzilla.gnome.org/show_bug.cgi?id=766137 2016-05-08 Carlos Garnacho <carlosg@gnome.org> tracker-extract-gstreamer: Prevent warning if there is no TOC Warning introduced in commit 99ab02a7. We should only attempt this TOC when there is one from gstreamer. 2016-05-08 sahaltim9 <fabrice.louveau_ext@softathome.com> configure: Update configure for sqlite3 support 3.7.15 sqlite3_errstr was added in that version. https://bugzilla.gnome.org/show_bug.cgi?id=743245 2016-05-08 Carlos Garnacho <carlosg@gnome.org> libtracker-common: Remove libmediaart log handler code This is no longer part of tracker, so doesn't need doing. Also fixes warnings on exit because this unused log handler overwrote the variable storing the ID for the tracker handlers. libtracker-miner: Give up on detailed decorator error logging It was the hope that this error logging would lead to useful but reports that helped qualitatively improve the extractor modules soon enough. But people suck, and instead we got lots of bugs about how much we spam syslog (as if we used the "warning" logging level just because) or how we violated their privacy, without further thinking that there might be reasons for those warnings in the first place (i.e. bugs that need fixing). Those bug reports are usually plagued with half-cut,half-edited snippets from syslog to prove their point, while at the same time invalidating their usefulness. So, change of approach. Now we just include the URN/URI in the error warning, and point people to using TRACKER_VERBOSITY=3 in order to get more information. The debug information will contain the full unedited sparql, and the relevant info will be surrounded by dotted lines so it is made clear the information that is useful. This will require an extra step for the people trying to be helpful, which hopefully those are willing to take. It will also hopefully calm the bunch of complains, and will give me no hesitation to close any further one we get as invalid. configure: Set better bugzilla link We can point to the tracker product. libtracker-data: mark most sqlite functions as SQLITE_DETERMINISTIC This flag helps the query planner in optimizing functions that are guaranteed to return the same result given the same input. This is the case for all functions, but SparqlRand(). 2016-05-08 Kevin Haller <kevin.haller@outofbits.com> tests: Test cases for fn:replace() with regular expression support. Add five test cases, which shall check the behaviour of the replace function. https://bugzilla.gnome.org/show_bug.cgi?id=754961 libtracker-data: Support regular expressions for fn:replace(). Extends the sqlite database by a new function (with the name SparqlReplace). The function makes use of the g_regex_replace() function of glib. To fullfill the XPath 2.0 standard some constraints must be checked for fn:replace(input, pattern, replacement, flags). The given pattern must not match a zero-length string. The given replacement string have to use $ followed by a number for backreferences. If the dollar sign shall be used "as is", it must be escaped (\$). For checking and interpreting the given replacement string of fn:replace() some regular expressions are needed. This expressions are precompiled and saved in the function_regex hashset of the TrackerDBInterface. The pre-compilation and initialization of the hashset are done by the prepare_database() method. The glib method g_regex_replace() make use of the backslash followed by a number to inidcate backreferences. So the dollar signs must be interpreted - the backslashes can be still used for this purpose. In the sparql expression class the corresponding section is adapted, so that the new SparqlReplace function is used for fn:replace(..) statements. https://bugzilla.gnome.org/show_bug.cgi?id=754961 2016-05-08 Felix Riemann <friemann@gnome.org> tracker-extract-gif: Avoid possible integer overflow Fix integer overflow when skipping over the decoded image data of extremely large or specifically prepared images. https://bugzilla.gnome.org/show_bug.cgi?id=758315 2016-05-07 Gaurav Narula <gnarula94@gmail.com> extractor: Store albumArtist from TPE2 tag https://bugzilla.gnome.org/show_bug.cgi?id=764143 2016-05-07 Carlos Garnacho <carlosg@gnome.org> tracker-extract-gstreamer: Use TOC as "cue sheet" as a last resort The CUESHEET block in flac files is only meant to allow applications to figure out CDDB references and whatnot, so it will basically contain track durations and ISRCs. Other information like title/performer/genre is not meant to be stored here: https://xiph.org/flac/faq.html#general__no_cuesheet_tags The other methods supported here could be considered non-standard, but will be definitely more complete than this CUESHEET block, so the lookup order is: - Embedded cue file as a "CUESHEET=" vorbis comment - External cue file - This CUESHEET block 2016-05-07 Sam Thursfield <sam@afuera.me.uk> tracker-extract: Make `tracker-extract --file` silent when --verbosity=0 libtracker-common: Fix Make rule for enums code This was depending on some non-existent NOINST_H_FILES variable, rather than the actual tracker-enums.h file. 2016-05-05 Carlos Garnacho <carlosg@gnome.org> tracker-extract-mp3: Prevent possible crashes on 0-len comments Files may contain a COMM frame that turns out to have a 0-len string, in our calculations the length comes out as -1, which turns out very wrong. https://bugzilla.gnome.org/show_bug.cgi?id=764924 libtracker-miner: Do not free the current root data automatically on interruption Most interruption cases are global to a RootData (eg. unmounts). It however may turn out with unexpected consequences when requesting crawling of a subfolder that is being deleted. In that case we'd expect the RootData to be preserved and crawling to resume on the remaining folders. So, only delete the current root data across regular operations as long as we're not being interrupted, and ensure we do so manually in all the cases where tracker_crawler_stop() is manually called. tracker: Make it superscary to reset databases This is possibly a data loss situation, so warn the user that this is possibly what will happen. tracker: Add comment for translators tracker-preferences: Remove the "System" tab altogether Resetting data is not something we should offer a big button for, really. tracker-preferences: Do not recommend reindex/restarts This is an absolute antipattern, we can honor most of those settings at runtime (and as of the last commits, we do). The remaining configuration options are the ones affecting the tokenizer, and we just need a tracker-store/session restart, so just suggest that, instead of restarting daemons. tracker-miner-fs: Trigger full recheck on enable-monitors changes The crawling will recursively add/remove the monitors as requested. libtracker-miner: Check deleted files on TrackerIndexingTree:directory-updated Add the TRACKER_DIRECTORY_FLAG_CHECK_DELETED flag, so deleted contents are checked on all folders. libtracker-miner: Check for content filters being triggered on deletion checks Store temporarily whether a folder triggered a filter based on its content so we can perform the deletion of previously indexed files in that folder. libtracker-miner: Add TRACKER_DIRECTORY_FLAG_CHECK_DELETED flag This forces a check for deleted contents on all folders, as if the folder mtime changed. Will be useful to recheck indexed directories' contents after configuration changes. libtracker-miner: Check for filtered out files during deletion checks When checking the deleted contents of a folder, also find out whether those are currently filtered out. Those must be deleted as well. libtracker-miner: Add indexing roots to the tree only when those are crawled We must not insert information for indexing roots prior to their processing. This could be the case of indexing roots that are descendants of another recursive root (eg. ~/Music in ~/). This was inocuous when crawling the indexed folders from scratch, although could make indexing roots being spuriously deleted/reindexed when folders are reindexed (eg. because of TrackerIndexingTree::directory-updated signals) libtracker-miner: Do not recurse up the hierarchy for out-of-tree index requests If we receive a tracker_miner_fs_check_file() request for a file out of indexing trees, it'd usually end up recursing until it ran out of parents (that is, up to file:///). This is quite pointless, if only one file was requested to be indexed. libtracker-miner: Avoid storing mtime on when querying the iri ad-hoc Retrieve only the iri from the query, and store it in the TrackerFileSystem, the mtime is unrequested, and even misleading in future operations. 2016-05-03 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Do not insert RootData for the same file multiple times If the file is already there, there is no need to crawl/recheck it several times. libtracker-miner: Empty query_files cache when crawling the next folder If, for the usual reasons, a directory is ignored after crawling, we must remove files accumulated till that point. Those are pointless when processing the next folder. libtracker-miner: Ensure stored mtime data is freed after use This data is not needed after comparing store and filesystem mtimes, and keeping it stored could mislead later checks happening on that same folder (say, directories being recursively rechecked because of configuration changes). It is safer to just dispose the data after use, the data might need retrieving again at the time such recheck is needed. libtracker-miner: Add tracker_file_system_steal_property() This call retrieves and removes data stored in the TrackerFileSystem, the caller must free the retrieved data. libtracker-miner: TrackerIndexingTree should not return shallow roots Those are created for internal maintenance, and should not leak outside. 2016-04-28 GNOME Translation Robot <gnome-sysadmin@gnome.org> Updated Portuguese translation 2016-04-25 Timm Bäder <mail@baedert.org> miner-manager: Plug memory leak https://bugzilla.gnome.org/show_bug.cgi?id=765172 2016-04-07 Sam Thursfield <sam@afuera.me.uk> tracker-extract: Fix error handling in tracker-extract-persistance A couple of GCC warnings highlighted the fact that in case of error, this code would pass uninitialised string pointers to g_critical(). 2016-04-02 Andrew Stormont <astormont@racktopsystems.com> Fix build on illumos. https://bugzilla.gnome.org/show_bug.cgi?id=761177 2016-04-02 Carlos Garnacho <carlosg@gnome.org> autogen.sh: Remove build time dependency on gnome-common Follow the recommendations in https://wiki.gnome.org/Projects/GnomeCommon/Migration https://bugzilla.gnome.org/show_bug.cgi?id=763119 2016-03-27 Antoine Jacoutot <ajacoutot@gnome.org> Adapt to new GKqueue monitor naming. 2016-03-27 Carlos Garnacho <carlosg@gnome.org> configure: Check that sqlite3 has sqlite3_auto_extension() enabled Only do this if we need to load the FTS5 module, sqlite3 might have been compiled with SQLITE_OMIT_LOAD_EXTENSION, which will make things go very wrong (poking NULL vfuncs in a 0'ed out sqlite3_api_routines) at runtime. This facility must be enabled if we need to load our FTS module, so bail out at configure time if it's not there. 2016-03-27 Sam Thursfield <ssssam@gmail.com> configure.ac: Add note about Automake subdir-objects option It seems to break the build because of an Automake bug, see: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13928> Revert "configure: Use subdir-objects Automake option" This reverts commit 5ae20fb915659163e68f5f18bbd444e8de30d02b. Lesson learned (again): don't do something just because Automake tells you to. Notice the same thing happened back in commit e46bfc1c43 which was reverted again in b1e3997ce7b894. configure: Remove AC_PROG_RANLIB, it's not needed Based on this warning from libtoolize: libtoolize: `AC_PROG_RANLIB' is rendered obsolete by `LT_INIT' configure: Use subdir-objects Automake option This fixes the following warnings: src/libtracker-miner/Makefile-shared-sources.decl:5: warning: source file '$(top_srcdir)/src/libtracker-miner/tracker-monitor.c' is in a subdirectory, src/libtracker-miner/Makefile-shared-sources.decl:5: but option 'subdir-objects' is disabled src/libtracker-miner/Makefile.am:10: 'src/libtracker-miner/Makefile-shared-sources.decl' included from here automake: warning: possible forward-incompatibility. automake: At least a source file is in a subdirectory, but the 'subdir-objects' automake: automake option hasn't been enabled. For now, the corresponding output automake: object file(s) will be placed in the top-level directory. However, automake: this behaviour will change in future Automake versions: they will automake: unconditionally cause object files to be placed in the same subdirectory automake: of the corresponding sources. automake: You are advised to start using 'subdir-objects' option throughout your automake: project, to avoid future incompatibilities. src/tracker-preferences/Makefile.am:34: warning: source file '$(top_srcdir)/src/miners/fs/tracker-config.c' is in a subdirectory, src/tracker-preferences/Makefile.am:34: but option 'subdir-objects' is disabled src/libtracker-miner/Makefile-shared-sources.decl:17: warning: source file '$(top_srcdir)/src/libtracker-miner/tracker-crawler.c' is in a subdirectory, src/libtracker-miner/Makefile-shared-sources.decl:17: but option 'subdir-objects' is disabled tests/libtracker-miner/Makefile.am:11: 'src/libtracker-miner/Makefile-shared-sources.decl' included from here src/libtracker-miner/Makefile-shared-sources.decl:5: warning: source file '$(top_srcdir)/src/libtracker-miner/tracker-monitor.c' is in a subdirectory, src/libtracker-miner/Makefile-shared-sources.decl:5: but option 'subdir-objects' is disabled tests/libtracker-miner/Makefile.am:11: 'src/libtracker-miner/Makefile-shared-sources.decl' included from here autoreconf: automake failed with exit status: 1 2016-03-21 Carlos Garnacho <carlosg@gnome.org> Release 1.8.0 2016-03-21 fosero <fosero@users.noreply.github.com> tracker-extract: adapt to libcue 2.0.0 API Allow optional support for the libcue 2.0.0 API changes: new location of libcue.h and a renamed enum. https://bugzilla.gnome.org/show_bug.cgi?id=762512 2016-03-20 Ask Hjorth Larsen <asklarsen@gmail.com> Updated Danish translation 2016-03-14 Carlos Garnacho <carlosg@gnome.org> Release 1.7.5 tests: distcheck fix libtracker-miner: Ensure the directory root is removed when its indexing root is If the directory is currently being inspected, and in the query (rather than crawling) phase, TrackerCrawler::finished won't be called, so the current index root might not be cleared yet. This code is very similar to file_notifier_current_root_check_remove_directory, and the same considerations apply. libtracker-miner: Initialize all NodeData memory we were leaving fields uninitialized. tracker-extract: Ensure all cue sheet MusicPieces have a nfo:duration The last entry in the TrackerToc may lack duration information, because it's not specified in the cue file, but is determined from the audio file itself. In this case, fill this info in. tracker-extract: Plug leak in cue sheet parsing tracker-extract: Use safer method to insert tags in PNG module The current way of inserting the nao:hasTag relationship on the extracted file involves one join operation per tag being inserted. This has performance implications, plus we can feasibly hit the sqlite limit of 64 tables in joins. Instead insert the tags in separate inserts, that will be as fast as it gets, plus there's no limit in the number of tags. tracker-extract: Use safer method to insert tags in TIFF module The current way of inserting the nao:hasTag relationship on the extracted file involves one join operation per tag being inserted. This has performance implications, plus we can feasibly hit the sqlite limit of 64 tables in joins. Instead insert the tags in separate inserts, that will be as fast as it gets, plus there's no limit in the number of tags. tracker-extract: Use safer method to insert tags in JPEG module The current way of inserting the nao:hasTag relationship on the extracted file involves one join operation per tag being inserted. This has performance implications, plus we can feasibly hit the sqlite limit of 64 tables in joins. Instead insert the tags in separate inserts, that will be as fast as it gets, plus there's no limit in the number of tags. tracker-extract: Use safer method to insert tags in GIF module The current way of inserting the nao:hasTag relationship on the extracted file involves one join operation per tag being inserted. This has performance implications, plus we can feasibly hit the sqlite limit of 64 tables in joins. Instead insert the tags in separate inserts, that will be as fast as it gets, plus there's no limit in the number of tags. tracker-extract: Use safer method to insert tags in PDF module The current way of inserting the nao:hasTag relationship on the extracted file involves one join operation per tag being inserted. This has performance implications, plus we can feasibly hit the sqlite limit of 64 tables in joins. Instead insert the tags in separate inserts, that will be as fast as it gets, plus there's no limit in the number of tags. tracker-extract: Propagate urn to the TrackerExtractInfo Now that extraction is performed after the file got initially inserted and has an URN, there's no reason we can't pass the URN to the TrackerExtractInfo. This would make URNs available to extract modules, which have some places where the SPARQL produced would be clearer. This actually opens the path for quite a cleanup, we might pass a single TrackerSparqlBuilder to extract modules instead of doing the postprocessing we currently perform. tracker-extract: Remove old dbus interface xml This interface is unused and not implemented nowadays, remove. libtracker-extract: Delete TrackerExtractClient It's dead code since tracker-extract is a TrackerDecorator, delete. libtracker-miner: Avoid changing order of elements in the processing queue If should_wait() returns TRUE for an element, we end up putting the file in the queue again and incrementing its reentry counter. This situation should be deemed normal, so we can just peek the element, and only pop it if we should not wait. libtracker-miner: Cut some slack on the reentry counter REENTRY_MAX is 2 currently, so counter<2 is effectively 1, which doesn't make much for "reentry". tracker-extract: Add missing application/msword mimetype Somehow that went missing. tracker-extract: Check string length before parsing XMP in the PDF extractor tracker_xmp_new() may warn if we're given an empty string here. tracker-extract: Protect all single valued properties in html extractor In case of malformed documents or unexpected input, avoid creating sparql that will break cardinality constraints, and ignore those, because there's so much broken html around. tracker-extract: Protect all single valued properties in oasis extractor In case of malformed documents or unexpected input, avoid creating sparql that will break cardinality constraints, warn nicely instead. tracker-extract: Protect all single valued properties in ooxml extractor In case of malformed documents or unexpected input, avoid creating sparql that will break cardinality constraints, warn nicely instead. tracker-extract: Protect all single valued properties in EPUB extractor In case of malformed documents or unexpected input, avoid creating sparql that will break cardinality constraints, warn nicely instead. tracker-extract: Protect all single valued properties in abiword extractor In case of malformed documents or unexpected input, avoid creating sparql that will break cardinality constraints, warn nicely instead. 2016-03-13 Carlos Garnacho <carlosg@gnome.org> tests: Add tests to prove the last commit Reverting it will make the first test fail with: Unable to insert multiple values for subject `http://example.com/foo' and single valued property `example:propertyA' (old_value: 'foo', new value: 'bar') libtracker-data: Handle inserts where the subproperty cardinality is larger than the parents' This is the case of properties like nco:creator, which has unrestricted cardinality, but is subproperty of dc:creator, which has its cardinality limited to 1. In cases like this, inserts of multiple values shouldn't fail because of the restricted cardinality in superproperties which this one supersedes. So make it sure we don't propagate inserts to superproperties if its cardinality is already satisfied. Updates already work fine in this regard, with the difference that it's the last value which will prevail in the single-valued superproperty, this seems consistent with the nature of updates. 2016-03-11 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Avoid querying file type in crawling queries We only really need the file type from the database when checking for contents that are no longer in the filesystem. This spares us the OPTIONAL in the (by far) most commonly performed query here, the one checking the contents that do exist in the filesystem. Also, modify the "deleted contents check" query so it performs better with a larger number of elements. 2016-03-06 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Use gst_tag_list_new_empty() in cue sheet helpers It is the right way to create empty tag lists. tracker-extract: Fix gstreamer module cuesheet handling When a single nfo:FileDataObject represents multiple nmm:MusicPieces (eg. flac files with a cue sheet). We attempted to drop the nmm:MusicPiece aspect from the nfo:FileDataObject, but we dropped the entire resource instead. What was intended here is only dropping the nmm:MusicPiece, so the file resource remains a nfo:Audio and nfo:FileDataObject, and the per-track nmm:MusicPiece backreference to it through nie:isStoredAs. 2016-03-01 Carlos Garnacho <carlosg@gnome.org> tracker-miner-fs: Add back .trackerignore to ignored-directories-with-content It is not the antique I thought it was, actually it's actively used around. Release 1.7.4 tracker-miner-fs: Ignore git repositories by default Any file with a .git folder will be ignored. Feel free to change this in gsettings if you found this useful. tracker-miner-fs: Ignore #*# (vim backup) files by default Update to FTS5 Our old stale copy of the FTS3/4 module is now deleted, replaced by a shinier FTS5 embedded module. If at configure time we detect that SQLite doesn't offer the FTS5 module, we will load our own, just as we used to do with FTS4. FTS5 brings a few differences in the ways it's meant to be extended, the tokenizer has been updated to cope with the differences. Also, FTS5 offers no offsets() builtin function, nor matchinfo() which we used to implement ranking. It offers though ways to implement additional functions, and builtin rank support which can be tweaked to achieve the same functional results than we did. Other than that, the ways to interact with the FTS virtual table are roughly similar to those in FTS4, insertions and deletions have been updated to do things the FTS5 way. Since it's not worth to bump the database format (data is reproducted from the journal, so we drop some embedded data such as nie:plainTextContent), the nco:hobby property has been modified to no longer be fulltext indexed, AFAIK there's no users ever setting/ accessing that, and the FTS properties change will trigger the regeneration of the FTS view and virtual tables, resulting in a seamless update to FTS5. However, we don't leave completely unscathed from the fts3_tokenizer() change. Since the older FTS3/4 tokenizer is not registered, we can't just drop the older FTS table. So it is left dangling and never accessed again, in favor of the newer fts5 table. This is obviously not a problem when creating the database from scratch. In the way, a few bugs were found. per-property weights in ranking were being given in a scrambled way (although stable across database generations). And deletion of FTS properties (or entire rows) could result in the tokens not being fully removed from the FTS table, resulting in confused searches. These are now fixed. Impact to users of tracker should be none. All the FTS Sparql-to-SQL translation has been updated to just use FTS5 syntax and tables. libtracker-data: Handle tracker:fulltextIndexed changes We no longer have a reason to deem this change incompatible. Since no actual text is stored in the FTS tables, and it merely updates its tokenization info from the original class tables, we can just drop this info and reconstruct at will. So there's no longer need to consider tracker:fulltextIndexed changes as incompatible. 2016-02-27 Cédric Valmary <cvalmary@yahoo.fr> Updated Occitan translation 2016-02-26 Marinus Schraal <fosero@gmail.com> tracker-extract: Use tracker-guarantee to ensure a title in playlists Resort to the basename in order to guarantee a title. https://bugzilla.gnome.org/show_bug.cgi?id=761466 tracker-extract: Fix year-only date extraction in gstreamer module ISO 8601 takes hours and months starting at 1. Passing 0 results in wrong parsing of the resulting date string. https://bugzilla.gnome.org/show_bug.cgi?id=761236 2016-02-25 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: lower g_critical() severity And check for another condition where it might happen (if tracker_crawler_start() happens on a non-existing dir). The severity of this situation is not really critical, so it's been lowered to a g_debug(). libtracker-miner: Cancel crawling/querying on both cancellation paths When a currently inspected folder is cancelled, we could either jump to the next pending dir (if any) or the next crawling root, we must cancel these two operations prior to both. libtracker-miner: Use g_file_equal instead of direct comparison We might be passed a non-canonical directory to file_notifier_current_root_check_remove_directory(), g_file_equal will be safer. libtracker-miner: Plug fd leak when cancelling crawlers early The enumerators would just be freed but not closed, leaking fds in the underlying implementations. libtracker-direct: Handle cancellation Always go through the async path, and manage the cancellable in both the IO scheduler and the jobs. If we try to handle cancellation in the direct path, the cursor will be unref'ed (and try to grab the DB lock again) while the lock is held. There's no way cancellation can work while holding the lock, so just removed this path. 2016-02-24 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Do not break ordering with bulk operations The way bulk operations break the ordering of the sparql updates may bring certain glitches. eg. if a delete (bulk) operation happens on a folder while the sparql buffer already contains updates corresponding to files within that folder, the way we order operations results in the delete happening first, and the inserts/updates happening afterwards. This may leave the database in inconsistent states. So make bulk operations a 1 file thing, this could maybe be smarter and try to compress consecutive similar operations, but there's not much added value in it. Plus, the bulk operations we issue in the miner would never match that criteria. Because we no longer break the ordering with bulk operations, things like the error map are no longer necessary, so we can remove some icky code here. BulkOperationMerge and its functions could be further simplified, that's left for a later cleanup. libtracker-miner: Cancel ops in current buffers if a delete affects the file If a folder being deleted affects operations currently in the currently issued tasks (eg. those we emitted ::process-file on) and writeback buffers, those operations would still attempt to proceed, with different degrees of success. libtracker-miner: Stop crawling if a delete op affects the current directory Otherwise the crawler will still attempt to go through the processed folders, adding unnecesary processing and potentially leaving inconsistent state in the TrackerFileSystem if a similar file layout appeared in the future. libtracker-miner: Fix TrackerFileNotifier cancellable maintenance Resetting and reusing is not deemed safe. It is better to create new cancellables and let the old ones be last unref'ed after async callbacks finish. libtracker-miner: Delete directory altogether on interrupted crawling We can't tell the extracted data is complete or valid, so give up on that data entirely. libtracker-miner: Set uri in warning It's useful to know the file it comes from. 2016-02-16 Carlos Garnacho <carlosg@gnome.org> Release 1.7.3 libtracker-miner: Fix invalid return value warning 2016-02-15 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Add envvar toggle to force directory updated checks The bugs covered by the last patches might leave leftovers in the DB if tracker-miner-fs updated a directory after it changed between runs, but wouldn't delete contents that were removed from the filesystem. Add this toggle envvar to point people to a solution, if you've seen errors like "UNIQUE constraint failed: nie:DataObject.nie:url" in journald, you're affected by these bugs, and should run tracker-miner-fs once with TRACKER_MINER_FORCE_CHECK_UPDATED set in the environment. Running just once will be enough, enabling this always will incur in startup performance penalties. libtracker-miner: Simplify deleted contents querying in TrackerFileNotifier Now that we perform per-directory crawling+querying, we can just check whether the currently crawled dir was updated, and remove all filtering features from sparql_contents_query_start(). We actually were interpreting the filter incorrectly, because the directories would be added to the updated_dirs array sooner than they would be crawled, so the check for deleted contents was simply forgotten. This simplification fixes such situation. 2016-02-15 Haithem BEN GHORBAL <haithem.benghorbal@gmail.com> libtracker-data: Fix uninitialized variable usage object_id is not initialized in this branch of code, use the object URI instead. 2016-02-15 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Detect file type on files coming from store When adding files from the store to the TrackerFileSystem, we must at least detect whether they are folders. Returning "unknown" here meant that TrackerMinerFS wouldn't enable the TRACKER_BULK_MATCH_CHILDREN mask on delete operations for directories, which could leave lingering child nfo:FileDataObjects. This situation could happen if a folder is deleted between runs of tracker-miner-fs, all information we can get comes from the store, as it's no longer there at the time of crawling. libtracker-miner: Use Sparql1.1 in TrackerSparqlBuffer tasks We can use STRSTARTS better than fn:starts-with here. 2016-02-15 Haithem BEN GHORBAL <haithem.benghorbal@gmail.com> libtracker-miner: Separate currently crawled dir from pending directories The GQueue is passed as a filter to sparql_contents_compose_query(), but it relies on the current file being outside the filter, otherwise it will produce an empty IN() filter. libtracker-miner: Reset of reentry counter is not needed anymore Moreover, an infinite loop may occurs if process-file signal always fails. libtracker-miner: Invalidate files iri recursively in case of file removal Directories must get all children invalidated, because already queued tasks might contain new instances of those same files, in which case they would still find the previous URN. libtracker-miner: Allow to invalidate files iri recursively This will be useful for delete operations. 2016-02-15 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Proceed into querying if tracker_crawler_start() fails tracker_crawler_start() may return FALSE if the directory doesn't exist or its ::check-directory handlers return FALSE. We must continue in these circumstances into querying the directory as usual, so it's contrasted and eventually deleted by file_notifier_traverse_tree_foreach(). 2016-02-15 Haithem BEN GHORBAL <haithem.benghorbal@gmail.com> libtracker-miner: Fix some memory leaks of TrackerTask These leaks had huge impact as each TrackerTask had a reference to a GFile, which prevent them to be removed from TrackerFileSystem when calling tracker_file_system_forget_files(). Due to this behavior, adding/removing/re-adding folders resulted in some folders/files not being indexed. libtracker-miner: Add extra reference around file deletion TrackerFileNotifier::file-deleted might have removed the last reference to the given file, make sure it lives a bit longer for the remaining operations to finish. libtracker-miner: Use the interned GFile with tracker_file_system_forget_files() This allow the correponding node to be retrieved from g_object_get_qdata() instead of traversing all the tree, which might imply a performance hit. libtracker-miner: Fix generated Sparql query in sparql_contents_compose_query() If the first element is filtered out it'd append a comma anyway in the query filter. libtracker-miner: Fix "return makes integer from pointer without a cast" warnings libtracker-fts: Fix invalid blob length calculation The blob lenght is defined to be in bytes. Tracker: fix possible dereference of null pointer libtracker-data: remove unnecessary call to tracker_db_manager_get_db_interface() It was done at the end of the function. libtracker-data: Rework ontology_get_fts_properties() All callers require both hashtables, so remove NULL handling for those. Fixes a possible memory leak if fts_properties is NULL. 2016-02-14 Haithem BEN GHORBAL <haithem.benghorbal@gmail.com> libtracker-miner: Fix variable set but not used warning docs: Fix less-than-zero comparison of an unsigned value libtracker-data: Fix g_warning() missing argument 2016-02-06 Rūdolfs Mazurs <rudolfsm@src.gnome.org> Update Latvian translation 2016-01-28 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Do not insert partial/empty sparql on error The check for these errors was done specifically so we could still insert (even if incomplete) data on tracker-extract failures, when we used to communicate with it directly from tracker-miner-fs. Nowadays, tracker-extract is a TrackerDecorator, and tracker-miner-fs should most likely receive only errors here on ENOENT and other errors that affect the file and its info as a whole. In these situations we end up with a task with a completely empty sparql string, which doesn't help much here. libtracker-miner: Pass a builder in UPDATE state to ::remove-file A stateless TrackerSparqlBuilder is not that useful, because there's no API to push the desired state. A TrackerSparqlBuilder created through tracker_sparql_builder_new_update() will allow us to open delete and insert statements, which is what we want here. libtracker-miner: Remove children recursively from queues on directory deleted We use to emit ::file-deleted on topmost directories only when deleting a directory tree. This means we have to remove children recursively too, because we'll otherwise leave stale items that are not direct children of the directory we notified upon. 2016-01-25 Richard Hughes <richard@hughsie.com> Update the AppData to spec version 0.7+ 2016-01-21 Carlos Garnacho <carlosg@gnome.org> libtracker-common: Use guint64 for free space calculations We need the whole range after the multiplication with st.f_bsize, gsize may overflow here. Also, make the cast to double explicit rather than implicit in get_remaining_space_percentage() 2016-01-17 Carlos Garnacho <carlosg@gnome.org> Release 1.7.2 libtracker-miner: Fix Invalid memory reads on writeback finalization We connect the signal through g_signal_connect_object() which has the feature of disconnecting automatically the signal when the given gobject is finalized. Doing it again ourselves in finalize ends up in invalid reads, we can avoid doing this altogether. libtracker-extract: Fix possible XMP extractor leak We may end up overwriting the TrackerXmpRegion fields here, and forgetting about the previous memory. Just stick to the first values if we iterate multiple times here. libtracker-data: Keep a weak reference on the Variable to the Context Otherwise we fall into circular references, and leaks eventually. libtracker-miner: Add TrackerMinerFS::remove-file signal This signal can be used to tweak TrackerMinerFS deletion behavior, or override it altogether. libtracker-common: Report total free space if running as root For the people that want to run Tracker as a system-wide service. There's no "unprivileged user" limitations to obey here, so just report st.f_bfree instead of st.f_bavail. ontology: Set domain index on nie:contentCreated for nmo:Message This is needed in order to optimize queries for mixed sent/received nmo:Messages. This becomes a bottleneck when making polari use tracker-miner-chatlog [1] information to fetch backlog from channels. nie:contentCreated will be contained by every nmo:Message, so this index allows us to perform quick queries even with a massive amount of per-channel messages. [1] https://git.gnome.org/browse/tracker-miner-chatlog/ libtracker-common: Make libicu/libunistring agree on function prerequisites We can possibly end up with tracker_parser_unaccent_nfkd_string() called on 0-length strings. Libunistring already handles/accepts this fine, the libicu implementation already is 0-length safe, so have it accept 0-length strings as well. tracker: Remove tracker-compatibility This was scheduled for removal for 1.6, a bit late here. 2016-01-16 Philip Van Hoof <philip@codeminded.be> Revert "libtracker-data: Clean up stale URIs on startup" This reverts commit e4a0f7be0c138a733b74413ff7a11a9431c7fe08. 2016-01-11 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Remove wrong call We already got the task error on the g_task_propagate_boolean() above, and it's impossible that the task will contain a pointer, plus we'd leak it if it were the case. So just remove this call. libtracker-miner: Plug leak We take ownership on the task, we must free it then. tracker-extract: Plug leak We take ownership on the TrackerExtractInfo, we must free it then. 2016-01-11 Philip Van Hoof <philip@codeminded.be> Fix small memory leak 2016-01-10 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2015-12-17 Carlos Garnacho <carlosg@gnome.org> Release 1.7.1 libtracker-extract: Fix double free We're giving ownership of the GError to the task, no need to free here. libtracker-miner: Fix double free Pass a copy of the error to the GTask, we're freeing our own together with the others in the array afterwards. 2015-12-15 Anders Jonsson <anders.jonsson@norsjovallen.se> Updated Swedish translation 2015-12-13 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2015-12-10 Debarshi Ray <debarshir@gnome.org> libtracker-data: Silence a CRITICAL We shouldn't be passing a NULL string argument to g_regex_match. https://bugzilla.gnome.org/show_bug.cgi?id=759280 2015-12-02 Carlos Garnacho <carlosg@gnome.org> Merge branch 'wip/garnacho/sparql1.1' libtracker-miner: Optimize move operations Instead of creating one delete+insert per file (indirectly) contained in a folder, do it all at once in a DELETE...INSERT...WHERE. We only now need to query and block if we're running a thumbnailer service, which should be most uncommon. This makes the whole update to happen in a much tighter loop within tracker-store, eg. helps reduce the time spent in processing the renaming of a linux kernel tree (51964 elements) from 23s to 12s. (as measured locally by tracker-miner-fs on a previously idle system). libtracker-data: Add support for BIND The BIND form allows a value to be assigned to a variable from a graph pattern: SELECT ?u ?hour { ?u a rdfs:Resource . nfo:fileLastModified ?modified BIND (HOUR (?modified) AS ?hour) } It will be specially useful on places where we use the result of a calculation on more than one places, eg. on SELECT and FILTER(). It will also be useful combined with DELETE...INSERT...WHERE to perform complex mass-updates in a single query. http://www.w3.org/TR/sparql11-query/#bind libtracker-data: Resolve variables looking up the binding if we're in same context This is necessary for BIND support, as the variables looked up to add the BIND alias likely belong to the same scope that we're currently building. This results in SQL like (very simplified, and shortened): SELECT "nie:url" AS "1_u", "1_u" AS "2_u" ... The second "1_u" can't be looked up yet in this scope (only on the WHERE clause, or a wrapping SELECT), so ends up as the string itself. With this change, this kind of queries will result in (shortened again): SELECT "nie:url" AS "1_u", "nie:url" AS "2_u" ... Which is legal, and results in the expected values assigned to the BIND alias. libtracker-data: Relate Variable objects to their origin Context It will be necessary so we can figure out at query construction time whether we are in a scope where we can use the variable alias or not. libtracker-data: Implement sparql1.1 delete/insert Sparql1.1 defines updates as a single statement of the form: DELETE {} INSERT {} WHERE {} With delete/insert-only syntax being special cases for that common form: http://www.w3.org/TR/sparql11-update/#deleteInsert This is now implemented in litracker-data, the parser will accept this new syntax, and perform the delete/insert operations on all solution items. We first perform all deletes and then all inserts in order to minimize database flushing. libtracker-data: Add support for NOW() builtin function This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-now libtracker-data: Add support for RAND() builtin function This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#idp2130040 libtracker-data: Add SparqlRand sqlite function This will be used to back up the RAND() sparql 1.1 function. Unlike the random() sqlite builtin function, g_random_double() gives us the random number in the same range than described in the recommendation, so it seems a better fit. 2015-11-25 Carlos Garnacho <carlosg@gnome.org> Release 1.7.0 tracker-extract-epub: Fix possibly uninitialized variable libtracker-miner: Fix compile warning tracker-extract: Port TrackerExtract to GTask libtracker-miner: Port TrackerSparqlBuffer to GTask libtracker-data: Port TrackerDBInterfaceSqlite to GTask libtracker-extract: Port tracker_extract_client API to GTask 2015-11-23 Carlos Garnacho <carlosg@gnome.org> miners: Take over the deletion of previous properties from TrackerMinerFS Performing the deletion inside libtracker-miner takes some assumptions we shouldn't be doing in a generic library, such as the graph we're deleting from. It makes more sense to make miners responsible of deleting their older properties prior to a file update. Applications/user guides miners could be more specific as to which properties they're deleting, we'll rely on those not stepping over other miners' toes at the moment. https://bugzilla.gnome.org/show_bug.cgi?id=758341 2015-11-18 Debarshi Ray <debarshir@gnome.org> tracker-extract-xmp: Fix extraction of orientation values 3 and 4 They had gotten swapped around. See: http://www.cipa.jp/std/documents/e/DC-010-2012_E.pdf https://bugzilla.gnome.org/show_bug.cgi?id=758295 tracker-extract-tiff: Fix extraction of orientation values TIFFTAG_ORIENTATION values range from 1 to 8, not 0 to 7. See: https://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf https://bugzilla.gnome.org/show_bug.cgi?id=758293 2015-11-14 YunQiang Su <yqsu@src.gnome.org> Us ... instead of … for zh_CN 2015-11-14 liushuyu <liushuyu_011@126.com> update zh_CN translation 2015-10-30 Debarshi Ray <debarshir@gnome.org> libtracker-control: Improve the documentation Make it clear that tracker_miner_manager_index_file only tells the miner to start indexing a file. It doesn't wait for the actual indexing operation to complete. https://bugzilla.gnome.org/show_bug.cgi?id=757366 libtracker-control: Fix the return value As documented, tracker_miner_manager_index_file should return TRUE on success, not FALSE. https://bugzilla.gnome.org/show_bug.cgi?id=757366 2015-10-23 Marius Gedminas <marius@gedmin.as> Fix buffer overrun in libunistring builds libunistring uses UTF-8 strings without a trailing NUL byte. We're passing such strings to tracker_parser_unaccent_nfkd_string() from function_sparql_unaccent() in the sqlite interface. If the string has no accented characters, writing a NUL byte at the end will step out of bounds. This causes memory corruption and crashes. The other caller of tracker_parser_unaccent_nfkd_string() is process_word_utf8(), and it looks like it wants a trailing NUL, so let's add it there. There are no more callers of the libunistring version of tracker_parser_unaccent_nfkd_string(). (For extra confusion, the libicu version of tracker_parser_unaccent_nfkd_string() deals with U+0000-terminated UTF-16 strings.) Should fix https://bugzilla.gnome.org/show_bug.cgi?id=746195 2015-10-21 Debarshi Ray <debarshir@gnome.org> libtracker-miner: Handle failure to get a TrackerSparqlConnection We might fail to get a TrackerSparqlConnection if the session was shut down too early and the DBus connection closed. Since this is not a programming error nor an example of a broken system, let's not abort and use a WARNING instead of a CRITICAL. https://bugzilla.gnome.org/show_bug.cgi?id=756869 2015-10-20 Debarshi Ray <debarshir@gnome.org> libtracker-miner: Cancel pending async operations during destruction https://bugzilla.gnome.org/show_bug.cgi?id=756877 libtracker-miner: Abort async operations once the instance is gone https://bugzilla.gnome.org/show_bug.cgi?id=756877 Revert "libtracker-miner: Abort async operations once the ..." Wrong bug URL. This reverts commit 864aabbe4d5c4fb7fd9b0813c25a337240df6235. Revert "libtracker-miner: Cancel pending async operations ..." Wrong bug URL. This reverts commit dc04031e33c5f554040c8a2c3311aaaca51b4043. libtracker-miner: Cancel pending async operations during destruction https://bugzilla.gnome.org/show_bug.cgi?id=756869 libtracker-miner: Abort async operations once the instance is gone https://bugzilla.gnome.org/show_bug.cgi?id=756869 2015-10-19 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Add support for MD5/SHA1/256/512 builtin functions These functions are defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-md5 http://www.w3.org/TR/sparql11-query/#func-sha1 http://www.w3.org/TR/sparql11-query/#func-sha256 http://www.w3.org/TR/sparql11-query/#func-sha512 libtracker-data: Add SparqlChecksum sqlite function This function will be used to back the various sparql checksum functions. libtracker-data: Add support for YEAR/.../SECONDS builtin functions These functions are defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-year http://www.w3.org/TR/sparql11-query/#func-month http://www.w3.org/TR/sparql11-query/#func-day http://www.w3.org/TR/sparql11-query/#func-hours http://www.w3.org/TR/sparql11-query/#func-minutes http://www.w3.org/TR/sparql11-query/#func-seconds libtracker-data: Pass explicitly the operation type on updates Instead of storing it in an internal variable, we might be applying different operation types here, so it will be clearer overall if we pass the operation around. libtracker-data: Make datetime functions accept other than vars The datetime functions were very specific at only accepting variables (backed by a table column), using the :localDate and :localTime decomposed fields, specific internally to datetime properties. So, actually make it able to accept other than variables (we will still use the decomposed local time for these), and translate these as a primary expression. This makes all these queries work (as opposed to just the first): select year(?date) { ?u nie:contentCreated ?date } select year(now()) {} select year("2015-07-29T23:00:00Z"^^xsd:dateTime) {} select year("2015-07-29"^^xsd:date) {} libtracker-data: Add support for CEIL/FLOOR builtin functions These functions are defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-ceil http://www.w3.org/TR/sparql11-query/#func-floor libtracker-data: Add SparqlCeil/Floor sqlite functions These will be used to implement CEIL/FLOOR, as per Sparql 1.1 libtracker-data: Add support for STRBEFORE/STRAFTER builtin functions These functions are defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-strbefore http://www.w3.org/TR/sparql11-query/#func-strafter libtracker-data: Add SparqlStrBefore/After sqlite functions These will be used in STRBEFORE/STRAFTER, as per sparql 1.1 libtracker-data: Add support for the ENCODE_FOR_URI() builtin function This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-encode libtracker-data: Add SparqlEncodeForUri sqlite function This will be used on ENCODE_FOR_URI(), as per sparql 1.1. libtracker-data: Add support for the ROUND() builtin function This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-round libtracker-data: Add support for the ABS() builtin function This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-abs libtracker-data: Add support for STRSTARTS/STRENDS builtin functions These are defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-strstarts http://www.w3.org/TR/sparql11-query/#func-strends libtracker-data: Add support for the SUBSTR() builtin function This function is defined in Sparql 1.1 query language recommedation, http://www.w3.org/TR/sparql11-query/#func-substr libtracker-data: Add support for the STRLEN() builtin function This function is defined in Sparql 1.1 query recommendation, http://www.w3.org/TR/sparql11-query/#func-strlen libtracker-data: Add support for LCASE/UCASE builtin functions These functions are defined in Sparql 1.1 query recommendation, http://www.w3.org/TR/sparql11-query/#func-lcase http://www.w3.org/TR/sparql11-query/#func-ucase libtracker-data: Add support for the CONTAINS builtin function This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-contains libtracker-data: Add support for the CONCAT() builtin function This function is defined in Sparql 1.1 query language recommendation, http://www.w3.org/TR/sparql11-query/#func-concat 2015-10-14 Inaki Larranaga Murgoitio <dooteo@zundan.com> Updated Basque language 2015-10-11 Sam Thursfield <sam@afuera.me.uk> functional-tests: Time out after 5 seconds, instead of 30 seconds Failing tests shouldn't take 30 seconds to fail. 5 seconds is still a long time. functional-tests: Clean up name watches properly functional-tests Remove some outdated and unused tests Also, the test-runner.sh now runs all .py files, instead of just those marked executable. functional-tests: Use GDBus instead of dbus-python dbus-python is deprecated. 2015-10-10 Sam Thursfield <sam@afuera.me.uk> functional-tests: Avoid AttributeError exception in Helper.stop() If a process was never started, the .stop method should do nothing instead of raising an AttributeError. functional-tests: Use environment vars instead of commandline options The commandline option parsing is totally broken and interferes with the real argument parsing of the unittest module or whatever other test runner you are using. You can now enable verbose test output by setting TRACKER_TESTS_VERBOSE=1 in the environment. The TRACKER_TESTS_MANUAL_START variable also exists but probably doesn't work at present. 2015-10-06 Denis Zalevskiy <denis.zalevskiy@jolla.com> tracker: detect uid from /proc/pid Owner UID of the /proc/[pid]/cmdline could be different than process real UID while /proc/[pid] owner is expected to be equal. https://bugzilla.gnome.org/show_bug.cgi?id=755945 2015-09-28 Milo Casagrande <milo@ubuntu.com> Updated Italian translation 2015-09-25 Bastien Nocera <hadess@hadess.net> build: Work-around vim highlighting bug When "Couldn't" is used in an m4 macro, vim will highlight all the code until the next "'" to close it. Work around that by replacing "Couldn't" by "Could not". https://bugzilla.gnome.org/show_bug.cgi?id=755218 2015-09-22 Милош Поповић <gpopac@gmail.com> Updated Serbian Latin translation Updated Serbian translation 2015-09-22 Carlos Garnacho <carlosg@gnome.org> Release 1.6.0 tests: Don't use the same test path twice Recent glib forbids duplicate test paths, as the test relies on that in order to find the .rq/.out files, copy these files from graph-4*. 2015-09-20 Ask Hjorth Larsen <asklarsen@gmail.com> Updated Danish translation 2015-09-20 Rafael Fontenelle <rffontenelle@gmail.com> Updated Brazilian Portuguese translation 2015-09-20 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation. 2015-09-20 Alexandre Franke <alexandre.franke@gmail.com> Updated French translation 2015-09-18 Bernd Homuth <dev@hmt.im> Updated German translation 2015-09-18 Stas Solovey <whats_up@tut.by> Updated Russian translation 2015-09-13 Muhammet Kara <muhammetk@gmail.com> Updated Turkish translation 2015-09-08 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2015-09-05 Seong-ho Cho <shcho@gnome.org> Updated Korean translation 2015-09-02 Dominique Leuenberger <dimstar@opensuse.org> libtracker-extract: fix dummy_module The ModuleInfo typedef contains 6 items, of which the last is 'optional' (predefined). TRUE as parameter for TrackerExtractShutdownFunc though is not a good idea: it's used as an integer and passed as a pointer to a function call. As there is no shudown function for the dummy module, just pass an additional NULL in there. https://bugzilla.gnome.org/show_bug.cgi?id=754448 2015-09-02 Ting-Wei Lan <lantw@src.gnome.org> build: Fix return value error for tracker_miner_files_peer_listener_is_file_watched https://bugzilla.gnome.org/show_bug.cgi?id=753942 2015-09-01 David King <amigadave@amigadave.com> tracker-miner-fs: avoid crash during init Correctly handle the result of tracker_sparql_cursor_get_string(), which can be NULL. https://bugzilla.gnome.org/show_bug.cgi?id=754055 2015-08-31 Andika Triwidada <andika@gmail.com> Updated Indonesian translation 2015-08-28 Tom Tryfonidis <tomtryf@gmail.com> Updated Greek translation 2015-08-28 Xavier Claessens <xavier.claessens@collabora.com> TrackerExtractController: Fix DBus signature of GetStatus method When "wait-for-miner-fs" config is enabled, extractor calls GetStatus with a wrong expected return type and thus won't start extracting files until Files miner emits "Progress" signal. https://bugzilla.gnome.org/show_bug.cgi?id=754246 2015-08-27 Christian Kirbach <Christian.Kirbach@gmail.com> Updated German translation 2015-08-26 Anders Jonsson <anders.jonsson@norsjovallen.se> Updated Swedish translation 2015-08-26 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw> Updated Chinese (Taiwan) translation 2015-08-25 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2015-08-25 Fran Dieguez <fran@openhost.es> Updated Galician translations 2015-08-20 Carlos Garnacho <carlosg@gnome.org> Release 1.5.2 2015-08-19 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Mark nodes being removed We don't want to recurse on these, this turns the last tracker_indexing_tree_remove() call a no-op if happens to be called recursively within a ::directory-removed signal handler. Revert "libtracker-miner: Postpone TrackerIndexingTree::directory-removed emission" This reverts commit 5b4ab760c4782d1b7a098605b69d547c9466d20e. There's code relying on poking the removed directory flags one last time during ::directory-remove, so we must prevent from recursion in some other ways. Spotted during make distcheck. libtracker-miner: Check the crawler cancellable before destroying it It won't be set unless tracker_crawler_start() was called, so there's a chance it could be NULL on finalize. Spotted on make distcheck tests: Fix make check We now return a GError in the only tested condition, so look for this at least tracker-miner-fs: Keep cache of IndexFile requesters on directories The senders for all DBus requests to the IndexFile method on directories will be now watched, the dbus presence of the senders will control the lifetime of the directory on the indexed directories tree. There may be multiple requests on a same directory, in such case the directory will be indexed/monitored for as long as there is alive requesters on it. Requests on already indexed directories (or children of recursively indexed ones) will be silently ignored. Unmounts will also silently drop the IndexFile listeners, applications should issue new requests on volume mounts if desired. The patch is loosely based on initial work from Felipe Borges. https://bugzilla.gnome.org/show_bug.cgi?id=680834 2015-08-18 Sam Thursfield <sam@afuera.me.uk> libtracker-miner: Deprecate tracker_miner_fs_add_directory_without_parent This has been unused since commit 74d20884c870c2f54d93d3c01824b0994629c5d3. 2015-08-17 Jordi Mas <jmas@softcatala.org> Update Catalan translation 2015-08-15 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Invalidate TrackerDecoratorFS cache on (pre)unmount This ensures tracker-extract promptly drops all its current items when volumes are being unmounted, otherwise the already cached items will keep being processed, possibly preventing unmount from happening. libtracker-miner: Postpone TrackerIndexingTree::directory-removed emission Emitting before actually detaching the file from the GNode tree won't be safe if the signal results in reentrancy on tracker_indexing_tree_remove() libtracker-miner: Drop cache on TrackerDecorator pause/resume The cached data might be old by the time the miner is resumed, so just fetch some data from scratch. libtracker-miner: Ensure TrackerFileNotifier stops on crawler interruption finish_current_directory() shouldn't jump to the next directory in the current root if crawling is being interrupted there. Now that we unset priv->current_index_root as a result of interruption, we can avoid doing that ad-hoc on indexing_tree_directory_removed(). libtracker-miner: Fix TrackerCrawler cancellation On tracker_crawler_stop()/cancellation, the various async callbacks would poke memory that is no longer valid (The DataProviderData and DirectoryRootInfo structs will be immediately destroyed, before the callbacks are run). This fixes multiple crash scenarios upon cancellation, the crawler has been also simplified to use a single cancellable, since we'll be just running one data provider/enumerator at a time. tracker-extract: Plug error leak libtracker-extract: Plug error leak libtracker-extract: Plug leak The string would be leaked if we end up with too low confidence from libicu. 2015-08-11 Sam Thursfield <sam@afuera.me.uk> functional-tests: Improve 'manual start' mode This mode now allows you to run the tests against already-running Tracker processes. A lot of tests depend on specific miner-fs configuration so they might not work, but it can be useful. You can still start the test and then manually start the Tracker process if you want. Note that enabling manual start on the commandline probably doesn't work (commandline options for these tests are pretty broken) so just change the options.is_manual_start() function to 'return True' if you want to use this mode. functional-tests: Clean up miner tests a bit Update .gitignore 2015-08-09 Necdet Yücel <necdetyucel@gmail.com> Updated Turkish translation 2015-08-08 Felipe Braga <fbobraga@gmail.com> Updated Brazilian Portuguese translation 2015-08-04 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Remove SVG handling code from the gstreamer module This is now unused. tracker-extract: Use dummy fastpath for svg extraction The gstreamer based extraction is less than useful for our purposes, it could spend considerable amounts of cpu time and memory in building a pixel representation of the image (which is useless for us), and would extract nothing relevant from the file (w/h are meaningless on scalable images, other details such as geolocation just don't apply here). So SVG through gstreamer was a very expensive no-op, it can be safely made to use dummy extraction, and it will still be set the corresponding rdf:types. This is our side of the fix for: https://bugzilla.gnome.org/show_bug.cgi?id=748608 libtracker-extract: Add builtin dummy extractor For rules with no ModulePath key (i.e. those we only want to set rdf:types for) we relied on the lack of generic extractors that might handle the mimetype. If there was one such generic extractor, the TrackerMimetypeInfo iterator would skip the empty rule and directly attempt the generic extractor. Because it is conceivable that no-op is desired for some files, we shouldn't attempt to skip it, nor run further modules after the dummy rules, so just give this dummy fastpath a presence that tracker-extract will make sense of. tracker-extract: items==0 doesn't imply failure There may be files where there's just nothing to be extracted, make these fall through the success code paths. If a module fails for any reason, it must return FALSE on the get_metadata func. tracker-extract: Handle correctly empty insertions There may be files for which is valid to say "there's nothing to extract here" without resorting to error paths, in that case we must insert the dataSource, but skip the empty statements for the file. tracker-extract: Handle NULL modules This will be necessary when we have an internal dummy function. 2015-08-03 Andres Gomez <andres.gomez@jolla.com> libtracker-common: String to date conversion to return with GError when null string Previously we were failing with a GLIB CRITICAL. Now, return gentlier and with a filled GError. https://bugzilla.gnome.org/show_bug.cgi?id=752544 2015-08-03 Pedro Albuquerque <palbuquerque73@gmail.com> Updated Portuguese translation 2015-08-02 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2015-07-31 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2015-07-31 Martyn Russell <martyn@lanedo.com> build: Fix bash completion dir problem with make install, distcheck - Support JHBuild too - Allow disabling altogether - Fix DISTCHECK flags Conflicts: Makefile.am 2015-07-31 Ting-Wei Lan <lantw@src.gnome.org> build: Fix return value error for tracker_file_notifier_get_file_type https://bugzilla.gnome.org/show_bug.cgi?id=752900 2015-07-31 Martyn Russell <martyn@lanedo.com> tracker: Fixed search with -f <arg> or --files <arg>, broken expression https://bugzilla.gnome.org/show_bug.cgi?id=752871 2015-07-27 Dušan Kazik <prescott66@gmail.com> Updated Slovak translation 2015-07-26 Carlos Garnacho <carlosg@gnome.org> rss: cater for nmo:communicationChannel cardinality changes Now that mfo:FeedMessages can reference multiple mfo:FeedChannels, ensure we set link messages with all channels we receive these from. ontology: Remove cardinality limits on nmo:communicationChannel For at least the case of feed messages (the only user of nmo:communicationChannel inside Tracker), this does not quite represent reality, a same message can come from different channels (eg. same developers across several planet feeds), so remove the cardinality limit. The change also affects the indices created on the nmo:Message table, there will be an implicit index for the multivalued field, so there's no need for tracker:indexed, the secondary index shared with nmo:receivedDate has changed into making an index on nmo:receivedDate itself, it should yield similar results together with the index on the new standalone table for nmo:communicationChannel. Regarding compliance with Nepomuk, nmo:communicationChannel got stuck forever as an enhancement request at http://dev.nepomuk.semanticdesktop.org/ticket/722, so it's not something to care about here. libtracker-data: Cope for cardinality changes overwriting indices There's otherwise name collision between the old single-valued index and the new multivalued table. The index for the multivalued table will be created afterwards. rss: Unify website handling We now keep per feed item a hashtable of websites, so we can filter duplicates and point to the right URN/IRI in the insert queries. rss: Perform extraction/insertion of feed items at once The async ASK/INSERT pattern per-feed was vulnerable to nie:url collisions if we happened to process several feed items pointing to the same URL simultaneously. Change this so we first query the older items, and then we check items are really up to date, inserting only the newest of occurrences, and updating the database if the content changed for real (eg. the post was updated). This is done in a single update_array operation for all feed items in a channel. rss: Refactor mfo:FeedMessage sparql insert creation into a separate function No functional changes here. 2015-07-25 Carlos Garnacho <carlosg@gnome.org> rss: Optimize deletes We now just do 2 queries, one that deletes nmo:communicationChannel from all related mfo:FeedMessages when a mfo:FeedChannel is deleted, and another that garbage collects all mfo:FeedMessages that have no nmo:communicationChannel. This approach is compatible with any possible cardinality changes to nmo:communicationChannel. libtracker-data: Clean up stale URIs on startup The Resource table can be left populated with stale resources, in order to avoid these from accumulating, clean these up during startup. This assumes all miners and clients will be educated and will clean up all references to deleted resources (triples of the form {?urn some:prop ?deleted}) at the moment deletes happen, and always during the lifetime of the previous run of tracker-store. If there's sloppy miners/clients that don't fully unlink the resource, or users mess with the lifetime of tracker-store in the middle of such maintenance operations, we will leave such stale values around the database, possibly confusing queries where the predicate is used in the WHERE section. Short of having fully refcounted resources, seems like a minor drawback. Revert "libtracker-data: delete elements from the Resource table" This reverts commit ae3ab553d0e5faf0dadc85586dac0c0ee4443394. This approach is a bit too drastic, as it may confuse queries triggered by the deletion of the resource, the SQL translation of DELETE queries using the deleted resource in the WHERE will fail because there is no matching URI for that row ID anymore. Another less drastic approach is done in the next commit. 2015-07-24 Carlos Garnacho <carlosg@gnome.org> rss: Keep the channels by tracker:id() in the hashtable We won't be able to fetch the old URNs for the delete mfo:FeedChannels at the time of receiving the GraphUpdated notifications, we can only store these by tracker:id() as that's the only thing we readily have. rss: Simplify GrssFeedChannel list creation Simply fetch the hashtable values, instead of overcomplicating the old/new checks. 2015-07-24 Marek Černocký <marek@manet.cz> Updated Czech translation 2015-07-24 Carlos Garnacho <carlosg@gnome.org> rss: fix typo Destroy, not free. rss: Set website url as a nfo:WebSite nco:websiteUrl has to point to a rdfs:Resource according to the ontology, so make the string a full blown nfo:WebSite, with its nie:url. 2015-07-22 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Fallback to basename checks on hidden files When we receive DELETED events on files, the TrackerFileNotifier/ TrackerIndexingTree attempt to find out if its hidden and should thus be ignored. However the g_file_query_info() evidently fails at that time, with the file already deleted, so we think the file is not hidden and the delete operation gets propagated to the TrackerMineFS. Fix this by resorting to basename checks as a last resort, so we do the right thing even after the file is gone. 2015-07-22 David King <amigadave@amigadave.com> libtracker-data: Fix printf string format Introduced by commit 81135ae19c727df716d0c0945869462e75a53497. https://bugzilla.gnome.org/show_bug.cgi?id=752717 2015-07-21 Carlos Garnacho <carlosg@gnome.org> Release 1.5.1 libtracker-miner: Avoid full table scans on recursive sparql buffer queries If MATCH_CHILDREN is specified for a TrackerTask, we use tracker:uri-is-descendant(), it's however smarter to use fn:starts-with, as that'll resort to sqlite tricks that will avoid full table scans. libtracker-miner: Remove operations on children on deleted folders This is an optimization to reduce the number of queries that we perform across the deletion of large directory trees. libtracker-miner: Only set MATCH_CHILDREN on tasks for directory files It's a query that can be avoided for non-directories, so better do it. libtracker-miner: Add tracker_file_notifier_get_file_type() Just plug the hole from the internal TrackerFileSystem, will be handy for fast file type checks at the TrackerMinerFS level. libtracker-miner: Be smarter at not triggering TrackerDecorator activity There's times where tracker-extract GraphUpdated handler will fire due to its own inserts. Doing so is harmless, but triggers each time a query for the count of unhandled elements that effectively goes nowhere as it's already active. So handle_updates() is now smarter at not triggering activity unless a resource of the inspected classes is added, and graph_updated_cb() won't trigger anymore the count query everytime. libtracker-data: delete elements from the Resource table On deletion, items with an specific row ID are removed from all tables but the Resources one, which holds the urn:uuid:... mappings. The deletion of that table lead to confusions in the fts_view view and ultimately the FTS table, as both will indirectly depend on the elements stored there, so the deleted rows still had FTS representation, just filled with nulls. This looks like was just forgotten, if it was there to cover constraint errors, it'll be better to just open the pandora box, and fix the bugs we receive. Anyhow, from testing most common scenarios it works alright. parser: Optimize 0-length string parsing We were still creating the ICU parser and trying to feed it with data, which turned out surprisingly expensive on deletes, as "deleting" on FTS just replaces the text with "nothing", so we're creating a parser for each of these. This reduces the timing of the sparql delete in the previous commit further down to: real 1m7.029s user 0m0.023s sys 0m0.009s libtracker-data: Don't schedule all deletes only because of FTS The limitations in FTS why it made sense to perform the scheduled delete no longer apply since FTS4 and external content tables (or rather, we don't need the previous values explicitly). The scheduled delete is a lot more (if not extremely) thorough, decomposing the properties and items to be deleted into individual queries. This has quite an effect on deletes involving a large number of elements, a query like delete { ?u a rdfs:Resource; } where { ?u nie:url ?url . FILTER (fn:starts-with (?url, ".../linux/"))} on a linux git checkout indexed through tracker-miner-fs used to involve 7M sqlite queries, with this fast path it's down to 1.6M (and infinitely less sqlite3_stmt cache misses). In result the timing is improved substantially, time(1) from that query on the "tracker sparql" command went from: real 2m33.377s user 0m0.021s sys 0m0.008s Down to: real 1m23.625s user 0m0.021s sys 0m0.009s libtracker-data: Add function to delete an entire row from the FTS table This can be used as an optimization, instead of updating each column individually as we currently do. 2015-07-19 Carlos Garnacho <carlosg@gnome.org> tracker-extract-msoffice: Avoid frequent errors when feeding wrong files There's mimetypes which detection is too weak (i.e. purely based on filename extension matches), so it makes sense to avoid the frequent errors we get when the module gets fed a random file. tracker-extract-gstreamer: Avoid frequent errors when feeding wrong files There's mimetypes which detection is too weak (i.e. purely based on filename extension matches), so it makes sense to avoid the frequent errors we get when the module gets fed a random file. Merge branch 'wip/GrssPerson' 2015-07-18 Igor Gnatenko <ignatenko@src.gnome.org> configure: bump required libgrss version to 0.7 and now grss has unversioned pc name 2015-07-18 Carlos Garnacho <carlosg@gnome.org> rss: use tracker_sparql_builder_object_blank_open()/close() Tested-by: Igor Gnatenko <ignatenko@src.gnome.org> 2015-07-18 Igor Gnatenko <ignatenko@src.gnome.org> rss: add extracting additional attrs for persons GrssPerson is introduced in libgrss 0.7 2015-07-18 Carlos Garnacho <carlosg@gnome.org> rss: Extract copyright/contributors/categories from feed messages These do get extracted as nie:copyright, nco:contributor and nie:keyword respectively. 2015-07-18 Pedro Albuquerque <palbuquerque73@gmail.com> Updated Portuguese translation 2015-07-17 Balázs Úr <urbalazs@gmail.com> Updated Hungarian translation 2015-07-17 Carlos Garnacho <carlosg@gnome.org> rss: Store html as nmo:htmlMessageContent We get raw HTML content from the feed, and nie:plainTextContent should be that, plain text. This change is twofold, we now store the HTML content as nmo:htmlMessageContent (as the ontology observes), and honor nie:plainTextContent (and FTS!) by storing the plain text stripped of all tags. rss: Maintain references to GrssFeedChannels We're currently leaking these, and recreating all from scratch again each time we query the mfo:FeedChannels. Just keep the references, and reuse GrssFeedChannels from previous additions. rss: Account for a same feed message coming from different channels Unfortunately the nmo:communicationChannel docs are very explicit about the property cardinality. So we just create the mfo:FeedMessage for the first channel, and make it bail out any next time it would be added, from the same mfo:FeedChannel or another. https://bugzilla.gnome.org/show_bug.cgi?id=752484 rss: replace string comparison by boolean check The cursor can return the correct type right away, no need to retrieve the boolean value as a string and compare to anything. rss: Handle mfo:FeedChannel deletes If we receive a delete for one of those, we'll delete all feed messages associated with it. 2015-07-16 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2015-07-16 Carlos Garnacho <carlosg@gnome.org> rss: Make --title argument optional We can fetch that now from the feed channel, so leave --add-feed as the minimum required. rss: Lower severity of frequent message No need for a g_message() for something that's completely expected. rss: Retrieve information around mfo:FeedChannels We leave these mostly untouched, but we should have some info to fill in when the GrssFeedChannel has been populated. We currently retrieve title, url (although we should have gotten that in the first place), feed type, description, image link, and last message date. rss: Be more careful about updates We just check all feeds on any hint from GraphUpdate, which means we also update everything if we dare to modify the mfo:FeedChannel, resulting in circular updates. Actually, we should be just inspecting additions of mfo:FeedChannel elements (or selected property changes in these), so modifications on these don't trigger the extraction of all the feeds again. If we happen to update all feeds on GraphUpdates, we also do so when modifying FeedChannels 2015-07-15 Carlos Garnacho <carlosg@gnome.org> rss: Unset timeout source id This timeout is meant to run once, but leaves the timeout_id behind, which warns when we g_source_remove() it. rss: Fix double free The variant is not for us to free. rss: fix typo in ontology nco:fullname is all lowercase, this one caught me too... rss: Fix compile error has_author was not defined. It's been renamed to "author" too, the former name makes more sense for booleans. 2015-07-15 Igor Gnatenko <ignatenko@src.gnome.org> rss: author field should be nco:Contact, not string Reference: https://bugzilla.gnome.org/show_bug.cgi?id=752398 rss: add author field Reference: https://bugzilla.gnome.org/show_bug.cgi?id=752398 2015-07-14 Igor Gnatenko <ignatenko@src.gnome.org> bump libgrss to latest 0.6 There are no API break since 0.5, but 0.5 doesn't work well and doesn't shipped in distros Reference: https://bugzilla.gnome.org/show_bug.cgi?id=752371 2015-07-13 Carlos Garnacho <carlosg@gnome.org> Release 1.5.0 distcheck fixes tracker-extract: Remove ModulePath from comic/ebook rules These relied on the dummy extractor, removing the ModulePath is a similar silent shortcut since commit 06f7d4a1a. extract-gstreamer: Rely better on the GstDiscoverer than mimetype sniffing There's mimetypes that easily fool mimetype detection (eg. OGG videos with .ogg extension instead of .ogv will be detected as audio/ogg), the GstDiscoverer will however find out correctly whether there's audio and/or video information, so we should rely on it as a last resort, rather than (weaker) mimetype sniffing. This prevents .ogg suffixed videos from being played by gnome-music (oddly, with success, in a separate window). 2015-07-13 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2015-07-12 Carlos Garnacho <carlosg@gnome.org> libtracker-extract: Accept rules with no ModulePath This will enable us to make dummy rules for files that must have some RDF type(s), but don't have an extractor module. https://bugzilla.gnome.org/show_bug.cgi?id=735610 2015-07-12 Gilles Dartiguelongue <eva@gentoo.org> build: Fix AM_CONDITIONAL position HAVE_{GSTREAMER,LIBAV} definition https://bugzilla.gnome.org/show_bug.cgi?id=750368 2015-07-06 Carlos Garnacho <carlosg@gnome.org> tracker-extract-gstreamer: Fallback to preview image for album art Some files don't provide a cover image, but just a preview image, we can use that as albumart. This commit reuses code from a fallback which looks bogus nowadays, since it just does the same than the while loop above. If we reached there, it would fail again for sure. https://bugzilla.gnome.org/show_bug.cgi?id=732236 2015-07-06 Pedro Albuquerque <palbuquerque73@gmail.com> Updated Portuguese translation 2015-07-06 Philip Withnall <philip.withnall@collabora.co.uk> libtracker-miner: Keep a monitor on root index tree files on deletion If Tracker is running with some index-recursive-directories set (for example, ~/Music), and one of those directories is moved, then the file monitor watching for its existence is deleted. This means that if it is then moved back to the location listed in index-recursive-directories, its renewed existence is not detected, and its contents are not re-indexed. Fix this by keeping a monitor around on a directory if that directory is listed as an index tree root, even if the directory is deleted. https://bugzilla.gnome.org/show_bug.cgi?id=750394 2015-07-06 Ville Skyttä <ville.skytta@iki.fi> tracker-sparql.1: Man page syntax fix https://bugzilla.gnome.org/show_bug.cgi?id=751723 docs: Spelling fixes https://bugzilla.gnome.org/show_bug.cgi?id=751724 2015-07-05 Carlos Garnacho <carlosg@gnome.org> tracker-miner-fs: Reset retry counter when we need to prepend parents The situation where a parent directory has to be prepended in order to process the current file is rare, mainly reserved to IndexFile calls on files out of watched dirs. This is a corner situation, but it is a legit place where we have to put the file back again in the queue, and thus we shouldn't increase the retry counter. This nominally fixes the indexing of gnome-documents-getting-started.pdf on a fresh-out tracker DB, as requested by gnome-shell. https://bugzilla.gnome.org/show_bug.cgi?id=751992 tracker-preferences: Use the new command line tool We resort to the tracker CLI for restart/reindex, the calls have changed to use Posix.system() as there's some operations that are now mutually exclusive in the CLI tool (eg. reset and start daemons) and still need to be performed in a single step here. https://bugzilla.gnome.org/show_bug.cgi?id=748677 tracker-preferences: Remove needless prints These won't tell a lot, since we're killing the whole thing. 2015-07-05 Sam Thursfield <sam@afuera.me.uk> Fix tracker-encoding-test After commit ede17cc22b0c6245c030 this was failing to compile. 2015-07-05 Carlos Garnacho <carlosg@gnome.org> cli: Improve bash completion script We now autocomplete files where it applies (various -f/--file options, tracker info) and '-' prefixed switches. cli: Mark missing strings for translation The help strings in the sql subcommand weren't marked as translated extract-mp3: Bail out on encoding detection if confidence is too low Libicu encoding detection is able to tell the confidence it got on the detection, we should be using that in case the confidence is too low, as that means the returned encoding is probably bogus, and we have an encoding to fallback on. This fixes detection on the file reported on bug #735515, where a couple of 'ï' chars (valid ISO-8859-1) make libicu detect UTF-16BE, although with an extremely low confidence. https://bugzilla.gnome.org/show_bug.cgi?id=735515 libtracker-extract: initialize value ucsdet_open() expects an status set to 0, otherwise it will bail out early. With uninitialized memory we might or might not get that. 2015-07-05 Philip Withnall <philip.withnall@collabora.co.uk> vala: Ensure all .vapi files contain GIR namespace CCode attributes Ensure all .vapi files exported by Tracker contain gir_namespace and gir_version CCode attributes, otherwise Vala code compiled against them will hit this warning: tracker-sparql-1.0.vapi:4.2-4.17: warning: Namespace Sparql does not have a GIR namespace and version annotation namespace Sparql { https://bugzilla.gnome.org/show_bug.cgi?id=751051 2015-07-04 Marcus Meissner <meissner@suse.de> configure: Save LDFLAGS There's places where CFLAGS is modified/restored while LDFLAGS is left untouched, both should be saved/restored at the same time. https://bugzilla.gnome.org/show_bug.cgi?id=742186 2015-07-04 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Trigger rebuild of FTS tokens on parser changes Whenever there's a change in the implementation of our tokenizers, we'll trigger a rebuild of the FTS table. This allows for live updates to our tokenizers without the need to redo the database from scratch. The FTS rebuild is also triggered on locale changes. libtracker-data: Add functions to maintain a "parser sha1" stamp file We'll keep a ~/.cache/tracker/parser-sha1.txt file, containing the sha1 of the last commit that affected libtracker-common/tracker-parser*, which Tracker will compare against its compiled-in one. This will help trigger automatic FTS token rebuild on parser changes. libtracker-data: Add TrackerDBInterfaceSqlite method to rebuild FTS tokens Not a lot going on here, we just punch the hole so it can be used on tracker-data-manager.c tracker-fts: Add method to rebuild the FTS tokens This may be useful on locale changes or tokenizer updates, as our FTS table uses external content (the fts_view view we create for that purpose), All text content is external to it, so we can safely rebuild all tokens from scratch. libtracker-common: generate sha1 for the current parser incarnation This is created out of the last git commit sha1 from the relevant parser files. It may be used in order to rebuild the FTS table tokens after we perform changes in the tokenizers themselves. docs: Ensure ontology properties can be looked up through devhelp The devhelp index generation relies on specific roles set in the docbook XML, we were setting none for ontology properties though. 2015-07-04 Philip Withnall <philip.withnall@collabora.co.uk> tracker-miner-fs: Fix a completion check when removing the final task Depending on how mining goes, this path might be the last one taken before the miner is ready to go idle again. However, the check on the task pool size is guaranteed to be false because the task which item_add_or_update_continue() was called on has not yet been removed from the pool — that’s done directly below. Fix that by removing the task from the task pool before checking whether the pool is empty. This fixes stalls in tracker-miner-fs where `tracker-control -S` would show the following for ever (when running with index-recursive-directories set to a non-empty list): 1% File System - Crawl finished for directory 'blah' Previously, the only way to fix this was to pause and then resume the miner. https://bugzilla.gnome.org/show_bug.cgi?id=751172 tracker-thumbnailer: Output debug information about supported MIME types https://bugzilla.gnome.org/show_bug.cgi?id=751654 build: Add missing files to .gitignore files https://bugzilla.gnome.org/show_bug.cgi?id=751052 2015-07-04 Iain Lane <iain@orangesquash.org.uk> functions-tracker: Fix collate order Somewhere between sqlite 3.8.7 and 3.8.10.2, sqlite seemed to fix a bug on ORDER BY SOMESTRINGFUNCTION() clauses, where it would invariably apply the BINARY collator, despite tracker specifying its own one. This is something that 2 libtracker-data tests were indirectly testing, where queries are sorted by tracker:coalesce(), these now happen to fail because the stored results inadvertently had the wrong order. https://bugzilla.gnome.org/show_bug.cgi?id=749262 2015-07-03 Carlos Garnacho <carlosg@gnome.org> extract-mp3: Stop processing after finding padding ID3v2[0-4] Allows the possibility of some padding at the end of an ID3 block, defined to be filled with 0x00, just in case later tag additions don't cause a full rewrite of the file. This means there's nothing for us when we hit this. ID3v2.4 also defines the existence of "ID3 footers", those always start as "3ID", and should be skipped for our purposes, as those are basically a mirror of the ID3 block. This most notably avoids a bunch of "Ignoring unknown frame ''" spew on -v 3 logs, as padding is fairly common. extract-mp3: Account for the tag header size in calculations In the parsing of id3v2[0-4] tags, we calculate offsets in base of the size we get in the header, which according to id3 specs, doesn't include the 10 bytes of the header itself. This means there's a disparity of 10 bytes between our 0-based offsets, and our 10-based fetched size, we must account for this when iterating through frames. Also, we were possibly (and mistakenly) iterating till the end of the file (comparing against size instead of tsize(+header) in the while loops), we only have to parse one id3 block at a time. If the former bug could conceivable make us miss the last frame, this one would overcompensate for it. Less importantly, this fixes the incorrect "position + content size > tag size, not processing any more frames" debug spew I was seeing on many mp3s with -v 3. extract-mp3: Return false if we find no frame headers This means we're probably not dealing with an mp3 file, even if we thought so. This makes it possible to bail out into more generic modules (eg. gstreamer) that might catch what the file is for real. https://bugzilla.gnome.org/show_bug.cgi?id=733136 tracker-extract: Check the return value from TrackerExtractMetadataFunc Extract modules might fail mid-processing, when the TrackerSparqlBuilder has been partially written, we should bail out and move on to the next extract module, as we can't guarantee its validity. 2015-07-01 Carlos Garnacho <carlosg@gnome.org> Merge branch 'decorator-memory-reduction' tracker-miner-fs: Delete nie:dataSources on update Decorators should be updating again all relevant information, so ensure their nie:dataSource is deleted for these to kick in again. This used to be unnecessary because updated items just went to the internal decorator queue, without further checks. Now that the decorators query the database for the next items missing that dataSource, it is crucial to do this somewhere. tracker-extract: tell what the error really means The current one is not really intuitive. libtracker-miner: Reduce TrackerDecorator file cache size Instead of keeping all items in memory, a small cache is kept of upcoming files to be processed, querying the database again for files missing the nie:dataSource when the cache has been flushed. When no further items are processed, the miner is stopped. Whenever the prioritized rdf:types list changes, the cache is dropped, just to query again with the new order kept into account. This reduces the potential memory usage of tracker-extract, it would previously would grow linearly with the number of files left to be inspected, which might bring in some memory pressure on certain scenarios. On the downside, this obviously makes the decorator a little bit slower, due to more queries happening (as opposed to a huge one), and at times the decorator is idle waiting to know what else to do. tracker-extract: Keep ref on recovery files The hashtable expects its own ref here, otherwise we get critical warnings after processing that item. docs: delete xml folder before regenerating ontology docs Otherwise it simply fails if there happens to be stale data 2015-06-30 Carlos Garnacho <carlosg@gnome.org> distcheck fix update docs .gitignore docs: Delete dia diagrams, and pre-generated PNGs Those weren't that much clear nor useful, those are deleted in a separate commit in case we want to rescue and rework them someday. docs: Delete ontology graph tool This is now unused, so remove the tool, and the configure.ac check for fdp. docs: Rework ontology docs generation entirely Ontology docs weren't in a much good shape, besides many ontologies being seriously underdocumented (something which should improve separately), the generated docs were little more than a data dump, and the diagrams shown were broken, confusing, or both. This all amounts to quite counter-productive developer docs. So the ontology docs have been refurbished, the per-ontology descriptions are still useful, but have been stripped of all images, and the docs overall are now completely class-centric, per rdfs:Resource subclass we now get: - Ascii diagram of its local hierarchy, up to all its ancestors and down to all its direct children. - All properties that affect the specific class. This is notably more intuitive now as there's properties defined on one ontology that are in the domain of classes in another ontology, something which you couldn't get at a glance in the previous docs - It clearly states which properties supersede which superproperties, which again makes it easier if those apply for the class at hand. The result feels quite neater, and will indeed be more resembling to other gtk-doc generated API docs. 2015-06-30 Pedro Albuquerque <palbuquerque73@gmail.com> Updated Portuguese translation 2015-06-23 Balázs Úr <urbalazs@gmail.com> Updated Hungarian translation 2015-06-20 Ralph Boehme <slow@samba.org> configure: fix conditional AM_CONDITIONAL 2015-06-16 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2015-05-31 Iain Lane <iain@orangesquash.org.uk> libtracker-miner: Set inotify limits for 'GInotifyFileBackend' too As of GLib 2.45.1, the inotify monitor backend is called this. 2015-05-31 Philip Withnall <philip.withnall@collabora.co.uk> libtracker-common: Don’t fail statvfs() on a missing directory If $XDG_CACHE_HOME/tracker doesn’t exist on startup, the statvfs() call to determine how much space is left will fail with ENOENT. However, the code currently interprets this as being out of space, and will cause the rest of Tracker to shut down, even if there is actually plenty of space left on the disk. Avoid this by traversing up the directory hierarchy until statvfs() does not fail with ENOENT. https://bugzilla.gnome.org/show_bug.cgi?id=748907 2015-05-28 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2015-05-26 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2015-05-23 Michael Biebl <biebl@debian.org> Move bash-completion to new location Rename the bash completion script after the binary and move it to /usr/share/bash-completion/completions. This way the completions can be loaded on demand. 2015-05-21 Dušan Kazik <prescott66@gmail.com> Updated Slovak translation 2015-05-20 Christian Kirbach <Christian.Kirbach@gmail.com> Updated German translation 2015-05-18 Jordi Mas <jmas@softcatala.org> Fixes to Catalan translation 2015-05-17 Martin Srebotnjak <miles@filmsi.net> Updated Slovenian translation 2015-05-09 Alexander Shopov <ash@kambanaria.org> Added Bulgarian translation 2015-04-26 Cheng-Chia Tseng <> Updated Chinese (Taiwan) translation 2015-04-25 Marek Černocký <marek@manet.cz> Updated Czech translation 2015-04-24 Philip Withnall <philip.withnall@collabora.co.uk> tracker-extract: Only extract media art if artist or title is known media_art_process_*() require at least one of the track’s artist and title to be specified, and will fail an assertion precondition if both are NULL. Other tracker-extract-*.c media backends already do this check, but it was missing from the GStreamer extractor. https://bugzilla.gnome.org/show_bug.cgi?id=748227 2015-04-09 Carlos Garnacho <carlosg@gnome.org> tracker-extract-epub: Ensure we only have one nie:identifier This property has maxCardinality=1, we are however possibly adding multiple values there, either in both UUID/ISBN forms, or as multiple UUIDs in faulty epubs. ISBN should probably be its own rdf:Property, in the mean time, stick to the first nie:identifier found, and ignore the rest. https://bugzilla.gnome.org/show_bug.cgi?id=746401 2015-04-02 Piotr Drąg <piotrdrag@gmail.com> Slightly improve new strings Updated POTFILES.in 2015-04-01 Kunaal <kunaalus@gmail.com> tracker-needle: use gsettings Added gsettings for tracker-needle. Store the last view selected by user in tracker-needle before closing. https://bugzilla.gnome.org/show_bug.cgi?id=740302 2015-04-01 Martyn Russell <martyn@lanedo.com> tracker: Fixed execution bit of tracker-compat, which is broken by sed https://bugzilla.gnome.org/show_bug.cgi?id=746939 2015-03-28 Antoine Jacoutot <ajacoutot@gnome.org> openbsd: implement tracker_process_get_uid_for_pid() https://bugzilla.gnome.org/show_bug.cgi?id=697719 2015-03-24 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2015-03-24 Milo Casagrande <milo@ubuntu.com> Updated Italian translation 2015-03-24 Marek Černocký <marek@manet.cz> Updated Czech translation 2015-03-24 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2015-03-24 Enrico Nicoletto <liverig@gmail.com> Updated Brazilian Portuguese translation 2015-03-23 Kunaal <kunaalus@gmail.com> tracker-extract: Fix for find_member function find_member can't find functions if searching for "./something". This fix skips the "." directory while searching. https://bugzilla.gnome.org/show_bug.cgi?id=746437 https://bugzilla.gnome.org/show_bug.cgi?id=730085 tracker-needle: Fix for ambigous references Glib now has a new class Glib.ListStore, which creates a conflict in Vala. https://bugzilla.gnome.org/show_bug.cgi?id=746194 tracker-needle: ambigious references Glib now has a new class Glib.ListStore, which creates a conflict in Vala. https://bugzilla.gnome.org/show_bug.cgi?id=746194 2015-03-23 Adrien Dorsaz <adrien@adorsaz.ch> tracker-needle: fix query model assertion Match.TAGS_ONLY isn't indirect so this assertion should pass (the indirect way is Match.TAGS_ONLY_INDIRECT). tracker-needle: add logic to find by tags only tracker-needle: Add a button to search by tags 2015-03-22 Andika Triwidada <andika@gmail.com> Updated Indonesian translation 2015-03-22 Muhammet Kara <muhammetk@gmail.com> Updated Turkish translation 2015-03-21 Ting-Wei Lan <lantw@src.gnome.org> Fix "void function should not return a value" https://bugzilla.gnome.org/show_bug.cgi?id=746381 2015-03-20 Josef Andersson <josef.andersson@gmail.com> Updated Swedish translation 2015-03-20 Milo Casagrande <milo@ubuntu.com> Updated Italian translation 2015-03-17 Carlos Garnacho <carlosg@gnome.org> Release 1.3.6 Distcheck fixes tracker-extract-gstreamer,msoffice: Improve warning message If we give the uri there, it's possible to know the file that issued the warning without verbosity>1 logs. https://bugzilla.gnome.org/show_bug.cgi?id=746256 tracker-extract: Do not pass lesser errors as processing errors The errors sent back to the decorator are meant to be sort of critical/ disrupting, things that fall upon the normal mode of operation that tracker-extract should be prepared for (eg. files we don't have extractors for) shouldn't be issued as criticals. tracker-extract-gstreamer: Lower message severity A missing plugin can hardly be warning worthy, we can't warn on user choices. tracker-extract: Use own error domain/codes It doesn't make much sense to reuse TRACKER_DBUS_ERROR for these purposes. libtracker-miner: Invalidate the IRI of just inserted elements This allows us to be smarter about when to look up the IRI on the database. If a file is created and being slowly written to (eg. downloads), ::file-created will be emitted for the file eventually, but the updates will keep the file instance alive on the TrackerFileSystem. In this case we attempted to be smart and avoid querying needlessly the database for the IRI, which resulted on a mistakenly NULL IRI, and on an attempt to "create" the item again, even though it existed. This resulted in "UNIQUE constraint" errors. One thing we can do is "invalidating" the IRI, so the next time we call tracker_file_notifier_get_file_iri() on it, a query is forced only in these situations, this will make later updates happy with the right IRI. If the updates are too slow, and the file happens to be flushed out of the TrackerFileSystem (all non-directory files do), the next update would trigger again its insertion, and the IRI would be queried again, so we're safe in that regard. https://bugzilla.redhat.com/show_bug.cgi?id=1192224 file-notifier: Exclude pending dirs from the contents sparql query Directories added to the pending queue (ie. at the edge of max-depth) may also be signaled as "updated" and added to the updated files array. As these directories will be crawled/queried independently later on, it doesn't make sense to include these in the current query for directory contents. This fixes spurious reindexes seen across tracker-miner-fs restarts, an(y) updated folder would be added on both queue/array, the sparql query for directory contents would include that folder that hasn't been crawled yet (hence being in the pending queue) and incorrectly signal all its contents as deleted. The folder would be just reindexed again from scratch on the next restart. https://bugzilla.gnome.org/show_bug.cgi?id=741852 2015-03-15 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2015-03-15 Ask Hjorth Larsen <asklarsen@gmail.com> Updated Danish translation 2015-03-15 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2015-03-15 Мирослав Николић <miroslavnikolic@rocketmail.com> Updated Serbian translation 2015-03-13 Samir Ribic <samir.ribic@etf.unsa.ba> Added Bosnian translation 2015-03-12 Carlos Garnacho <carlosg@gnome.org> libtracker-data: Support fn:replace() In a limited form, no regex support. https://bugzilla.gnome.org/show_bug.cgi?id=745917 2015-03-12 Giovanni Campagna <scampa.giovanni@gmail.com> tracker-store: clear the watchdog timer when it fires Otherwise glib complain that we remove an invalid source. https://bugzilla.gnome.org/show_bug.cgi?id=745565 2015-03-07 Seong-ho Cho <shcho@gnome.org> Updated Korean translation 2015-03-06 Carlos Garnacho <carlosg@gnome.org> configure: pack in .xz Release 1.3.5 distcheck fixes tracker-data-manager: Re-creating tables don't add any property column If, during database update, the migration code chose to create a table from scratch, dumping data from the original one (eg. removing columns for properties that now have maxCardinality>1 and move to their own table), the destination table would be missing virtually all fields. When this happens, in_update differs from in_alter (the former tells whether we're creating the DB from scratch, the latter whether we're altering the original table). As we're actually creating the table from scratch, we must behave as such when dealing with the affected properties. https://bugzilla.gnome.org/show_bug.cgi?id=745737 2015-03-05 David King <amigadave@amigadave.com> tracker-iptc-test: Only build if libjpeg enabled https://bugzilla.gnome.org/show_bug.cgi?id=745583 tracker-compat: put absolute path in shell script https://bugzilla.gnome.org/show_bug.cgi?id=743738 2015-03-05 Stas Solovey <whats_up@tut.by> Updated Russian translation 2015-03-04 Alain Lojewski <allomervan@gmail.com> Updated French translation 2015-03-03 Carlos Garnacho <carlosg@gnome.org> Release 1.3.4 2015-03-02 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2015-02-28 Dušan Kazik <prescott66@gmail.com> Updated Slovak translation 2015-02-27 Andres Gomez <andres.gomez@jolla.com> tracker-extract: mp3 passes album instead of song title to libmediaart As explained at https://wiki.gnome.org/MediaArtStorageSpec and implemented in other extractors, the strings to pass in order to generate the album art are the artist and the album title. https://bugzilla.gnome.org/show_bug.cgi?id=745219 2015-02-24 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Add nmm:Playlist to the list of handled classes This class has tracker:notify true, but tracker-extract happened to ignore it... data-manager: Account for cardinality=0 on DB migration If a property changes from maxCardinality 1 to many, the database format is updated to cope with that, but at the time of migrating data, it doesn't account for resources having no elements. In order to avoid constraint errors, those must be skipped. https://bugzilla.gnome.org/show_bug.cgi?id=743727 2015-02-21 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw> Updated Chinese (Taiwan) translation 2015-02-15 Dušan Kazik <prescott66@gmail.com> Updated Slovak translation 2015-02-14 Kristjan SCHMIDT <kristjan.schmidt@googlemail.com> Updated Esperanto translation 2015-02-12 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation. 2015-02-09 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2015-02-07 Inaki Larranaga Murgoitio <dooteo@zundan.com> Updated Basque language 2015-02-05 Martyn Russell <martyn@lanedo.com> Release 1.3.3 Merge tag 'fix-discno' of git://git.meterriblecrew.net/spacefrogg/tracker Fixed parsing disc number in vorbis comments. This fixes: https://bugzilla.gnome.org/show_bug.cgi?id=681698 * tag 'fix-discno' of git://git.meterriblecrew.net/spacefrogg/tracker: Fixed parsing disc number in Vorbis comments. 2015-02-05 Mingxiang Lin <paralmx@163.com> tracker-extract: Add width and height information to BMP extractor https://bugzilla.gnome.org/show_bug.cgi?id=741109 2015-01-29 Michael Raitza <spacefrogg@spacefrogg.net> Fixed parsing disc number in Vorbis comments. De facto standard for storing the disc number is the comment tag `DISCNUMBER' and not `DISCNO'. Tag `DISCNO' still takes priority to not break the current behaviour. Fixed for both, Vorbis comments in vorbis and FLAC files. Fixing: https://bugzilla.gnome.org/show_bug.cgi?id=681698 2015-01-26 Yanko Kaneti <yaneti@declera.com> Mechanically adjust for libmediaart-2.0 https://bugzilla.gnome.org/show_bug.cgi?id=743250 2015-01-17 Dimitris Spingos <dmtrs32@gmail.com> Updated Greek translation 2015-01-13 Debarshi Ray <debarshir@gnome.org> libtracker-miner: Restrict the amount of data that is logged for errors SPARQL update strings can be very long if the entire text of a document is being stored. Dumping these huge strings to the log eats up disk space and makes them harder to follow. However, often, the occurence of such an error indicates a broken extractor. In those cases, knowing part of the SPARQL can help in identifying the file that triggered the error. Usually the "nie:plainTextContent" property is the last one in the string, so we truncate the error messages at the first occurance of this property to achieve the best of both worlds. https://bugzilla.gnome.org/show_bug.cgi?id=735406 2015-01-12 Fran Dieguez <fran.dieguez@mabishu.com> Updated Galician translations 2015-01-08 Inaki Larranaga Murgoitio <dooteo@zundan.com> Updated Basque language 2015-01-05 Debarshi Ray <debarshir@gnome.org> miners: Detect locale changes only when the miner could be constructed https://bugzilla.gnome.org/show_bug.cgi?id=742391 2014-12-31 Sam Thursfield <ssssam@gmail.com> miner-fs: Give clearer warning when XDG user dirs are unconfigured If Tracker can't resolve special dirs like &DOCUMENTS to real path names, it now gives a warning like this: (tracker-miner-fs:7207): Tracker-WARNING **: Unable to get XDG user directory path for special directory &DOCUMENTS. Ignoring this location. Previously (since commit 5f06c134f4f6da02027c813322e13c220b51cd0a) the user would see this rather more scary output: (tracker-miner-fs:6046): GLib-GIO-CRITICAL **: g_file_new_for_path: assertion 'path != NULL' failed (tracker-miner-fs:6046): GLib-GIO-CRITICAL **: g_file_equal: assertion 'G_IS_FILE (file1)' failed (tracker-miner-fs:6046): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed This situation is rare (you need to manually change or break XDG_CONFIG_HOME to really see it) but it's always nice to avoid showing critical errors! sandbox: Fix to use new-style config files The config file format changed in commit 2b53cd5d3aaf046c413fd4afb188c16d7e611f48. sandbox: Change how content directory is specified Firstly, allow specifying multiple --content options, and allow specifying --content-non-recursive if you really want as well. Also, don't generate an XDG user directories config. It seems a bit weird to be doing this and setting each directory to the same location. 2014-12-29 Tim Lunn <tim@feathertop.org> libtracker-extract: fix logic in guarantee title from file https://bugzilla.gnome.org/show_bug.cgi?id=742035 libtracker-extract: fix crash when running unit tests media_art_process is not set when running tracker-extract-info tests https://bugzilla.gnome.org/show_bug.cgi?id=742035 2014-12-27 Martin Kampas <martin.kampas@tieto.com> Use g_unix_signal_add() for signal handlers Identified by functional-tests/17-ontology-changes timeouting randomly. Documentation for g_unix_signal_source_new() explains why it is not safe to call g_main_loop_quit() from a regular UNIX signal handler. Intentionally removed the (main_loop != NULL) tests - this cannot happen. https://bugzilla.gnome.org/show_bug.cgi?id=739234 2014-12-27 Brian Nitz <brian.nitz@oracle.com> tracker-needle: Missing accessible label names on tracker-needle widgets https://bugzilla.gnome.org/show_bug.cgi?id=663687 2014-12-27 Sam Thursfield <sam@afuera.me.uk> Merge branch 'sam/functional-test-60x-fixes' functional-tests: Fix and improve 601-applications-sync This test adds data that would normally be added by the FS miner. In order for the resource to be correctly deleted when the file is removed, it must set nie:isStoredAs correctly. functional-tests: Consolidate and clean up 600-applications-camera Merge branch 'sam/functional-test-50x-fixes' functional-tests: Remove another guarantee-metadata dependency 2014-12-26 Sam Thursfield <sam@afuera.me.uk> writeback: Improve error when writeback fails due to missing module functional-tests: Fix 'not a directory' error in writeback tests This makes the following error less likely, and clearer when it does occur: (tracker-miner-fs:28886): Tracker-WARNING **: Could not open directory 'file:///home/sam/tracker-tests/writeback': Not a directory Merge branch 'sam/functional-test-40x-fixes' functional-tests: Don't require 'guarantee-metadata' for some tests Tests shouldn't break just because --enable-guarantee-metadata is not specified at configure time. This feature is off by default so we shouldn't depend on it. See GB#733536. tracker-extract: More helpful error when missing GStreamer plugins If extraction with GstDiscoverer fails due to lack of a plugin, we can display exactly what plugin was missing rather than just giving a generic error. This makes it a bit easier to fix the problem. Merge branch 'sam/functional-test-30x-fixes' Fix max_depth parameter causing contents of a directory to be ignored Since commit 41e6ab84e7a540b20f8173c2bbaee11de6ef381f, the contents of directories listed in 'index-single-directories' is be ignored. The directory itself appears in the store but the contents do not. The intention of passing max_depth=1 if TRACKER_DIRECTORY_FLAG_RECURSE is false must be to prevent unnecessarily processing any subdirectory nodes that are hanging around in the TrackerFileSystem. However, the documentation of g_node_traverse says: "If depth is 1, only the root is visited. If depth is 2, the root and its children are visited. And so on." Thus, we must pass max_depth+1 to the tracker_file_system_traverse() function so that the files in the directory are processed as well as the directory itself. See also: 243c97fa96a2f6b19bce1acf26946d1a516a0a1c which introduced the 'max_depth' parameter as a way of reducing the number of GFile objects in memory at the same time during crawling. functional-tests: Isolate 3xx-miner tests from each other Rather than running all the tests in one environment, create a new environment for each test. Although it's slower this way, it's just too hard to debug test failures when the tests can interfere with each other. I also made them all use the same 'minertest' base class. functional-tests: Improve stopping of child processes Instead of using `tracker daemon --kill=miners` to stop the miners, use the Python 'subprocess' module. This ensures only the correct miner process gets killed if more than one is running. (I also found that `tracker daemon --kill-miners` was hanging my system, which was the real motivation for fixing this, but I have no idea why that happened). If a process fails to terminate after we sent it TERM, it now gets sent KILL. Previously the test would wait forever. functional-tests: Many fixes to 3xx-miner tests All 3xx tests should now pass except 2 of the 310-fts-indexing tests. functional-tests: Add await_property_changed() method This allows detecting when a file move has been done, and probably other useful things too. 2014-12-24 Christian Kirbach <Christian.Kirbach@gmail.com> Updated German translation 2014-12-22 Philip Withnall <philip.withnall@collabora.co.uk> libtracker-sparql: Document requirement to escape constructed queries Bring SQL injection to the front of people’s minds when using the APIs so that hopefully they don’t write injectable code. https://bugzilla.gnome.org/show_bug.cgi?id=741777 2014-12-22 Sam Thursfield <sam@afuera.me.uk> functional-tests: Fix bad calls to `tracker daemon` command 2014-12-22 Philip Van Hoof <philip@codeminded.be> Use crawler's max_depth param of start in file_system_traverse 2014-12-20 Martin Kampas <martin.kampas@tieto.com> miner-fs: Remove unused argument is_new https://bugzilla.gnome.org/show_bug.cgi?id=678986 miner-fs: Fix tracking file move Identified by MinerCrawlTest::test_07_move_from_monitored_to_monitored (300-miner-basic-ops.py) In item_move() it fails to get source_iri, does not check it's validity and uses it in the DELETE expression of the SPARQL query constructed there. Broken since d836f00 (libtracker-miner: Store iri transiently as GFile qdata) - tracker_file_notifier_get_file_iri() is added 'force' argument and (wrapped with lookup_file_urn) passed force=FALSE from item_move(). This call then fails for regular files because only directories are cached once crawling has completed as stated in the comment in finish_current_directory() in libtracker-miner/tracker-file-notifier.c. https://bugzilla.gnome.org/show_bug.cgi?id=678986 2014-12-20 Balázs Úr <urbalazs@gmail.com> Updated Hungarian translation 2014-12-18 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2014-12-15 Martyn Russell <martyn@lanedo.com> libtracker-miner: Finished documenting public APIs Only 2 left, mainly because they're a NOP or don't work currently and need fixing. tracker-miner-fs: On error, return correct defaults for config This covers tracker_config_get_crawling_interval() and _get_removable_days_threshold() which were returning just 0. libtracker-miner: Improve documentation for tracker_miner_fs_{s|g}et_throttle() libtracker-miner: Renamed internal define TRACKER_MAX_TIMEOUT_INTERVAL Use _CRAWLER_ in there so we know where it comes from. 2014-12-15 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-12-15 Rafael Ferreira <rafael.f.f1@gmail.com> Updated Brazilian Portuguese translation 2014-12-12 Martyn Russell <martyn@lanedo.com> build: Make life easier with autogen by adding args if none are provided This patch does 3 things: 1. Fix the --with-enca (which should have been --enable-enca and was failing) 2. If JHBUILD_PREFIX is set, use that when no args are given 3. If no args are given, use the make distcheck default args in place This will ensure documentation and unit tests are build most of the time and things don't break so often :) 2014-12-11 Martyn Russell <martyn@lanedo.com> libtracker-miner: Document missing APIs tracker-store: Fixed deprecated ThreadPool API use for ThreadPool.with_owned_data tracker-store: Fix unnecessary compiler warnings Release 1.3.2 tracker: Improve general help about commands that can be used 2014-12-10 Cosimo Cecchi <cosimo@endlessm.com> miner-fs: use GFile to check for homedir Instead of a simple path comparison. This will work with relative paths, double slashes and similar scenarios, since the path will be fully-canonicalized by GIO before comparison. The price to pay is recursively indexing the home directory, so we'd better be extra careful... https://bugzilla.gnome.org/show_bug.cgi?id=741317 2014-12-10 Martyn Russell <martyn@lanedo.com> tracker: Fixed uninstall-hook for distcheck for old binaries (symlinks) Old symlinks were being left in the install dir tracker: Add tracker-compat script to EXTRA_DIST so it can be installed Fixes distcheck libtracker-sparql: Add tracker-gb-737023-test to .gitignore and to test cases to run miners: Don't break distcheck by removing $(DESTDIR) in Makefile.am po: Fixed missing tracker-compat.c in distcheck miners: LN_S was getting target/name mixed up for miner service files tracker: Make sure old commands still work with the new system tracker: Allow -r and -c to be used with 'tracker reset' together tracker: Fixed POTFILES.in for distcheck tracker: Added bash completion tracker: Merged utils/tracker-sql/tracker-sql into 'tracker sql ...' tracker: Added 'help' command handler which loads man pages tracker: Added header for shell colours used tracker: Move all DBus work into its own private module tracker: Merged all external commands into 'tracker' gvdb: Don't use TRACKER_UTILS_{CFLAGS|LIBS} Now these no longer exist, we can't use them and we shouldn't have been anyway. This updates the test to not use GIO APIs anyway, it was only needed to remove a file and it's not needed by the GVDB library so we don't want to add the dep just to fix a unit test. Instead, we now use the unistd unlink() API. tracker: Merge tracker-control into a 'tracker' command all: Depend on GLib 2.40 and use g_info() instead of tracker_info() This API came in during GLib 2.40. The tracker_info() is used now for the 'tracker' command's info command and it make sense to remove the old make-shift tracker_info() API which was for logging and duplicating g_info() anyway. 2014-12-10 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2014-12-10 Martyn Russell <martyn@lanedo.com> tracker-extract: Don't crash if g_file_make_symbolic_link() fails with no GError We assume error is set, but in some cases it is not. Check before using it. https://bugzilla.gnome.org/show_bug.cgi?id=741141 https://bugzilla.redhat.com/show_bug.cgi?id=1133042 2014-12-07 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Invert initialization order tracker_extract_persistence_invalidate() may already be using indirectly the priv->persistence hashtable, ensure it's set up before this is called. tracker-extract: Fix possible invalid memory read/write If length is 0, out of bounds data would be read, and then written. tracker-fts: Make the property list per-thread data This is global memory, and shared across threads, which doesn't play well when (un)initializing it, as multiple simultaneous accesses can occur. libtracker-extract: plug leak 2014-12-07 Sam Thursfield <ssssam@gmail.com> utils/clean-tracker-prefix: Look in 'lib64' as well as 'lib' for libraries 2014-12-03 Martyn Russell <martyn@lanedo.com> Release 1.3.1 libtracker-extract: Fix unit tests and return value for guarantee API - Return FALSE when we don't add to the TrackerSparqlBuilder, TRUE otherwise - Skip any unit tests when --enable-guarantee-metadata is not configured 2014-12-03 Debarshi Ray <debarshir@gnome.org> Revert "Always guarantee metadata, remove --enable-guarantee-metadata option" This reverts commit 898ac3ca17afa5d9fb382656e7e4ba4ff4b6ef39. Conflicts: tests/libtracker-extract/tracker-guarantee-test.c https://bugzilla.gnome.org/show_bug.cgi?id=733536 2014-12-03 Martyn Russell <martyn@lanedo.com> libtracker-common: Move and fix tracker-parser unit tests from libtracker-fts 2014-12-02 Colin Walters <walters@verbum.org> extract: Delete all of the "all:" build overrides See https://bugzilla.gnome.org/show_bug.cgi?id=739260 https://bugzilla.gnome.org/show_bug.cgi?id=741012 2014-12-02 Martyn Russell <martyn@lanedo.com> tracker-preferences: Make data reset clearer to users https://bugzilla.gnome.org/show_bug.cgi?id=740268 2014-12-02 David King <amigadave@amigadave.com> build: Fix symlink target for D-Bus service files Do not link to a target in DESTDIR, but instead link to a path in the install root. https://bugzilla.gnome.org/show_bug.cgi?id=740864 2014-12-01 Philip Van Hoof <philip@codeminded.be> Fix unit test after refactor of tracker-parser to libtracker-common Refactor tracker-parser to be located in libtracker-common This also fixes the unaccenting SPARQL function in case of --disable-tracker-fts 2014-11-30 Philip Van Hoof <philip@codeminded.be> Make --disable-tracker-fts compile again Fix compilation error in case of --disable-tracker-fts 2014-11-30 Balázs Úr <urbalazs@gmail.com> Updated Hungarian translation 2014-11-26 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-11-19 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation. 2014-11-17 Duarte Loreto <happyguy_pt@hotmail.com> Updated Portuguese translation 2014-11-12 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2014-11-06 Martyn Russell <martyn@lanedo.com> Release 1.3.0 2014-11-03 Timo Jyrinki <timo@debian.org> Change Finnish translation team web page to l10n.gnome.org 2014-10-29 Marcus Karlsson <mk@acc.umu.se> build: Fix build failure from missing tracker-ontologies.h Building tracker fails due to tracker-ontologies.h being missing. The header file was moved in commit a4d60c19 from libtracker-common to libtracker-sparql. Include the file from the correct location. A number of defines from tracker-ontologies.h were also renamed in a4d60c19. Update them where necessary. https://bugzilla.gnome.org/show_bug.cgi?id=739347 2014-10-28 Martyn Russell <martyn@lanedo.com> build: Require GLib 2.40, needed for g_str_match_string() Used in tracker-stats. https://bugzilla.gnome.org/show_bug.cgi?id=739149 libtracker-data: Don't fail to build with "all" target override The "all" target was used because the MAN page generation was not working previously, but it seems it does. So this line has been removed! https://bugzilla.gnome.org/show_bug.cgi?id=739260 2014-10-27 Martyn Russell <martyn@lanedo.com> Merge branch 'libtracker-common-cleanup' libtracker-common: Moved TrackerStorage to tracker-miner-fs, not needed by others tracker-extract: Avoid the use of setrlimit() it's causing problems Part of the solution is this commit, see: https://bugzilla.gnome.org/show_bug.cgi?id=737663 The other part is to use cgroups libtracker-common: There is no longer an os-depedent module/API This means: - all tracker_spawn*() API is removed, now using g_spawn*() - the mplayer extractor has been removed (no one uses it anyway) - the setrlimits() API has also been removed (only tracker-extract uses it) - many includes have been cleaned up (this is a really old header) - strnlen() definitions (for OS' without this API) are defined locally (only 2 cases). libtracker-common: Moved tracker-ontologies.h into libtracker-sparql The Namespace has been cleaned up too, all APIs now start with: TRACKER_PREFIX_ or TRACKER_DATASOURCE_ The well known definition for the TrackerMinerFS graph has also been changed to: TRACKER_OWN_GRAPH_URN because it now applies to more than just the TrackerMinerFS, we're using it in: tracker-writeback tracker-miner-apps tracker-miner-user-guides ... libtracker-data It should probably be internal actually. libtracker-common: Removed tracker-miner-locale, only apps/userguides need it We actually do this directly in the miners ourselves now instead, the code is quite small and it is cleaner too now. We store a file per miner in case one isn't run for a period of time between locale updates. libtracker-common: Removed all locale runtime update management General consensus was that we should remove this now, it's not useful and GNOME at least expects a log out when changing the locale. libtracker-common: Removed all tracker_file_*lock*() APIs Completely unused all: Migrate to GKeyfileSettingsBackend and generate man pages from schemas Now we've removed the internal key file object, we've had to put in place another method for supporting the existing TRACKER_USE_CONFIG_FILES environment variable. Thanks to the GKeyfileSettingsBackend provided by GLib, we can fallback to old school INI type config files for embedded solutions or cases where we don't want dconf as a backend. This works rather well. IT should be noted, the INI files are *NOT* written out in full if they do not exist, only options which are saved or different to the default settings are. This is how it should be too. Now we build man pages based on GSettings schemas using xsltproc with the template in docs/manpages/gsettings.xsl. This is a useful aid when trying to understand what config files can have in them. One thing it does highlight, is the config documentation could be better :) libtracker-common: Remove TrackerConfigFile, TrackerKeyfileObject Migrated the KeyFile work in most apps to GSettings libtracker-common: Removed all unused type utils functions Includes: gchar * tracker_glong_to_string (glong i); gchar * tracker_gint_to_string (gint i); gchar * tracker_guint_to_string (guint i); gchar * tracker_gint32_to_string (gint32 i); gchar * tracker_guint32_to_string (guint32 i); gboolean tracker_string_to_uint (const gchar *s, guint *ret); gchar * tracker_string_list_to_string (gchar **strv, gsize length, gchar sep); GList * tracker_glist_copy_with_string_data (GList *list); gchar * tracker_string_boolean_to_string_gint (const gchar *value); libtracker-data: Moved internal API tracker_crc32() here from libtracker-common It's only used in libtracker-data and libtracker-common isn't a public library 2014-10-27 Philip Van Hoof <philip@codeminded.be> Take ownership of the GFile in the GPtrArray 2014-10-23 Gábor Kelemen <kelemeng@openscope.org> Updated Hungarian translation 2014-10-21 Martyn Russell <martyn@lanedo.com> Fix distcheck issues 2014-10-20 Martyn Russell <martyn@lanedo.com> Merge branch 'data-in-binary-dirs' 2014-10-14 Debarshi Ray <debarshir@gnome.org> libtracker-miner: Ensure that the async function uses owned data https://bugzilla.gnome.org/show_bug.cgi?id=737768 libtracker-data: Guard against failure to create a FTS update statement https://bugzilla.gnome.org/show_bug.cgi?id=738522 2014-10-14 Sam Thursfield <sam@afuera.me.uk> Merge branch 'sam/functional-test-fixes' tracker-writeback: Remove broken code to set file attributes Remove some code which tries to set attributes of a file which no longer exists. This code was added in the following commit: commit 16fe51de1e93016a122ab089b0e0201c18de7ebc Author: Philip Van Hoof <philip@codeminded.be> Date: Wed Nov 9 12:56:59 2011 +0100 tracker-writeback: Preserve file permissions Fixes NB#289953. Seems that the intent was to preserve the permission bits of the file after tracker-writeback rewrites it. The code already takes care of this at the time the temporary file is created. functional-tests: Clean up writebacktest base class functional-tests: Clean up minertest base class functional-tests: Remove IgnoreNextUpdate wrapper, nobody should be using this functional-tests: Remove all remaining 'wait for miner to be idle' calls We are running against a clean data directory when run by 'test-runner.sh', so the miner should not have any initial crawling work to do. Therefore the tests don't need to wait for it to be idle before starting. Test cases should use the await_resource_inserted() and await_resource_deleted() methods as these are (in theory) reliable. Waiting for the miner to go idle and hoping this means that the desired file was crawled and extracted is not reliable at all. This should hopefully make the tests robust enough to be run continuously without random failures occuring. The tracker_miner_fs_wait_for_idle() functions are gone forever! functional-tests: Allow waiting on a specific property, and fix tests that need this Resources are created when the miner process sees them, but often we want to wait until they have been processed by the extractor, too. We can achieve that by waiting for the insertion of a specific triple that we know is set by tracker-extract. This required adding a new parameter to the await_resource_inserted() function. The 310-fts-indexing and the base writeback test have been fixed to make use of this, instead of using tracker_miner_fs_wait_for_idle(). functional-tests: Await resource addition / removal properly in 300, 310, 600 The tracker_miner_fs_wait_for_idle() function is not a good way to detect when something has changed. We should always be listening to GraphUpdated instead. Thanks to Martin Kampas who did some of this already in commit 853eb94d78aa269b3b1024c138387ead0c601080. functional-tests: Improve the wait-for-change code in helpers.StoreHelper Fixes a bug in await_resource_deleted() where it would stop waiting as soon as any resource was deleted, even if it wasn't the correct one. New get_resource_id() function which is useful when calling await_resource_deleted(). Code is hopefully clearer too. functional-tests: Partially fix writeback tests Use the new way of getting tracker-extract output, as the old way does not work. Wait for writeback to be done by waiting for the file's mtime to change, instead of using time.sleep(). The writeback tests still fail at this point. 2014-10-13 Debarshi Ray <debarshir@gnome.org> libtracker-data: Be more explicit in the error message Add the sqlite3_errstr() to the error that is propagated from sqlite3_open_v2 so that we have a clearer picture of the failure. https://bugzilla.gnome.org/show_bug.cgi?id=738450 libtracker-data: Guard against invalid statements in public API https://bugzilla.gnome.org/show_bug.cgi?id=738450 libtracker-data: Guard against failure to open the database An error from sqlite3_open_v2 will lead to a failure to create a TrackerDBInterface. This means that DBManager.get_db_interface will fail. https://bugzilla.gnome.org/show_bug.cgi?id=738450 2014-10-10 Milo Casagrande <milo@ubuntu.com> Updated Italian translation 2014-10-08 Martyn Russell <martyn@lanedo.com> libtracker-miner: _NO_STAT breaks in FileNotifier without a GFileInfo GFileInfo is ABSOLUTELY required in the Crawler, without it the TrackerFileNotifier will that top level roots have been deleted because the GFileInfo GQuark does not exist. This is seen easily by mounting a removable device, indexing, then removing, then re-inserting that same device. The check is done later in the TrackerFileNotifier by looking up the qdata that we set in both conditions below. libtracker-miner: Handle multiple nfo:belongsToContainer properties to 1 nie:url Previously we've expected this to be a 1:1 relationship, but it's not always the case with data containers 2014-10-06 Martyn Russell <martyn@lanedo.com> ontology: nfo:hasMediaStream does not have a max cardinality in specs It doesn't make sense to have one either, since media can have multiple media streams 2014-09-29 Philip Van Hoof <philip@codeminded.be> Support for nrl:maxCardinality changing from one to many 2014-09-27 Martyn Russell <martyn@lanedo.com> data: Make sure miner links don't fail with missing parent dir data: Updated POTFILES.in to include .service.in.in files data: Merge all miner .desktop files into existing DBus .service files So .service files store just the 'Name' and 'Exec' information for the DBus name and binary to instantiate. Now we keep the 'Path', '_DisplayName' and 'Comment' in here too. These all come from the data/miners/*.desktop files which no longer exist and are mainly used for tracker-control to know about miners that are not running and that exist or have been installed. The old '_Description' is now '_Comment'. The old '_Name' is now '_DisplayName' The old 'DBusPath' is now 'Path'. As usual all '_' prefixed keys are translated so tracker-control still shows translated miners in its output. data: Update locations in POTFILES.{in|skip} data: Simplify .desktop file generation from .in.in files data: Moved data/gschemas to module specific directories data: Removed unused content, tracker-stop-words.txt and tracker.spec. The Spec file is for RPMs but it has not been updated for years. The Stopwords file is a duplicate of the stopwords.en in src/libtracker-common/stop-words. data: Moved data/languages to src/libtracker-common/stop-words Only API in libtracker-common uses these data: Moved data/dbus/* to their respective src directories This way, we keep DBus service and XML config data WITH the process or binary that it belongs to, keeping all sources grouped together. data: Moved artwork to src/tracker-needle Technically, we don't use this artwork for anything any more data: Moved ontologies/ into src/ data: Moved all .desktop files to their respective subdirs data: Moved all .pc data into their respective lib dirs libtracker-fts: Make parser tests conditional by build requirments E.g. Don't try to run libstemmer based tests 2014-09-25 Martyn Russell <martyn@lanedo.com> build: Removed remaining libstemmer Makefile generation Found during git clean -dfx Merge branch 'external-libstemmer' libstemmer: Move existing stagnant import to external dep Instead of using imported code that's not changed in half a decade, let's use the external maintained version packaged up. 2014-09-25 Rico Tzschichholz <ricotz@ubuntu.com> libtracker-miner: Fix API break with tracker_indexing_tree_new() Previously it took void and it was changed to take a GFile. https://bugzilla.gnome.org/show_bug.cgi?id=737243 (cherry picked from commit 8c6485a312ffbd1c9bb3c95d5933284f56990045) 2014-09-24 Martyn Russell <martyn@lanedo.com> Revert "ontology: nfo:hasMediaStream does not have a max cardinality in specs" This reverts commit 6b2dff6e18bd9a9d4238557b2dce2565fea49491. We want to avoid data loss until AFTER we have Philip's branch to cope with this ontology change. This commit will exist in master and 1.4 only. Philip's branch: https://git.gnome.org/browse/tracker/log/?h=maxcardinality-change-support 2014-09-23 Rico Tzschichholz <ricotz@ubuntu.com> libtracker-miner: Update vala binding 2014-09-22 Martyn Russell <martyn@lanedo.com> Release 1.2.0 2014-09-22 Debarshi Ray <debarshir@gnome.org> tests: Locale fix 2014-09-22 Martyn Russell <martyn@lanedo.com> libtracker-miner: Removed APIs that were never released as stable API 2014-09-22 Debarshi Ray <debarshir@gnome.org> libtracker-bus: Don't crash if query_async is cancelled Always wait for send_query to finish. In case of any exceptions from splice_async we can not leave it hanging. https://bugzilla.gnome.org/show_bug.cgi?id=737023 libtracker-sparql: Add a test case https://bugzilla.gnome.org/show_bug.cgi?id=737023 2014-09-21 Iris Gou <gouyingqiyanxuan321@gmail.com> update zh_CN translation 2014-09-20 Carles Ferrando <carles.ferrando@gmail.com> [l10n] Updated Catalan (Valencian) translation 2014-09-20 Gil Forcada <gforcada@gnome.org> [l10n] Update Catalan translation 2014-09-19 Jan Engelhardt <jengelh@inai.de> tracker-extract-gif: add compatibility with GIFLib 5.1.0 https://bugzilla.gnome.org/show_bug.cgi?id=736328 2014-09-19 Martyn Russell <martyn@lanedo.com> tracker-info: Describe why we use IRI and not URI for translators https://bugzilla.gnome.org/show_bug.cgi?id=735180 2014-09-17 Ask H. Larsen <asklarsen@gmail.com> Updated Danish translation 2014-09-16 Richard Hughes <richard@hughsie.com> tracker-needle: Fix the summary in the AppData file You don't want to use the example text for gnome-power-manager... 2014-09-14 Matej Urbančič <mateju@svn.gnome.org> Added Slovenian translation 2014-09-14 Dušan Kazik <prescott66@gmail.com> Updated Slovak translation 2014-09-12 Claude Paroz <claude@2xlibre.net> Updated French translation 2014-09-12 Martyn Russell <martyn@lanedo.com> utils: Added script to clean up tracker prefix... clean-tracker-prefix 2014-09-11 Rico Tzschichholz <ricotz@ubuntu.com> libtracker-miner: Update vala binding Follow up 354fc70f09b9a9a5f26be730a535d323be2f27bb 2014-09-10 Christian Kirbach <Christian.Kirbach@gmail.com> Updated German translation 2014-09-10 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2014-09-09 Ville-Pekka Vainio <vpvainio@iki.fi> Finnish translation update by Jiri Grönroos 2014-09-09 Seong-ho Cho <shcho@gnome.org> Updated Korean translation 2014-09-08 Aleksander Morgado <aleksander@aleksander.es> doap: update email addresses 2014-09-07 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-09-07 Yuri Myasoedov <ymyasoedov@yandex.ru> Updated Russian translation 2014-09-07 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2014-09-06 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2014-09-05 Martyn Russell <martyn@lanedo.com> Release 1.1.4 libtracker-miner: Removed TrackerCrawlFlags and use TrackerDirectoryFlags This patch does the following things: - The _NO_STAT flag has been added. - The _FOLLOW_SYMLINKS flag has been added in the follow-symlinks branch and is not intended for this development cycle - Remove TrackerDataProvider's _{get|set}_dir_flags() API (no longer used). 2014-09-05 Tom Tryfonidis <tomtryf@gmail.com> Updated Greek translation 2014-09-04 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2014-09-04 Enrico Nicoletto <liverig@gmail.com> Updated Brazilian Portuguese translation 2014-09-04 Andika Triwidada <andika@gmail.com> Updated Indonesian translation 2014-09-04 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2014-09-04 Martyn Russell <martyn@lanedo.com> libtracker-sparql: ALL APIs can now throw GLib.Error This fixes a warning about not catching a potential GLib.Error being thrown for the GUnixFDList's _append() API. 2014-09-03 Martyn Russell <martyn@lanedo.com> tracker-stats: Change default behaviour and add new command line options Now we only show common RDF types by default, e.g. nfo:Document and it is based on .rules file fallback types and some others specifically added. There is also now a --all option to return all stats as was the behaviour before. In addition to this, the EXPRESSIONS provided on the command line following the OPTIONS can be used to filter the stats, e.g. : 'tracker-stats doC' will list the nfo:Document class and resources in the DB matching. 2014-09-02 Jürg Billeter <j@bitron.ch> libtracker-bus: Fix statistics with Vala 0.24+ 2014-09-01 Martyn Russell <martyn@lanedo.com> tracker-extract: Fixed distcheck, missing ebook and comics rules files libtracker-fts: Fixed memory leak for property_names variable 2014-08-31 Bastien Nocera <hadess@hadess.net> tracker-extract: Try harder when getting EPub contents GMarkup is really not that good at parsing XML, so we need to try harder to ignore errors parsing the contents of EPub files, and populate the index with *some* data. https://bugzilla.gnome.org/show_bug.cgi?id=735645 2014-08-29 Bastien Nocera <hadess@hadess.net> tracker-extract: Show where parsing errors happen in EPubs Error extracting EPUB contents (OEBPS/Text/info.xhtml): Error on line 59: Entity name 'copy' is not known is better than: Error extracting EPUB contents: Error on line 59: Entity name 'copy' is not known https://bugzilla.gnome.org/show_bug.cgi?id=735645 tracker-sandbox: Setup xdg-user-dirs All of the XDG user-dirs will be set to the content directory's path, so that applications such as gnome-documents can find the files in the expected directories. https://bugzilla.gnome.org/show_bug.cgi?id=735636 2014-08-29 Martyn Russell <martyn@lanedo.com> libtracker-extract: Fix broken EXIF GPS coordinate extraction This was causing Valgrind to report reading past memory barriers 2014-08-28 Bastien Nocera <hadess@hadess.net> tracker-extract: Change default RDF type for EPub Should be nfo:EBook now, not nfo:TextDocument. tracker-sandbox: Fix -u (update) not working The --disable-miner option doesn't exist anymore. tracker-extract: Add support for more eBook formats For which metadata extraction isn't currently available. https://bugzilla.gnome.org/show_bug.cgi?id=735460 tracker-extract: Add support for comic book formats Through the dummy extractor https://bugzilla.gnome.org/show_bug.cgi?id=735460 tracker-extract: Mark EPub files as e-Books https://bugzilla.gnome.org/show_bug.cgi?id=735460 tracker-extract: Add dummy extractor For use with data types that don't have any additional metadata inside the file, but need tagging with specific RDF types. Note that the use of a dummy extractor is only temporary, and rule files should instead allow not having a ModulePath entry. See https://bugzilla.gnome.org/show_bug.cgi?id=735610 https://bugzilla.gnome.org/show_bug.cgi?id=735460 2014-08-28 Martyn Russell <martyn@lanedo.com> ontology: Add nfo:EBook for electronic books https://bugzilla.gnome.org/show_bug.cgi?id=735460 2014-08-28 Tim Lunn <tim@feathertop.org> build: include COPYING*GPL files in tarball https://bugzilla.gnome.org/show_bug.cgi?id=735567 2014-08-27 Nilamdyuti Goswami <ngoswami@redhat.com> Added Assamese translation 2014-08-26 Martyn Russell <martyn@lanedo.com> libtracker-miner: Call tracker_data_provider_end_async() when dir is crawled Previously we would not call this API and it meant that any implementation with memory allocated waiting to be cleared up, would not have been freed. Now we call this API just about the same time we signal up the stack that we've ::directory-crawled libtracker-miner: Fix reference leak with TrackerTaskPool The leak occurred because tracker_sparql_task_new_with_sparql() was being called but the returned TrackerTask* was not being unreferenced anywhere and the call to tracker_sparql_buffer_flush() with the new task was taking its own references internally. Took this opportunity to make the code here easier to follow: - do_process_file() is now merged into item_add_or_update() - item_add_or_update_cb() is renamed to item_add_or_update_continue() so it's obvious it is called from tracker_miner_fs_file_notify(). - renamed various variables to make the code easier to follow. libtracker-miner: Make _push() implementation easier to follow Split internally into two functions for pushing to a bulk commit and pushing as a priority. Easier to follow. libtracker-miner: Don't use g_hash_table_destroy() in TrackerTaskPool Use g_hash_table_unref() instead. libtracker-miner: Implement ->end* vtable API for TrackerFileDataProvider 2014-08-25 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2014-08-25 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: By default, ignore directories with '.trackerignore' inside This fix updates the 'default' for the GSettings schema, to reset your config (which previously had 'backup.metadata'), use: gsettings reset org.freedesktop.Tracker.Miner.Files ignored-directories-with-content Related to: https://bugzilla.gnome.org/show_bug.cgi?id=735317 libtracker-miner: Make sure we ignore directories with black listed content https://bugzilla.gnome.org/show_bug.cgi?id=735317 tracker-preferences: Remove fixed column width for indexed locations Was cutting off part of the text Also use 'true' not '1' for 'active' column attribute libtracker-data: Fixed compiler warning with tracker_db_interface_sqlite_fts_update_text() tracker-needle: Fixed deprecations where possible libtracker-bus, libtracker-sparql-backend: Fix all TRACKER_DBUS* to Tracker.DBUS Since commit e8eda5803c4d403283bd09cefe8122fecc0753ef 2014-08-25 Rico Tzschichholz <ricotz@ubuntu.com> miner: Add make target to generate vala-bindings from GIR https://bugzilla.gnome.org/show_bug.cgi?id=735339 control: Add make target to generate vala-bindings from GIR sparql: Move TRACKER_ const in Tracker namespace This is a *vala-only* API break. control/miner: Add some nullable annotations Update */.gitignore 2014-08-24 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-08-24 Alexandre Franke <alexandre.franke@gmail.com> Updated French translation 2014-08-23 Yuri Myasoedov <ymyasoedov@yandex.ru> Updated Russian translation 2014-08-22 Enrico Nicoletto <liverig@gmail.com> Updated Brazilian Portuguese translation 2014-08-21 Philip Van Hoof <philip@codeminded.be> Fix BMP indexing 2014-08-21 Martyn Russell <martyn@lanedo.com> tracker-extract: Added rule for source code files for nfo:SourceCode type 2014-08-21 Andres Gomez <agomez@igalia.com> libtracker-extract: Only use FallbackRdfTypes from the first matching module https://bugzilla.gnome.org/show_bug.cgi?id=733573 2014-08-21 Giovanni Campagna <gcampagna@src.gnome.org> tracker-extract: recognize application/vnd.ms-asf for the gstreamer plugin application/vnd.ms-asf is the new standard name for video/x-ms-asf. https://bugzilla.gnome.org/show_bug.cgi?id=733317 tracker-extract: remove application/vnd.ms-* catchall from msoffice Otherwise we match on application/vnd.ms-asf (the .asf video container format), which is not an OLE2 file and msoffice cannot handle. https://bugzilla.gnome.org/show_bug.cgi?id=733317 2014-08-21 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw> Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-08-19 Martyn Russell <martyn@lanedo.com> Release 1.1.3 libtracker-data: Fix tracker-backup unit test failures build: Clean up vala warnings a bit more This isn't perfect, we're really not strict now with compiler arguments passed, but we still get some warnings sadly 2014-08-19 Daniel Mustieles <dnaiel.mustieles@gmail.com> Updated Spanish translation 2014-08-17 Lasse Liehu <lasse.liehu@gmail.com> Finnish translation update 2014-08-17 Tom Tryfonidis <tomtryf@gmail.com> Updated Greek translation 2014-08-15 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2014-08-14 Martyn Russell <martyn@lanedo.com> libtracker-miner: Make sure we return NULL on FileDataProvider begin() errors libtracker-fts: Make private functions static 2014-08-13 Martyn Russell <martyn@lanedo.com> Merge branch 'crash-aware-extractor' 2014-08-13 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Implement "failsafe" extraction The extractor will store a symbolic link in a user directory in /tmp to the file(s) being currently processed, encoding also the number of tries previously performed. If the extractor happens to crash, the links will be used on a future respawn to resume operation. If enough crashes happen on a given file, the file will be then discarded, and tagged with an "extractor-failure-data-source" nie:dataSource, additionally to the dataSource that will make tracker-extract take the file as indexed in future runs. libtracker-miner: Add tracker_decorator_fs_prepend_file() This is a convenience function that retrieves the tracker:id for the file nie:url and prepends it for processing. 2014-08-13 Martyn Russell <martyn@lanedo.com> Release 1.1.2 libtracker-data: Fixed unit tests so files are not left around failing distcheck build: Updated official website in AC_INIT build: Reorder AutoConf directives to avoid build failures - Using AC_CONFIG_AUX_DIR([build-aux]) too late results in docs/reference/* not finding install-sh which is in $top_srcdir/build-aux - Using AC_USE_SYSTEM_EXTENSIONS too late results in warnings about using AC_RUN_IF_ELSE (and others) before AC_USE_SYSTEM_EXTENSIONS Now build and make install works without warnings 2014-08-12 Martyn Russell <martyn@lanedo.com> build: Fixed POTFILES.in, distcheck was failing configure: Use AC_USE_SYSTEM_EXTENSIONS before m4 dir to avoid warnings Merge remote-tracking branch 'origin/external-crawler' libtracker-miner: NULL protect TrackerMinerFS using :roots_to_notify libtracker-miner: Document roots in tracker_indexing_tree_get_master_root() tracker-miner-fs: Fixed finished signal callback malformed definition Fixes warning libtracker-miner: Fixed several memory leaks In crawler, file-data-provider and file-notifier libtracker-miner: Split TrackerEnumerator into 2 classes, now with TrackerDataProvider So now we have: - TrackerEnumerator (GInterface) - TrackerFileEnumerator (using GIO API) - TrackerDataProvider (GInterface) which provides a TrackerEnumerator - TrackerFileDataProvider (using GIO API) implemented as internal default libtracker-control: Allow miner status to be gained from running processes Using environment variable: TRACKER_MINERS_DIR_DISABLED libtracker-miner: Added MinerFS ::finished-root signal + fixed ::finished - The ::finished signal had no arguments, but it actually has 5. - The ::finished-root signal was added to know when roots have been processed. - Fixed the statistics in TrackerMinerFSPrivate, some were totally unused - Documented what the statistics are used for and when they're reset. - Added a progress update when we finish crawling a root libtracker-miner: FileNotifier signals ::directory-finished on wrong dir It should be the "root" GFile, not the one we just finished notifying on. This is to be consistent with the ::directory-started signal. libtracker-miner: Added TrackerCrawlFlags to disable stat() calls This also allows for future improvements like following symlinks, which there is interest in. The flags are attached to the TrackerEnumerator so each enumerator libtracker-miner: Change all g_file_get_path() instances to _get_uri() Since we don't always have a path depending on the GFile backend libtracker-miner: Create TrackerIndexingTree in constructed() not init() We do this because the GFile which is the root for the TrackerMinerFS is a property which is set on object construction. If we try to do this in init() the root is unset at that point. So we wait until constructed where properties are guaranteed to be set. We need this to give to the TrackerIndexingTree that requires a root argument if the file system is not 'file:///' based. libtracker-miner: Create nodes / caches in constructed() not init() We do this because the GFile which is the root for the TrackerFileSystem is a property which is set on object construction. If we try to do this in init() the root is unset at that point. So we wait until constructed where properties are guaranteed to be set. Also Chain parent constructed() in TrackerFileSystem libtracker-miner: Create TrackerFileSystem in constructed() not init() We do this because the GFile which is the root for the TrackerFileSystem is a property which is set on object construction. If we try to do this in init() the root is unset at that point. So we wait until constructed where properties are guaranteed to be set. Also Chain parent constructed() in TrackerFileNotifier libtracker-miner: Added tracker_indexing_tree_get_master_root() and set in constructed() This function gets the top level root for all roots, e.g. file:/// We also create the root nodes in constructed() not init() because then the root GFile has been set in the properties when the object is initiated libtracker-miner: Chain parent constructed() in TrackerDecorator libtracker-miner: Document TRACKER_MINER_DBUS_* defines libtracker-miner: Move TRACKER_MINER_DBUS_* definitions to tracker-miner-object.h There is no need for these to be in a separate header and also they're useful for other miners libtracker-miner: Add TrackerMiner::introspection-handler property Allows miners to provide a GDBusInterfaceVTable structure to be called to handle their extra method calls. This is to be used with the TrackerMiner::introspection-xml property. libtracker-miner: Add TrackerMiner::introspection-xml property This allows miners to add their own signals and methods with the base signals and methods provided by default. libtracker-miner: Make it possible to start the miner via DBus libtracker-miner: Added MinerFS _get_enumerator() function libtracker-miner: Update all documentation around TrackerEnumerator interface Including: - How we use it in TrackerMinerFS - TrackerEnumerator itself - TrackerFileEnumerator libtracker-miner: Removed unused symbols mentioned in MinerFS documentation Including: - _ERROR_HAVE_CRAWLER - @query-info - _manually_notify_file() libtracker-miner: Update warning about not supporting URIs outside file:// This is no longer true. We support ANY URIs now. libtracker-miner: Rename TrackerEnumerator members 'start' to 'get-children' API was a bit weird calling _start_finish(). libtracker-miner: MinerFS _force_mtime_checking() didn't have mtime check flag libtracker-miner: Make sure we free enumerator data on success in Crawler libtracker-miner: Don't create Crawler until FileNotifier is constructed We don't have the Enumerator until constructed. libtracker-miner: Don't iterate the wrong enumerator, avoids warnings on no dir libtracker-miner: Added FileEnumerator unit test libtracker-miner: Added TrackerEnumerator interface, TrackerFileEnumerator class These are used to enumerate over children of a URI. The TrackerFileEnumerator uses GFileEnumerator and the TrackerEnumerator allows for other implementations to supply GFile/GFileInfo data to Tracker for 3rd parties. Updated MinerFS TrackerDirectory flags for external crawlers libtracker-miner: Removed MinerFS _manually_notify_file() and Queue enum libtracker-miner: Document and group functions for MinerFS in header libtracker-miner: Fix paused check in MinerFS before notifying files libtracker-miner: Add log information about locations started in FileNotifier libtracker-miner: Fix warning on root GFile unref in FileSystem libtracker-common: Enable G_MESSAGES_DEBUG for verbosity > 1, not 2 g_info() or G_LOG_LEVEL_INFO requires this to see output. libtracker-miner: Introduce MinerFSQueue for injecting file changes This is used to signal TrackerFileNotifier and TrackerMinerFS from external crawlers about files and what has happened regarding them. libtracker-miner: Miner now uses a proper MinerError API Previously, the error code was always 0. Now we have an enum people can refer to. This is particularly important for miner implementations and cases where classes want to return an error due to an API being used *while* being paused. This is the case in TrackerMinerFS. libtracker-miner: Added MinerFSError quark for GErrors returned tracker-miner-fs: Make sure we work with the new changes to MinerFS libtracker-miner: Make it possible to use external crawlers for data mining libtracker-miner: Allow FileNotifier to have external crawlers libtracker-miner: FileSystem _new() now takes GFile for root If NULL is passed, then it defaults to the behaviour before, which is to use file:/// as the root node libtracker-miner: Fix typo, "suffix" is really "prefix" libtracker-miner: IndexingTree _new() now takes a GFile If NULL is passed, then it defaults to the behaviour before, which is to use file:/// as the root node. 2014-08-08 Martyn Russell <martyn@lanedo.com> tests: Re-write guarantee metadata test to separate tests better 2014-08-08 Tim Lunn <tim@feathertop.org> tests: add missing newline in test_guarantee_title that caused a test failure with the new tap driver https://bugzilla.gnome.org/show_bug.cgi?id=734464 2014-08-07 Martyn Russell <martyn@lanedo.com> Merge branch 'mp3-id3v2-fixes' tracker-extract: MP3 id3v23, id3v24 functions documented and v23 fixed - The padding logic in v23 was incorrect. - Also the frame reading would continue while < total file size, which lead to infinite loops and issues for some files, now we go only while < tsize (tag size). - Instead of +10 here and there, now we use a defined integer to know why we're increasing the iteration through the file for maintainability - Added debugging so we know when there is a failure and what frames we're processing/ignoring - Smaller improvements (no docs) for id3v20 function, same logic applies. libtracker-extract: Fixed TRACKER_EXTRACTORS_DIR env var It's in the man pages but was removed during recent libtracker-extract work. It's now been added back Revert "tracker-extract: MP3s with ID3v23 tags should not hit infinite loop" This reverts commit a1d73a9582111158b5ea838ef0fd545dc7970c0c. tests: Add a .gitignore to not show logs and trs files in git status 2014-08-07 Tim Lunn <tim@feathertop.org> build: link with --enable-new-dtags if available, this replaces the hardcoded RPATH with RUNPATH https://bugzilla.gnome.org/show_bug.cgi?id=733857 2014-08-07 Martyn Russell <martyn@lanedo.com> libtracker-data: Improve unit tests calling g_test_add() This includes a setup and teardown function to clean up properly. This was needed because the new framework seems to run tests in parallel and was randomly failing because the same data dir was being used for all tests. tests: Use tap automake testing scripts, fixes output summaries https://bugzilla.gnome.org/show_bug.cgi?id=734089 2014-08-06 Sam Thursfield <sam@afuera.me.uk> Merge branch 'sam/signal-handling' 2014-08-06 Dominique Leuenberger <dimstar@opensuse.org> build: update firefox and thunderbird detection 2014-08-04 MarMav <mavridou@gmail.com> Updated Greek translation 2014-08-02 MarMav <mavridou@gmail.com> Updated Greek translation 2014-08-01 Sam Thursfield <sam@afuera.me.uk> Processes shouldn't install the signal handler until the main loop starts The signal handler we install calls g_main_loop_quit() when SIGTERM or SIGINT are raised, but this is only useful if the loop was started. Sending SIGTERM or SIGINT to a Tracker process while it is starting up fails to stop the process, and triggers the following a warning: GLib-CRITICAL **: g_main_loop_quit: assertion 'loop != NULL' failed Ideally we'd call initialize_signal_handler from an idle once the main loop has started, but installing it just before the loop starts should be a big improvement. https://bugzilla.gnome.org/show_bug.cgi?id=734144 tracker-extract: Use default signal handler for SIGALRM and SIGABRT The ALRM handler was introduced in commit d9d1881c2548e5d6d55fad1e897f8f058ef28696. The alarm() function seems to no longer be used, so we can remove it. The ABRT handler was introduced in commit 3f42a4390d48c6a4840a7bcfce74673ebfd23479. I'm not sure of the reason. Other Tracker processes use the default handler for ABRT, so let's be consistent. https://bugzilla.gnome.org/show_bug.cgi?id=734144 2014-08-01 Giovanni Campagna <gcampagna@src.gnome.org> writeback: support saving metadata for GIFs GIFs support XMP metadata just fine, there is no reason not to implement it. https://bugzilla.gnome.org/show_bug.cgi?id=733316 2014-07-31 Piotr Drąg <piotrdrag@gmail.com> doap: add <programming-language> 2014-07-31 Sam Thursfield <sam@afuera.me.uk> functional-tests: Rework 400-extractor.py test Tests now call the tracker-extract process manually and parse its ouput. This is necessary because the D-Bus interface it used to expose has been removed. It'd be better to run the tests with a store and miner and check that the correct data is inserted in the store, but for now this approach is OK, and it does have the advantage that the extractor is tested independently of the store & filesystem miner. functional-tests: Tweaks to process helpers Note the bug I found where if you send TERM to tracker-extract while it's initialising, it hangs. I'll fix this in a separate commit. functional-tests: Fix tests that use ExtractorHelper The DBus name of the tracker-extract process has changed, so some of the functional tests were hanging forever as they were watching the wrong bus name. There's also no longer a tracker extract interface at all. This fixes a bunch of tests that were hanging forever waiting for the extractor's object to appear. functional-tests: Watch for Tracker processes crashing Tests should notice straight away if a Tracker process crashes, and raise an exception. functional-tests: Rewrite DConf code to use GObject introspection The tests will now detect if the DConf backend is not in use and raise an error, where previously tests would fail for confusing reasons. Also, we no longer have to shell out to 'gsettings' to set up the configuration. Configuration values now have to be specified as GLib.Variant instances instead of Python types. That's a bit of a pain. PyGI should have a way of creating a GVariant from an arbitrary Python value, but I didn't find one. functional-tests: Replace use of PyGObject and PyGTK with PyGI If we do 'import gobject' anywhere then we cannot use the new GObject-introspection based Python bindings, because they conflict. This change means the functional tests can now use PyGI, instead of the deprecated and out-of-date PyGObject and PyGTK. Note that the dbus-python bindings are still widely used in the functional-tests. These work fine but are deprecated. We should switch to using GDBus through GObject-introspection instead when possible. 2014-07-30 Olav Vitters <olav@vitters.nl> doap category core 2014-07-30 Martyn Russell <martyn@lanedo.com> ontology: nfo:hasMediaStream does not have a max cardinality in specs It doesn't make sense to have one either, since media can have multiple media streams 2014-07-30 Ting-Wei Lan <lantw@src.gnome.org> Fix "Non-void function should return a value" https://bugzilla.gnome.org/show_bug.cgi?id=733948 2014-07-29 Yanko Kaneti <yaneti@declera.com> libtracker-miner: .pc Requires.priv libmediaart 2014-07-29 YunQiang Su <wzssyqa@gmail.com> update zh_CN translation 2014-07-28 Martyn Russell <martyn@lanedo.com> all: Remove GNU_SOURCE definitions now we use AC_USE_SYSTEM_EXTENSIONS tracker-extract: Depend on libmediaart 0.5.0 when enabled This uses a new API which is not compatible with previous versions. https://bugzilla.gnome.org/show_bug.cgi?id=733863 build: Don't use API version 1.2, only the major/minor version should This avoids broken library and pkgconfig versions Revert silly version changes I made earlier Commits: Revert "all: Only use major version for pkgconfig" Revert "libtracker-miner: Fix PkgConfig "Requires", juse major version number only" This reverts commit 9ebf1aa756c408ab91bda59e3f9e2fce85a1e4a1. This reverts commit a5fcbc1467184c06937fd81ba455f2ea1c1de0ca. This reverts commit 3417e2464f81a4158dfa50d954f704745daecf6d. 2014-07-28 Rafael Ferreira <rafael.f.f1@gmail.com> Updated Brazilian Portuguese translation 2014-07-27 Sam Thursfield <sam@afuera.me.uk> Correct typo in comment 2014-07-26 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2014-07-26 Sam Thursfield <sam@afuera.me.uk> Merge branch 'sam/always-guarantee-metadata' Always guarantee metadata, remove --enable-guarantee-metadata option The --enable-guarantee-metadata flag ensures that nie:title and nie:contentCreated will always be set for a given file, even if they need to be guessed based on the filename and mtime. It was previously disabled by default, although the functional tests rely on it being enabled. There should be no harm in making this behaviour the default, and removing the option. If this turns out to have unintended consequences, we should either fix the code in question, or remove it completely. https://bugzilla.gnome.org/show_bug.cgi?id=733536 2014-07-24 Daniel Mustieles <dnaiel.mustieles@gmail.com> Updated Spanish translation 2014-07-22 Piotr Drąg <piotrdrag@gmail.com> tracker-preferences: Mark new strings as translatable 2014-07-22 Martyn Russell <martyn@lanedo.com> tracker-preferences: Don't use Stock.* they're deprecated since 3.10 tracker-preferences: Add suggested restart/reindex on changes Only where needed, not always 2014-07-22 Tim Lunn <tim@feathertop.org> clean up COPYING Move COPYING to COPYING.GPL and provide a general overview of Licenses in COPYING add COPYING.LGPL since there are LGPL licensed files in the tree https://bugzilla.gnome.org/show_bug.cgi?id=733439 2014-07-21 Martyn Russell <martyn@lanedo.com> libtracker-control: Added .gitignore for VAPI and other generated content libtracker-control: Added missing sections.txt for documentation build: Large update to configure.ac including new --enable-minimal option Updates include: 1. Now you can use --enable-minimal, and only tracker-store is built and command line utilities, everything else is disabled. 2. All ./configure arguments have been updated to use $enableval and $withval. This fixes cases where the --disable-* variant is used. This has also fixed some cases where the AC_ARG_ENABLE or AC_ARG_WITH 'if-not-given' was used incorrectly. 3. There is now a --enable-tracker-extract (default is enabled), now it can be disabled. 4. There is now a --enable-tracker-writeback (default is enabled), now it can be disabled. 5. Summary now reflects what is built more concisely and is much smaller when using --enable-minimal. 6. After running autoscan, ./configure now has more checks for PROGS, HEADERS and FUNCS that are being used. 7. AC_USE_SYSTEM_EXTENSIONS is now used adding C extensions where available (like _GNU_SOURCE). libtracker-extract: Remove from examples/ this library is now private 2014-07-18 Enrico Nicoletto <liverig@gmail.com> Updated Brazilian Portuguese translation 2014-07-16 Rico Tzschichholz <ricotz@ubuntu.com> build: Require gnome-common and build a proper Changelog Includes further fixes for "make distcheck" 2014-07-11 Dominique Leuenberger <dimstar@opensuse.org> libtracker-data: fix missing include Since we make use of 'tracker_utf8_truncate', we must include libtracker-common/tracker-utils.h now. 2014-07-10 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fix PkgConfig "Requires", juse major version number only Release 1.1.1 tracker-extract: Removed .pc file from CLEANFILES which is no longer used all: Only use major version for pkgconfig all: Only use major version for pkgconfig Release 1.1.0 docs/reference: Use FULL paths for DOC_SOURCE_DIR to avoid undefined warnings This only occurs during distcheck because the path is not relative any more, but it should be referenced from $(top_srcdir) anyway to avoid these warnings. ontology: Removed duplicate nfo:depicts and correct domain/range Previously nfo:depicts was defined, but not nfo:depiction, because the spec was in draft at the time. The domain/range bug was a copy/paste error All noticed on make distcheck all: Switch out GSettings "schema" property for "schema-id" Was causing unit tests to fail and made distcheck impossible po: Removed tracker-enumerator.c from POTFILES.in It was added to fix distcheck for the external-crawler branch accidentally as part of other fixes too 2014-07-10 Martin Kampas <martin.kampas@tieto.com> libtracker-data: Limit error message length When a very long error message is eventually sent over D-Bus and the original method call involves file descriptor passing, it hits Gnome bug 732615 and the sending process gets aborted. https://bugzilla.gnome.org/show_bug.cgi?id=732839 2014-07-10 Karl Relton <karllinuxtest.relton@ntlworld.com> tracker-extract-oasis: Continue extracting if we find embedded tabs + line breaks The following patch improves the oasis extractor on odt documents so that it keeps extracting plain text content even when there are embedded tab and line-break xml tags. Without this patch the extractor stops when such a tag is encountered, and resumes typically at the next paragraph or style/format change. This means extractable text is missed. 2014-07-09 Martyn Russell <martyn@lanedo.com> Revert "build: Avoid warnings about including subdir objects" This reverts commit e46bfc1c4391b40ba59b4ea965245a78537fe7d2. While there are no warnings, things fail to build. I'd rather have the warnings. build: Imported attributes.m4 was html version, not RAW version build: Avoid warnings about including subdir objects Use AUTOMAKE_OPTIONS=subdir-objects. This is only needed for shared private source files for testing and also for tracker-preferences to know about the miner-fs' config. It's use is limited. build: Use CC_CHECK_FLAGS_APPEND m4 macro to make sure GCC supports flags This is after finding out that some platforms or versions of GCC don't support flags like -Wmaybe-uninitialized The attributes.m4 is stolen from systemd who stole it from xine-lib. The CFLAGS used for Vala based sources and C only sources are printed in the summary in configure now too. While it may look like we use more flags for Vala based sources, we don't it's just -Wall with some flags omitted. ontology: Support nmm:artwork from upstream Nepomuk standards This also adds nfo:depicts and nfo:depiction. 2014-07-05 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2014-07-02 Martyn Russell <martyn@lanedo.com> libtracker-control: _CFLAGS and _LIBS were not defined properly This was causing the docs to fail to build in sandbox conditions 2014-07-02 Yuri Myasoedov <ymyasoedov@yandex.ru> Updated Russian translation 2014-07-02 Martyn Russell <martyn@lanedo.com> build: Fixed distcheck failures 2014-06-30 Daniel Mustieles <dnaiel.mustieles@gmail.com> Updated Spanish translation 2014-06-27 Martyn Russell <martyn@lanedo.com> tracker-search: Don't show "(null)" for nie:InformationElements with no nie:url tracker-info: Add --resource-is-uri | -i to avoid filename -> urn lookups 2014-06-19 Muhammet Kara <muhammetk@gmail.com> Updated Turkish translation 2014-06-18 Muhammet Kara <muhammetk@gmail.com> Added Turkish translation 2014-06-17 Daniel Mustieles <dnaiel.mustieles@gmail.com> Updated Spanish translation 2014-06-13 Aleksander Morgado <aleksander@aleksander.es> build: use pkg-config to look for which gdbus-codegen to use 2014-06-10 Martyn Russell <martyn@lanedo.com> tracker-needle, tracker-preferences: Add AppData https://bugzilla.gnome.org/show_bug.cgi?id=730627 2014-06-09 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2014-06-05 Ralph Boehme <rb@sernet.de> Ontology: add indexes for nie:mimeType and nfo:fileName Enable indexing for "nie:mimeType" and "nfo:fileName", both are attributes that will be used in queries generated by Netatalk and Samba. 2014-06-05 Martyn Russell <martyn@lanedo.com> tracker-extract: Fix build with libav when libmediaaart is disabled https://bugzilla.gnome.org/show_bug.cgi?id=728370 2014-06-03 Gil Forcada <gforcada@gnome.org> [l10n] Update Catalan translation 2014-06-01 Ralph Boehme <rb@sernet.de> libtracker-common: memory limits on systems with large amounts of RAM On systems with large amounts of RAM get_memory_total() could overflow and return a negative value, as a result memory would be limited to MEM_LIMIT_MIN (which is 256 MB atm). 2014-05-31 Milo Casagrande <milo@ubuntu.com> Updated Italian translation 2014-05-20 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation Updated Spanish translation 2014-05-18 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-05-14 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-05-14 Martyn Russell <martyn@lanedo.com> tracker-miner-user-guides: Avoid GIO unresolved symbol errors Error: tracker-miner-user-guides.o: undefined reference to symbol 'g_file_info_get_attribute_uint64' https://bugzilla.gnome.org/show_bug.cgi?id=730111 2014-05-13 Zeeshan Ali (Khattak) <zeeshanak@gnome.org> extract-iso: Update copyright/author list https://bugzilla.gnome.org/show_bug.cgi?id=729253 extract-iso: Extract language info Make use of libosinfo API to extract list of supported languages. Application (e.g Boxes) can then use this list to determine the most suitable language to start express installation in. https://bugzilla.gnome.org/show_bug.cgi?id=729253 2014-05-12 Мирослав Николић <miroslavnikolic@rocketmail.com> Updated Serbian translation 2014-05-12 Martyn Russell <martyn@lanedo.com> tracker-miner-user-guides: Make sure we build if configured to tracker-miner-user-guides: Make sure DBus has the right name of the binary to start tracker-miner-apps: Don't start tracker-miner-fs when we need to index apps libtracker-control: Don't error with g_file_enumerator_next_file() This has been happening lately for some people and it seems to be when $prefix/share/tracker/miners/ doesn't exist. This is a broken install to be fair, but Tracker should handle it more gracefully. Added a NULL check on enumerator returned from g_file_enumerate_children(). https://bugzilla.gnome.org/show_bug.cgi?id=729968 libtracker-control: Fix remnants of libtracker-miner in sources Noticed by Michael Biebl. Thanks! :) 2014-05-09 Martyn Russell <martyn@lanedo.com> tracker-preferences: Added 'control' tab giving more control of what is indexed Specifically: - allowing people to disable indexing file content - allowing indexing of numbers tracker-preferences: Make the Scale widgets (which were vertical) horizontal Looks better tracker-preferences: Swap out HScale widgets for Scale with orientation tracker-preferences: Used latest glade and require GTK+ 3.18, fixed tab properties tracker-preferences: General glade file clean up and modernisation Using newer version of glade. tracker-preferences: Use Box not VBox which is deprecated tracker-preferences: Use Box not HBox which is deprecated 2014-05-09 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Pass parent flags when reindexing a previously ignored folder If a folder with the "ignored" flag is removed from the configuration, and its parent folder indexing is recursive, the folder contents must be indexed recursively obeying the parent folder configuration flags, so pass those when queueing the directory for crawling. libtracker-miner: Pass flags explicitly when creating crawling root data Those might differ from the flags reported by the TrackerIndexingTree, specially during ::directory-removed. 2014-05-09 Martyn Russell <martyn@lanedo.com> libtracker-miner: Call check_directory() on root dir to crawl Unit tests were failing, pre-release because the count of directories we notify about finding was 1 less than we expected. 2014-05-08 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Fallback to URN querying on UPDATE events and API requests Otherwise the item is mistaken as new, which trigger warnings due to the duplicate insert. https://bugzilla.gnome.org/show_bug.cgi?id=729708 2014-05-08 Martyn Russell <martyn@lanedo.com> tracker-extract: MP3s with ID3v23 tags should not hit infinite loop The extraction was using a while() loop with pos < size, but would never be FALSE and continued forever. The size is the size of the file, but actually, it should be using tsize, which is the tag size. What was happening, was the while() loop would increment over sizes of +10 +content-size, but if there was padding, there was no tag frame and so no content size and the increment of 10 eventually would step into the RAW MP3 data. Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=728252 Specification details: http://id3.org/id3v2.3.0 2014-05-08 Pau Iranzo <paugnu@gmail.com> [l10n] Update Catalan translation 2014-05-07 Martyn Russell <martyn@lanedo.com> tracker-miner-apps: Avoid GIO unresolved symbol errors Error: tracker-miner-applications.o: undefined reference to symbol 'g_file_info_get_attribute_uint64' 2014-05-06 Christian Kirbach <Christian.Kirbach@gmail.com> Updated German translation 2014-05-06 Roberto Guido <rguido@src.gnome.org> tracker-miner-rss: Fixed subclassing from TrackerMinerOnline 2014-05-05 Dimitris Spingos <dmtrs32@gmail.com> Updated Greek translation 2014-04-30 Piotr Drąg <piotrdrag@gmail.com> Updated POTFILES.in and POTFILES.skip Updated Polish translation 2014-04-29 Martyn Russell <martyn@lanedo.com> Merge branch 'new-userguides-miner' tracker-user-guides: Split out from tracker-miner-fs, now separate binary Merge branch 'new-app-miner' tracker-miner-apps: desktop file was incorrectly named (.in -> .in.in) tracker-miner-apps: Fix configure switch help, copy/paste error from miner-fs tracker-miner-apps: Make sure we auto-start this miner if enabled libtracker-common: Renamed files tracker-miner-meego* -> tracker-meego* libtracker-common: Rename tracker_miner_meego* functions to tracker_meego* tracker-miner-apps: Make this a separate process, moved out of tracker-miner-fs tracker-search: Fix output for email searching - Make sure resource links are shown in green - Make sure snippets are always shown (shows in red matches) 2014-04-27 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Perform leveled notification in TrackerFileNotifier The current notification process involves crawling over index roots without restrictions, and querying the state of every file in the store. This is fastest, but can get memory hungry on huge directory trees. So split the process in 3 sequencial steps, that are repeated from top to bottom over the directory hierarchy: - A directory is crawled, contents that currently exist in the filesystem are extracted. - Only if the directory is an index root, or was checked to exist in the store through previous iterations, the directory and all contents found are looked up on the store by their uri, new and updated contents are detected by comparing mtimes. - Only if the directory passed #2, and its mtime changed (which usually implies something was added or removed, at this stage we only have to care of the latter), query all elements in the store that nfo:belongsToContainer to it, and check for those files that existed in the store but don't exist anymore. Deleted contents are detected in this stage. The change has been done so there is certain compile-time granularity on the directory processing, currently controlled through the MAX_DEPTH define. This switch controls the maximum depth on crawled/queried chunks, which establishes some indirect limit on the number of GFiles (and all misc data around) that are in memory at the same time. From testing, first-time crawling performance is completely unaffected, and second-time crawling on an unchanged directory tree has negligible decreases. The IN() match on an indexed property like nie:url looks near constant, and the third more expensive step will only happen when it is very likely that there are actual changes to process. So the MAX_DEPTH value has been set to 1 to keep memory usage to a minimum (tracker-miner-fs now peaks on massif at 24MB when it previously early grew to ~180MB, indexing 11304 folders and 123428 files) libtracker-miner: Store iri transiently as GFile qdata For regular files, the data stored in TrackerFileNotifier (and TrackerFileSystem below) will soon go away after the files are notified through TrackerFileNotifier signals. In order to avoid later synchronous queries to check for basic data, just preserve it as GObject qdata. This reduces the number of queries performed at the time of processing those files. Especially noticeable on ::file-created events, as these queries were done regardless of Tracker knowing these files are brand new... libtracker-miner: Add tracker_file_system_get_file_type() This function is useful to find out the GFileType as stored in the TrackerFileSystem, as that's stored there from crawling time. libtracker-miner: Make crawler take a maximum recursion depth TrackerCrawler gets now the maximum depth to recurse into as a parameter to tracker_crawler_start(), this can be used to divide crawling into units bigger than individual folders. A value of -1 can be passed to have it recurse with no restrictions as with the previous recurse=TRUE argument. 2014-04-24 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2014-04-23 Martyn Russell <martyn@lanedo.com> tracker-control: Added --watch command line option to watch changes to DB This allows people to see updates in real time to the database for files and any of the properties related to those. tracker-control: Avoid using duplicate code to get dbus connection/proxy tracker-control: Remove shorthand options for less used switches tracker-control: Make sure we translate all strings we use 2014-04-22 Daniel Korostil <ted.korostiled@gmail.com> Updated Ukrainian translation 2014-04-22 Martyn Russell <martyn@lanedo.com> libtracker-miner: Decorator causes crash on _update_array_finish() failures. https://bugzilla.gnome.org/show_bug.cgi?id=728546 2014-04-21 Xavier Claessens <xavier.claessens@collabora.com> Make sure vorbis extractor builds without libmediaart https://bugzilla.gnome.org/show_bug.cgi?id=728370 2014-04-21 Daniel Korostil <ted.korostiled@gmail.com> Updated Ukrainian translation 2014-04-20 marablack3 <marablack3@gmail.com> Updated Greek translation 2014-04-15 Martyn Russell <martyn@lanedo.com> build: Add SQLite version warning for 3.8.4.2 See: https://mail.gnome.org/archives/tracker-list/2014-April/msg00001.html 2014-04-10 Yuri Myasoedov <ymyasoedov@yandex.ru> Updated Russian translation 2014-04-06 Piotr Drąg <piotrdrag@gmail.com> doap: update URLs 2014-04-05 Daniel Korostil <ted.korostiled@gmail.com> Updated Ukrainian translation 2014-03-31 Martyn Russell <martyn@lanedo.com> tracker-extract: Fix BMP compilation warnings 2014-03-29 Inaki Larranaga Murgoitio <dooteo@zundan.com> Added Basque language\nAdded 'eu' (Basque) to LINGUAS 2014-03-29 Seong-ho Cho <darkcircle.0426@gmail.com> Updated Korean translation 2014-03-26 YunQiang Su <wzssyqa@gmail.com> update zh_CN translation 2014-03-25 Martyn Russell <martyn@lanedo.com> Merge branch 'tracker-tag-and-operator-fix' 2014-03-25 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fix build error tracker-extract: Fix leak of filename variable Fix handling when no match is found by libicu charset detector Make it possible to disable libicu and libenca based charset detectors Add an empty BMP extractor to get the rdf:type for the file type right giflib 4.2.x doesn't have PrintGifError 2014-03-24 Martyn Russell <martyn@lanedo.com> Release 1.0.0 2014-03-24 Haithem Ben Ghorbal <haithem.benghorbal_ext@softathome.com> libtracker-sparql: Make sure we check the env before choosing the bus type Previously we would check the env for the plugins (backends), but not for checking if the store was available or not, which is quite important because it can cause the store to be instantiated! 2014-03-24 Duarte Loreto <happyguy_pt@hotmail.com> Updated Portuguese translation 2014-03-23 Ask H. Larsen <asklarsen@gmail.com> Updated Danish translation 2014-03-22 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw> Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-03-21 Martyn Russell <martyn@lanedo.com> Merge branch 'make-decorator-errors-public' Release 0.17.8 Revert "libtracker-sparql: Fix undefined reference to symbol 'tracker_ipc_bus'" This reverts commit 4623bcd6b089be5c32d615a1733bbcd387a7420e. It's not libtracker-sparql that requires this symbol to be defined, it's binaries using the symbols from libtracker-common that should have this fix instead. Use of the TRACKER_IPC_BUS and above function is internal only. This error was highlighted with --as-needed being used with the linker. This is properly fixed in commit: 963e53eb79a5b727ef008a875f16005e4c6d67dd 2014-03-21 Gábor Kelemen <kelemeng@gnome.hu> Updated Hungarian translation 2014-03-21 Dominique Brazziel <dbrazziel@snet.net> docs: minor tracker-store man page cleanup https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=675198 2014-03-21 Martyn Russell <martyn@lanedo.com> build: Fix warning for --with-compile-warnings, which mentions --enable-compile-warnings https://bugzilla.gnome.org/show_bug.cgi?id=705315 libtracker-miner, tracker-extract: Don't g_warning() on decorator items we don't process In normal circumstances, we may get TRACKER_DECORATOR_ERROR_{EMPTY|PAUSED}, but tracker-extract issues a g_warning(). We want to avoid using a warning for these warnings because they're normal and expected operations. 2014-03-21 Andika Triwidada <andika@gmail.com> Updated Indonesian translation 2014-03-20 Martyn Russell <martyn@lanedo.com> tracker-tag: Replace --or-operator with --and-operator for --list option Currently all arguments supplied for --list are handled with an OR condition, making the existing --or-operator redundant. This makes --and-operator useful for querying for files matching 1 or more tag labels. https://bugzilla.gnome.org/show_bug.cgi?id=725717 libtracker-sparql: Don't use internal tracker_ipc_bus() function in examples/ We don't want people copying this code and then having linking problems and 3rd party apps using libtracker-sparql shouldn't be depending on internal functions or libraries like libtracker-common. 2014-03-19 Rūdolfs Mazurs <rudolfsm@src.gnome.org> Updated Latvian translation 2014-03-19 Ask H. Larsen <asklarsen@gmail.com> Updated Danish translation 2014-03-19 Rūdolfs Mazurs <rudolfsm@src.gnome.org> Updated Latvian translation 2014-03-19 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-03-19 Martyn Russell <martyn@lanedo.com> tracker-extract: Fixed broken ontology use for JPEGS, dc:indentifier -> dc:identifier https://bugzilla.gnome.org/show_bug.cgi?id=726419 Release 0.17.7 2014-03-19 Michael Biebl <biebl@debian.org> libtracker-sparql: Fix undefined reference to symbol 'tracker_ipc_bus' Now we link with libtracker-common 2014-03-19 Milo Casagrande <milo@ubuntu.com> Updated Italian translation 2014-03-19 Мирослав Николић <miroslavnikolic@rocketmail.com> Updated Serbian translation 2014-03-18 Martyn Russell <martyn@lanedo.com> Release 0.17.6 2014-03-18 Bastien Nocera <hadess@hadess.net> tracker-extract: Remove obsolete xine extractor https://bugzilla.gnome.org/show_bug.cgi?id=726639 tracker-extract: Add Gibest hash calculation to GStreamer Add Gibest extract to GStreamer extractor, as used in the OpenSubtitles service: http://trac.opensubtitles.org/projects/opensubtitles/wiki/HashSourceCodes extract_gibest_hash() written by Carlos Garnacho <carlosg@gnome.org> https://bugzilla.gnome.org/show_bug.cgi?id=726640 tracker-extract: Remove obsolete GStreamer fallbacks Remove the tagbin and decodebin2 GStreamer fallback backends, GstDiscoverer is easier to use, and less prone to problems. https://bugzilla.gnome.org/show_bug.cgi?id=726639 tracker-extract: Remove obsolete totem-video-indexer extractor totem-video-indexer was removed in GNOME 3.2. https://bugzilla.gnome.org/show_bug.cgi?id=726639 2014-03-18 Martyn Russell <martyn@lanedo.com> tracker-needle: Use BusType.SESSION for getting tracker-store stats Fixes build. Was using Tracker.Bus.type(), which is from tracker-store. We could depend on libtracker-common and call Tracker.IPC.bus, but I don't want to add the dep. It's quite unlikely people use tracker-needle on the SYSTEM bus anyway. tracker-miner-{rss|evolution}: Fix DBus session used to TRACKER_IPC_BUS 2014-03-18 Haithem Ben Ghorbal <haithem.benghorbal_ext@softathome.com> build: Move FTS feature check to m4 file with cache check too This is to avoid checking for the FTS features in cross-compilation situations where the check will fail and we've previously done the check anyway (knowing it works). We use M4 caching for this. 2014-03-18 Martyn Russell <martyn@lanedo.com> tracker-extract: Removed support for libstreamanalyzer This has not been compiled or used in years and likely doesn't produce an ontology compatible output that we could use. EXTERMINATE! build: Make libmediaart a soft dependency, not hard tracker-extract: Don't report < 0 nfo:width for images with GStreamer discoverer 2014-03-17 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2014-03-17 Haithem Ben Ghorbal <haithem.benghorbal_ext@softathome.com> build: Fix typos in configure.ac for fts4 and sqlite_safe 2014-03-17 Dominique Leuenberger <dimstar@opensuse.org> libtracker-{common,data,extract}: do not maintain LT versioning As these are private libraries, there is no reason to maintain LT versioning. https://bugzilla.gnome.org/show_bug.cgi?id=725689 2014-03-17 Luis Menina <luis.menina@softathome.com> build: Fix error message when running configure for tracker-miner-fs Bad spacing on variable assignment caused an error message: "enable_tracker_miner_fs: command not found" https://bugzilla.gnome.org/show_bug.cgi?id=726552 docs: remove the --low-memory option from tracker-store man page This option was killed in 0.9.1. build: Remove references to QT dependency in configure.ac The dependency has been transfered to libmediaart. https://bugzilla.gnome.org/show_bug.cgi?id=726553 2014-03-17 Martyn Russell <martyn@lanedo.com> tracker-extract: Remove the need for fork() and sub-processes with PDF extraction This fuctionality we're removing has been around since be58d8da6da5a8f16ca83f78a9427ca4de723151 where Philip added code to kill a forked process after n seconds for really complex PDFs (or PDFs that take longer to process on embedded devices). This was covered under NB#290406. Later I improved the code to use select() instead of signal handlers due to IO blocking in some situations in commit 9c4e166ec101c79bdeac30696371ffe0abd4e046 and as part of GB#680897. However, the extra complexity is no longer needed as far as I can tell. There was a good reason for the IO blocking in the past and I believe it has been fixed by Carlos in one commit or another and with the new GTask and _run_in_thread() APIs we have now, it's unnecessary to use this approach. IF anything, we should add some timeout or cancellation in the task issuing (main?) thread instead of implementing this for each extractor. Currently we don't do this though. As an additional note, this may fix GB#726421. I've tested this patch with files attached to previous bug reports related, including GB#680897 and GB#685378. all: Make GBusType configurable with TRACKER_BUS_TYPE This works by using G_BUS_TYPE_SESSION if the env var TRACKER_BUS_TYPE is not set and will allow for "system" to be used as a value. If it is set, the system bus is used instead. 2014-03-17 Luis Menina <liberforce@freeside.fr> Updated French translation 2014-03-17 Fran Dieguez <frandieguez@gnome.org> Updated Galician translation 2014-03-17 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2014-03-17 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2014-03-17 Antonio Fernandes C. Neto <fernandesn@gnome.org> Updated Brazilian Portuguese translation 2014-03-17 Martyn Russell <martyn@lanedo.com> tracker-extract: Make logging clearer if we fail on no modules or no data Also add i18n to command line use of tracker-extract. 2014-03-16 Seong-ho Cho <darkcircle.0426@gmail.com> Updated Korean translation 2014-03-16 AlainLojewski <allomervan@gmail.com> Updated French translation 2014-03-16 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-03-15 Claude Paroz <claude@2xlibre.net> Updated French translation Forward port of translation in tracker-0.16 branch. 2014-03-14 Rafael Ferreira <rafael.f.f1@gmail.com> Updated Brazilian Portuguese translation 2014-03-14 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2014-03-14 Seong-ho Cho <darkcircle.0426@gmail.com> Updated Korean translation 2014-03-14 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2014-03-14 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation Updated POTFILES.in and POTFILES.skip 2014-03-14 Martyn Russell <martyn@lanedo.com> tracker-extract: Fixed epub extractor so it doesn't use broken ontology - The nco:nameOther ontology doesn't exist. Now we use nco:nameAdditional - The graph was not being used for inserts. - The roles / affiliation were not inserted properly. WE now use artist (like other extractors) tracker-extract: Improve logging, too many debug statements It was hard to see what was going on with most logs as debug comments. Also all thread messages are now debug and have been moved into the #ifdef for other thread events It's a bit easier to see what is going on now using -v 2 and there is less mess with -v 3 2014-03-14 Carlos Garnacho <carlosg@gnome.org> libtracker-extract: Lookup rules after maybe initializing in get_fallback_rdf_types() Otherwise the first lookup might come up empty. libtracker-extract: Fix leak on .rule file error data: Add tracker-extract autostart file This should run together with tracker-miner-fs https://bugzilla.gnome.org/show_bug.cgi?id=725607 2014-03-13 Carlos Garnacho <carlosg@gnome.org> tracker-extract: set nfo:Video on the gstreamer guess rule for completeness libtracker-miner: Dispose GFileInfo objects ASAP when crawling Those are just needed for TrackerFileNotifier to extract mtime/type, so make sure those are disposed soon, instead of living as long as the GFile does. Although not a leak, should lead to a VmRSS decrease during extraction time. 2014-03-13 Yuri Myasoedov <ymyasoedov@yandex.ru> Updated Russian translation 2014-03-10 Carlos Garnacho <carlosg@gnome.org> miner-fs: Plug leak The rdf types GStrv must be freed after usage. libtracker-extract: Plug leak Destroy the hashtable after use, and s/FALSE/NULL/ in the return value of the initial check. 2014-03-10 Martyn Russell <martyn@lanedo.com> build: libicu version requirement doesn't need to be so high, 4.8.1.1 is lowest build: Add version for libicu in the build requirements The version we depend on is the first libicu version with pkg-config shipped, but it's important to put this in the build requirements so people know what they need. 2014-03-10 Debarshi Ray <debarshir@gnome.org> miner-fs: Do not leak the UpDevice https://bugzilla.gnome.org/show_bug.cgi?id=725890 libtracker-fts: Free the list https://bugzilla.gnome.org/show_bug.cgi?id=725890 libtracker-miner: Do not leak the TrackerSparqlConnection https://bugzilla.gnome.org/show_bug.cgi?id=725890 2014-03-09 Milo Casagrande <milo@ubuntu.com> [l10n] Updated Italian translation. 2014-03-09 Rūdolfs Mazurs <rudolfsm@src.gnome.org> Updated Latvian translation 2014-03-09 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw> Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-03-08 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-03-08 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2014-03-08 Wylmer Wang <wantinghard@gmail.com> Updated Chinese (China) translation 2014-03-07 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2014-03-06 Martyn Russell <martyn@lanedo.com> libtracker-miner: Don't print uninitalised sparql variable for update_array_cb libtracker-data: getting FTS multivalued properties used unintialised variable all: Removed dead code from coverity report libtracker-data: Protect potential NULL dereference in _db_cursor_iter_next() 2014-03-06 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2014-03-06 Martyn Russell <martyn@lanedo.com> tracker-sandbox: Locale and dbus fixes Now we don't hard code the path to dbus-daemon. We also don't force BUS or DIRECT connections, we let tracker-sparql decide as it should. Fixed locale mismatches: This was causing tracker to throw out queries we try to make because the DB locale didn't match the current locale. The script was using "C" locale vs processes using "en_GB*" or whatever people are really using because tracker processes use set_locale(LC_ALL, ""). We just did the same for this script. tracker-sandbox: Make this Python script +x tracker-extract: Make it clearer where MIME type came from in debug 2014-03-06 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2014-03-06 Rafael Ferreira <rafael.f.f1@gmail.com> Updated Brazilian Portuguese translation 2014-03-05 Martyn Russell <martyn@lanedo.com> tracker-sparql: Support properties with --tree and case insensitivity with --search 2014-03-05 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2014-03-04 Martyn Russell <martyn@lanedo.com> Release 0.17.5 2014-03-03 Martyn Russell <martyn@lanedo.com> tracker-extract: Don't leak FD on tiff extractor when opening file libtracker-miner: Remove >= 0 g_assert() on uint 2014-03-03 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2014-03-02 Philip Van Hoof <philip@codeminded.be> Possible use of uninitialized value 2014-03-02 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2014-03-02 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-03-02 Jürg Billeter <j@bitron.ch> man-pages: Update paths in tracker-extract.1 Reported by Michael Biebl. 2014-02-28 Carlos Garnacho <carlosg@gnome.org> extract: set nfo:Document on FallbackRdfTypes for text documents This ensures the right rdf:type is set so it is sent over GraphUpdated, and picked up by tracker-extract. 2014-02-28 Rafael Ferreira <rafael.f.f1@gmail.com> Updated Brazilian Portuguese translation 2014-02-28 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2014-02-28 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Fix documentation for 'low-disk-space-limit', was in MB not % 2014-02-26 Martyn Russell <martyn@lanedo.com> build: Improve description of build switches build: Change configure's --disable-unzip-ps-gz-files to --enable* like others. Nothing changes as a result of this, the default is still to enable by default build: Change configure's --disable-libxml2 to --enable-libxml2, like others. Nothing changes as a result of this, the default is still to enable by default. build: Remove configure args for GdkPixbuf/Qt* used for mediaart All of this has now been pushed out to libmediaart and no longer needed build: Remove configure args for Nemo, was used for media art The media art sources are now in libmediaart, so this switch is redundant now. build: Remove configure args for libsecret and gnome-keyring We no longer use these after the api-cleanups branch from Carlos 2014-02-25 Martyn Russell <martyn@lanedo.com> Merge branch 'extract-rules-fix' build: Remove the need for Makefile.extractdirs libtracker-extract: Fix example mockup.rule file, we no longer include @modulesdir@ libtracker-extract: Don't break compilation due to missing rules/modules dir 2014-02-24 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Unset priv->current_index_root when the TrackerFileNotifier is finished If the last files in the loop are iterated without success, the last priv->current_index_root would remain at the time of emitting the ::finished signal, which might confuse tracker_file_notifier_is_active() afterwards. 2014-02-24 Martin Kampas <martin.kampas+gnomebugs@ubedi.net> functional-tests: fix invalid SPARQL s/nao:hasTag:prefLabel/nao:prefLabel/ The extractor output has changed. Similar fix can be seen in commit aabc8a8e07e90b8fae0172824185e50b6af68228. functional-tests: Use GraphUpdated signal from store, not miner-fs Idle status The tracker_miner_fs_wait_for_idle() call is used to detect miner operation has completed. It returns when miner's status changes to "Idle" (or on timeout). Unfortunately at the time miner goes idle it is not guaranteed the data are already in store - and the related test fails. A better way is to listen to GraphUpdated signal sent by store and wait until the desired resource is announced beng added or removed. Depends on tracker-tests-allow-reuse-graph-updated-signal-handling.patch. functional-tests: Don't require miner-fs being idle for testing data inserted In many test cases the tracker_miner_fs_wait_for_idle() call is used to detect miner operation has completed. It returns when miner's status changes to "Idle" (or on timeout). Unfortunately at the time miner goes idle it is not guaranteed the data are already in store - and the related test fails. The test case 301-miner-resource-removal.py does it a better way - it listens to GraphUpdated signal sent by store and waits until the desired resource is announced being added or removed. There is comment inside 301-miner-resource-removal.py: "FIXME: put this stuff in StoreHelper". This patch is to follow that comment. Needed by tracker-tests-310-fts-indexing-use-graph-updated-signal.patch. functional-tests: 400-extractor.py expects different arguments The tests.xml is autogenerated by create-tests-xml.py. It scans all *.py scripts for test class definitions and generate one test case for each class found. In that test case it invokes the script with the class name passed as an argument. 400-extractor.py expect different kind of argument. functional-tests: Start/stop processes in correct order, miner after extract The process tracker-miner-fs causes the process tracker-store be started automatically via the D-Bus service autostart mechanism. As the test case needs to start and control the processes itself, it is necessary to start them in order of their dependencies, so the D-Bus autostart does not happen. functional-tests: Increase default timeout 90s->180s, 90s isn't long enough sometimes Some test cases need more than the default 90 seconds to complete. As the tests.xml is autogenerated, it is not possible to increase the timeout selectively without bigger changes to the create-tests-xml.py script. Thus increasing globally. functional-tests: Don't rely on just tracker-control -t to kill tests in time The command `tracker-control -t` simply kill(2) all tracker processes and exits. It does not wait/check the processes to terminate. In some test cases it happens that the test case tries to launch its own instance of some tracker process, but it fails because the old process is still there. functional-tests: Fix regression introduced in commit 690eecb1 2014-02-24 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2014-02-24 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Fix typo introduced by my previous commit libtracker-miner: Protect against NULL thumbnailer If the service initialization fails, a NULL object will be returned, so check for that before attempting to communicate with the thumbnailer. libtracker-extract: define back extract[rules|modules]dir for Makefile.am to use Before commit 73c0decd, src/libtracker-extract/Makefile.am was receiving those indirectly from $(topsrcdir)/Makefile.decls. After that file was no longer included those remained empty, causing wrong file lookups in the built tracker-miner-fs and tracker-extract. So the declarations have been moved to a separate $(topsrcdir)/Makefile.extractdirs, so they're defined once and available to both src/libtracker-extract/Makefile.am and src/tracker-extract/Makefile.am. 2014-02-24 Michael Biebl <biebl@debian.org> libtracker-extract: Make this a package-private library Don't install libtracker-extract system-wide and don't generate any introspection data. This is a follow-up commit to 60fdc9b900ae1c66a65721c8314e8cc3358ca461 2014-02-24 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: clear thumbnailer internal objects on init() failure So we don't try to free invalid pointers again on finalize() https://bugzilla.gnome.org/show_bug.cgi?id=724984 2014-02-23 Wylmer Wang <wantinghard@gmail.com> Updated Chinese (China) translation 2014-02-22 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-02-22 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2014-02-21 Carlos Garnacho <carlosg@gnome.org> Release 0.17.4 2014-02-21 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2014-02-21 Carlos Garnacho <carlosg@gnome.org> rss: Fix compilation with rss miner enabled Missing TRACKER_ prefix in enum value... 2014-02-21 Rafael Ferreira <rafael.f.f1@gmail.com> Updated Brazilian Portuguese translation 2014-02-21 Martyn Russell <martyn@lanedo.com> tracker-sparql: Various improvements/fixes for --tree command line option Specifically: - Fix offset error when highlighting parts of the tree when -s is used - Use GNode APIs g_node_traverse() to print and find nodes, reducing code size - Remove unnecessary memory allocation for --get-longhand - Fix memory leak of longhand to shorthand conversion in --tree - Avoid memory allocations when generating filter hashtable 2014-02-20 Carlos Garnacho <carlosg@gnome.org> Release 0.17.3 2014-02-20 Martyn Russell <martyn@lanedo.com> tracker-sparql: Add new command line features for help with the ontology Specifically --tree $CLASS (to print the tree for $CLASS, or NULL for all ontology) --get-shorthand $CLASS --get-longhand $CLASS 2014-02-20 Carlos Garnacho <carlosg@gnome.org> libtracker-control: Add missing gio.h include 2014-02-20 Martyn Russell <martyn@lanedo.com> tests: Updated gtester scripts to improve testing system We imported Makefile.decl from glib when it was using Subversion, a long time ago. The script had a few issues (like running all unit tests twice on make distcheck) and needed to be updated. I've stolen a latest version from GLib's glib.mk and also their m4 macros which are required to make this all work too. This gives us the advantage of defining installable and uninstallable test cases as well as test data, scripts and other useful stuff. The debug output also looks quite good. And distcheck passes :) 2014-02-20 Carlos Garnacho <carlosg@gnome.org> libtracker-control: remove generated vapi/deps files on distclean po: Add tracker-miner-online.c Messages were marked as translatable there, so it needs to be in POTFILES.in libtracker-extract: Fix distcheck A few headers were missing in SOURCES, and noinst_HEADERS was mistakenly empty, which broke build if builddir!=srcdir 2014-02-20 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed all documentation warnings docs: Make sure we fix cross referenced library symbols Fixes the warnings about GError and other symbols which are unknown when generating the documentation for libtracker-{sparql|miner|control} 2014-02-20 Carlos Garnacho <carlosg@gnome.org> Merge branch 'api-cleanup' 2014-02-20 Martyn Russell <martyn@lanedo.com> libtracker-miner: Make sure we compile if we don't HAVE_NETWORK_MANAGER 2014-02-20 Carlos Garnacho <carlosg@gnome.org> tests: Fix build in libtracker-miner libtracker-miner: Add padding pointers to *Class structs Will be useful for long term ABI compat. docs: Add missing TrackerDecorator type to .types libtracker-miner: remove private namespace symbols from being exported libtracker-miner: Remove TrackerMinerWeb and helper objects TrackerMinerWeb vmethods are very focused on the management of credentials and capabilities, this is something that's been taken over by gnome-online-accounts since this API was added, and the lack of TrackerMinerWeb implementations in the wild seems to hint it's not been as useful as when it was initially devised, so farewell. rss: Implement TrackerMinerOnline This is more suitable than implementing TrackerMiner directly libtracker-miner: Add TrackerMinerOnline This TrackerMiner is a simpler replacement for TrackerMinerWeb that doesn't get into credentials handling. It handles network state, emitting ::connected or ::disconnected on the way, and ensuring the miner is paused/resumed as necessary when suitable networks come and go, implementations of this miner can control this behavior through the return value in the ::connected signal. libtracker-control: New separate library, just contains TrackerMinerManager TrackerMinerManager has been moved from libtracker-miner, so it remains a library to implement miners. libtracker-control will be of interest to anything that attempts to track or control the state of running/available miners. tracker-writeback: Remove unneeded code using TrackerMinerManager TrackerMinerManager isn't used here after all, so remove all code using it. libtracker-miner: Make TrackerCrawler private This object can remain entirely private, as it is wrapped in quite more convenient ways by TrackerMinerFS (ie. tracking of additions/removals, file monitoring...), so turn it fully private. libtracker-miner: Move TrackerStorage to libtracker-common This is used in a variety of places (tracker-writeback, TrackerMinerFiles, and TrackerDecorator), but it doesn't make sense to have that exposed in libtracker-miner, so move to libtracker-common, where it can be used in a private manner. libtracker-miner: Avoid use of TrackerCrawler in TrackerMinerManager This object just needs it to iterate over .desktop files, so use plain GIO there. tracker-control: Avoid usage of TrackerCrawler This can be easily replaced by a helper function that iterates over a directory. libtracker-miner: hide media-art header These calls to manipulate the media art queue are already performed inside TrackerMinerFS, and there are no foreseeable situations where a TrackerMinerFS implementation will need to call these directly, so just move the code and header to private land. libtracker-miner: Turn thumbnailer into an object TrackerMinerFS in libtracker-miner was already doing most of the tracker_thumbnailer_* calls necessary. The only API required on callers only was tracker_thumbnailer_init/shutdown(). So just turn this into an object so all usage is kept private to libtracker-miner, and we can remove these headers out of the public. libtracker-extract: Make it completely private This library has some rough spots, mainly around: 1) Usefulness: The library is not specially useful outside of tracker. In the source tree we already have plenty of extract modules that handle most popular file formats. Future-wise, if a brand new file format earns popularity, we'll want it in the tracker tree, and not as an external module. So neither implementing minor third party out-of-tree modules nor offering the possibility to reimplement a type Tracker knows well is a compelling thing to support. 2) Maintainability: The API is highly inconsistent, hardly introspectable and with little forward-compatibility thinking. So in short, libtracker-extract is something we want to keep under the rug, only available to tracker-miner-fs and tracker-extract. 2014-02-20 Xavier Claessens <xavier.claessens@collabora.com> TrackerDecorator: Add writable "priority-rdf-types" property 2014-02-20 Xavier Claessens <xavier.claessens@collabora.co.uk> TrackerExtractDecorator: Remove useless goto. TrackerExtractController: Fix coding style TrackerExtractController: Avoid useless string comparaison TrackerDecorator: Query the type of removed elements When "?urn nie:dataSource tracker:extractor-data-source" gets removed it means that we have to re-extract that file. It should not happen in normal usage, only for testing purpose. In that case we have to query its type. Add TrackerExtractController to pause/resume the miner It listen to "wait-for-miner-fs" option and check the status of tracker-miner-fs to pause/resume the extractor. https://bugzilla.gnome.org/show_bug.cgi?id=719802 tracker-extract: add "wait-for-miner-fs" setting https://bugzilla.gnome.org/show_bug.cgi?id=719802 TrackerExtractDecorator: Add ClearRdfTypes DBus method Also handle SetRdfTypes with empty strv the same as ClearRdfTypes. https://bugzilla.gnome.org/show_bug.cgi?id=719802 TrackerDecorator: Sort elem_queue to extract important files first There are 2 things affecting an element position in the queue: prepend (typically files from an USB key the user plugged), and prior (the file type matches what applications needs first, e.g. nfo:Audio). The queue is sorted like that: 1) prepend and prior files 2) prior files 3) prepend files 4) the rest This garantees that if I open the Music app and plug an USB key, I'll get the MP3s from that key first, which is probably want the user wants. https://bugzilla.gnome.org/show_bug.cgi?id=719802 Conflicts: src/libtracker-miner/tracker-decorator.c TrackerDecorator: Replace the elements GQueue with a TrackerPriorityQueue This will allow more fine grained priorities than the current append/prepend. TrackerDecorator: Query the rdf:type for each element in the queue The type will be used in upcoming commits to sort the elem_queue by priority. https://bugzilla.gnome.org/show_bug.cgi?id=719802 TrackerExtractDecorator: Add priority dbus interface That dbus interface lets application tell tracker-extract which rdf:type must be extracted in priority. For example, when the user interacts with the music player, they want to give the priority to "nfo:Audio" files. This commit only introduces the DBus machinary, not the actual implementation. https://bugzilla.gnome.org/show_bug.cgi?id=719802 TrackerExtractDecorator: Fix pause/resume It should not get the next file when the miner is paused/stopped, or if there are no items available anymore. This also ensure we never have more than MAX_EXTRACTING_FILES (currently one) extraction operation running in parallel. https://bugzilla.gnome.org/show_bug.cgi?id=719802 tracker-extract: Fix TrackerConfig not handling change notification https://bugzilla.gnome.org/show_bug.cgi?id=719802 TrackerPriorityQueue: Add node-based API This exposes the fact that it is implemented using a GList, but makes possible to remove a node without iterating the whole queue. Those new API will be used in upcoming commits. TrackerDecorator: remove the "(boxed)" annotation That annotation does not exist, g-i is smart enough to see by itself that TrackerDecoratorInfo is a boxed type. 2014-02-19 Martyn Russell <martyn@lanedo.com> Merge branch 'prioritized-crawling' 2014-02-14 Martyn Russell <martyn@lanedo.com> Release 0.17.2 build: Fixed the way locales are included for FireFox and Thunderbird Fixes distcheck 2014-02-13 Martyn Russell <martyn@lanedo.com> tracker-needle: Fixed GTK+ 3.0 deprecations. Remaining cases are from generated C that Vala needs to fix (e.g. gtk_icon_info_free(), etc). tracker-needle: Fixed typo in Makefile.am, VALACFLAGS was not being used Fixes --target-glib=${GLIB_VERSION} not being used among other things build: Make sure --target-glib used with Vala is the correct GLib version Was set to 2.34, now we use ${GLIB_REQUIRED} in configure. This avoids a bunch of deprecation warnings about g_type_init() (fixed in 2.36) and since we depend on ${GLIB_REQUIRED} it's fine if earlier versions break with Vala built C. 2014-02-13 Carlos Garnacho <carlosg@gnome.org> miner-fs: Set the priority flag on mounted volumes. This is so their content is inspected as soon as possible, even if tracker is busy crawling over local directories. libtracker-miner: Obey the "priority" flag when adding files to processing queues If a file belongs to a root directory with that flag set, it will get G_PRIORITY_HIGH at the time of processing the file in TrackerMinerFS queues. Also, make tracker_miner_fs_check_directory() use G_PRIORITY_HIGH, like check_file() does. libtracker-miner: Add/handle a "priority" TrackerDirectoryFlag If that flag is set on a file in the TrackerIndexingTree, the TrackerFileNotifier will append these when processing, so these directories will be crawled and inspected as soon as possible libtracker-miner: Detach early the processed file in TrackerFileNotifier This is so priv->pending_index_roots can be prepended/appended without confusing ongoing crawling on the current folder. tracker-extract: Split generic gstreamer/libav extract rules This is so audio, images and videos going through these modules get more specific rdf:types than nfo:Media, as it is usually nfo:Media subclasses which get flagged as tracker:notify. This fixes situations where GraphUpdated wouldn't be emitted for files where it really should. Fix build on firefox plugin The pl-PL directory was recursed in Makefile, but no Makefile was generated on that directory. 2014-02-12 Piotr Drąg <piotrdrag@gmail.com> Added Polish translations of Firefox and Thunderbird extensions 2014-02-11 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Use a fully expanded name for the decorator nie:DataSource This is in order to avoid confusions where the TrackerDecorator gets the real nie:DataSource ID for comparisons in GraphUpdate, but implementations insert the shorthand, that doesn't end up resolving to the same nie:DataSource. libtracker-common: Add define for the tracker: ontology prefix libtracker-miner: Ensure the decorator nie:DataSource is queried as an IRI 2014-02-11 Martyn Russell <martyn@lanedo.com> tracker-needle: Go to search results from entry box by pressing Down https://bugzilla.gnome.org/show_bug.cgi?id=723097 2014-02-10 Martyn Russell <martyn@lanedo.com> tracker-needle: Don't list emails as "Documents" https://bugzilla.gnome.org/show_bug.cgi?id=696099 thunderbird: Update tracker-sparql binary check to look for -1.0 Was 0.16 and 0.14. Now we have a stable API version in the library name, this should mean the thunderbird plugin works more often than not. firefox: Update tracker-sparql binary check to look for -1.0 Was 0.16 and 0.14. Now we have a stable API version in the library name, this should mean the firefox plugin works more often than not. Merge branch 'thunderbird-24' build: Use API version 1.0 instead of bumping it every stable release series. Dependent libraries and applications were tired of updating this every 6 months. This was OK'd by the GNOME release team and others in the Tracker team. 2014-02-10 Adrien Bustany <adrien@bustany.org> Trackerbird: Add fr-FR and es-ES locales 2014-02-10 Michael Lipp <mnl@mnl.de> Trackerbird: added UI localization. plugins/thunderbird: Escape folder names in URIs plugins/thunderbird: Port to Thunderbird 24 plugins/thunderbird: Fix formatting in plugin.js plugins/thunderbird: Add more debug messages 2014-02-09 Milo Casagrande <milo@ubuntu.com> [l10n] Updated Italian translation. 2014-02-07 Xavier Claessens <xavier.claessens@collabora.co.uk> Revert "TrackerDecorator: Remove unused argument in element_remove_link()" This reverts commit f804134f2ec499e919fcfb714e2c6ae702e1939e. TrackerDecorator: Make sure to flush remaining sparql updates when finished Otherwise last extracted files will never be stored. TrackerDecorator: Fix infinite loop If some ids already have a nie:dataSource, they will never be removed from our queue. This is a regression introduced by commit 94d4a85. TrackerDecorator: Remove unused argument in element_remove_link() 2014-02-07 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2014-02-06 Martyn Russell <martyn@lanedo.com> Merge branch 'use-libmediaart' build: depend on libmediaart Previously we did everything ourselves, but now we've exported all mediaart functionality to a new library and we just link with that now! 2014-02-06 Xavier Claessens <xavier.claessens@collabora.co.uk> TrackerFileSystem: Fix warning when registering a property twice Use g_hash_table_contains() instead of _lookup() for the case where the destroy function is NULL. https://bugzilla.gnome.org/show_bug.cgi?id=719802 TrackerDecoratorInfo: register as boxed type Introspection needs a boxed type to work. Also this fix ref-counting issue, tracker_decorator_next_finish() returns the ref but caller couldn't unref it because the unref function wasn't public. The other solution would be to make _next_finish() transfer none and remove the destroy func in g_task_return_pointer(), but that's unusual for finish functions. https://bugzilla.gnome.org/show_bug.cgi?id=719802 tracker_decorator_next(): Queue tasks when a query is needed This avoid double query when calling tracker_decorator_next() multiple times consecutively. https://bugzilla.gnome.org/show_bug.cgi?id=719802 TrackerDecorator: Fix a compilator warning gcc was thinking that strings could be used uninitialized. This fix the warning and simplify the code using a GPtrArray which is more natural for string arrays. https://bugzilla.gnome.org/show_bug.cgi?id=719802 TrackerDecorator: Avoid code duplication query_append_rdf_type_filter() was copy/pasted in 2 modules, better share one internal function. https://bugzilla.gnome.org/show_bug.cgi?id=719802 TrackerDecorator: Make _prepend_ids and _delete_ids singular It is easier to pass ids one by one instead of creating a GArray. Also it will be needed when passing more info about the id in upcoming commit. https://bugzilla.gnome.org/show_bug.cgi?id=719802 2014-02-03 Martyn Russell <martyn@lanedo.com> tracker-sandbox: Fix license address See https://bugzilla.gnome.org/show_bug.cgi?id=721455 2014-02-02 Rafael Ferreira <rafael.f.f1@gmail.com> Updated Brazilian Portuguese translation 2014-02-01 Andika Triwidada <andika@gmail.com> Updated Indonesian translation 2014-02-01 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw> Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-01-31 Colin Walters <walters@verbum.org> Partially revert previous FSF translation commit It broke the "ar" and "el" translations. 2014-01-31 Daniel Mustieles <daniel.mustieles@gmail.com> Updated FSF's address 2014-01-26 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-01-24 Martyn Russell <martyn@lanedo.com> Release 0.17.1 2014-01-24 Reinout van Schouwen <reinouts@gnome.org> Updated translation by Erwin Poeze 2014-01-23 Jürg Billeter <j@bitron.ch> build: Require Vala >= 0.18.0 Vala 0.16 has a bug in the g_dbus_message_get_body binding. 2014-01-22 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2014-01-22 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation Updated POTFILES.in 2014-01-21 Carlos Garnacho <carlosg@gnome.org> Merge branch 'wip/passive-extraction' extract: Remove --disable-shutdown argument With tracker-extract being now a TrackerMiner (and hence long-lived), this argument does now nothing, so remove all traces of it. extract: Plug a leak If the string being processed is detected as UTF16, the "utf8" variable would already contain a malloc()'ed string, so the GString would be leaked altogether. Then, ensure the string is freed if already converted from UTF16, and spare the utf8 validation too, since we already know the string is valid utf8. extract,msoffice: call g_free() on the right pointer the "keyw" variable ends up pointing to chunks within the string that must be freed, so keep a pointer to the original string so it can be freed afterwards. extract,mp3: Plug a leak Those loops bail out because the variable word hasn't been found to contain non-blank characters, but it still may point out to strings like "", so ensure that memory is freed. extract,gst: Ensure GstDiscovererInfo structs aren't leaked gst_discoverer_discover_uri() may return a non-NULL error and a GstDiscovererInfo pointer, so ensure it is freed in case of error. The info was also being leaked on successful extraction, that is fixed too. extract,gif: Plug a leak In case of error, the filename was being leaked. extract: Ensure a task is added to priv->running_tasks just once If a tasks was iterated over multiple extraction modules, the task ended up inserted on priv->running_tasks more than once, but only removed once when the task finished, leaving dangling pointers in priv->running_tasks. extract: Do not leak info for unhandled files If no extraction module was found for a file, the corresponding TrackerExtractTask was being leaked. decorator: Do not leak TrackerDecoratorInfo structs Set the only reference to the decorator info as the GTask return value, so it is definitely destroyed when the GTask itself is unref()'ed. decorator: Plug a leak The values returned by g_variant_get() must be freed. decorator: do not estimate remaining time when 0 elements have been processed >0 processed items are needed in order to estimate time, otherwise division by 0 happens. 2014-01-21 Martyn Russell <martyn@lanedo.com> libtracker-miner: Updated documentation with TrackerDecorator* APIs libtracker-miner: Improved warnings in cases of failure t with mount events libtracker-miner, tracker-extract: Fix include order libtracker-miner: Clearer error message for decorator class ID failures libtracker-miner: Use g_slice_new0() instead of g_new0() where it makes sense Given we're reusing these struct sizes many times, it makes sense to use GSlice. 2014-01-21 Carlos Garnacho <carlosg@gnome.org> tracker-extract: remove now nonexistent #include tracker-extract: Remove TrackerController It is now unused, and its role replaced by TrackerExtractDecorator ontology: set tracker:notify on nfo:Video This is to cover all basic classes that tracker-extract needs to do piggyback indexing. tracker-extract: Turn into a full-blown miner TrackerExtractDecorator is put in use, replacing TrackerController as the master of TrackerExtract. .service and .desktop files are added as appropriate so tracker-extract is recognized as a miner, handled by tracker-control, etc... tracker-extract: Add TrackerExtractDecorator This is a tracker-extract implementation of TrackerDecorator, that takes care of fetching files to be inspected, and forward these to the passed TrackerExtract object. Upon completion, the information is returned back to TrackerDecorator control so it is eventually committed. tracker-extract: Do not add statistics data if no module handled the file This prevents a crash when reporting the statistics later, as there is a NULL key that is expected to be a GModule. libtracker-miner: Add TrackerDecoratorFS This is a file-specific implementation of TrackerDecorator, that besides checks on initialization, it checks for previously known items not yet extracted on newly added volumes. libtracker-miner: Add TrackerDecorator This object is a TrackerMiner abstract implementation that instead of actively looking for information, it passively receives notifications through the tracker-store GraphUpdated DBus signal, and offers the possibility to fill in further information of newly added resources or older resources missing inspection by this miner. By default, this object receives information from all resources with tracker:notify true, the class-names property can tweak this so it only acts on events from a certain rdf:type. In order to know which elements are missing inspection, the miner relies on a nie:DataSource specific to each TrackerDecorator implementation. On startup, TrackerDecorator will check for the eligible elements missing that datasource to ensure those are checked. The data source can be set through the data-source property. ontologies: Add static nie:DataSource for tracker-extractor This nie:DataSource will be added to resource by tracker-extract, in order to mark files already inspected, and recognize the files that are still unprocessed if resuming is needed. miner-fs: Set relevant rdf:types on files This way, files will be recognized as promptly as possible as being of the correct type, even though tracker-extract hasn't gone through it yet. This information could also be used in tracker-extract itself in order to figure out the best extractor. miner-fs: Remove code that calls tracker extract Tracker-extract is going to be meant to listen for GraphUpdated signals, so no direct communication between tracker-miner-fs and tracker-extract would be necessary. tracker-extract: Set FallbackRdfTypes on all .rule files libtracker-extract: Read FallbackRdfTypes as a string list in .rule files FallbackRdfTypes (with an extra 's') is now a string list, so all rdf:types that apply to a mimetype can be specified. 2014-01-21 Sam Thursfield <sam.thursfield@codethink.co.uk> Fix compile warnings in tracker-fts.c Fix fts:offsets() Since the fts4 branch was merged, the fts:offsets() function has been broken, because it assumed that properties were stored in the 'fts' table in ID order but this was no longer the case. The property names list is now created on init as static data, but this requires having the 'fulltext_indexed' property available in all cases where previously it has only been available if the ontologies were loaded directly rather than from the GVDB cache. tests/functional-tests/03-fts-functions.py has been improved to test the fts:offsets() function more thoroughly. https://bugzilla.gnome.org/show_bug.cgi?id=721880 2014-01-21 Aleksander Morgado <aleksander@aleksander.es> libtracker-data: new 'tracker:unaccent' method https://bugzilla.gnome.org/show_bug.cgi?id=722254 This method allows removing combining diacritical marks (accents) from strings used in SPARQL queries. It expects a single argument, the string to be unaccented. Note that the output string will also be NFKD-normalized. Example: 1) First, insert a new element which has accents in the nie:title. In the example we insert the word 'école' which in UTF-8 NFC looks like "0xC3 0xA9 0x63 0x6F 0x6C 0x65": $ tracker-sparql -u -q " INSERT { <abc> a nie:InformationElement . <abc> nie:title 'école' }" 2) Second, get hexdump of querying nie:title, we should get the original string in UTF-8 and NFC normalization: $ tracker-sparql -q " SELECT ?title WHERE { <abc> nie:title ?title }" | hexdump 0000000 6552 7573 746c 3a73 200a c320 63a9 6c6f 0000010 0a65 000a 0000013 Or, without the hexdump... $ tracker-sparql -q " SELECT ?title WHERE { <abc> nie:title ?title }" Results: école 3) Last, apply the unaccenting method. The expected string should look like "0×65 0×63 0x6F 0x6C 0×65" (i.e. without the combining diacritical mark): $ tracker-sparql -q " SELECT tracker:unaccent(?title) WHERE { <abc> nie:title ?title }" | hexdump 0000000 6552 7573 746c 3a73 200a 6520 6f63 656c 0000010 0a0a 0000012 Or, without the hexdump... $ tracker-sparql -q " SELECT tracker:unaccent(?title) WHERE { <abc> nie:title ?title }" Results: ecole libtracker-data: new 'tracker:normalize' method https://bugzilla.gnome.org/show_bug.cgi?id=722254 This method allows normalizing the strings used in SPARQL queries. It expects two arguments: First, the string to be normalized, and second, one of "nfc", "nfd", "nfkc" or "nfkd" specifying the type of normalization to apply to the string. Example: 1) First, insert a new element which has accents in the nie:title. In the example we insert the word 'école' which in UTF-8 NFC looks like "0xC3 0xA9 0x63 0x6F 0x6C 0x65": $ tracker-sparql -u -q " INSERT { <abc> a nie:InformationElement . <abc> nie:title 'école' }" 2) Second, get hexdump of querying nie:title, we should get the original string in UTF-8 and NFC normalization: $ tracker-sparql -q " SELECT ?title WHERE { <abc> nie:title ?title }" | hexdump 0000000 6552 7573 746c 3a73 200a c320 63a9 6c6f 0000010 0a65 000a 0000013 3) Third, now apply explicitly NFC normalization, we should get the same output: $ tracker-sparql -q " SELECT tracker:normalize(?title,'nfc') WHERE { <abc> nie:title ?title }" | hexdump 0000000 6552 7573 746c 3a73 200a c320 63a9 6c6f 0000010 0a65 000a 0000013 4) Last, apply a NFD decomposition, the expected decomposed string should look like "0×65 0xCC 0x81 0×63 0x6F 0x6C 0×65": $ tracker-sparql -q " SELECT tracker:normalize(?title,'nfkd') WHERE { <abc> nie:title ?title }" | hexdump 0000000 6552 7573 746c 3a73 200a 6520 81cc 6f63 0000010 656c 0a0a 0000014 libtracker-data: remove unneeded fallback methods to use glib as unicode support We already require either libunistring or libicu, so the glib-based fallback methods will actually never be used. 2014-01-20 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2014-01-20 Ting-Wei Lan <lantw44@gmail.com> tracker-ioprio, tracker-sched: Fix includes We need glib.h because of G_{BEGIN,END}_DECLS, and we do not need tracker-log.h. https://bugzilla.gnome.org/show_bug.cgi?id=722525 2014-01-19 Enrico Nicoletto <liverig@gmail.com> Updated Brazilian Portuguese translation 2014-01-19 Rafael Ferreira <rafael.f.f1@gmail.com> Revert "Updated Brazilian Portuguese translation" This reverts commit 6fdbaf57554ffe6d874d56e41b79b5ddc57b0db8. Updated Brazilian Portuguese translation 2014-01-18 Tong Hui <tonghuix@gmmail.com> Update Chinese simplified translation 2014-01-17 Martyn Russell <martyn@lanedo.com> Merge branch 'deprecated-g-test-trap-fork' tests: Removed all cases of g_test_trap_fork() which has been deprecated. Now we're using g_test_trap_subprocess() instead and that requires GLib 2.38. Tracker now depends on GLib 2.38. 2014-01-17 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-01-17 Martyn Russell <martyn@lanedo.com> docs/tools/ttl2sgml: Don't error if we have nao:deprecated for namespaces Previously, this would error when generating the documentation with something like: (lt-ttl2sgml:4857): Tracker-ERROR **: 'http://www.tracker-project.org/temp/mlo#' is not a class nor a property!? and ../../../docs/tools/gen-doc.sh: line 52: 4857 Trace/breakpoint trap (core dumped) $TTL2SGML -d $f -o $BUILD_DIR/$PREFIX-ontology.xml -f $BUILD_DIR/fts-properties.xml -e $ONTOLOGIES_INFO_DIR/$PREFIX/explanation.xml Given the entire namespace for MLO is deprecated, we have simply removed the g_error here. docs/reference/ontology: Make output cleaner when generating ontology docs docs/reference: Use gtkdocize --flavour no-tmpl to avoid -chmod issue Suggested in actual gtkdoc bugfix here: https://bugzilla.gnome.org/show_bug.cgi?id=701259 docs/tools: make gen-doc.sh more portable, don't use /bin/bash https://bugzilla.gnome.org/show_bug.cgi?id=722353 docs/tools: Improve output and checking for gen-doc.sh Used to generate ontology reference documentation 2014-01-13 Xavier Claessens <xavier.claessens@collabora.co.uk> Remove marshallers Glib >= 2.30 already hard depend on libffi. 2014-01-13 Dimitris Spingos <dmtrs32@gmail.com> Updated Greek translation 2014-01-12 Daniel Korostil <ted.korostiled@gmail.com> Added uk translation 2014-01-10 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2014-01-10 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2014-01-10 Milo Casagrande <milo@ubuntu.com> [l10n] Updated Italian translation. 2014-01-09 Sam Thursfield <sam.thursfield@codethink.co.uk> functional-tests: Set up data directores like tracker-sandbox does To debug a functional test failure you can now replace the 'rm' at the bottom of 'test-runner.sh' with 'echo', and then call: tracker-sandbox.py -i /tmp/tracker-test-XXXX/tracker-tests --shell sandbox: Use separate dirs for config, data, etc. It's not a good idea to set XDG_CONFIG_HOME, XDG_DATA_HOME, etc. to the same directory, because some software might store a file with the same name in two of those directories. DConf does it. 2014-01-09 Philip Van Hoof <philip@codeminded.be> Add the rule file for libav Fixes after review for the libav support 2014-01-09 Andrew den Exter <andrew.den.exter@jollamobile.com> Improve detection of media stream properties. Use the much more comprehensive avformat_stream_info to probe data from packetized data rather than directly trying to partially decode frames. Ensure video size is extracted by libav extractor. It may be necessary to parse the MPEG bitstream to get width and height from some videos so if the resolution isn't immediately available decode enough data to determine it. Fix uninitialized variable in libav extractor. And warning about passing NULL to an argument that takes an int in vorbis extractor. Add a libav based generic media extractor. 2014-01-09 Philip Van Hoof <philip@codeminded.be> Fixes after review for GraphUpdated Delay feature Make it possible to configure the delay for GraphUpdated Helps fixing JB# 11570 Fixes after review for Qt5 port Use minimal in Nemo for QGuiApplication for in case the compositor isn't running yet. Use QGuiApplication instead of QCoreApplication 2014-01-09 Andrew den Exter <andrew.den.exter@jollamobile.com> Port to Qt5. Save folder media art for ogg files. 2014-01-09 Sam Thursfield <sam.thursfield@codethink.co.uk> functional-tests: Avoid requiring --enable-maemo 2014-01-08 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2014-01-08 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2014-01-07 Martyn Russell <martyn@lanedo.com> tracker-control: Added option --collect-debug-info Useful when debugging problems to diagnose the state of Tracker on your system. The data is output to stdout. Useful if bugs are filed against the project itself. Data collected includes Tracker version in use, disk space available, size of the databases on the disk, the configuration in use, states of the index (e.g. last filesystem crawl, data set locale, etc.) and finally statistics about the data in the database (e.g. how many nfo:FileDataObject resources exist). 2014-01-06 Ralph Boehme <sloowfranklin@gmail.com> Add strnlen() compat function 2014-01-04 Marek Černocký <marek@manet.cz> Updated Czech translation 2014-01-03 Rafael Ferreira <rafael.f.f1@gmail.com> Updated Brazilian Portuguese translation 2014-01-02 Christian Kirbach <christian.kirbach@gmail.com> Updated German translation 2013-12-30 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2013-12-18 Debarshi Ray <debarshir@gnome.org> libtracker-extract: Link against libicu when using it https://bugzilla.gnome.org/show_bug.cgi?id=720686 2013-12-07 甘露(Gan Lu) <rhythm.gan@gmail.com> Update Chinese simplified translation 2013-12-03 Carlos Garnacho <carlosg@gnome.org> fts: Strengthen against sqlite failures in FTS functions function_weights() and function_property_names() (used respectively by SPARQL fts:rank and fts:offsets functions), initialize all data at first from the database, so it's available in memory for posterior runs, although currently those are being quite optimistic about the database return values in several ways, so: - Ensure no infinite loops happen on sqlite3_step() if the stmt trips into some unexpected state. SQLITE_BUSY still does keep looping though. - As initialization here is a failable task, stop using g_once_init_* and use an static GMutex so initialization can be tried later again if it failed previously. - For the cases where initialization failed, propagate the error code on the sqlite3_context. Based on work by Tim Waugh and Michael Catanzaro. https://bugzilla.redhat.com/show_bug.cgi?id=1026283 2013-11-29 Zeeshan Ali (Khattak) <zeeshanak@gnome.org> extract-iso: Make use of OS variants Take the name of first variant as 'nie:title', if any. https://bugzilla.gnome.org/show_bug.cgi?id=719512 extract-iso: Use osinfo_db_identify_media osinfo_db_guess_os_from_media is deprecated in newer libosinfo and is replaced by osinfo_db_identify_media. https://bugzilla.gnome.org/show_bug.cgi?id=719512 Require libosinfo >= 0.2.9 https://bugzilla.gnome.org/show_bug.cgi?id=719512 2013-11-29 Colin Walters <walters@verbum.org> tracker-store.desktop: Add missing flags argument Sorry, forgot to rebase this. https://bugzilla.gnome.org/show_bug.cgi?id=715040 2013-11-28 Sam Thursfield <sam.thursfield@codethink.co.uk> build: Add SQLite 3.8.1 to list of bad SQLite versions There is a bug in SQLite version 3.8.1 which causes incorrect query results. See the following links for more details: https://mail.gnome.org/archives/tracker-list/2013-November/msg00021.html https://bugzilla.redhat.com/show_bug.cgi?id=1034714 The bug is fixed in SQLite master already so version 3.8.2 should be fine to use. 2013-11-25 Sam Thursfield <sam.thursfield@codethink.co.uk> tests: Fix failure in tracker-sched-test under jhbuild jhbuild defaults to running under 'SCHED_IDLE'. The test asserts that the test is initially using 'SCHED_OTHER' -- this is a bad idea, we shouldn't be making assertions about the environment in which the user is running the tests. tests: Avoid invalid calls to g_source_remove(). GLib now warns if removing a source that no longer exists. This was causing intermittent failure of tracker-file-notifier-test If the test timeout executed before the test's main loop exited, the following error would occur: GLib-CRITICAL **: Source ID 130 was not found when attempting to remove it The functional tests have also been fixed. 2013-11-25 Aleksander Morgado <aleksander@lanedo.com> test,libtracker-fts: allow alternate number of expected words In ICU 50 the word splitting algorithm changed, so this test may get different results depending on the host environment. The test simply needs to verifying that word splitting works, so it should allow either value. As of November 2013 Ubuntu is still shipping an older version of ICU so it would be awkward to simply increase the version we depend on. https://bugzilla.gnome.org/show_bug.cgi?id=699412 2013-11-25 Colin Walters <walters@verbum.org> Avoid starting tracker-store twice We install both of: /etc/xdg/autostart/tracker-store.desktop /usr/share/dbus-1/services/org.freedesktop.Tracker1 If something else speaks to tracker via during login, what will happen is that dbus-daemon will spawn one, and gnome-session will also spawn one, and one of these will emit a critical message. To fix this, change the .desktop file merely use DBus (it'd be nice if there was an easier way to do this). Instead, maybe we could consider only dbus-activating tracker? In other words, if nothing wants to talk to us, maybe we shouldn't be starting by default... https://bugzilla.gnome.org/show_bug.cgi?id=715040 2013-11-23 Carlos Garnacho <carlosg@gnome.org> miner-fs: initialize timers as stopped This way timers are in agreement with their boolean guards, and will get continued when processing actually starts. 2013-11-22 Carlos Garnacho <carlosg@gnome.org> Bump for 0.17.1 2013-11-22 Carlos Garnacho <carlos@lanedo.com> Release 0.17.0 libtracker-data: Fix possible double removal of GIOChannel watch sources If some channel watch functions returns FALSE, don't attempt to remove the source again on process_context_destroy(). Also, don't leak stdout_channel. This fixes critical warnings during make check on the tracker-backup test. tests: Ensure the "no offset" time test has truly no offsets If no UTC relation is set to the date, the computer timezone is picked, which may obviously differ from UTC. tests: Unset TZ if it wasn't set previously miner-fs: Minor code style fixes miner-fs: Add comments to #endifs So it is easier to follow the #if condition 2013-11-21 Colin Walters <walters@verbum.org> common: Don't g_message() on normal bootup This log message gets emitted even if we have nothing to do on normal bootup. This spew is now more visible due to See https://bugs.freedesktop.org/show_bug.cgi?id=68559 By reducing debug output, we make it easier to spot actual errors. https://bugzilla.gnome.org/show_bug.cgi?id=712813 2013-11-19 Antoine Jacoutot <ajacoutot@gnome.org> monitor: use openfiles max limits in the kqueue case kqueue(2) is very hungry for FDs when monitoring files and directories, so use the max NOFILES value as a base for setting up monitor limits. This mitigate the chance to run into the infamous "Too many open files"... https://bugzilla.gnome.org/show_bug.cgi?id=712349 2013-11-14 Dimitris Spingos <dmtrs32@gmail.com> Updated Greek translation 2013-11-13 Colin Walters <walters@verbum.org> miners/fs/upower: Fix up porting to newer UPower My previous attempt was totally broken as I'd accidentally been passing --disable-upower to configure =/ This patch at least compiles with new upower; doing some testing now. https://bugzilla.gnome.org/show_bug.cgi?id=711496 2013-11-01 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2013-11-01 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Make sure we get config locally before using it for removable media 2013-10-25 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2013-10-19 Martyn Russell <martyn@lanedo.com> libtracker-miner, libtracker-sparql: Fixed missing setlocale() in unit tests Due to the new warning we have in place where locale != DB locale, this needs to be set before the tests will work. libtracker-sparql: Avoid strcmp() build warnings in cursor_get_boolean() 2013-10-19 Sam Thursfield <sam.thursfield@codethink.co.uk> libtracker-data: Remove duplicated version of tracker_db_manager_init_locations() The return value of g_get_user_data_dir() and friends is constant through the lifecycle of the process, so there's no need to initialise paths more than once or in different ways. libtracker-data: Allow calling tracker_db_manager_locale_changed() before init This fixes an issue introduced in commit fa6317fbabb1a7, where the direct backend would fail to find the 'db-locale.txt' marker due to the global 'data_dir' path variable being NULL at the time it called tracker_db_manager_locale_changed(). It would then report that the locale had changed from 'unknown' to the system locale, and abort. https://bugzilla.gnome.org/show_bug.cgi?id=676209 2013-10-19 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Use existing escape_string() in Builder the Builder's _object_string() had it's own duplicate version which was less comprehensive too. libtracker-sparql: Avoid compiler warning and cast const to non-const Used for traversing a char* converted to from a Vala String. We don't change the char, just the *. tracker-extract: Don't clean rules_DATA now we no longer produce it from .in files build: Improve warnings generated from Vala generated C files Don't include all the warnings about -Wunused* 2013-10-18 Martyn Russell <martyn@lanedo.com> build: Avoid warnings about use of old INCLUDES in Makefile.am 2013-10-17 Rūdolfs Mazurs <rudolfsm@src.gnome.org> Added Latvian translation 2013-10-16 Colin Walters <walters@verbum.org> tracker-power-upower: Support both UPower 1.0 and pre-1.0 APIs The old one was removed, we we need to pull out the #ifdef. 2013-10-14 Aleksander Morgado <aleksander@lanedo.com> tests,libtracker-common: fix tests expecting stdout/stderr messages We need to make sure that tests expecting messages from stdout/stderr are not dependent on the specific value set for G_MESSAGES_DEBUG. In other words, make sure that the trap fork tests dump to stdout/stderr unconditionally. Before this fix, we had: $ ./tracker-dbus /libtracker-common/tracker-dbus/slist_to_strv_ok: OK /libtracker-common/tracker-dbus/request: ** Tracker:ERROR:tracker-dbus-test.c:131:test_dbus_request: stdout of child process (12948) failed to match: *TestNewOK* Aborted (core dumped) $ G_MESSAGES_DEBUG=all ./tracker-dbus /libtracker-common/tracker-dbus/slist_to_strv_ok: OK /libtracker-common/tracker-dbus/request: Tracker-DEBUG: <--- [1|0] Test request (--TestNewOK--)) OK /libtracker-common/tracker-dbus/request_failed: Tracker-DEBUG: <--- [2|0] test_dbus_request_failed() OK Now, we just have: $ ./tracker-dbus /libtracker-common/tracker-dbus/slist_to_strv_ok: OK /libtracker-common/tracker-dbus/request: OK /libtracker-common/tracker-dbus/request_failed: OK https://bugzilla.gnome.org/show_bug.cgi?id=710092 libtracker-bus: allow cancellation when iterating cursor In the same way as the direct backend allows it. Also modify the unit test so that we make sure the cancellation is detected. https://bugzilla.gnome.org/show_bug.cgi?id=676209 2013-10-13 Carles Ferrando <carles.ferrando@gmail.com> [l10n] Updated Catalan (Valencian) translation 2013-10-13 Gil Forcada <gforcada@gnome.org> [l10n] Update Catalan translation 2013-10-11 Anish A <aneesh.nl@gmail.com> Updated Malayalam Translation 2013-10-11 Debarshi Ray <debarshir@gnome.org> tracker-extract: Rename *.rules.in to *.rules https://bugzilla.gnome.org/show_bug.cgi?id=709703 2013-10-11 Aleksander Morgado <aleksander@lanedo.com> libtracker-direct: don't allow connection if current and db locale mismatch If the tracker-store (and therefore the database) are using a specific locale, we need to make sure that any process accessing the database with direct access also uses the same locale, or it won't get any results. So, once we find that the current and db locales are different, we just fail the creation of the Tracker.Direct.Connection, and the application will automatically fallback to using the Tracker.Bus.Connection. E.g. with tracker-store running with en_US.utf8, if we use a query with the same locale, it goes ok: $ LC_COLLATE=en_US.utf8 tracker-sparql -q 'SELECT ?u { ?u nie:url "file:///home/something.png" }' Results: urn:uuid:9e75e781-88b7-96bb-a3cf-b2ae77d4d735 Without this patch, if not using the same locale, we would have: $ LC_COLLATE=C tracker-sparql -q 'SELECT ?u { ?u nie:url "file:///home/something.png" }' Results: None And with this patch in, we'll fallback to the bus connection, yielding the correct results: $ LC_COLLATE=C tracker-sparql -q 'SELECT ?u { ?u nie:url "file:///home/something.png" }' Results: urn:uuid:9e75e781-88b7-96bb-a3cf-b2ae77d4d735 Note that if we force using the direct connection, it will fail: $ TRACKER_SPARQL_BACKEND=direct LC_COLLATE=C tracker-sparql -q 'SELECT ?u { ?u nie:url "file:///home/something.png" }' Could not establish a connection to Tracker: Locale mismatch, cannot use direct connection https://bugzilla.gnome.org/show_bug.cgi?id=676209 libtracker-common,media-art: remove unused variables 2013-10-10 Sam Thursfield <sam.thursfield@codethink.co.uk> configure.ac: Honour LIBICU flags when building libtracker-extract We were ignoring these, which lead to build failures when using a non-system version of libicu. configure.ac: Use pkg-config to search for ICU There has been support for pkg-config in ICU for at least four years, see: https://ssl.icu-project.org/trac/ticket/6981 2013-10-10 Debarshi Ray <debarshir@gnome.org> Use $(MKDIR_P) instead of $(mkdir_p) libtracker-extract, tracker-extract: Remove $modulesdir from *.rules https://bugzilla.gnome.org/show_bug.cgi?id=709703 Add a newline at the end of file https://bugzilla.gnome.org/show_bug.cgi?id=709703 2013-10-10 Aleksander Morgado <aleksander@lanedo.com> build: remove no longer needed glib version dependent code paths We require GLib 2.35.x, no need to check for previous versions. 2013-10-08 Martyn Russell <martyn@lanedo.com> man-pages: Added information about TRACKER_SPARQL_BACKEND and TRACKER_PRAGMAS_FILE To tracker-info, tracker-search, tracker-sparql and tracker-tag - where it's useful. 2013-10-08 Philip Van Hoof <philip@codeminded.be> Detect screenshots made by GNOME and add them to a category https://bugzilla.gnome.org/show_bug.cgi?id=709368 2013-10-06 Dušan Kazik <prescott66@gmail.com> Updated slovak translation Updated slovak translation Updated slovak translation 2013-10-03 Martyn Russell <martyn@lanedo.com> Merge branch 'fix-deprecations' utils/sandbox: Added updated version of Sam's original tracker-sandbox Formerly this was a shell script. I've updated this to a Python script and it has much more flexibility. Now you can run separate instances of tracker from different prefixes with different data sets for different content locations, i.e. have multiple data sets for different uses. 2013-10-03 Aleksander Morgado <aleksander@lanedo.com> tests,libtracker-fts: always run full unicode tests We no longer have the glib/pango parser, so just enable all unicode tests. tests,libtracker-fts: use a more generic test string for chinese parser tests Instead of a made up string, which doesn't have any true meaning, and which makes libicu and libunistring differ on the number of words found, use a simpler sentence... https://bugzilla.gnome.org/show_bug.cgi?id=699412 tracker-extract-pdf: fix uninitialized value 'bytes_remaining' needs to be initialized to the 'bytes_expected' value, so that the proper amount of remaining bytes is kept during the outer while() loop. In the first iteration, this will be -1, which will then be updated to afterwards to the same 'bytes_expected' value read from the stream. https://bugzilla.gnome.org/show_bug.cgi?id=702221 2013-10-03 Christophe Rhodes <csr21@cantab.net> tracker-extract: generated album / album-disc urns not very unique https://bugzilla.gnome.org/show_bug.cgi?id=707964 2013-10-02 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2013-10-02 Sam Thursfield <sam.thursfield@codethink.co.uk> tests/libtracker-common: Fix tracker-media-art-test Test should have been updated to reflect the fix made by commit 12656e475b2d6b21d2d0dadc76a681ecec507eb2 (libtracker-common: Use space if the artist name is not known). 2013-10-02 Martyn Russell <martyn@lanedo.com> libtracker-common, tracker-miner-fs: Make sure we load config files with When using TRACKER_USE_CONFIG_FILES env var. Before we would load the GKeyFile but not push that into the GObject config for each binary. libtracker-common: tracker_string_list_to_{gslist|string}() both accept NULL now Instead of erroring, now we just return NULL when the string list is empty. 2013-10-01 Kenneth Nielsen <k.nielsen81@gmail.com> Updated Danish translation 2013-10-01 Milo Casagrande <milo@ubuntu.com> [l10n] Updated Italian translation. 2013-10-01 Carlos Garnacho <carlos@lanedo.com> Revert "tracker-extract-mp3: Do not always use guessed encoding for ID3v2" The new ICU based encoding detector should be more reliable, plus this hack is triggered consistently on a very wide set of locale environments, also happening for legit files that do need the encoding. The bug and file that motivated this patch are also long lost and forgotten... so this patch will remain in git history. This reverts commit 9b2acf60b54fe9332a48f5260350c050e65c4111. libtracker-extract: Add ICU-based encoding detection This is used before enca if libicu is available, an UCharsetDetector is used to detect the most likely encoding for a given string. Out of testing, it provides more reliable values than enca, where you first have to make a rough guess on the locale, yielding more false positives. 2013-09-30 Martyn Russell <martyn@lanedo.com> tracker-needle: Fix "Page" vs "Pages" in document lists Fixes (in part): https://bugzilla.gnome.org/show_bug.cgi?id=707499 2013-09-28 Kristjan SCHMIDT <kristjan.schmidt@googlemail.com> Updated Esperanto translation 2013-09-27 Martyn Russell <martyn@lanedo.com> tracker-writeback: Use cancellable for GTask from data 2013-09-27 Carlos Garnacho <carlos@lanedo.com> Fix GValue memory handling 2013-09-27 Martyn Russell <martyn@lanedo.com> libtracker-data, tracker-writeback: Switched all g_io_scheduler_push_job() --> g_task_run_in_thread() g_io_scheduler_push_job() is deprecated libtracker-data: Switched all GValueArray --> GArray GValueArray is deprecated 2013-09-25 Yuri Myasoedov <omerta13@yandex.ru> Updated Russian translation 2013-09-22 Kenneth Nielsen <k.nielsen81@gmail.com> Updated Danish translation 2013-09-22 Jiro Matsuzawa <jmatsuzawa@gnome.org> l10n: Update Japanese translation 2013-09-21 Alexandre Franke <alexandre.franke@gmail.com> Update French translation 2013-09-20 Benjamin Steinwender <b@stbe.at> Updated German translation 2013-09-17 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw> Updated Traditional Chinese translation(Hong Kong and Taiwan) 2013-09-16 Ralph Boehme <sloowfranklin@gmail.com> tracker-extract-pdf: remove usage of non async-signal safe functions from signal handler Fixes nasty crash that can occur. 2013-09-15 Dušan Kazik <prescott66@gmail.com> Updated slovak translation 2013-09-14 Ville-Pekka Vainio <vpvainio@iki.fi> Finnish translation update by Jiri Grönroos 2013-09-13 Seong-ho Cho <darkcircle.0426@gmail.com> Updated Korean translation 2013-09-13 Martyn Russell <martyn@lanedo.com> Merge branch 'epub-metadata-improvements' tracker-extract-epub: Fix ontology and sparql used so it's not rejected by miner-fs https://bugzilla.gnome.org/show_bug.cgi?id=706530 tracker-extract-epub: Fixed remaining strndup() cases and some coding styles tracker-extract-epub: Fixed roles extracted tracker-extract-epub: Improve debugging tracker-extract-epub: Make sure we consistently use g_{free|strdup|etc} APIs There was some mixing of free/strdup with g_strdup(). tracker-extract-epub: Fix coding style for recent work from Martin 2013-09-13 Martin Franco <mfranco@gmx.com> tracker-extract-epub: Extract more metadata, including author to nco:PersonContact Added metadata: language, description, author family/given/other name, description, subject, isbn and uuid. 2013-09-12 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2013-09-12 Jonatan Pålsson <jonatan.palsson@pelagicore.com> tests: Verify that tracker_priority_queue_peek can handle empty queues tracker-priority-queue: Check segments array bounds in peek function Failing to do this will cause indexing outside the bounds of the array when the priority queue is empty. 2013-09-12 Alexandre Franke <alexandre.franke@gmail.com> Update French translation 2013-09-12 Gabor Kelemen <kelemeng@gnome.hu> Updated Hungarian translation 2013-09-12 Sam Thursfield <sam.thursfield@codethink.co.uk> functional-tests: No longer need to install DConf profile in /etc Since version 0.11.6 the DCONF_PROFILE environment variable can specify an absolute path, instead of requiring a file to be installed in /etc. This means the functional test suite can now be installed without requiring root. utils/tracker-sandbox: Update to use new-style DConf profile This fixes the "Error loading dconf profile 'trackertest'" message when using the tracker-sandbox script. This commit also adds a warning message when the file is not found, to remind the user that it is only installed when Tracker is configured with --enable-functional-tests. 2013-09-12 Andika Triwidada <andika@gmail.com> Updated Indonesian translation 2013-09-11 Enrico Nicoletto <liverig@gmail.com> Updated Brazilian Portuguese translation 2013-09-10 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2013-09-10 Milo Casagrande <milo@ubuntu.com> [l10n] Updated Italian translation. 2013-09-10 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2013-09-10 Marek Černocký <marek@manet.cz> Updated Czech translation 2013-09-10 Ihar Hrachyshka <ihar.hrachyshka@gmail.com> Remove obsolete Belarusian translation. 2013-09-10 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2013-09-10 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2013-09-10 Martyn Russell <martyn@lanedo.com> build: Unify variations of "no error given" to save translators work https://bugzilla.gnome.org/show_bug.cgi?id=707150 build: Add context for translators for command line binaries https://bugzilla.gnome.org/show_bug.cgi?id=707501 tracker-needle, tracker-search: Use ellipsis instead of three dots https://bugzilla.gnome.org/show_bug.cgi?id=707498 2013-09-09 Yuri Myasoedov <omerta13@yandex.ru> Updated Russian translation 2013-09-06 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw> Updated Traditional Chinese translation(Hong Kong and Taiwan) 2013-09-06 Мирослав Николић <miroslavnikolic@rocketmail.com> Updated Serbian translation 2013-09-04 Dušan Kazik <prescott66@gmail.com> Updated slovak translation 2013-09-03 Alexandre Franke <alexandre.franke@gmail.com> Update French translation 2013-09-03 Milo Casagrande <milo@ubuntu.com> [l10n] Updated Italian translation. 2013-09-03 Ralph Boehme <sloowfranklin@gmail.com> libtracker-common: Use procfs psinfo instead of cmdline on Solaris Earlier commit 5b62dbd808928c1886d3ffa54ca01b289d50304e was missing the correct /proc filename for Solaris. 2013-08-27 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2013-08-24 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2013-08-21 Rafael Ferreira <rafael.f.f1@gmail.com> Updated Brazilian Portuguese translation 2013-08-19 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2013-08-17 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2013-08-16 Ralph Boehme <sloowfranklin@gmail.com> build: Update required libgsf version to 1.14.24 Needed for gsf_doc_meta_data_read_from_msole() 2013-08-14 Martyn Russell <martyn@lanedo.com> Merge branch 'remove-old-gio-vapi' vapi: Removed src/vapi/ which was required for very old versions of gio-2.0.vapi build: depend on Vala 0.16.0 as a minimum to cater for this change so we don't carry around an old version of the GIO bindings... https://bugzilla.gnome.org/show_bug.cgi?id=706003 2013-08-12 Arnel A. Borja <arnelborja@src.gnome.org> libtracker-common: Use space if the artist name is not known This is to follow the following spec: https://wiki.gnome.org/MediaArtStorageSpec#Identifiers Space will be the fallback if the artist name is unknown. Fixes GB#705834 2013-08-12 Ralph Boehme <sloowfranklin@gmail.com> libtracker-common: Use procfs psinfo instead of cmdline on Solaris 2013-08-11 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2013-08-10 Marek Černocký <marek@manet.cz> Updated Czech translation 2013-08-08 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation 2013-08-08 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation Removed markup from UI files 2013-08-07 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw> Updated Traditional Chinese translation(Hong Kong and Taiwan) 2013-08-05 Rafael Ferreira <rafael.f.f1@gmail.com> Updated Brazilian Portuguese translation 2013-08-04 Matthias Clasen <mclasen@redhat.com> Fix typos in tracker-search man page A few of the short options were misspelt. https://bugzilla.gnome.org/show_bug.cgi?id=703097 2013-08-04 Yaron Shahrabani <sh.yaron@gmail.com> Updated Hebrew translation. 2013-08-02 Marek Černocký <marek@manet.cz> Updated Czech translation 2013-08-02 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2013-08-01 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2013-07-31 Martyn Russell <martyn@lanedo.com> tracker-preferences: Added reindex function, require GTK+3 & fix optical disc sensitivity. - Glade file required older GTK+ 2.x version, but we require 3.x in the code base. - The index optical discs checkbutton was not correctly insensitive at the right times. - We now have a "system" page to reindex our data if users want an easy way to do this. 2013-07-25 Martyn Russell <martyn@lanedo.com> Merge branch 'config-rewrite-on-start' libtracker-common, tracker-miner-fs: Fixed config file and settings overwriting libtracker-common: Added config tracing to avoid spaming logs most of the time, but kept for cases where we need to see what we're doing with configs. libtracker-common: Added +tracker_config_file_import_to_settings() We call this now from tracker-config.c in miner-fs when using config files to update our local GSettings. No overwriting stored GSettings happens. tracker-miner-fs: Removed all unused _set() functions in tracker-config.[ch]. tracker-miner-fs: Only allow *local* GSettings override of verbosity and initial-sleep from the command line. tracker-miner-fs: Don't re-write the default config in some cases. tracker-miner-fs: For config, don't bind DEFAULT, but only GET for most properties, we don't want to save back what we change locally, that's what tracker-preferences does. https://bugzilla.gnome.org/show_bug.cgi?id=703759 2013-07-23 Martyn Russell <martyn@lanedo.com> tracker-preferences: Mention that TRACKER_USE_CONFIG_FILES has no effect 2013-07-22 Martyn Russell <martyn@lanedo.com> libtracker-common: Small changes to config file logging 2013-07-20 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw> Updated Traditional Chinese translation(Hong Kong and Taiwan) 2013-07-19 Martyn Russell <martyn@lanedo.com> tracker-extract-gstreamer: Don't leak file descriptors & use up all FDs The GStreamer extractor was not calling all the shutdown functions internally to clean up streams in failure conditions. https://bugzilla.gnome.org/show_bug.cgi?id=704048 https://bugzilla.redhat.com/show_bug.cgi?id=741479 https://bugzilla.redhat.com/show_bug.cgi?id=959020 libtracker-data: Don't use the count_changes PRAGMA, it is deprecated See SQLite manual section here: http://www.sqlite.org/pragma.html#pragma_count_changes 2013-07-18 Jonatan Pålsson <jonatan.palsson@pelagicore.com> tracker-extract-mp3: Fix segfault when trying to process NULL ID3 tag When calling g_convert with a missing codepage, it returns NULL, while not setting an error (specifically, if the CP1252 code page is missing, a segmentation fault occurs). This means id3v24_text_to_utf8 and id3v2_text_to_utf8 may return NULL. If NULL is returned by these functions, do not process this tag further. 2013-07-18 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation 2013-07-11 Martyn Russell <martyn@lanedo.com> tracker-extract-gstreamer: Fixed missing const for GstStructure compiler warning 2013-07-11 Arnel A. Borja <arnelborja@src.gnome.org> tracker-extract-gstreamer: Get media art image type from sample info Instead of getting the "image-type" field from the caps of the sample, get it from the structure for extra information of the sample. Check also that the field does exists, skipping the sample if it doesn't. Fixes GB#703747 2013-07-11 Martyn Russell <martyn@lanedo.com> Revert "NFO: Add properties nfo:backgroundColor and nfo:xmlContent" This reverts commit 6c1885f241880b528d29c2270022dac2bdd5be86. This ontology change has been considered inappropriate with how the Tracker data store should be used. More dialogue and information is available on Bugzilla for this. 2013-07-11 Ralph Boehme <sloowfranklin@gmail.com> tracker-control: Use procfs psinfo instead of cmdline on Solaris 2013-07-11 Jonatan Pålsson <jonatan.palsson@pelagicore.com> build scripts: Added switch to disable installation of artwork (icons etc) The switch is --disable-artwork tracker-extract: Make icon extractor optional, using --enable-icon tracker-extract: Make text extractor optional, using --enable-text tracker-extract: Make PS extractor optional, using --enable-ps tracker-extract: Make MP3 extractor optional, using --enable-mp3 tracker-extract: Make DVI extractor optional, using --enable-dvi tracker-extract: Make the AbiWord extractor optional, using --enable-abiword tracker-extract: Make PNG extractor optional, using --enable-libpng 2013-07-11 Philip Van Hoof <philip@codeminded.be> Fix E-mail address in AUTHORS file libtracker-common: Fix indentation of previous patch by contributor 2013-07-11 Ralph Boehme <sloowfranklin@gmail.com> libtracker-common: Add /proc/meminfo replacement for Solaris 2013-07-10 Martyn Russell <martyn@lanedo.com> Don't throw log warnings if GstDateTime has missing information Part Fixes GB#700199 2013-06-27 Philip Van Hoof <philip@codeminded.be> Updated my own E-mail adress in MAINTAINERS and AUTHORS 2013-06-26 Pierre-Yves Luyten <py@luyten.fr> NFO: Add properties nfo:backgroundColor and nfo:xmlContent See NB#701828 2013-06-09 Christian Kirbach <Christian.Kirbach@googlemail.com> Updated German translation 2013-06-03 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation 2013-06-02 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2013-05-21 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2013-05-15 Sam Thursfield <sam.thursfield@codethink.co.uk> Update DConf profile for functional tests to new format This fixes the following warning when running the functional tests: (process:4036): dconf-WARNING **: unknown dconf database description: trackertest 2013-05-15 Yuri Myasoedov <omerta13@yandex.ru> Updated Russian translation 2013-05-13 Gabor Kelemen <kelemeng@gnome.hu> Updated Hungarian translation 2013-05-08 Antoine Jacoutot <ajacoutot@gnome.org> revert Use g_strstr_len() instead of GNU extension memmem. This reverts cdae3a22e7a0001df7877e4ee3531e26158a6d56 g_strstr_len cannot be used in this case if @haystack or @needle have embedded NULs. 2013-05-01 Martyn Russell <martyn@lanedo.com> libtracker-data: Fix unit tests for localtime/timezone functions The insert order != query order and the query has no ORDER BY. So it's not guaranteed anyway, but the diff expects an order. So this patch adds ORDER BY to ensure the diff doesn't fail due to ordering but only lack of content expected. libtracker-sparql-backend: Fix connection singleton mutex issue Since moving from GStaticMutex to GMutex (due to deprecations in GLib), there has been an issue noticed with the way the mutex is created. Before, the GStaticMutex was created in the first instance from any API call and used there on after. This meant the chance of it not being initialised when we used it was almost 0. Now with GMutex, because we've initialised it differently (in the class constructor) with Mutex() this means that g_mutex_init(&_tmp0_) is the generated source from that. Sadly, the first instance of g_mutex_lock() will create the mutex for us if it is NULL or {0} anyway and this happens _BEFORE_ the g_mutex_init() call. So we were locking, initing and the unlocking. This is the cause of the problem. Now we don't initialise the mutex at all and let that initialise upon first lock. Note, atomic operations in GLib should protect race conditions affecting creation of the singleton here. https://bugzilla.gnome.org/show_bug.cgi?id=697316 2013-04-29 Antoine Jacoutot <ajacoutot@gnome.org> Implement get_memory_total() on OpenBSD. https://bugzilla.gnome.org/show_bug.cgi?id=697719 2013-04-28 Žygimantas Beručka <uid0@akl.lt> Updated Lithuanian translation Updated Lithuanian translation Conflicts: po/lt.po 2013-04-24 Antoine Jacoutot <ajacoutot@gnome.org> tracker-dbus: add support for OpenBSD Add OS dependant glue for tracker-dbus on OpenBSD using kvm(3). 2013-04-18 Alexandre Franke <alexandre.franke@gmail.com> Update French translation 2013-04-13 Dominique Leuenberger <dimstar@opensuse.org> firefox/thunderbird: prefer tracker 0.16 over tracker 0.14 https://bugzilla.gnome.org/show_bug.cgi?id=697809 2013-04-11 Antoine Jacoutot <ajacoutot@gnome.org> Use g_strstr_len() instead of GNU extension memmem. https://bugzilla.gnome.org/show_bug.cgi?id=697780 SCHED_IDLE is only available on Linux. https://bugzilla.gnome.org/show_bug.cgi?id=697728 2013-04-10 Antoine Jacoutot <ajacoutot@gnome.org> Another need for XOPEN_SOURCE_EXTENDED missed in previous commit. Was missed in 3443706bbe0c1c2e465336c59f87cec90929ff1e OpenBSD needs _XOPEN_SOURCE_EXTENDED for strptime/strcasecmp These were introduced in XPG4. On OpenBSD, just defining _XOPEN_SOURCE gets you the older XPG3 wich doesn't include them, so we need to define _XOPEN_SOURCE_EXTENDED to get XPG4v2. This fixes several implicit declarations. https://bugzilla.gnome.org/show_bug.cgi?id=697688 2013-04-10 Rafael Ferreira <rafael.f.f1@gmail.com> Updated Brazilian Portuguese translation 2013-04-08 Carlos Garnacho <carlosg@gnome.org> Fix AS ?foo handling in FTS queries FTS queries implicitly add an "AS var" clause to the translated SQL select query so values can be matched with the outer query that accesses FTS tables, which resulted in doubly added AS clauses if it was specified explicitly in SPARQL too. So, make sure the clause is just added once. 2013-04-08 Dimitris Spingos <dmtrs32@gmail.com> Updated Greek translation 2013-03-31 Carles Ferrando <carles.ferrando@gmail.com> [l10n] Updated Catalan (Valencian) translation 2013-03-31 Vicent Cubells <vicent@vcubells.net> [l10n] Update Catalan translation 2013-03-30 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2013-03-30 Мирослав Николић <miroslavnikolic@rocketmail.com> Updated Serbian translation 2013-03-27 Marek Černocký <marek@manet.cz> Updated Czech translation 2013-03-25 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2013-03-25 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2013-03-25 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2013-03-25 Martyn Russell <martyn@lanedo.com> tracker-tag: Fix --list (-t) to use logical OR, not AND Also improve the documentation. tracker-tag: Fixed GLib-WARNING **: goption.c:2193: ignoring no-arg... Was using wrong FLAG in GOption 2013-03-25 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2013-03-19 Victor Ibragimov <victor.ibragimov@gmail.com> Updated Tajik translation 2013-03-18 Martyn Russell <martyn@lanedo.com> Bump version to 0.17.0 and binary version to 0.18 Release 0.16.0 functional-tests: Do not use su - meego when running tracker-control 2013-03-17 Martyn Russell <martyn@lanedo.com> tracker-control: Use g_settings_sync() to make sure all settings are stored --set-log-verbosity was not always working as expected 2013-03-16 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2013-03-15 Martyn Russell <martyn@lanedo.com> src/miners/flickr: Removed This is going to eventually end up in the GNOME Photos application most likely and this was discussed as part of this thread: https://mail.gnome.org/archives/tracker-list/2013-March/msg00007.html utils/ontology/qname-test: Removed, unused utils/services: Renamed to utils/ontologies Less ambiguous utils/data-generators/barnum: Removed This was unused. See original discussion here: https://mail.gnome.org/archives/tracker-list/2013-March/msg00007.html utils/data-generators/deprecated: Removed Completely unused. https://mail.gnome.org/archives/tracker-list/2013-March/msg00007.html utils/webhistory: Removed This was unmaintained and unused. See original discussion here: https://mail.gnome.org/archives/tracker-list/2013-March/msg00007.html utils/lyrics: Removed This was unmaintained and unused. See original discussion here: https://mail.gnome.org/archives/tracker-list/2013-March/msg00007.html utils/playlists: Removed This was unmaintained and unused. See original discussion here: https://mail.gnome.org/archives/tracker-list/2013-March/msg00007.html tracker-search-bar: Removed This was unmaintained and unused. See original discussion here: https://mail.gnome.org/archives/tracker-list/2013-March/msg00007.html tracker-explorer: Removed This was unmaintained and unused. See original discussion here: https://mail.gnome.org/archives/tracker-list/2013-March/msg00007.html 2013-03-14 Martyn Russell <martyn@lanedo.com> Merge branch 'media-art-enhancements-2' 2013-03-14 Dominique Leuenberger <dimstar@opensuse.org> tracker-extract: Add support for giflib 5. https://bugzilla.gnome.org/show_bug.cgi?id=695769 2013-03-13 Martyn Russell <martyn@lanedo.com> thunderbird: Fix libraries we expect to find and connect to Was 0.12/0.14, now 0.14/0.16 firefox: Fix libraries we expect to find and connect to Was 0.12/0.14, now 0.14/0.16 thunderbird: Fixed plugin location which has changed firefox: Fixed plugin location which has changed 2013-03-13 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: Dispose regular files from the filesystem cache on monitor events Regular files gotten through monitor events persisted in the filesystem cache after those events were processed, whereas on other situations TrackerFileNotifier just keeps directories to remain cached and disposes all regular files, so make behavior on monitor events respect that. 2013-03-13 Мирослав Николић <miroslavnikolic@rocketmail.com> Updated Serbian translation 2013-03-12 Martyn Russell <martyn@lanedo.com> Release 0.15.4 tests/gvdb: Fixed static vs non-static compilation warnings libtracker-miner: Fixed various introspection warnings tracker-extract-pdf: Fixed warning for missing enum POPPLER_ACTION_JAVASCRIPT libtracker-extract: Fixed annotation warnings for _module_manager_get_mimetype_handlers() libtracker-extract: Fixed gtkdoc warnings for multiple tracker_getline() libtracker-data: Fixed format not a string literal warnings libtracker-data: Fixed FTS init nested extern declaration warning all: Iradicate all instances of deprecated GStaticMutex build: Use --target-glib=2.34 for StaticMutex->Mutex changes Has to be a stable release, so we can't use 2.35.1 sadly :/ Upstream know about this and will update with a message to warn users 2013-03-12 Dimitris Spingos <dmtrs32@gmail.com> Updated Greek translation 2013-03-12 Martin Kampas <martin.kampas+gnomebugs@ubedi.net> libtracker-miner: Remove GFile from cache regardless of file/dir difference This works recursively for directories Part 2 of 2 for this bug: https://bugzilla.gnome.org/show_bug.cgi?id=643388 libtracker-miner: Always query urn for add/update, metadata may already be in store Part 1 of 2 for this bug: https://bugzilla.gnome.org/show_bug.cgi?id=643388 2013-03-08 Martyn Russell <martyn@lanedo.com> Release 0.15.3 tracker-extract: gsf_msole_metadata_read() --> gsf_doc_meta_data_read_from_msole() Former API is deprecated all: Remove use of g_type_init() now it's deprecated in GLib since 2.35.x tracker-miner-rss: Use g_critical() instead of g_printerr() using the log pipeline all: Improve start/stop logging for all processes Now we have Starting/Stopping in the log_init/shutdown functions not just the process and version. We also only print the log filename if we're writing to a log file at all. We now don't print to stdout that we're initializing either. The TrackerConfigFile g_message() line about which file we're "monitoring" is removed too, this was always the first line and quite redundant anyway now we use gsettings. libtracker-common: Don't log to file by default, only stdout/stderr This is actually only useful for debugging anyway and can be switched on again by starting tracker processes by setting the environment variable TRACKER_USE_LOG_FILES before starting each process. Log files can still be found in either ~/.xsession-errors, ~/.cache/gdm/session.log or systemd journals depending on the system. https://bugzilla.gnome.org/show_bug.cgi?id=695444 2013-03-07 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Fixes not listening for config changes and acting on them https://bugzilla.gnome.org/show_bug.cgi?id=693198 libtracker-miner: Fixed nasty stack corruption with TrackerIndexingTree filter rules 2013-03-06 Christian Kirbach <Christian.Kirbach@googlemail.com> Updated German translation 2013-03-05 Martyn Russell <martyn@lanedo.com> libtracker-fts: Removed unused variable and superfluous parameter in alter_table func 2013-03-05 Jeremy Bicha <jbicha@ubuntu.com> tracker-miner-fs, store: Add Unity to desktop files https://bugzilla.gnome.org/show_bug.cgi?id=695061 2013-03-05 Cosimo Cecchi <cosimoc@gnome.org> libtracker-miner: add an async version of tracker_miner_manager_index_file tracker_miner_manager_index_file is synchronous. This commit adds an asynchronous and cancellable version of the same function. https://bugzilla.gnome.org/show_bug.cgi?id=695157 -- This also bumps the GLib requirement up to 2.35.1 from 2.28.0 for GTask use. GLib 2.35.x should be available in Ubuntu Raring and Fedora 19. 2013-03-01 Cosimo Cecchi <cosimoc@gnome.org> libtracker-miner: don't crash when first indexing files out of /home If tracker_miner_manager_index_file() is called with a path outside of the home directory, we'll end up recursing up to the file system root, to create the parent directory objects. When the tree we're passed is the filesystem root, and the file is exactly equal to it, we should return the tree root immediately, or we'll crash later in the while loop. https://bugzilla.gnome.org/show_bug.cgi?id=694783 2013-02-26 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed vala bindings for TrackerMinerFS It's subclasses Tracker.Miner and GLib.Initable like TrackerMinerWeb 2013-02-26 Dominique Leuenberger <dimstar@opensuse.org> libtracker-data: Make sure we return TRUE/FALSE on success or not for fts init Fixes GB#693889, E: tracker no-return-in-nonvoid-function tracker-data-manager.c:361 2013-02-26 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed "progress" signal introspection The 'remaining_time' (last argument) was missing from the intrspection data exported. Fixes GB#694146, org.freedesktop.Tracker1.Miner.Progress() - wrong number of arguments introspected 2013-02-26 Matthias Clasen <mclasen@redhat.com> Avoid a double-free in the png extractor The software member of the exif data was getting freed twice. So whenever you deal with a png that has this field set to a non-NULL value, you get a segfault. https://bugzilla.gnome.org/show_bug.cgi?id=660965 2013-02-24 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2013-02-19 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2013-02-18 Marek Černocký <marek@manet.cz> Updated Czech translation 2013-02-18 Alexandre Franke <alexandre.franke@gmail.com> Update French translation 2013-02-17 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2013-02-17 Enrico Nicoletto <liverig@gmail.com> Updated Brazilian Portuguese translation 2013-02-16 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2013-02-15 Martyn Russell <martyn@lanedo.com> tracker-search: Added snippets and color to this tool! :) Added --disable-fts, --disable-color --disable-snippets too. Now all results are shown with snippets and in color by default. Release 0.15.2 Merge branch 'fts4-fixes' 2013-02-14 Martyn Russell <martyn@lanedo.com> ontology: Add a comment that tracker:fulltextNoLimit is now deprecated Could not mark this as deprecated because it's not a class libtracker-fts: Fix unit test ontologies, removed tracker:fulltextNoLimit functional-tests: Removed tracker:fulltextNoLimit libtracker-data: Removed tracker:fulltextNoLimit tracker-sparql: Fixed documentation, removed tracker:fulltextNoLimit ontology: Remove use of tracker:fulltextNoLimit now it's deprecated 2013-02-14 Carlos Garnacho <carlos@lanedo.com> tests: tweak FTS tests to cope with the word length changes This has caused some tests to return more results than before, so add these extra results to the expected output, as the tests still prove their point. fts: Remove min word length limit from configuration It isn't used anymore, so remove the dangling setting. 2013-02-11 Martyn Russell <martyn@lanedo.com> Merge branch 'fts4' 2013-02-08 Carlos Garnacho <carlos@lanedo.com> Bump database version This is needed after the fts4 changes 2013-02-06 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed GNOME password provider using libsecret - "user" --> "username" for the attributes lookup - Was checking for SecretItem != NULL to error up the stack Thanks to Stef Walter for the help here. 2013-02-05 Martyn Russell <martyn@lanedo.com> tracker-info: Fixed memory leak where urn wasn't freed. tracker-info: Fixed memory leak when using prefixes for shorthand properties e.g. nie:url instead of fully qualified URLs tracker-sparql: Support fts:offsets(?urn) with shorthand properties e.g. nie:title:0 nid3:contentType:24 nid3:contentType:43 2013-02-04 Martyn Russell <martyn@lanedo.com> libtracker-data: Use g_hash_table_unref() not _destroy() libtracker-data: Use a g_message() for cases where FTS is disabled 2013-02-04 Carlos Garnacho <carlos@lanedo.com> tracker-needle: display snippet where available Handle FTS queries more generically FTS functions and other SQL functions like COUNT() don't mix well, so handle it more generically by joining with the FTS table at the outmost level, so those functions are handled separately. Use fts4 external content tables on Tracker FTS FTS support on Tracker is now implemented using external content support available in sqlite >= 3.7.9 FTS4. FTS tables created this way fetch data from a single table/view, for this purpose an intermediate view has been created to interface with the FTS table. As this view is mainly queried by ID (both when populating the FTS contents, and when querying throught the FTS table), queries are fast enough on it. As FTS indirectly points to the data on the real tables where tracker data is stored, strings themselves are stored only once in the database, so there is no impact in database size when compared to the previous custom FTS code. Performance had little changes too from testing. Detect at configure time whether FTS needs compiling Recent sqlites (>3.7.9) with FTS support compiled have all what Tracker requires to handle FTS, so only compile it optionally if no FTS support was detected in the sqlite library. Update FTS code libtracker-data: Fix FTS initialization Use a define that actually exists around tracker_fts_init(), which also checked for the inverted value. libtracker-data: Fix fts detection when constructing SQL It would previously miss the FTS binding, depending on the order of the clauses. so something like { ?u fts:match 'foo'; a nie:DataObject } would return results whereas { ?u a nie:DataObject ; fts:match 'foo' } didn't. libtracker-fts: Fix reentrancy issues in the TrackerTokenizer The internal TrackerParser must be per-cursor, as several cursors may be opened simultaneously. libtracker-data: Implement fts:snippet() this function takes up to 3 optional parameters after the object, the first 2 parameters are the starting/ending text for the match (defaults to <b></b>), and the third one modifies the ellipsis text (defaults to <b>...</b>) libtracker-data: Perform FTS matching in subquery The outer query will call the functions that require a full row scan only with the elements returned by the inner query, so it would perform better with OFFSET and LIMIT fts: Respect max-words configuration setting libtracker-data: Gather FTS changes to perform a single insert/update per ID libtracker-data: remove useless FTS functions commit/rollback should happen now with the rest of the operations, and update_init() isn't necessary anymore. libtracker-data: Cope with ontology changes in the FTS table If a new property is with tracker:fulltextIndexed, we need to add a new column for it in the FTS table. libtracker-fts: Add a way to modify FTS table columns As ALTER TABLE on virtual tables is only able to do renamings, resort to creating a temporary table, and dump the old values into the new table, which is then renamed. libtracker-fts: Add tracker_offsets() sqlite function This function takes the offsets() output and the FTS property names in order to produce the output as expected by Tracker. the fts:offsets() sparql function has been adapted to use it underneath libtracker-fts: Add the tracker_rank() sqlite function This is now used in FTS searches to provide the rank based on the matched columns and their respective property weight. libtracker-data: Create several columns for FTS data there is now one column per ontology property with FTS enabled, the column name is that of the property. libtracker-data: Add tracker_db_interface_sqlite_fts_delete_text() This function removes from the FTS table the text from a resourceid/propid pair. libtracker-fts: Implement tokenizer FTS module using TrackerParser libtracker-fts: Update to FTS4 The code isn't yet feature complete, but cleans up the tracker integration with the FTS module, which means that fts3* files are taken verbatim from sqlite, and are licenced as such. 2013-02-03 Jens Georg <mail@jensge.org> tracker-extract: Port to new gupnp-dlna 2.0 API GUPnP-DLNA 0.9/0.10 changed a lot internally and thus does not deliver a GstDiscovererInfo anymore but instead has a new API that allows guessing the profile from an existing GstDiscovererInfo, so most of the additional logic can be dropped. Fixes GB#691847, tracker-extract: Port to new gupnp-dlna API 2013-02-02 Martyn Russell <martyn@lanedo.com> tracker-extract-playlist: Support nie:title for the playlist Fixed GB#692409, New: playlist extractor should index playlist title if available 2013-02-01 Martyn Russell <martyn@lanedo.com> tracker-needle: Find documents (e.g. PDFs) when searching for creators/publishers Fixes GB#692603, Search can not find pdf files using author names 2013-01-24 Martyn Russell <martyn@lanedo.com> Release 0.15.1 libtracker-miner: Fix libsecret password provider get call using non-NULL GError 2013-01-24 Frank Lahm <franklahm@gmail.com> libtracker-common: Add replacement function for flock() on Solaris 2013-01-21 Cosimo Cecchi <cosimoc@gnome.org> miner-manager: plug some memleaks https://bugzilla.gnome.org/show_bug.cgi?id=692210 2013-01-21 Dominique Leuenberger <dimstar@opensuse.org> build: Port to libgee 0.8 (was 1.0) Fixes GB#691807. cue-sheet: port to GStreamer 1.0. Fixes GB#691804 2013-01-03 Stef Walter <stefw@gnome.org> libtracker-miner: Migrate from libgnome-keyring to libsecret See: https://live.gnome.org/GnomeGoals/LibsecretMigration Fixes GB#679870, libsecret migrations 2013-01-03 Martyn Russell <martyn@lanedo.com> tracker-extract-playlist: Added nfo:MediaList (to existing nmm:PlayList) Based on a patch from Trever Fischer. Fixes GB#690170, Add nfo:MediaList type to .m3u playlist files 2012-12-26 Henrique P. Machado <hpmachado@gnome.org> Updated Brazilian Portuguese Translation 2012-12-14 Martyn Russell <martyn@lanedo.com> tracker-miner-fs, store: Add MeeGo keys to desktop files 2012-12-12 Javier Jardón <jjardon@gnome.org> configure.ac: Bump tracker api version to 0.16 Note: all new libraries will have -0.16* in their names. 2012-12-03 Martyn Russell <martyn@lanedo.com> build: Fixes build error when supplying nautilis extensions directory 2012-11-28 Martyn Russell <martyn@lanedo.com> examples: Update async query example 2012-11-23 Martyn Russell <martyn@lanedo.com> Release 0.15.0 Unstable release 2012-11-23 Jens Georg <mail@jensge.org> build: Build against GStreamer 1.0-enabled gupnp-dlna https://bugzilla.gnome.org/show_bug.cgi?id=688802 2012-11-16 Antoine Jacoutot <ajacoutot@gnome.org> tracker-monitor: add support for GKqueueDirectoryMonitor kqueue(2) support for BSD systems was recently introduced in GLib. Make tracker aware of this new backend. https://bugzilla.gnome.org/show_bug.cgi?id=688371 2012-11-15 Marek Černocký <marek@manet.cz> Updated Czech translation 2012-11-15 Cosimo Cecchi <cosimoc@gnome.org> build: don't build-depend on Dia Currently, the gtk-doc generator code in Tracker has a build dependency on the Dia application in order to generate some images for the documentation; the dependency is not optimal, as Dia is not available on all distributions and platforms. This patch changes the build system to add a specific update-diagrams make target to be ran from the ontology docs directory (which updates the images), and adds the images themselves under version control. Fixes GB#688287 2012-11-12 Christian Kirbach <Christian.Kirbach@googlemail.com> Update German translation 2012-11-04 Michael Biebl <biebl@debian.org> Fix XPS configure help string 2012-10-31 Cosimo Cecchi <cosimoc@gnome.org> tracker-extract: add a simple extractor for XPS Fixes GB#687160 tracker-extract: add a simple extractor for DVI files Code to extract information from the headers is taken from Evince. Fixes GB#687162 2012-10-31 Martyn Russell <martyn@lanedo.com> libtracker-extract: Fixed g_data_input_stream_read_upto() return value mem leak Fixes GB#687134 2012-10-30 Martyn Russell <martyn@lanedo.com> tracker-extract-pdf: Avoid leaving Zombie processes around 2012-10-27 Мирослав Николић <miroslavnikolic@rocketmail.com> Updated Serbian translation 2012-10-26 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2012-10-24 Dominique Leuenberger <dimstar@opensuse.org> tracker-miner-rss: Support and require libgrss-0.5 Fixes GB#671751 2012-10-24 Javier Jardón <jjardon@gnome.org> tracker-extract-gstreamer: Port discoverer backend to GStreamer 1.0 Fixes GB#680424 2012-10-24 Julien Cristau <jcristau@debian.org> libtracker-data: get rid of unused TRACKER_DB_LOCATION_SYS_TMP_DIR And don't create a /tmp/tracker-$user directory. 2012-10-24 Martyn Russell <martyn@lanedo.com> build: Add SQLite3 version check and warning for crashes with complex queries 2012-10-20 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2012-10-19 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2012-10-18 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2012-10-17 Andika Triwidada <andika@gmail.com> Updated Indonesian translation 2012-10-17 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2012-10-17 Martyn Russell <martyn@lanedo.com> tracker-needle: Update tooltip for category searching to mention FTS Basically, it's not clear that this approach searches the content of files too. It is clear from the other categories that this isn't the case. This fixes GB#686071. build: Default to icu over unistring when automatically guessing unicode support This is to help with GB#666749. This isn't a complete fix but the support for icu is better with asian language sorting. tracker-info: Added --plain-text-content || -c option To show nie:plainTextContent for resources. By default this is disabled. 2012-10-11 Martyn Russell <martyn@lanedo.com> tracker-extract-playlist: Don't error when to_metadata hash table is NULL tracker-extract-playlist: Log message for ignoring playlists with > 1k entries 2012-10-09 Aleksander Morgado <aleksander@lanedo.com> build: test files should always be included in dist build: include missing tiff files in dist 2012-09-28 Colin Walters <walters@verbum.org> build: Note we don't support srcdir != builddir This is presently due to the vapigen tool. 2012-09-20 Martyn Russell <martyn@lanedo.com> libtracker-extract: Fixed EXIF extractor due to changes by libexif Seems libexif now appends " (Photographer) - [None] (Editor)", previously it was the same string without the "[None]", which broke our hack to work around this superfluous information. Test cases now pass tracker-miner-fs: Make building this optional Now you can use --disable-miner-fs (default=enabled) NOTE: the miner-fs also includes application and user guide mining built in. Fixes GB#628857 2012-09-14 Chris Leonard <cjl@laptop.org> Updated British English translation 2012-09-10 Martyn Russell <martyn@lanedo.com> Merge branch 'pdf-timeout-fix' 2012-09-06 Marek Černocký <marek@manet.cz> Updated Czech translation 2012-09-04 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2012-08-25 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2012-08-23 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation 2012-08-22 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation 2012-08-16 Martyn Russell <martyn@lanedo.com> tracker-extract-pdf: Fix timeout situation with PDF extraction The 10 second timeout was always being used for every PDF extraction because writing to the pipe was blocking and only killing the process would result in reading from the parent of the fork(). This meant all extractions were much slower than they needed to be. This approach uses select() instead of signal handling to make sure the FDs from pipe() are read at the right times too. This fixes GB#680897 2012-08-14 Jürg Billeter <j@bitron.ch> tests: Remove unneeded parameter guard tracker-needle: Do not use implicit .begin for async methods Do not access static members with instance references in Vala libtracker-common: Consistently use long in get_memory_total 2012-07-31 Sam Thursfield <sam.thursfield@codethink.co.uk> tracker-extract-pdf: Fix crash if mmap() fails Patch from Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=751922 2012-07-24 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Ignore XDG directories set to $HOME This prevents accidental recursive indexing of $HOME. Fixes GB#680172. 2012-07-23 Jürg Billeter <j@bitron.ch> tracker-needle: Fix double free Fixes GB#680350. 2012-07-21 Alexandre Rostovtsev <tetromino@gentoo.org> libtracker-fts: ICU cannot handle complex locale descriptions ubrk_open expects the name of just a single locale (e.g. "en_US.UTF-8"), not the full definition of your various locale variables and their values as returned by glibc's setlocale(LC_ALL, NULL). Instead, limit ourselves to LC_CTYPE, since after all, that's all we need to determine word boundaries. Fixes GB#675660. 2012-07-09 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2012-07-08 Dimitris Spingos <dmtrs32@gmail.com> Updated Greek translation 2012-07-05 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2012-07-05 Martyn Russell <martyn@lanedo.com> Merge branch 'miner-fs-no-infinite-loops' 2012-07-03 Martyn Russell <martyn@lanedo.com> tracker-search: Fix man page so EXPRESSION is not directly linked to options Fixes GB#679313 libtracker-miner: Make reentry maximum (2) a #define and update error given libtracker-miner: Don't conditionally unref blocker file if queue was set up 2012-07-03 Sam Thursfield <sam.thursfield@codethink.co.uk> libtracker-miner: Avoid stalling when blocking file is dropped due to errors libtracker-miner: Prevent stalling if we drop the last queued file libtracker-miner: Protect against infinite loops When we defer processing on an item, set a counter in its qdata to prevent the miner ever becoming stuck in an infinite loop. Fixes GB#676435 and GB#674869 libtracker-miner: Remove unneeded call to item_queue_handlers_set_up() item_add_or_update_cb() does not usually need to call this function as the item queue is not stopped while waiting for extraction tasks. We do need to call it if the queues are empty to ensure a QUEUE_NONE event is processed. libtracker-miner: Prevent item queue handlers from running when blocked If we pop the next item from a queue and find that either that file or its parent is still being processed, the item queue handler must wait until the outstanding tasks finish and are committed. In this case we stop the item_queue_handlers_cb() timeout from executing, but it is often restarted early as there are many triggers for item_queue_handlers_set_up(), and the callback then pops the file again, discovers it is still blocked and reenqueues it. This is a waste of time and also makes it hard to implement infinite loop detection reliably. We now remember the file that is blocking progress, and item_queue_handlers_set_up() will not start the item queue handlers until sparql_buffer_task_finished_cb() has been called for the file in question. 2012-07-03 Andika Triwidada <andika@gmail.com> Updated Indonesian translation 2012-07-01 Andika Triwidada <andika@gmail.com> Updated Indonesian translation 2012-06-27 Sam Thursfield <sam.thursfield@codethink.co.uk> miners/fs: Correctly remove failed extractions from queue Correctly remove task from extraction queue if g_file_query_info_async() fails. This bug prevents failsafe extraction from starting in some cases, which in turn means that the miner may eventually stall due to the extraction queue being full. 2012-06-22 Sam Thursfield <sam.thursfield@codethink.co.uk> tracker-extract-gstreamer: Fix invalid pointer access gst_tag_list_get_string() does not initialise the output pointer to NULL if there is no value for that tag. In some cases, neither do we which leads to invalid string pointers and the occasional segfault when processing files with no tags. 2012-06-18 Sam Thursfield <sam.thursfield@codethink.co.uk> functional-tests: Fix out-of-tree build 2012-06-16 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2012-06-15 Sam Thursfield <sam.thursfield@codethink.co.uk> libtracker-miner: Prevent double unref of cached GFile objects The reference owned by the TrackerFileSystem cache may be removed more than once. Add a flag to ensure that the cache will only ever unref it once, even if it is being kept alive in the cache by references held elsewhere in the code. tracker_file_system_delete_files() is renamed to tracker_file_system_forget_files() to avoid confusion. Fixes GB#676849 2012-06-15 Andika Triwidada <andika@gmail.com> Updated Indonesian translation 2012-06-14 Sam Thursfield <sam.thursfield@codethink.co.uk> miners/fs: Remove unused property in Files miner quark_directory_config_root was introduced here: daf0c383b5daf19cd4a27b5669cfd6db7f768b6f but is no longer used anywhere. 2012-06-13 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2012-06-13 Alexandre Franke <alexandre.franke@gmail.com> Update French translation Change wording to remove ambiguity and ease translation 2012-06-11 Sam Thursfield <sam.thursfield@codethink.co.uk> libtracker-extract: Fix GCancellable deadlock Triggering one cancellable in another's callback is a bad idea, because these objects share a single global mutex. This can be triggered by removing a USB stick during the extraction process. There's no real need to use two separate cancellables for the same file here. Fixes GB#676433. 2012-06-05 Praveen Illa <mail2ipn@gmail.com> Added Telugu Translation Updated Telugu Translation 2012-06-02 Luca Ferretti <lferrett@gnome.org> l10n:Updated Italian translation 2012-05-29 Sam Thursfield <sam.thursfield@codethink.co.uk> libtracker-miner: Keep GTimer objects around forever Logic to create and destroy on demand was slightly broken, and for the extra complexity we were only saving 48 bytes of memory. Fixes GB#676437. 2012-05-22 Martyn Russell <martyn@lanedo.com> nautilus: Fix build warnings nautilus: Don't use g_print() use g_{debug|message}() to avoid xsession logging Fixed GB#676516. 2012-05-22 Sam Thursfield <sam.thursfield@codethink.co.uk> tracker-extract: 'initialized' flag was not being initialized 2012-05-21 William Jon McCann <jmccann@redhat.com> Don't install an item to the nautilus context menu https://bugzilla.gnome.org/show_bug.cgi?id=676514 2012-05-21 Ville Skyttä <ville.skytta@iki.fi> tracker-sparql, tracker-store: Man page syntax fixes Fixed GB#676213. 2012-05-20 Christian Kirbach <Christian.Kirbach@googlemail.com> Updated German translation 2012-05-17 Sam Thursfield <sam.thursfield@codethink.co.uk> libtracker-miner: Fix crash when USB removed during crawl In tracker-file-notifier.c:indexing_tree_directory_removed() we don't remove the directory from priv->pending_index_roots, unless it's the current indexing root. If it's a USB mountpoint, the GFile gets freed before we get around to crawling it, so all hell breaks loose. Fixes GB#676153. 2012-05-11 Sam Thursfield <sam.thursfield@codethink.co.uk> tracker-extract: Fix compile of Qt media art backend 2012-05-11 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations Updated Galician translations 2012-05-10 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2012-05-06 Marek Černocký <marek@manet.cz> Updated Czech translation Updated Czech translation 2012-05-04 Martyn Russell <martyn@lanedo.com> tracker-preferences: Sort the list contents for ignored patterns Fixes GB#675431. 2012-05-04 Antoine Jacoutot <ajacoutot@gnome.org> evolution plugin: include missing header To prevent liborg-freedesktop-Tracker-evolution-plugin.so: undefined symbol 'E_MAIL_BACKEND' liborg-freedesktop-Tracker-evolution-plugin.so': Cannot load specified object https://bugzilla.gnome.org/show_bug.cgi?id=675437 2012-05-04 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2012-05-03 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2012-05-03 Karl Relton <karllinuxtest.relton@ntlworld.com> tracker-extract: Simplify text extraction in oasis extractor for ODT files tracker-extract: Support Libreoffice graphic/drawing files (*.odg) 2012-05-01 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2012-05-01 Martyn Russell <martyn@lanedo.com> libtracker-{common|sparql}: Set G_MESSAGES_DEBUG when verbosity > 2 Since glib 2.32, debug statements are not shown without this environment variable being set. 2012-04-30 Martyn Russell <martyn@lanedo.com> tracker-extract: Added 'max-media-art-width' config option Allows all media/album art to be disabled with a setting of -1 or resized to a width of choosing. Based on the patch from Kiran Bhide <kiran.bhide@in.bosch.com> libtracker-miner: Don't abort() if none file:// URI themes are used Was occuring with sftp:// mounts pulled in from GVFS. 2012-04-25 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2012-04-24 Alexandre Franke <alexandre.franke@gmail.com> Fix typo (missing 'not') 2012-04-19 Jürg Billeter <j@bitron.ch> build: Remove obsolete check for dbus-binding-tool 2012-04-18 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Do not index non-eligible mount points on startup tracker-miner-fs: Add tracker_miner_files_is_file_eligible Logic moved from tracker-miner-files-index.c, no change in behavior. 2012-04-16 Yinghua Wang <wantinghard@gmail.com> update Simplified Chinese (zh_CN) translation 2012-04-09 Timo Jyrinki <timo.jyrinki@iki.fi> Updated Finnish translation by Jiri Grönroos. 2012-04-03 Martyn Russell <martyn@lanedo.com> Revert "ontology: Added classes nmm:TVSeries and nmm:TVShow" This reverts commit 7923c47e977cc40602c049fdc205efe37e711506. Mistakenly committed this patch libtracker-miner: Don't crash in _file_system_get_file() if node non-NULL This occurred where parent_node was unset because of strange URI themes, e.g. sftp://. Fixes GB#672308. ontology: Added classes nmm:TVSeries and nmm:TVShow Inline with improvements upstream here: http://oscaf.sourceforge.net/nmm.html#nmm:TVSeries 2012-04-02 Martyn Russell <martyn@lanedo.com> evolution: Fixed includes ... yet again So I have this time put each include in separate sections. The logic was getting too complicated and it was hard to maintain. This is why single include files make so much sense. I've checked each release of the libraries we import from and the files do exist for each of the versions we support. I removed the camel include because all the Evolution includes include that already. I also removed the include for older than 2.91 versions which didn't exist there and was reported under the bug below. Fixes GB#672415 2012-03-30 Sam Thursfield <sam.thursfield@codethink.co.uk> utils: Add tracker-sandbox to EXTRA_DIST Also, fix whitespace errors. 2012-03-29 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2012-03-22 Jiro Matsuzawa <jmatsuzawa@src.gnome.org> [l10n] Update Japanese translation 2012-03-20 Sam Thursfield <sam.thursfield@codethink.co.uk> utils: Add tracker-sandbox This script assists in running development versions of Tracker in parallel and avoiding interference with real user data. Run 'utils/tracker-sandbox --help' for documentation. tests: Fix build with GLib 2.28 2012-03-08 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2012-03-08 Sam Thursfield <sam.thursfield@codethink.co.uk> autogen.sh: Error gracefully when valac is not installed 2012-03-08 Martyn Russell <martyn@lanedo.com> Release 0.14.0 2012-03-06 Martyn Russell <martyn@lanedo.com> tracker-miner-evolution: Fix build in JHBuild Fixes GB#670679 tracker-miner-flickr, tracker-miner-rss: Don't start automatically on boot By default this is now disabled. It's not useful for the majority of cases. It can easily be changed by distributions by changing the .desktop.in.in files. Fixes GB#670778. tracker-needle: Order results properly Now results are ordered by the last changed dates or titles nicely. Fixes GB#37899. 2012-03-05 Karl Relton <karllinuxtest.relton@ntlworld.com> tracker-extract, tracker-writeback: Don't register dbus objects AFTER aquiring service names Fixes GB#671314. 2012-03-04 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2012-02-22 Martyn Russell <martyn@lanedo.com> firefox,thunderbird: Save AsyncReadyCallback to avoid GC crashes Fixes GB#670251. firefox: Make sure we still work with newer versions Arbitrary version of 20.0.* used as MAX version for now firefox: Don't restrict plugin to JUST 0.12 thunderbird: Make sure we still work with newer versions Arbitrary version of 20.0.* used as MAX version for now thunderbird: Don't restrict plugin to JUST 0.12 firefox,thunderbird: Guess install directory using actual version installed 2012-02-22 Zeeshan Ali (Khattak) <zeeshanak@gnome.org> tracker-extract: Use ISO volume ID as title for unknown OS Fixes GB#670294 2012-02-17 Martyn Russell <martyn@lanedo.com> tracker-miner-evolution: Doesn't build with Evolution 3.3.5 This is based on the patch from Milan Crha <mcrha@redhat.com> Fixes GB#669646. 2012-02-16 Carlos Garnacho <carlos@lanedo.com> tracker-miner-fs: Handle absolute paths in ignored dirs Only globbing on basenames was handled, so allow setting absolute paths to be ignored too, which is nicer to the casual user. 2012-02-15 Martyn Russell <martyn@lanedo.com> Release 0.13.1 libtracker-extract: Don't build EXIF tests if we don't have support enabled libtracker-extract: Crash in miner-fs due to size_t vs gssize Fixed by making use of GInputStream/GDataInputStream on the receiving end (which we were doing on the sending end) to avoid use of strlen(). Crash was occurring on OpenBSD. Fixes GB#669546. 2012-02-14 Sam Thursfield <ssssam@gmail.com> Rename tracker_media_art_process_external_images() New name: tracker_media_art_find_by_artist_and_title() Rename media art queue functions Rename remaining albumart function to media_art 2012-02-14 Zeeshan Ali (Khattak) <zeeshanak@gnome.org> tracker-extract: Extract media ID for bootable ISO In Boxes, we need to know which (libosinfo) media exactly are we talking about. Otherwise, we will have to do detection again. https://bugzilla.gnome.org/show_bug.cgi?id=670023 tracker-extract: Minor optimizations & CC warning fix https://bugzilla.gnome.org/show_bug.cgi?id=670023 2012-02-13 Christophe Fergeau <cfergeau@redhat.com> tracker-extract: Add ISO extractor using libosinfo Fixes GB#666372 2012-02-13 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Don't index removable media on initial index if disabled libtracker-miner: Improve logging Use tracker_info() for higher level tasks so logs are easier to read 2012-02-08 Martyn Russell <martyn@lanedo.com> build: Set _REQUIRED versions for giff, jpeg and tiff We actually don't have a requirement, but if they're not installed, the error message doesn't make sense. 2012-02-07 Jürg Billeter <j@bitron.ch> tracker-needle: Fix build with GLib 2.31 tracker-extract: Add missing includes tracker-store: Print warning if unable to initialize statistics libtracker-data: Fix dead code with disabled journal ttl2sgml: Do not call fclose if file is NULL 2012-02-04 Sam Thursfield <sam.thursfield@codethink.co.uk> tests: Fix compile warning in tracker-file-notifier-test Fixes GB#667786. 2012-02-03 Sam Thursfield <sam.thursfield@codethink.co.uk> tests: Fix tracker-file-notifier-test We need to use the TRACKER_DIRECTORY_FLAG_CHECK_MTIME flag to ensure the notifier actually picks up on the changes. Fixes GB#667787. 2012-01-30 Antoine Jacoutot <ajacoutot@openbsd.org> libtracker-common: Add new function tracker_file_open_fd() Add a new function to open fds in a portable way open(2) with the NOATIME flag is only available on Linux. Instead of duplicating the same code all over with ifdef, factorize into a function that opens file descriptors in a portable way. Fixes GB#666654. 2012-01-24 Philip Van Hoof <philip@codeminded.be> miners/fs: Fix crash when SIGTERM happens before mainloop is available Fixes NB#296488. 2012-01-18 Mikael Ottela <mikael.ottela@ixonos.com> tests/libtracker-extract: Do not use tracker_coalesce_strip on constant strings. 2012-01-11 Jiro Matsuzawa <jmatsuzawa@src.gnome.org> Updated Japanese translation 2012-01-05 Philip Van Hoof <philip@codeminded.be> libtracker-common: Error isn't set and yet reply is NULL The g_dbus_connection_call_sync claims not to return NULL unless error is set. Yet we check for error being set and have seen situations where reply was NULL nonetheless. Test for reply being NULL and don't unref in that case. Fixes NB#289635. 2012-01-03 Martyn Russell <martyn@lanedo.com> build: Depend on gmodule for libtracker-extract Since glib 2.31.4, gio does not depend on gmodule, so detecting on gmodule for LIBTRACKER_EXTRACT is required. Fixes GB#666410 2012-01-03 Philip Van Hoof <philip@codeminded.be> tracker-extract, msoffice: Add debugging aid for when opening file fails Related: NB#296009. 2011-12-29 Philip Van Hoof <philip@codeminded.be> tracker-extract, pdf: Swapped close of the file descriptors Previous commit had a bug: the close call on the file descriptors of pipe were swapped between client and parent's code blocks. Oeps. Fixes NB#290406. tracker-extract, pdf: Timeout content extraction after 10s Fixes NB#290406. 2011-12-21 Philip Withnall <philip@tecnocode.co.uk> Bug 666678 — g_str_has_prefix() called on a NULL string… Fix g_str_has_prefix() being called on a NULL string with the tracker_config_file_new() constructor. Closes: bgo#666678 2011-12-19 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: Ensure we deal with the canonical copy on ::directory-removed A mismatch could result in tracker_crawler_stop() not being called, even if the directory being removed was the one currently indexed. This could be triggered by mounts detected during init_mount_points() in TrackerMinerFiles. libtracker-miner: don't put sparql for missing/cancelled files This behavior is analogous to 0.10. The miner has to allow lesser errors and insert minimal sparql for the files, but this kind of errors must not trigger sparql insertion. 2011-12-19 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation 2011-12-16 Aleksander Morgado <aleksander@lanedo.com> tracker-writeback: use g_thread_try_new() if GLib >= 2.31 Since 2.31, g_thread_create() is deprecated. tracker-writeback: Use g_(mutex|cond)_(init|clear) if GLib >= 2.31 Since 2.31, g_mutex_new(), g_mutex_free(), g_cond_new(), g_cond_free() are deprecated. libtracker-miner: add TRACKER prefix to MAX_TIMEOUT_INTERVAL libtracker-miner: use GPrivate if GLib >= 2.31 Since 2.31, GStaticPrivate is deprecated. libtracker-data: properly print gint64 value libtracker-data: use GMutex if GLib >= 2.31 Since 2.31, GStaticMutex is deprecated. libtracker-data: use GPrivate if GLib >= 2.31 Since 2.31, GStaticPrivate is deprecated. libtracker-data: use g_atomic_int_add() if GLib >= 2.30 Since 2.30, g_atomic_int_add() returns a gint and is fully equivalent to g_atomic_int_exchange_and_add(). libtracker-common: use GRecMutex if GLib >= 2.31 Since 2.31, GStaticRecMutex is deprecated. tracker-extract: use g_thread_try_new() if GLib >= 2.31 Since 2.31, g_thread_create() is deprecated. tracker-extract: Use g_(mutex|cond)_(init|clear) if GLib >= 2.31 Since 2.31, g_mutex_new(), g_mutex_free(), g_cond_new(), g_cond_free() are deprecated. libtracker-common: Use g_mutex_(init|clear) if GLib >= 2.31 Since 2.31, g_mutex_new() and g_mutex_free() are deprecated. libtracker-common: use g_format_size() if GLib >= 2.30 Since 2.30, g_format_size_for_display() is deprecated due to wrongly using SI suffixes to denote IEC units. 2011-12-16 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: fix thinko in TrackerFileNotifier "canonical" was supposed to be the root dir as configured in the indexing tree, so the if below forces mtime checks on directories that do come from TrackerMonitor signals. so rename it to something sensible and actually initialize it. 2011-12-15 Alexandre Franke <alexandre.franke@gmail.com> Fix typo in French translation Update French translation miner → collecteur extractor → extracteur 2011-12-15 Martyn Russell <martyn@lanedo.com> Release 0.13.0 2011-12-15 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: fix double reference libtracker-miner: several documentation related fixes libtracker-miner: ignore next update is deprecated Fix deprecation comment and include the method between guards. libtracker-miner: document indexing tree section libtracker-miner: fix enums related documentation libtracker-miner: fix deprecation comment format libtracker-miner: fix type referenced in docs 2011-12-15 Martyn Russell <martyn@lanedo.com> libtracker-extract: Fix mockup example which unrefs TrackerExtractInfo->GFile This is not returned as a new reference. libtracker-common: Fix distcheck failure with new media art handling 2011-12-15 Aleksander Morgado <aleksander@lanedo.com> docs: additional documentation fixes in libtracker-miner and libtracker-extract 2011-12-15 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Fix the documentation in preparation for 0.13.x release libtracker-extract: Fix the documentation in preparation for 0.13.x release libtracker-miner: Fix the documentation in preparation for 0.13.x release build: Clean up more compiler warnings 2011-12-15 Aleksander Morgado <aleksander@lanedo.com> build: ignore built files in git build: remove glib-based FTS parser Fixes GB#666232 2011-12-15 Jürg Billeter <j@bitron.ch> Remove remaining g_thread_init calls Calling g_thread_init with GLib 2.31 requires explicit dependency on gthread-2.0. However, g_type_init initializes threads since GLib 2.24, so it is no longer needed. 2011-12-14 Martyn Russell <martyn@lanedo.com> libtracker-common: Renamed albumart test to media-art build: Fixed various compiler warnings across the entire code base libtracker-common: Fixed unit tests with renamed albumart Merge branch 'media-art-enhancements' 2011-12-14 Sam Thursfield <sam.thursfield@codethink.co.uk> tracker-extract: Use enum to represent media-art image priorities tracker-extract: Style fixes and optimisations in tracker-media-art.c tracker-extract: Rename tracker_extract_find_external() tracker_extract_find_external() => tracker_extract_process_external_images() libtracker-miner: Rename media art update functions tracker_media_art_remove_add() => tracker_media_art_queue_removal() tracker_media_art_check_clean() => tracker_media_art_execute_queue() tracker-extract-gstreamer: Remove explicit zeroing after g_slice_new0() tracker-extract-gstreamer: Move media art parameters to MetadataExtractor This allows slightly more efficient processing because the apply_* functions can access media_art_type libtracker-common: Refactor tracker_media_art_get_path() libtracker-common: Fix media art paths when artist is not known Correct behaviour is prefix-md5sum(title)-md5sum( ) but previously we were generating prefix-md5sum( )-md5sum(title) tracker-extract: Fix whitespace errors tracker-extract-gstreamer: Fix compile warnings libtracker-extract,tracker-extract: Return guaranteed title When a title is generated from the filename (--enable-guarantee-metadata), return it to the calling extractor so that it can be used for media art. This allows storing video poster art for any video, provided guaranteed metadata is enabled. Rename albumart functions to media-art We now support video posters as well! Fixes GB#660784 2011-12-14 Aleksander Morgado <aleksander@lanedo.com> tracker-extract,text: try to extract text from files in typical windows charsets If the input file is not valid UTF-8, we now try: * UTF-16, if NUL bytes are found in the string (windows-1252 and locale encodings are not expected to have NUL bytes within the string). * If locale encoding is not UTF-8, try with the locale encoding. * If locale encoding didn't help, try with windows-1252. Fixes GB#655383. 2011-12-14 Sam Thursfield <sam.thursfield@codethink.co.uk> tracker-extract: Rewrite tracker_albumart_find_external() The new code reads through the directory in one pass and allows more detailed logic to run on the results, also taking into account the type of media file. tracker-extract: Minor albumart code cleanups tracker-extract: Extract tracker_albumart_find_external() This is code from the albumart_heuristic() function but extracted to be testable and more flexible. tracker-extract: Rework albumart API to allow multiple media types * tracker-extract-gstreamer, tracker-extract-mp3: Update to use new API * tracker-extract-mp3: Pass URI instead of filename for consistency 2011-12-14 Martyn Russell <martyn@lanedo.com> Merge branch 'gsettings-keyfile-bridge' libtracker-common: Document the TRACKER_USE_CONFIG_FILES env var For tracker-extract, tracker-miner-fs, tracker-store and in the reference for env vars. 2011-12-13 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: honor TRACKER_DIRECTORY_FLAG_CHECK_MTIME TrackerFileNotifier won't do mtime checks for files coming from initial crawling, if the check is result of a monitor event, it will be performed anyway. tracker-miner-fs: respect the crawling-interval setting mtime checks will only be performed on configuration directories according to this setting. tracker-miner-fs: Don't add directories to index too eagerly ensure_mount_point_exists() is expected to create the sparql for a mount point directory, not having it added to the TrackerIndexingTree. libtracker-miner: Use interned GFiles in TrackerIndexingTree signals This is so callers may rely on equality instead of g_file_equal(), fixes cancel-crawling-on-unmount in TrackerFileNotifier. 2011-12-13 Jürg Billeter <j@bitron.ch> tracker-store: Fix memory leak in Steroids.update This is caused by a bug in valac. libtracker-common: Fix memory leak in tracker_string_to_date Fixes NB#294705. libtracker-data: Fix small memory leak gvdb: Merge upstream changes This fixes some memory leaks. 2011-12-12 Aleksander Morgado <aleksander@lanedo.com> libtracker-common: if testing old .cfg files, ensure one is always available Create the .cfg file when we detect that it doesn't exist. 2011-12-12 Carlos Garnacho <carlos@lanedo.com> libtracker-common: Add a way to test things with old .cfg files The TRACKER_USE_CONFIG_FILES envvar now triggers a mode where .cfg files are dumped into GSettings, but not deleted. The changes done to GSettings are also dumped to the .cfg file after any g_settings_apply() call with unapplied data. 2011-12-09 Carlos Garnacho <carlos@lanedo.com> tracker-extract: Don't lock on freed mutexes report_statistics() was locking on a mutex that was already freed, so actually free it after this last use. libtracker-miner: Lower the expectations in TrackerFileNotifier sparql queries Do not query for nfo:FileDataObjects, sparql preemptively added by applications could not be that complete, turning into inaccurate results. So settle for with nie:DataObject, which is a lower common denominator. 2011-12-09 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2011-12-08 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2011-12-08 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Use new API instead of helper API to add indexing tree No actual change to functionality. Just avoid using the old API. tracker-miner-fs: Update userguide miner to work with --enable-meego Due to the miner-fs refactor, some of the libtracker-miner API has changed. 2011-12-08 Jürg Billeter <j@bitron.ch> libtracker-data: Fix crash due to overflow in journal reader Fixes GB#664833. 2011-12-07 Martyn Russell <martyn@lanedo.com> Merge branch 'miner-fs-refactor' build: Don't require miner-rss and miner-flickr to distcheck 2011-12-07 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: Check the ignored flag in tracker_indexing_tree_file_is_indexable() It should obviously be non-indexable if its config root has that flag set. tracker-store: Finalize the TrackerDBusRequests on blank updates This was likely to leave stuck resources for already disconnected clients in the tracker-store side. tests: Add TrackerFileNotifier file monitoring tests tests: Add tests for TrackerFileNotifier configuration changes libtracker-miner: Handle directories with IGNORED flag being removed In this case, the directory could be reindexed if it's in another indexed location. libtracker-miner: Initialize TrackerDirectoryFlags to NONE in any case This is so calling tracker_indexing_tree_get_root() on an unindexed file doesn't end up with uninitialized memory as flags. libtracker-miner: Set indexing tree in the file monitor This is so monitor events on unhandled files is blocked early. libtracker-miner: issue critical warning on unlikely case This shouldn't ever happen, but issue a warning in case some bug slips in. libtracker-miner: Fix gir generation warnings libtracker-miner: Fix possibly wrong progress reporting There's a slim window between the miner calling ::process-file on the last remaining file and process_stop() where the progress would be wrongly reported as 0% libtracker-miner: Allow GFiles to be part of several TrackerFileSystem This could be needed in the future. libtracker-miner: Avoid frequent sync calls TrackerCrawler now is able to retrieve GFileInfos with a given set of attributes, avoiding the need in TrackerFileNotifier to g_file_query_info() when traversing the file tree returned on ::directory-crawled. tests: Add beginning of unit test for TrackerFileNotifier ATM only crawling is tested, file monitoring and changing configurations should be eventually tested as well libtracker-miner: Add back the code removing thumbnail/albumart The mimetype isn't needed there after all. libtracker-miner: rephrase code comment It'd be indeed good to have tracker-miner-fs monitor directories triggering a TRACKER_FILTER_PARENT_DIRECTORY filter in case that situation changes (ie. the file triggering the filter disappears), but given Tracker has never behaved like that and noone ever complained, lower the comment severity a bit, it's not something we should rush on. libtracker-miner: Remove useless code This branch of code would never be executed in practice, as TrackerFileNotifier can't ever emit ::item-moved on an unknown file. libtracker-miner: handle moving dirs from recursive to non-recursive locations TrackerMinerFS now checks the TrackerDirectoryFlags for source/dest locations, triggering a bulk delete operation on the directory children if it's moved to a non recursive location libtracker-miner: Traverse children selectively in TrackerFileSystem Now, returning FALSE in the TrackerFileSystemTraverseFunc given to tracker_file_system_traverse() means the node will not be recursed, but the traversal will still continue. This deviates a bit from g_node_traverse, but makes more sense given the common operations in a filesystem representation. This is now used in TrackerMinerFS to stop traversal on deleted folders. libtracker-miner: Avoid critical warning The extraction timer could be unset if the miner doesn't get to process any file between start/stop. libtracker-miner: Adapt commit e60fc84e6 to TrackerFileNotifier The mtimes are now stored as guint64, and a 2 seconds tolerance is used to determine whether the file changed, so lack of precision doesn't trigger spurious updates in FAT filesystems. libtracker-miner: Calculate remaining time purely on extraction time During crawling, the extraction queue may be mostly empty, but adding up time that makes the remaining time calculations to be quite off when little items have been processed so far. So, keep a timer only for extraction time, which can be used for more accurate measurements, as only extraction is left when tracker-miner-fs gets to report progress/remaining time. libtracker-miner, notifier: report again status when crawling This brings back the "Crawling directory '...'" messages reported via the Status DBus property. libtracker-miner: Remove fs->priv->is_crawling This is replaced by tracker_file_notifier_is_active() libtracker-miner, notifier: Check dir roots with the canonical copy in TrackerFileSystem libtracker-miner: Remove deleted folders from being tracked Directories are now removed from the TrackerFileSystem if a delete monitor event happens on a dir. libtracker-miner: Optimize TrackerFileSystem insertions/deletions We rely on the crawler to provide files in-order, so don't unnecessarily try to reparent child nodes that were added earlier. Also optimize insertion where a parent is provided. libtracker-miner: Cancel sparql query in TrackerFileNotifier when crawling stops libtracker-miner: Handle correctly crawling on just created dirs The crawler check was wrong for directories added due to a monitor created event, so ensure harder that we're dealing with a config root instead of some random dir. libtracker-miner: Do not delete files while traversing the file tree Instead, use tracker_file_system_delete_files(), which also avoids the need to store the GFileType as filesystem data. libtracker-miner: Fix problems with directories going out and into config again Remove the queried/crawled flags before possibly reindexing a dir tree for the second time (i.e. mounts). Also, check correctly the pending index roots when a dir is added or removed. tracker-miner-fs: Remove the preserve flag if a dir is removed from config We don't want to know anymore about that directory, even if it happened to be within a mount point tracker-miner-fs: Fix some TrackerDirectoryFlags passed on mounts Some flags were missing, others wrongly overwritten libtracker-miner: lower message log level Having a root directory changing flags may be a normal operation, so don't show a warning libtracker-miner: Ensure TrackerFileSystem has a meaningful file type tracker_file_system_get_file() will be called several times on the same file, so store the first meaningful GFileType gotten through that call. libtracker-miner: Add tracker_file_system_delete_files() This function recursively deletes files of a given GFileType, or every file if G_FILE_TYPE_UNKNOWN. 2011-12-07 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: indentation and alignment fixes 2011-12-07 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: Ensure the timer is set on ::directory-started libtracker-miner: Fix invalid read in TrackerFileSystem tracker-miner-fs: Remove commented code libtracker-miner: Untangle filesystem refcount over GFiles TrackerFileSystem actually owns a reference to the contained GFiles, it just expect an external g_object_unref() call over these to manage the associated GNode. libtracker-miner: Fix typo node_free() in tracker-indexing-tree.c is meant to be a GNodeTraverseFunc. tracker-miner-fs: Do not use tracker_miner_fs_directory_remove* Instead use tracker_indexing_tree_remove() directly. libtracker-miner: Avoid IRI queries on parents of config dirs libtracker-miner: Reimplement tracker_miner_fs_directory_remove* These functions now just call tracker_indexing_tree_remove(), every cancellation is now done in the signal handler. libtracker-miner: Make filesystem properties registration global This is so GDestroyNotify for set properties is available at the time of destructing a file node. tracker-miner-fs: Do not use old API to add/recheck dirs libtracker-miner: Add tracker_indexing_tree_list_roots() This function retrieves the configured roots, the flags can be later queried with tracker_indexing_tree_get_root() on these files. libtracker-miner: Listen to ::directory-updated in TrackerFileNotifier libtracker-miner: Add TrackerIndexingTree::directory-updated libtracker-miner: plug some leaks libtracker-miner: Remove unused vmethods from TrackerMinerFS This touches public API, but these signals aren't emitted anymore as TrackerIndexingTree provides all necessary information. libtracker-miner: Use level order when traversing the filesystem tree This is most similar to how TrackerMinerFS used to work, and results in less "miner stopped due to parent being indexed" situations than G_PRE_ORDER. tests: Fix filesystem test, TrackerFile is gone libtracker-miner: Obey "ignored" directory flag in TrackerFileNotifier libtracker-miner: Fix compiler warnings libtracker-miner: Stop crawler if it matches a config dir being removed libtracker-miner: Handle root config directories being deleted. libtracker-miner: Improve a bit reference counting on TrackerFileNotifier libtracker-miner: Add a "preserve in store" flag for config dirs And use it for mounts, so the info is preserved in the store, and only tracker:available is unset in TrackerMinerFiles. libtracker-miner: Remove indexing tree signal handlers in TrackerMinerFS tracker_miner_fs_directory_add*() is meant to use TrackerIndexingTree underneath, so don't do it the other way around too. libtracker-miner: Only emit ::file-deleted on folders for the toplevel being deleted libtracker-miner: Also check "config root within config root" during queries libtracker-miner: Improve logging of TrackerFileNotifier libtracker-miner: Add compat layer for tracker_miner_fs_directory_* All these functions use TrackerIndexingTree underneath now libtracker-miner: Remove item_query_exists() from TrackerMinerFS All its uses have been either removed (state is guaranteed within TrackerFileNotifier) or replaced by tracker_file_notifier_get_file_iri() libtracker-miner: Remove unused structs from TrackerMinerFS libtracker-miner: Remove miner_fs->priv->config_directories This is replaced by TrackerIndexingTree and TrackerDirectoryFlags libtracker-miner-fs: Add tracker_indexing_tree_file_is_root() libtracker-miner: Remove miner_fs->priv->directories All its uses have been replaced by TrackerFileNotifier libtracker-miner: Remove miner_fs->priv->crawled_directories It's not used anymore, replaced by TrackerFileNotifier. libtracker-miner: Only spare an IRI query on updated items libtracker-miner: Ensure the right processing order on QUEUE_WAIT situations Ensure the dirs we're waiting for are prepended to the queue, so they're processed before any later child. libtracker-miner: Avoid double checking root directories in TrackerFileNotifier If a directory happens to be both a root directory and the child of a root directory, it could be told to be inspected twice, only do this if this directory root itself is being inspected. libtracker-miner: Only append dirs to crawler processing on recursive dirs This saves some idle jumps when a directory is found on a non-recursive crawled dir. libtracker-miner: Remove dead code in TrackerMinerFS TrackerCrawler is not in use anymore, so remove all its signal handlers libtracker-miner: Remove IRI cache from TrackerMinerFS TrackerFileNotifier provides that information where necessary libtracker-miner: Add tracker_file_notifier_get_file_iri() This function replaces the IRI cache in TrackerMinerFS libtracker-miner: Remove TrackerFile Instead, weak refs to GFiles are kept to manage the actual nodes in a TrackerFileSystem tree, this also eases TrackerFile vs GFile situations. libtracker-miner: Hook up progress/status indication to TrackerFileNotifier processing libtracker-miner: Add tracker_file_notifier_is_active() Just a boolean getter telling whether the notifier is currently doing something libtracker-miner: Add TrackerFileNotifier::finished This signal notifies when have all pending operations finished, if anything triggers new operations, a new ::finished signal will be emitted after these (i.e. there's no first vs !first index difference) libtracker-miner: Add TrackerFileNotifier::directory-started/finished These 2 signals notify when does indexing of a config root directory, or a recently added directory, happens. libtracker-miner: Remove unused filesystem property libtracker-miner: Remove check for removed files during crawling This code is unused now, TrackerFileNotifier will issue ::file-deleted already for items found in the store but not during crawling. libtracker-miner: Remove mtime cache It's unused now that we have TrackerFileNotifier. Code has been roughly wired at places, but that code is to be removed soon too, so... libtracker-miner: Remove all trace of TrackerMonitor in TrackerMinerFS TrackerFileNotifier's is used instead libtracker-miner: Use TrackerFileNotifier in TrackerMinerFS Now TrackerMinerFS uses TrackerFileNotifier signals to receive crawler/monitor events, so now a cleanup is due here. libtracker-miner: Hook TrackerFileNotifier to TrackerMonitor signals libtracker-miner: Add TrackerFileNotifier::file-moved signal libtracker-miner: Add "attributes_only" parameter to TrackerFileNotifer::file-updated This is so we use the same signal on both file and file attributes updates libtracker-miner: Set up monitor in TrackerFileNotifier libtracker-miner: Perform parallel querying/crawling in TrackerFileNotifier The query is done in one big batch to minimize latency, when the last of both operations end, availability/mtimes are checked in order to issue the corresponding signal for a file change. libtracker-miner: Store mtime during crawling in TrackerFileNotifier libtracker-miner: Initialize TrackerFileNotifier filesystem properties libtracker-miner: Fix double inserts in tracker_file_system_get_file() If parent was provided, no check for duplicates was done. libtracker-miner: Add tracker_file_system_traverse() This function iterates over all known files, it is possible to provide a root to start from, or NULL. libtracker-miner: Create signals for TrackerFileNotifier libtracker-miner: Rename TrackerFileNotifier::file-added to file-created libtracker-miner: clear directories queue before TrackerCrawler::finished This is so we can call tracker_crawler_start() within the ::finished handler, instead of on an idle. libtracker-miner: Add TrackerFileNotifier TrackerFileNotifier is meant to be a high-level object that notifies about any update/addition/removal affecting the indexed content of a miner. At the moment only basic infrastructure has been added, so it only crawls the contents. tests: Add TrackerFileSystem test suite libtracker-miner: Add TrackerFileSystem This is a file system abstraction object which may provide canonical (and persistent) TrackerFile objects representing a file, so == and != operations can be used for these. It is also able to store arbitrary information tied to a file. tracker-miner-fs: Use filter policies in TrackerMinerApplications Now all files are rejected, unless they match the *.desktop|*.directory filter libtracker-miner: Add default policies to TrackerIndexingTree filters An "accept" policy means a file is accepted unless it matches a filter, meanwhile a "deny" policy means files are rejected unless they match a filter. The default policy is "accept" tracker-miner-fs: Make TrackerMinerApplications use TrackerIndexingTree libtracker-miner: Make TrackerMinerFS use TrackerIndexingTree No more check-* or monitor-directory signals are emitted. Instead, the TrackerIndexingTree is used to determine whether files should be indexed. libtracker-miner: Implement tracker_indexing_tree_file_is_indexable on top of get_root() libtracker-miner: Rename tracker_indexing_tree_get_effective_parent to get_root() "Effective parent" is misleading since the same file could be returned, so talking about "configured root directories" makes somewhat more sense. tracker-miner-fs: Specify the index directories to TrackerIndexingTree tracker-miner-fs: Set TrackerIndexingTree filters in TrackerMinerFiles libtracker-miner: Optionally filter hidden files in TrackerIndexingTree libtracker-miner: Fix infinite loop libtracker-miner: change arguments in tracker_indexing_tree_get_parent_is_indexable() Now a GList is passed instead of an array. libtracker-miner: Add ::directory-added/removed signals to TrackerIndexingTree 2011-12-07 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner, tests: ignore built files libtracker-miner, tests: implement multiple cases for indexing tree add/remove. libtracker-miner,tests: First tests to check indexing tree capabilities libtracker-miner: new IGNORE flag for the indexing tree TRACKER_DIRECTORY_FLAG_IGNORE allows specifying a subtree to be completely ignored. It has the same effect as adding a new path to the tree without the TRACKER_DIRECTORY_FLAG_MONITOR flag. libtracker-miner: fix logic to tell whether file is indexable A file is indexable if: * The exact file was added to be monitored. * The direct parent directory of the file was added to be monitored. * The closest configured parent directory was added to be recursively monitored. libtracker-miner: fix tree disposal libtracker-miner: allow priting indexing tree for debugging libtracker-miner: fix node appending libtracker-miner, tests: avoid aligning backslash in Makefile.am libtracker-miner: avoid extra file type checks libtracker-miner: overwrite flags when adding same path to the indexing tree libtracker-miner: indentation fixes 2011-12-07 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: Make TrackerMonitor use TrackerIndexingTree This is at the moment only used for event discarding, and for emitting the correct signal out of a MOVE event. libtracker-miner: Add tracker_miner_fs_get_indexing_tree() The returned object is owned by the miner, and will be internally used to find out whether files should be processed. libtracker-miner: Add TrackerIndexingTree This object holds the parameters for the indexed directories, and the applying filters, so can effectively tell whether a file should be indexed or not. 2011-12-06 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-12-06 Martyn Russell <martyn@lanedo.com> libtracker-fts: Fix "enable-unaccent" description spelling mistake Fixes GB#664807. Ontology: Notify about nfo:DataObject changes Fixes GB#664070. tracker-extract-vorbis: Extract nmm:albumArtist for nmm:MusicAlbum This was missed in the Vorbis extractor but works in the GStreamer extractor. Fixes GB#664549. 2011-12-06 Philip Van Hoof <philip@codeminded.be> plugins/evolution: Fixes for several crashes in the plugin More information here: https://bugzilla.gnome.org/show_bug.cgi?id=644695#c17 2011-12-05 Jürg Billeter <j@bitron.ch> libtracker-data: Handle error case when resetting collator Fixes NB#293766. 2011-12-03 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2011-12-02 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2011-12-02 Carlos Garnacho <carlos@lanedo.com> tracker-extract,gstreamer: Fix leak Append elements to extractor->tagcache instead of replacing the list. libtracker-miner: Fix flow control in sparql buffer Avoid piling up flush requests of a small number of elements when we reach a limit, so the buffer is actually filled up for the next flush. 2011-12-01 Jürg Billeter <j@bitron.ch> Merge branch 'subsecond' tests: Update tests for changed date/time formatting libtracker-data: Use tracker_date_to_string instead of SQLite's strftime This fixes an off by 1 error for timestamps before 1970. Fixes NB#293344. libtracker-common: Fix tracker_date_to_string for timestamps before 1970 libtracker-common: Fix invalid read in tracker_string_to_date libtracker-bus: Keep connection to D-Bus session bus alive Fixes NB#293333. functional-tests: Disable userguides miner to avoid timeouts 2011-11-29 Jürg Billeter <j@bitron.ch> libtracker-common: Add more checks to gconf-dbus locale handling Fixes NB#289635. 2011-11-29 Martyn Russell <martyn@lanedo.com> Merge branch 'miner-fs-disable-miners' tracker-miner-fs: Provide --disable-miner command line argument This is to be able to disable the files, applications or userguides miner from actually starting. Starting here, means crawling/monitoring/indexing. The miners are still established via D-Bus. 2011-11-28 Christian Kirbach <Christian.Kirbach@googlemail.com> [l10n] Updated German translation 2011-11-28 Carlos Garnacho <carlos@lanedo.com> tracker-miner-fs: Fix compilation with --disable-maemo some ifdefs were out of place. 2011-11-27 Lucian Adrian Grijincu <lucian.grijincu@gmail.com> Updated Romanian translation 2011-11-27 Jürg Billeter <j@bitron.ch> Remove g_thread_init calls Calling g_thread_init with GLib 2.31 requires explicit dependency on gthread-2.0. However, g_type_init initializes threads since GLib 2.24, so it is no longer needed. 2011-11-25 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-11-25 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2011-11-25 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-11-25 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation Updated Slovenian translation 2011-11-25 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Add userguides miner to POTFILES.in 2011-11-25 Carlos Garnacho <carlos@lanedo.com> libtracker-extract: Plug a leak On error, the FD list wasn't being freed. tracker-extract,gif: Do not doubly close the FD DGifOpenFileHandle takes ownership on the FD, so don't try to close it ourselves too. tracker-extract,tiff: Do not doubly close the FD TIFFdOpen() takes ownership on the FD, so do not try to close it ourselves too. tracker-extract,text: Do not doubly close the FD tracker_read_text_from_fd() already takes care of closing it. 2011-11-25 Martyn Russell <martyn@lanedo.com> Merge branch 'miner-userguide-master' tracker-miner-fs: Add initial check on basedir to avoid subsequent checks tracker-miner-fs: Userguides not found must fallback to 'en' This is for cases where the locale specified has no userguide. tracker-miner-fs: Use locale specific path targetting for userguides Fixes 2 bugs related to "Updating Library" showing for too long. Fixes NB#285537. Fixes NB#291569. tracker-miner-fs: Added locale checking on directories If not the current locale, we ignore the userguide directory, but only when we HAVE_MEEGOTOUCH. tracker-miner-fs: Detect locale changes properly in userguides miner tracker-miner-fs: Move tracker-miner-applications-meego to tracker-miner-meego tracker-miner-fs: Move tracker-miner-applications-locale to tracker-miner-locale tracker-miner-fs: Remove some FIXME comments and add TODO comments 2011-11-25 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Avoid unnecessary string copies 2011-11-25 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Finishing touches on userguides miner - No longer get path when we don't need it per guide - Improve debugging - Remove commented out code - Don't allow .ini processing (only .html) tracker-miner-fs: Updated SPARQL generated to match more closely Files miner tracker-miner-fs: Added userguide extraction code Mostly works with the exception of a pipe leak by the looks of it. 2011-11-25 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Ignore userguide directory in files miner Userguide miner is responsible for indexing this directory. 2011-11-25 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Added initial boiler plate for userguide miner This requires --enable-maemo to build. 2011-11-25 Carlos Garnacho <carlos@lanedo.com> tracker-extract: Do not possibly leak TrackerExtractInfos tracker-extract,pdf: Plug a leak The poppler actions were being leaked. Another warning about invalid reads has been fixed too tracker-extract,albumart: Plug a leak The pixbuf loader was being leaked, whereas the pixbuf was being unref'ed, even though it's owned by the loader. libtracker-miner: Hook up directly to pools' state This way the miner is able to resume/pause as the different task pools notify on ::limit-reached, instead of relying on the pertinent item_queue_handlers_set_up() call at the right time. libtracker-extract: Deliver async result on all situations There were error situations that might end up on the async result not being called libtracker-extract: Made more resilient to dbus/splice failures Now if one of both operations fail, the other is cancelled right away, instead of having the petition wait forever for the other part to be finished, which might never happen. libtracker-miner: Fix buffer control in TrackerMinerFS Add an explicit check on item_queue_handlers_cb() to check the sparql buffer status, so it doesn't have an opportunity to clog it any further. 2011-11-25 Philip Van Hoof <philip@codeminded.be> libtracker-extract: Use strncmp for region of interest's type Fixes NB#292744. 2011-11-25 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-11-24 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2011-11-24 Piotr Drąg <piotrdrag@gmail.com> Updated POTFILES.in 2011-11-24 Ivan Frade <ivan.frade@gmail.com> Makefile.am: Ignore .c files in coverage when they come from vala functional-tests: Update ontology-change test to milliseconds date Add milliseconds in the expected result. 2011-11-24 Philip Van Hoof <philip@codeminded.be> miner-fs: Change that dot into a space and a dot Just to be sure syntax-wise Fixes NB#290406. miner-fs: End the sparql query with a dot Fixes NB#290406. Merge branch 'fallback-rdf-type' 2011-11-23 Jürg Billeter <j@bitron.ch> libtracker-bus: Do not use GDBusProxy The finalizer of GDBusProxy schedules an idle function to disconnect the name owner changed signal. This leaks a GMainContext if the corresponding loop was already terminated. Fixes NB#285426. Remove posix.vapi Both functions are available in upstream bindings. Remove glib-2.0-fixes.vapi This was fixed upstream in Vala 0.12.0. SPARQL: Ensure that fn:timezone-from-dateTime returns integer 2011-11-23 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Other signed changes where it made no sense to use guint libtracker-miner: Change signedness of a field that is used to calculate The ABS() where this field was used in had a calculation that could result in a negative value within the ABS's brackets. Because it's unrealistic that we'd ever need the value of this field to be larger than int, we decided to just change it to signed int. Fixes NB#290165. libtracker-extract, miner-fs: Use a fallback rdf:type in case of extractor failure Fixes NB#290406. 2011-11-23 Miloš Popović <mpopovic@src.gnome.org> Added Serbian translation 2011-11-21 Fran Diéguez <fran.dieguez@mabishu.com> Updated Galician translations 2011-11-21 Martyn Russell <martyn@lanedo.com> tracker-needle: Connect iconview selection change with tag-view update tracker-needle: Require gtk+ 3.0 in glade file tracker-needle: Remove unused tags-filter now Since you can search by tags, there is no need to show by tags tracker-needle: Integrate tag editing into a panel, don't use a dialog tracker-needle: Don't allow entry use if switching view with tag filtering 2011-11-16 Jürg Billeter <j@bitron.ch> Merge branch 'subsecond' 2011-11-16 Ivan Frade <ivan.frade@gmail.com> libtracker-extract: Accept ISO8601 dates with milliseconds Milliseconds were removed in a special case. Not needed anymore, because now we want milliseconds in the dates. 2011-11-16 Jürg Billeter <j@bitron.ch> libtracker-data: Support fractional seconds in xsd:dateTime values Fixes NB#290480. Fix Vala warnings 2011-11-15 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Add include of math.h for modf 2011-11-15 Jürg Billeter <j@bitron.ch> tracker-miner-applications: Do not warn for "Hidden" desktop files 2011-11-15 Philip Van Hoof <philip@codeminded.be> Writeback N/E/S/W notation for GPS coordinates Fixes NB#291088. 2011-11-14 Philip Van Hoof <philip@codeminded.be> Use NFKD normalization for album and artist in albumart filename forming Fixes NB#290814. 2011-11-10 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-11-10 Jürg Billeter <j@bitron.ch> libtracker-data: Do not implicitly replace values when using blank nodes Fixes NB#290249. 2011-11-09 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Preserve file permissions Fixes NB#289953. tracker-writeback: Check for write permission Fixes NB#289953. 2011-11-08 Jürg Billeter <j@bitron.ch> libtracker-common: Fix crash in gconf-dbus locale handling Fixes NB#289635. 2011-11-08 Carlos Garnacho <carlos@lanedo.com> writeback: Add missing #include This fixes the build, which I broke in my last commit, oops. writeback: Set uniformly the same error when writeback modules don't handle the file Fixes NB#286656. TRACKER_DBUS_ERROR_UNSUPPORTED is used in miner/writeback communication when writeback doesn't handle a given RDF type, which is considered non-critical on the miner side. So use the same error code when a module refuses to handle a mimetype. 2011-11-06 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2011-11-01 Ivan Frade <ivan.frade@gmail.com> tests/libtracker-miner: Compile correctly monitor tests to get coverage When gcov is enabled, libtracker-miner exports all symbols and no compilation against the source code files is needed. Compiling against the library also gives us coverage information of the test. tests/libtracker-miner: Fixed trailing whitespaces ... or Martyn would cut my fingers tests/libtracker-miner: Mock connection to inject results in the code Implementation of the Tracker.Sparql.Connection interface that allows to set predefined results on it. 2011-10-31 Marek Černocký <marek@manet.cz> Updated Czech translation Updated Czech translation 2011-10-31 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-10-28 Jürg Billeter <j@bitron.ch> libtracker-data: Also recreate domain indexes on collation change Fixes NB#286610. 2011-10-28 Ivan Frade <ivan.frade@gmail.com> tests/libtracker-common: Testing tracker-date-time functions tests/libtracker-common: moving tests to the write file Tests for tracker-date-time.c go into tracker-date-time-test.c tests/libtracker-common: tests for crc32 calculation 2011-10-28 Jürg Billeter <j@bitron.ch> Merge branch 'locale-change' tracker-miner-applications: Update locale file only after mining This ensures that locale change gets picked up on next start if the miner is shut down before finishing. Fixes NB#284591. tracker-miner-applications: Add miner_applications_locale_get_filename No functional change. tracker-miner-applications: Add miner_applications_locale_get_current No functional change. 2011-10-28 Philip Van Hoof <philip@codeminded.be> tracker-extract, png: Fix DLNA profiles Fixes NB#288530. tracker-extract, jpeg: Fix DLNA profiles Fixes NB#288530. 2011-10-28 Ivan Frade <ivan.frade@gmail.com> libtracker-common (tests/src): More tests and coverage tuning for tracker-file-utils tests: Use g_assert_cmpstr instead of our own implementation tracker_test_helpers_cmpstr_equals was written when g_assert_cmpstr didn't exist but both had the same intention. 2011-10-27 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2011-10-27 Jürg Billeter <j@bitron.ch> tracker-extract-gstreamer: Use global tags returned from discoverer Fixes NB#287529. tests/libtracker-common: Add missing includes 2011-10-27 Takeshi AIHANA <takeshi.aihana@gmail.com> Updated Japanese translation. 2011-10-27 Jürg Billeter <j@bitron.ch> tracker-extract-gstreamer: Rename flag also in the non-GUPnP-DLNA case 2011-10-27 Ivan Frade <ivan.frade@gmail.com> tests/libtracker-extract: new tests binaries added to .gitignore tests/libtracker-common: new test binaries added to .gitignore tests/libtracker-common: Missing file in previous commit (sched test) tests/libtracker-common: Complete tests for tracker-utils.c 2011-10-26 Ivan Frade <ivan.frade@gmail.com> tests/libtracker-common: testing tracker_sched_idle Make a nice coverage. Maybe the file should be ignored right away... tests/libtracker-common: Test for tracker-albumart 2011-10-26 Philip Van Hoof <philip@codeminded.be> tracker-utils: Display nameGiven and nameFamily when fullname is empty Fixes NB#287970. 2011-10-25 Martyn Russell <martyn@lanedo.com> ttl2sgml: Fixed memory leak Fixes NB#287972. 2011-10-24 Carlos Garnacho <carlos@lanedo.com> tracker-writeback: Apply writeback handlers sequentially on a same file Activating different writeback handlers on the same file in different threads may bring in issues, and as the GDBusMethodInvocation is shared across the (possibly multiple) spawned threads, there's a race condition to have it handled. 2011-10-24 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-10-24 Carlos Garnacho <carlos@lanedo.com> libtracker-miner,crawler: Use a cancellable per crawled directory Reusing the cancellable might bring in issues if tracker_crawler_start() (which resets the cancellable) is called shortly after tracker_crawler_stop(). So pending async tasks that do check for g_cancellable_is_cancelled() might run into the wrong state. Possibly fixes NB#287480. The cancellable might be used to cancel the current operation, but then reset and reused for the next one, while the previous operation could still be on the way to be cancelled. Instead, create a new cancellable to handle any following task. 2011-10-24 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2011-10-24 Martyn Russell <martyn@lanedo.com> tracker-search-bar: Don't display the results in a broken fashion Fixes GB#662364. 2011-10-22 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2011-10-21 Carlos Garnacho <carlos@lanedo.com> libtracker-miner,buffer: Improve logging of sparql errors On sparql error, both the faulty sparql string and the affected file(s) are displayed, this is only shown with -v 3. tracker-extract,gstreamer: Handle streams with no tags This prevents critical warnings on certain files. 2011-10-21 Jürg Billeter <j@bitron.ch> tests/libtracker-extract: Fix tests when srcdir != builddir 2011-10-20 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation Conflicts: po/pl.po 2011-10-20 Jürg Billeter <j@bitron.ch> libtracker-miner: Ignore mtime difference of less than 2 seconds FAT stores timestamps with 2 second granularity. Fixes NB#287278. 2011-10-20 Ivan Frade <ivan.frade@gmail.com> tests/libtracker-extract: unit tests for tracker-iptc 2011-10-19 Gert Michael Kulyk <gkulyk@yahoo.de> tracker-preferences: Make sure "Recurse" column title is translated Fixes GB#662099. 2011-10-18 Carlos Garnacho <carlos@lanedo.com> tracker-needle: Fix crash in result store n_children() would crash if there weren't any items in the categories array. Fixes GB#661446, reported by Damien Gombault <desintegr@gmail.com> tracker-extract: Also complete cancelled tasks If a task happened to be cancelled at the time of get_metadata(), the error was set, but the async result wasn't notified. 2011-10-18 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-10-18 Ivan Frade <ivan.frade@gmail.com> tests/libtracker-extract: Add LGPL notice to the test code 2011-10-18 Jürg Billeter <j@bitron.ch> functional-tests: Increase timeout in application tests 2011-10-18 Gert Michael Kulyk <gkulyk@yahoo.de> tracker-preferences: Mark tooltips in tracker-preferences.ui for translation 2011-10-17 Ivan Frade <ivan.frade@gmail.com> tests/libtracker-extract: Complete tracker-encoding tests tests/libtracker-extract: Ignore deprecated function in LCOV test/libtracker-extract: Complete tests for tracker-utils New tests for some functions, ignore deprecated functions in LCOV. tests/libtracker-extract: tracker-guaranteee unit tests tests/libtracker-extract: Do not check exact value of a date In the write/read process the timezone is recalculated. The expected value should be also updated accordingly. Checking that the date is not NULL is good enough for our purposes. 2011-10-17 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Fix uninitialized variable tracker-extract-text: Fix crash if unable to open file tracker-extract: Fix uninitialized variable in albumart libtracker-common: Fix compile warning, no functional change tracker-control: Fix crash when unable to get miner pause details tracker-control: Do not call g_object_unref on NULL in error case tracker-control: Use g_printerr instead of g_warning in get_uid_for_pid This is in line with the rest of the code. tracker-control: Fix a couple of typos, no functional change 2011-10-14 Ivan Frade <ivan.frade@gmail.com> tests/libtracker-extract: Unit tests for tracker-exif tests/libtracker-extract: Tests for TrackerExtractInfo libtracker-extract: Initialize string as NULL The pointer is used and shared later without any check. No know bug about it and tests pass fine before and after. 2011-10-14 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Don't own the DBus name before registering the object Fixes NB#286589. 2011-10-13 Jürg Billeter <j@bitron.ch> libtracker-common: Update tracker_filename_casecmp_without_extension The function was refactored in tracker-0.12 branch. This merges the changes back into master. 2011-10-13 Philip Van Hoof <philip@codeminded.be> tracker-extract: Use black background for transparant album art Fixes NB#272997. 2011-10-13 Ivan Frade <ivan.frade@gmail.com> tests/libtracker-common: moving test to the expected location Test is for a function in tracker-file-utils.c, so it should go to tracker-file-utils-test.c (it was in tracker-file-utils.c) 2011-10-12 Ivan Frade <ivan.frade@gmail.com> doc/tools: Include GCov flags (fixes building error with doc + coverage) tests: Testing gvdb to get a good coverage report 2011-10-12 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Fix crash in ReindexMimeTypes TrackerDBusRequest and GDBusMethodInvocation were freed twice. Fixes NB#286103. 2011-10-11 Jürg Billeter <j@bitron.ch> SPARQL: Support DELETE WHERE {...} The DELETE WHERE operation is a short form where the pattern is also used as the template for deletion. Syntax is specified in current SPARQL 1.1 Update draft. libtracker-common: Fix tracker_filename_casecmp_without_extension This fixes the test case comparing "test.mp3" and "test". SPARQL: Support SELECT (Expression AS Var) syntax Syntax specified in current SPARQL 1.1 Query draft. 2011-10-11 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Don't warn in case of unsupported format for writeback Fixes NB#285979. 2011-10-11 Martyn Russell <martyn@lanedo.com> tracker-control: List/control processes for the calling user only Fixes GB#655177. 2011-10-09 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-10-07 Aleksander Morgado <aleksander@lanedo.com> tracker-extract,gstreamer: flag renamed from TAGS to LIGHTWEIGHT in GStreamer See: https://bugzilla.gnome.org/show_bug.cgi?id=656345#c2 https://projects.maemo.org/bugzilla/show_bug.cgi?id=284430#c15 2011-10-07 Carlos Garnacho <carlos@lanedo.com> libtracker-bus: Plug 2 leaks 2011-10-06 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2011-10-06 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2011-10-06 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2011-10-06 Martyn Russell <martyn@lanedo.com> tracker-needle: Fixed POTFILES.{in|skip} changes needed for distcheck Merge branch 'needle-info-bar' tracker-needle: Make sure new strings are translated 2011-10-06 Philip Van Hoof <philip@codeminded.be> miners/fs: Don't let writeback block incoming DBus calls Fixes NB#285251. 2011-10-06 Carlos Garnacho <carlos@lanedo.com> tracker-needle: Do not warn on cancelled operations tracker-needle: Fix some valac compiler warnings tracker-needle: Set tags list scrolledwindow shadow This is so it stands out a bit more, as the side pane it is tracker-needle: Put the tags list in a GtkPaned This is to make it resizable within the view. tracker-needle: tell the user when a query is too generic There's now a limit of 500 items per category, and the info bar is used whenever a query is too generic to fit in the limit tracker-needle: Add GtkInfoBar and API to control its content tracker-needle: Use "primary-toolbar" style on toolbar 2011-10-06 Martyn Russell <martyn@lanedo.com> tracker-needle: Have a more inviting message for "no results" view 2011-10-05 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation Updated Polish translation 2011-10-05 Martyn Russell <martyn@lanedo.com> Merge branch 'tracker-needle-improved-tagging' tracker-needle: Don't use requires and check for null without use of "?" This is done by Vala 2011-10-04 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-10-04 Martyn Russell <martyn@lanedo.com> tracker-needle: Update tooltip for 'filter by tags' toolbar button tracker-needle: Renamed tracker-taglist to tracker-tags-filter tracker-needle: Added tracker-tags-view to edit tags as GtkVBox Made available through right click on hits 2011-10-04 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-10-04 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-10-03 Jürg Billeter <j@bitron.ch> tests/libtracker-common: Add missing include directive 2011-10-03 Aleksander Morgado <aleksander@lanedo.com> tracker-extract: include DLNA mimetype in non-gstreamer media extractors Fixes GB#647575. 2011-10-03 Martyn Russell <martyn@lanedo.com> tracker-preferences: Disable special user dir toggles if they duplicate others Fixes GB#660350. build: Don't use HAVE_GTK_DOC to determine building docs Now we use ENABLE_GTK_DOC like other projects and have updated configure according to the latest recommendations from the gtk-doc documentation. Additionally, we only use ENABLE_GTK_DOC to disable building ontology documentation because we use that before detection of the other tools we need when building documentation (such as dia and graphviz). Fixes GB#659995. 2011-10-03 Gert Michael Kulyk <gkulyk@yahoo.de> tracker-preferences: Use correct names for icons in preferences dialog Fixes GB#660589. tracker-needle: Mark a string in tracker-stats.vala for translation Fixes GB#660601. 2011-10-01 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2011-09-30 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Add geolocation to GStreamer extractor Fixes NB#257478. 2011-09-30 Martyn Russell <martyn@lanedo.com> Merge branch 'cuesheets' tracker-extract-gstreamer: Fix cue sheet build error 2011-09-30 Sam Thursfield <ssssam@gmail.com> tracker-extract: Fix bug in cue sheet extraction tracker-extract: Fix cuesheet track numbers The TrackerToc object only stores entries relevant to the file currently being extracted. We need to calculate the track number earlier when we have knowledge of every track in the cue sheet. 2011-09-30 Martyn Russell <martyn@lanedo.com> tracker-extract-gstreamer: Avoid additional NULL check for cuesheet TOC tracker-extract-gstreamer: Small code style/warning clean ups 2011-09-30 Sam Thursfield <sam.thursfield@codethink.co.uk> tracker-extract-gstreamer: Fix memory leak * Avoid leaking extractor info on failure * Be consistent about where extraction data is freed * Remove pointless check 2011-09-30 Martyn Russell <martyn@lanedo.com> tracker-extract-gstreamer: Don't test for NULL tagcache, it's never NULL Instead use !gst_tag_list_is_empty() tracker-extract-gstreamer: Use strcmp() not g_ascii_strcasecmp() for artists This breaks the way artist URIs are formed/used otherwise. 2011-09-29 Martyn Russell <martyn@lanedo.com> tracker-extract: Use g_strchug() functionality to avoid allocating memory Previously the work from Sam just returned buffer and the returned string required a +9 to get past the cuesheet=, however, I thought it better to just move the memory in a similar way to g_strchug() so we don't allocated any memory and the returned value can be used straight away. tracker-extract: Rename public functions to prefix tracker_cue_sheet_ tracker-extract: Fixed various coding style issues libtracker-extract: Bump version tracker_extract_info_get_postupdate_builder() was introduced libtracker-common: Remove unnecessary condition in tracker_filename_casecmp_without_extension() libtracker-common: Renamed function to casecmp filenames without extension New name is tracker_filename_casecmp_without_extension() build: Bump version to 0.13.0 Note: all new libraries will have -0.14* in their names. This potentially breaks a few things like Firefox/Thunderbird for now. 2011-09-29 Jürg Billeter <j@bitron.ch> NCO: Add nco:gender-other as predefined instance Fixes NB#284711. 2011-09-29 Martyn Russell <martyn@lanedo.com> thunderbird: Don't try to use older versions of Tracker firefox: Don't try to load 0.10.x libraries, we're using APIs not available there Fixes GB#660123. 2011-09-29 Sam Thursfield <sam.thursfield@codethink.co.uk> ontologies,tracker-extract: Rename nfo:containerStartTime to nfo:audioOffset Based on discussions at http://mail.kde.org/pipermail/nepomuk/2011-September/001860.html tracker-extract-gstreamer: Return more metadata in 1 file==1 track cases tracker-extract: Avoid crash when no postupdate string functional-tests: Test for previous tracker-miner-fs commit functional-tests: Disable initial sleep of tracker-miner-fs when testing. tracker-miner-fs: Delete any associated logical resources when removing a file With the cuesheets support it's now possible to have multiple nie:InformationElement resources stored in one file resource. The miner must make sure these are correctly deleted when the file resource is removed, either due to the file being deleted or it being on a stale removable volume. tracker-extract-gstreamer: Remove existing tracks for a file when extracting tracker-extract-gstreamer: Don't give each track its own URL Start time inside the larger container is specified now using a new property nfo:containerStartTime, and the track is related to the container nfo:FileDataObject in the standard way (nie:isStoredAs). This avoids problems of having a number of nfo:FileDataObject resources all pointing to the same file, such as duplication of file metadata and the need for special code to update the nie:url on moves/renames. tracker-extract: Add 'postupdate' field Normally in Tracker the nfo:FileDataObject resource representing a file and the nie:InformationElement subclasses representing its contents are one and the same. If a file contains more than one logical resource, the extractor needs to create these separately and link them to the file resource using nie:isStoredAs - this cannot be done until the file resource has been inserted in the store, because it is difficult to know how to refer to the file object. The 'postupdate' field provides a way to do this. tracker-extract-gstreamer: Fix class/property name mistakes tracker-extract-gstreamer: Use ToC information Fixes GB#657183 tracker-extract: Add libcue-based CUE sheet parser This is currently only usable by the GStreamer extractor due to the use of GstTagList. 2011-09-29 Sam Thursfield <samthursfield@codethink.co.uk> libtracker-common: Add tracker_case_match_filename_without_extension() This is used by the cue sheet parser to match audio files which are listed with incorrect extensions. 2011-09-29 Sam Thursfield <sam.thursfield@codethink.co.uk> tracker-extract-gstreamer: Pass tag list explicitly This allows smarter processing in future using information from cue sheets and other sources. tracker-extract-gstreamer: Factor out type setting code tracker-extract-gstreamer: Break up extract_metadata() into functions tracker-extract-gstreamer: Avoid duplicate nmm:Artist inserts Maintain an internal list to avoid creating more than one INSERT per nmm:Artist. Once CUE reading lands, a single file may contain 15 songs by one artist and previously this would have resulted in 15 identical INSERT statements in the preupdate. tracker-extract-gstreamer: Rework album info reading * Use GST_TAG_ALBUM_ARTIST for album artist if available (otherwise fall back on performer/artist) * Be consistant with variable names * Remove unused 'scount' parameter tracker-extract-gstreamer: Don't pass file URL needlessly Also some changes to avoid confusion: * Rename 'uri' to 'file_url' when there are lots of URIs around * Rename add_date_time_gst_tag() (which still uses the file URL to guarantee metadata) to add_date_time_gst_tag_with_mtime_fallback() tracker-extract-gstreamer: Simplify tagcache behaviour Avoid having a NULL tagcache, which allows us to use gst_tag_list_insert() to merge new tags. tracker-extract-gstreamer: Remove check for GST_VERSION > 0.10.20 Tracker now requires at least 0.10.30 in any case. tracker-extract-gstreamer: Remove 'needs_audio' flag Refactor away this variable, it's not needed 2011-09-28 Jürg Billeter <j@bitron.ch> functional-tests: Remove expected failure annotation from NB#217566 test This bug was fixed in SQLite 3.7.8. 2011-09-27 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-09-27 Jürg Billeter <j@bitron.ch> tracker-extract: Fix critical when FD list is missing tracker-extract-oasis: Ignore empty values and invalid dates tracker-extract-gstreamer: Fix division by zero tracker-extract-gif: Fix file descriptor leak in error case tracker-extract-pdf: Fix file descriptor leak in error cases libtracker-extract: Do not pass NULL to tracker_sparql_builder_prepend libtracker-data: Set journal_size_limit to 10 MB The WAL file may grow larger than that temporarily, but SQLite will truncate it to 10 MB as soon as it can. tracker-miner-applications: Fix theme icon URIs 2011-09-26 Martyn Russell <martyn@lanedo.com> libtracker-common: Disable configure.ac checks for ioprio_set() We expect this to be defined for all linux architectures and now use #ifdef __linux__ instead. This should avoid errors like: checking if we have ioprio... configure: error: cross-compiling: please set 'tracker_cv_have_ioprio' 2011-09-26 Michael Biebl <biebl@debian.org> fix html markup error in German translation 2011-09-26 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2011-09-26 Martyn Russell <martyn@lanedo.com> Merge branch 'SCHED_IDLE' tracker-preferences: Remove throttle implementation Now less useful with SCHED_IDLE work tracker-miner-fs, tracker-extract: Add config option SchedIdle The config option allows 3 states, 'always', 'first-index' or 'never'. The default is 'first-index'. The tracker-preferences dialog now has 3 radio buttons explaining this too. This is a first attempt at fixing GB#659422 libtracker-common: Added functionality for SCHED_IDLE scheduler priority Also added calls the tracker-miner-fs and tracker-extract 2011-09-25 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-09-24 Christian Kirbach <Christian.Kirbach@googlemail.com> [l10n] Updated German translation 2011-09-24 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2011-09-23 Wylmer Wang <wantinghard@gmail.com> update Simplified Chinese (zh_CN) translation 2011-09-23 Jürg Billeter <j@bitron.ch> libtracker-data: Do not consider index recreation failure fatal Tracker can operate with missing indices. Fixes NB#283501. 2011-09-23 Philip Van Hoof <philip@codeminded.be> tracker-extract, xmp: O_NOATIME requires owner to match, allow fallback tracker-extract, mp3: Also check for errno for fallback for open tracker-extract, tiff: O_NOATIME requires owner to match, allow fallback tracker-extract, text: O_NOATIME requires owner to match, allow fallback tracker-extract, pdf: O_NOATIME requires owner to match, allow fallback tracker-extract, mp3: Use g_open instead of open tracker-extract, gif: O_NOATIME requires owner to match, allow fallback tracker-extract, abw: O_NOATIME requires owner to match, allow fallback libtracker-common: O_NOATIME requires owner to match, have a fallback 2011-09-22 Martyn Russell <martyn@lanedo.com> Merge branch 'roi-png-fixed' Revert "Fix the Imagemagick png raw profile magic." This reverts commit 373147928efe09921cb23f649272c7486645687f. Branch 'roi-png-fix' with this commit was merged when 'roi-png-fixed' should have been instead. 2011-09-22 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2011-09-22 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-09-22 Philip Van Hoof <philip@codeminded.be> tracker-extract, gif: Don't use a FILE* when we don't have to tracker-extract, tiff: Don't use a FILE* when we don't have to tracker-extract, text: Use O_NOATIME for opening text files tracker-extract, xmp: Use mmap with a fd with O_NOATIME for xmp files tracker-extract, tiff: Use O_NOATIME for opening tiff files tracker-extract, pdf: Use mmap with an fd that has O_NOATIME for pdfs tracker-extract, msoffice: Use O_NOATIME for opening msoffice files tracker-extract, gif: Open GIF files with O_NOATIME libtracker-common, tracker-extract: Change the internal tracker_file_open API tracker-extract, flac: preserve file stats for flac files (simulates O_NOATIME) tracker-extract: Use O_NOATIME for files opened by libgsf (ie. EPub files) libtracker-common: Fix tracker_file_open, original had various problems tracker-extract, abw: Don't use _O_BINARY and handle error on mmap tracker-extract: Don't use g_mapped_file_new which doesn't allow O_NOATIME 2011-09-22 Martyn Russell <martyn@lanedo.com> Merge branch 'roi-png-fix' 2011-09-22 Mikael Ottela <mikael.ottela@ixonos.com> Fix the Imagemagick png raw profile magic. 2011-09-22 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Change default for low-disk-space-limit to be disabled (-1) This has been done to avoid the poll() call every 10 seconds we have in place given the store already has mechanisms in place for handling out of disk space. tracker-control: Reset GSettings config on -c option Previously we only removed config files. Fixes GB#659806 2011-09-22 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2011-09-21 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: improve event queue traces 2011-09-21 Mikael Ottela <mikael.ottela@ixonos.com> Fix the Imagemagick png raw profile magic. 2011-09-21 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2011-09-21 Martyn Russell <martyn@lanedo.com> tracker-control: Don't finalize TrackerMinerManager with --pause-for-process This command line option was useless, the finalize meant we resumed immediately afterwards instead of waiting for the Ctrl+C for the main loop we use. This was noticed by Rainer M. Krug. libtracker-miner: Improve docs for tracker_miner_manager_pause_for_process() When finalizing the manager, it will resume the pause. The tracker-control utility was demonstrating this. Let people calling it know. tracker-control: Missing plural handling for "Found %d miners {running|installed}" Fixes GB#659470. 2011-09-21 Jasper Lievisse Adriaanse <jasper@humppa.nl> libtracker-sparql: Fix pkg-config file OpenBSD has it's own pkg-config implementation which has a stricter parser than the "original" freedesktop one. As such, the tracker-sqarl.pc file doesn't work due to the linebreak in Description. Fixes GB#659620 2011-09-21 Aleksander Morgado <aleksander@lanedo.com> tests: avoid compilation warnings libtracker-miner: avoid logging global error in update array multiple times libtracker-miner: improve logging of partial errors when using update array libtracker-miner: minor indentation fixes 2011-09-20 Michael Biebl <biebl@debian.org> libtracker-miner: Hide private tracker_task_* and tracker_priority_queue_* API Instead of adding the tracker_task_* and tracker_priority_queue_* API to the list of exported symbols, add a private convenience library which the test suite can link against. This supersedes commit 34b06efed92bc2eb084e055c1ec78b98994f901e and f9e335dc7b39273b8848943eba037ba0a7c32c9f 2011-09-20 Ivan Frade <ivan.frade@gmail.com> tests/libtracker-extract: Fix mem-leaks in the tests No memleaks in the tests help us to find memory leaks in the real code! libtracker-extract: Do not leak GMatchInfo objects. Glib doc: A GMatchInfo structure, used to get information on the match, is stored in match_info if not NULL. Note that if match_info is not NULL then it is created even if the function returns FALSE, i.e. you must free it regardless if regular expression actually matched. 2011-09-20 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Propagate all errors of writeback over DBus All these error conditions would put miner-fs in a detect state unless propagated over D-Bus. Even criticals in tracker-writeback shouldn't leave miner-fs in a defect state (waiting for rename() to happen). tracker-writeback: Handle if there's no module for the passed rdf types tracker-writeback: Do proper error handling in the writeback program The writeback_file_finished in the miner-fs requires that in case no rename() happens at the end (which is the case in case the module's function returned FALSE at the end of tracker_writeback_file_update_metadata), that an error is returned for the DBus Method PerformWriteback. I encountered a situation where xmp_files_open_new returned NULL in the module function writeback_xmp_update_file_metadata of tracker-writeback-xmp.c, this resulted in a FALSE return causing a unlink instead of rename of the temporary file. This made miner-fs's handling for that fail. 2011-09-20 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-09-20 Ivan Frade <ivan.frade@gmail.com> ontologies: NFO updating lastModified timestamp. Forgot in the previous commit, so the DB in tracker is not updated with the new properties and class. 2011-09-19 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2011-09-19 Ivan Frade <ivan.frade@gmail.com> tests/functional-tests: update writeback test to new extractors output 2011-09-19 Martyn Russell <martyn@lanedo.com> tracker-needle: Don't add same renderer x2 to a column and show tag count tracker-needle: Ellipsize tag list so long tags don't obstruct window tracker-needle: Add initial context menu for views and launching parent dirs This means it is now possible to launch nautilus with the parent folder of a given uri tracker-needle: Disable search entry when filtering by tag list Also fixes some criticals when filtering by tags tracker-needle: Include tags in search results and only show files for selected tag This means searching for "foo" will find that using fts:match AND nao:prefLabel. This also means the tags list on the right side will show ONLY those files in the selected view. 2011-09-19 Aleksander Morgado <aleksander@lanedo.com> tests: ignore built programs in git tracker-miner-fs, applications: Keep track of MLocale-reported locale When MeegoTouch libraries are available, we use the MLocale Translation catalogue to get translated application names in the Applications Miner. Until now, we assumed that the language locale in MLocale would be completely equal to the one stored in the GConf keys, but this is no longer true; the '/meegotouch/i18n/language' key may not hold the country code, while the MLocale-reported language now it does (NB#276653). Therefore, it is better to keep track of the MLocale-reported locale instead of the GConf-retrieved one. Fixes NB#282957 2011-09-19 Martyn Russell <martyn@lanedo.com> tracker-preferences: Updated text used on Locations tab from feedback Had some good feedback from blog comments which I have used here 2011-09-18 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-09-18 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2011-09-18 Jürg Billeter <j@bitron.ch> tests/libtracker-extract: Fix build without enca 2011-09-17 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-09-17 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-09-17 Martyn Russell <martyn@lanedo.com> Merge branch 'tracker-preferences-xdg-dirs' tracker-preferences: Use one list for locations and add XDG toggle buttons 2011-09-16 Jürg Billeter <j@bitron.ch> Merge branch 'collation' libtracker-data: Drop all indexes before index recreation Recreating an index with new collation while indexes with old collation still exist may result in SQLite reporting database corruption. Fixes NB#282541. libtracker-data: Make index recreation less verbose fix_indexed already prints the index name before all SQL statements executed, no need to print class and property name in recreate_indexes. 2011-09-15 Cosimo Cecchi <cosimoc@gnome.org> tracker-miner-fs: Don't index removable devices by default This has been done for a few reasons, most notably: - Most people don't want CDs or other removable media indexed *always* - Common places (like external HDs) can and will be added by most anyway - If GVFS says a mount point is removable, we recursively index that which recently caused Fedora 16 beta users to have horrendous desktop performance Fixes GB#659062. 2011-09-15 Sam Thursfield <sam.thursfield@codethink.co.uk> libtracker-miner, libtracker-sparql: Update build instructions for 0.12 2011-09-15 Cosimo Cecchi <cosimoc@gnome.org> tracker-miner-fs: Enable indexing when on battery power on by default The team decided this makes more sense too given you don't expect content to be unavailable when running on battery (because we paused operations). Also if an index has already been complete, there is usual little upkeep required. Fixes GB#659063. 2011-09-15 Martyn Russell <martyn@lanedo.com> libtracker-miner: Include introspection annotations glossary libtracker-sparql: Include introspection annotations glossary libtracker-extract: Fix doc build breakage This was mostly caused by the way we implement entities for pages and it seems them not conforming to the xi namespace 2011-09-15 Jürg Billeter <j@bitron.ch> libtracker-miner: Add tracker_task_* API to exported symbols Test cases require this to build. 2011-09-15 Sam Thursfield <sam.thursfield@codethink.co.uk> libtracker-extract: Documentation fixes * Add TrackerExtractInfo section * Update compile instructions for 0.12 * Include introspection annotations glossary (avoids parse errors) * Fix tracker_extract_get_metadata() example for 0.12 * Fix miscellaneous variable name mismatches etc. 2011-09-15 Philip Van Hoof <philip@codeminded.be> libtracker-miner, tracker-extract: Use NULL and not " ", which gets stripped to "" Our internal API, tracker_albumart_get_path, strips " " into "". This meant that for forming the album media-art filename the md5 of "" was taken instead of of the single-space string " ". When we pass NULL it returns the correct filename. Fixes NB#282190. 2011-09-15 dmustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-09-14 Ivan Frade <ivan.frade@gmail.com> libtracker-extract: Generate correct Sparql for the regions of interest tests/libtracker-extract: Yet another test for the Regions of interest 2011-09-14 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: Fix typo in check_item_queues() The check to turn create + delete into noop was wrong, although in a harmless way. 2011-09-14 Ivan Frade <ivan.frade@gmail.com> libtracker-extract: RoI creation doesn't depend on the order in the XML Fixes NB#282393: tracker-extract crashes parsing XMP metadata which contains regions of interest libtracker-extract: Use correct namespace for stArea libtracker-extract: Remove useless debug message tests/libtracker-extract: More XMP tests for the RoI Fixed the Area namespace according to the spec. 2011-09-13 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: if miner still crawling, don't consider it as cleanly shutdown Fixes NB#277052. 2011-09-13 Ivan Frade <ivan.frade@gmail.com> functional-tests: New parameter (graph) for the new extractor API tests/libtracker-miner: unittest for TrackerTaskPool 2011-09-13 Jürg Billeter <j@bitron.ch> Merge branch 'unsupported-ontology-change' 2011-09-13 Philip Van Hoof <philip@codeminded.be> libtracker-data: Support for removing rdfs:subPropertyOf Fixes NB#281335. libtracker-data: Detect unsupported ontology change rdfs:subPropertyOf 2011-09-13 Jürg Billeter <j@bitron.ch> libtracker-data: Log error message on unsupported ontology change libtracker-data: Do not reset database on unsupported ontology change If the journal is disabled, do not reset database on unsupported ontology change as this would loose data. Instead, continue operation with old ontology version. libtracker-data: Rollback transaction on unsupported ontology change This does not make a difference when replaying journal, however, if the journal is disabled, we want to continue using the old ontology if we cannot use the new version. libtracker-data: Fix error check for unsupported ontology change 2011-09-12 Martyn Russell <martyn@lanedo.com> Merge branch 'nautilus-issues' build: Don't require explicitly GTK+ 3.x for nautilus, it can cause crashes This is because nautilus uses GTK+ 2.x on some systems and we require 3.x, this causes crashes and stack overflows, etc which we want to avoid. Fixes GB#651815 (possibly) There have been a number of crash situations reported with nautilus and all random and impossible to reproduce. I am considering this the fix for now since I see no other reason. nautilus: Don't re-define tracker_sparql_escape_string() instead re-use it nautilus: Remove tracker_glist_copy_with_nautilus_files(), no longer used nautilus: Improve the code generally - Use nautilusr APIs for copying lists, etc. - Use G_DEFINE_DYNAMIC_TYPE for TrackerTagsView - Don't dereference from object into private everywhere - Remove unused code for background interface - Add some small debug 2011-09-12 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-fs, apps: avoid trying to parse directories as desktop files 2011-09-12 Javier Jardón <jjardon@gnome.org> configure.ac: remove dbus-glib dependencies This completes commit 559877e02ab0da358a64e6f19afa743db131ccc4 2011-09-12 Martyn Russell <martyn@lanedo.com> tracker-miner-fs, tracker-writeback: Remove all dbus-glib occurrences This fixes GB#658645. libtracker-miner: Added tracker_priority_queue* API to exported symbols The tests cases fail without this. build: Require Vala >= 0.13.4 Fixes GB#658706. 2011-09-12 Aleksander Morgado <aleksander@lanedo.com> build: include gstreamer-dlna rules in EXTRA_DIST The template for the GStreamer DLNA rules was missing from the dist tarball. Fixes GB#658787. 2011-09-09 Ivan Frade <ivan.frade@gmail.com> src/libtracker-extract: move fix_region_type to ifdef-free area The function was defined inside an ifdef and used outside. test/libtracker-miner: Unit test for the priority queue src/libtracker-miner: Export all symbols if GCov is enabled So we can unit-test internal code of libtracker-miner Note that on release GCov is disabled and the symbols will be filtered then 2011-09-09 Jürg Billeter <j@bitron.ch> coverage: Ignore generated .c files 2011-09-09 Ivan Frade <ivan.frade@gmail.com> configure.ac: define BUILD_ flags and libs after GCov checking Otherwise the gcov flags are never set and it is not possible to get test coverage results. tests/libtracker-extract: compile/run encoding testing only with right deps The test will only work if enca or libmeegotouch are installed. 2011-09-09 Martyn Russell <martyn@lanedo.com> Release 0.12.0 2011-09-09 Jürg Billeter <j@bitron.ch> functional-tests: Remove expected failure annotation from NB#281201 test The bug was fixed by commit f595906. 2011-09-09 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-09-09 Martyn Russell <martyn@lanedo.com> build: Require GLib 2.28 (was 2.26) Recent code uses g_slist_free_full() which is only in 2.28. 2011-09-08 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2011-09-08 Jürg Billeter <j@bitron.ch> libtracker-sparql: Reference .so.0 instead of .so in typelib .so files are commonly packaged in -devel, separate from the main library package. Fixes GB#658588. 2011-09-08 Martyn Russell <martyn@lanedo.com> Merge branch 'forced-mtime-check-per-directory' 2011-09-08 Aleksander Morgado <aleksander@lanedo.com> libtracker-extract: plug a leak libtracker-extract: ensure valid dbus connection when cancelling tasks libtracker-miner: clear forced mtime check directories once first crawled tracker-miner-fs: force mtime checks on inconsistent mounts If a mount is reported to be unmounted in the store, but was found mounted when tracker-miner-fs started, force a mtime check in the mount. libtracker-miner: new tracker_miner_fs_force_mtime_checking() method This method allows specifying which directories will be forced to have mtime checks, regardless of the global mtime checking configuration. Fixes NB#277052. tests: ensure XMP test files are found when srcdir != builddir tests: fix indentation in libtracker-extract/xmp functional tests 2011-09-08 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Add the file to which the symlinks point in don't-remove list Fixes NB#281183. 2011-09-08 Bruce Cowan <bruce@bcowan.me.uk> Updated British English translation 2011-09-07 Philip Van Hoof <philip@codeminded.be> First delete in case superprop is multivalue and prop isn't for IorR Fixes NB#281201. tracker-extract, gif: Fix compilation error for GIF extractor libtracker-data: Fix using null with date fields in insert or replace Fixes NB#281540. 2011-09-07 Martyn Russell <martyn@lanedo.com> tracker-extract: Don't leak where clause in image extractions This was leaking for gif, jpeg, pdf, png, tiff and xmp Merge branch 'experiment-with-roi' libtracker-extract: Remove where and uri args from tracker_xmp_apply_regions() These were unused. Also documented the function to explain where it's used compared to tracker_xmp_apply(). 2011-09-06 Martin Srebotnjak <miles@filmsi.net> Updated Slovenian translation 2011-09-06 Martyn Russell <martyn@lanedo.com> libtracker-extract: Support graph in tracker_xmp_apply_regions() libtracker-extract: Return TRUE in tracker_xmp_apply_regions() if no regions tracker-extract: Fix a number of memory leaks - mimetype in extract_task_new() - task_mutex in TrackerExtract private struct - TrackerMimetypeInfo in extract_task_free() - graph string in extract_task_free() libtracker-extract: Fixed memory leak in iterate_simple() for XMP data libtracker-extract: Use GSlice and free TrackerXmpRegion structures We weren't freeing the TrackerXmpRegion structures and GSlice makes sense when we have multiple regions (which is expected). libtracker-extract: Don't assume ':' exists in every path we iterate This makes sure we don't accidentally return g_strdup(NULL + 1) when iterating XMP data libtracker-extract: Fix coding style issues Also make sure tracker_xmp_apply_regions: - returns a boolean for success - checks parameters input (given it's a public API) Use a GSList for regions not a GList (which isn't necessary). 2011-09-06 Ivan Frade <ivan.frade@gmail.com> functional-tests: JPG with regions of interest to test extraction tracker-extract: TIFF: build sparql for regions of interest in XMP tracker-extract: PDF: build sparql for regions of interest in XMP tracker-extrcat: GIF: build Sparql for regions of interest in XMP functional-tests: PNG with regions of interest for the extraction test data Expected failure at the moment. Could be a wrong XMP in the file or code missing in tracker-xmp... Moving on but this deserves a look. functional-tests: extraction test, support <uuid> urls functional-tests: Test for "INSERT OR REPLACE does not update superproperties" tracker-extract: JPEG: generate sparql for the regions of interest in the metadata Fixes NB#271437 libtracker-extract: new function to generate sparql of the region struct Input arguments "uri" and "where" are not needed, but I keep the there for consistency with the other sparql-generation function. libtracker-extract: handle correctly XMP namespaces We instruct XMP to use a known prefix for the namespaces, so we can use it in the comparison in the code libtracker-extract: test for XMP with custom namespaces prefixes NFO: Add cardinality restrictions to the properties NFO: Regions of interest in images libtracker-extract: Very first implementation of the Region extraction from XMP libtracker-extract: Unit test to read regions in the XMP metadata 2011-09-06 Martyn Russell <martyn@lanedo.com> Merge branch 'wip/extract-graphs' libtracker-extract: Fixed unit tests which now require a graph parameter 2011-09-06 Jürg Billeter <j@bitron.ch> libtracker-common: Do not delete old log Avoid losing information from previous runs. 2011-09-06 Philip Van Hoof <philip@codeminded.be> tracker-extract, libtracker-extract, xmp: Do all inserts in miner-fs's graph tracker-extract, vorbis: Do all inserts in miner-fs's graph tracker-extract, totem: Do all inserts in miner-fs's graph tracker-extract, tiff: Do all inserts in miner-fs's graph tracker-extract, png: Do all inserts in miner-fs's graph tracker-extract, pdf: Do all inserts in miner-fs's graph tracker-extract, mplayer: Do all inserts in miner-fs's graph tracker-extract, libxine: Do all inserts in miner-fs's graph tracker-extract, jpeg: Do all inserts in miner-fs's graph tracker-extract, gstreamer: Do all inserts in miner-fs's graph tracker-extract, gif: Do all inserts in miner-fs's graph 2011-09-06 Martyn Russell <martyn@lanedo.com> libtracker-extract: Fixed missing "Since" in documentation 2011-09-06 Philip Van Hoof <philip@codeminded.be> tracker-extract, flac: Do all inserts in miner-fs's graph tracker-extract, mp3: Don't use the graph in the deletes examples/libtracker-extract: Fix mockup example's API usage tracker-extract, mp3: Do all inserts in miner-fs's graph 2011-09-06 Martyn Russell <martyn@lanedo.com> tracker-extract: Fixed reference to non-existent variable This whole are is quite broken inside HAVE_LIBSTREAMANALYZER anyway. tracker-extract: Fix potential memory leak with XMP where string libtracker-extract: Fixed some small coding style issues 2011-09-06 Carlos Garnacho <carlosg@gnome.org> Revert "ontology: Remove tracker:writeback property from nao:prefLabel" This reverts commit 9dcee2bdc0ef2beb9be83b31180c18fb2c0ecfbd. Tracker-extract won't trigger anymore a writeback petition when inserting tags. So, even if it doesn't work yet as expected, is not harmful in normal operations. tracker-extract: use provided graph when inserting keywords from PDF documents tracker-extract: use provided graph when inserting keywords from PNG images tracker-extract: use provided graph when inserting keywords from TIFF images tracker-extract: use provided graph when inserting keywords from JPEG images tracker-extract: use provided graph when inserting keywords from GIF images tracker-extract: Pass the graph down to extract modules The passed TrackerExtractInfo will now contain the graph that should be used for data modifications tracker-extract: Add a "graph" parameter to dbus methods Now the requester may provide a graph, that should be used by tracker-extract for any insert clause it generates in the preupdate sparql builder. tracker-extract: Pass a TrackerExtractInfo to the exported extract function This struct replaces all previous arguments, with the advantage that it can be extended at any time, containing all necessary information for modules to to their work correctly. All modules have been changed to deal with the new function signature. libtracker-extract: Move TrackerExtractInfo out to its own header The API has changed slightly too, it is a refcounted boxed object, and contains TrackerSparqlBuilders for preinsert/metadata contents. This is so it may be passed on to extract modules. Current users of TrackerExtractInfo have been modified to deal with the API change. libtracker-sparql: Allow append() on embedded inserts in TrackerSparqlBuilder The result() method was returning nothing for these if only append() is used to introduce content in a TrackerSparqlBuilder created through the embedded_insert() constructor. 2011-09-06 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Improve query performance for updating tracker:available on mounting Previously we had an OPTIONAL and FILTER in the query. This translated into quite a delay when updating even a small number of resources in the database and subsequently affected the crawling speed upon re-mounting. Given we don't *ever* expect there to be resources for the given nie:dataSource which are in the wrong tracker:available state, we don't need the OPTIONAL or FILTER there. This fixes NB#272441 2011-09-06 Aleksander Morgado <aleksander@lanedo.com> tracker-extract,gstreamer: if possible, use Tagreadbin backend in the Discoverer By default, the GUPnP-DLNA and GStreamer discoverers use Decodebin2 backend to read tags. But, if Tagreadbin is available, we should really use it instead. See: https://bugzilla.gnome.org/show_bug.cgi?id=564749 https://bugzilla.gnome.org/show_bug.cgi?id=656345 2011-09-05 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2011-09-05 Jürg Billeter <j@bitron.ch> libtracker-data: Do not delete database and do not exit on corruption If there is no journal, deleting the database will cause data loss. Do not do this automatically as it should not be common with SQLite fsync enabled and we cannot be sure that database file is not usable anymore. libtracker-data: Remove useless calls before exit on database corruption thunderbird: Fix Makefile 2011-09-05 Vincent Untz <vuntz@gnome.org> thunderbird: Do not call update-desktop-database when building packages Fixes GB#658232 thunderbird: Fix .desktop file The MimeType value is a list and therefore should end with a ;. https://bugzilla.gnome.org/show_bug.cgi?id=658231 2011-09-05 Fran Dieguez <fran@openhost.es> Updated galician translations 2011-09-03 Claude Paroz <claude@2xlibre.net> Updated French translation 2011-09-02 Aleksander Morgado <aleksander@lanedo.com> tracker-extract: remove unneeded source file The GUPnP-DLNA extractor was merged into tracker-extract-gstreamer.c 2011-09-01 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-09-01 Martyn Russell <martyn@lanedo.com> Merge branch 'handle-desktop-links' tracker-miner-fs: Check URL is provided for desktop file Type=Link Also free the url after use. 2011-09-01 Jürg Billeter <j@bitron.ch> libtracker-data: Use ontology from database if cache is unavailable Fixes NB#279789. 2011-09-01 Adrien Bustany <adrien.bustany@nokia.com> Firefox plugin: bump compatibility to 6.0.* Thunderbird plugin: bump compatibility to 7.0.* 2011-08-31 Carlos Garnacho <carlos@lanedo.com> tracker-miner-applications: Handle desktop files of type=Link Fixes NB#256958. Such desktop files are often just links to some URL, so handle these as nfo:Bookmark in the applications miner. 2011-08-31 Martyn Russell <martyn@lanedo.com> Merge branch 'tracker-control-verbosity' tracker-control: Added man page documentation for --{get|set}-log-verbosity tracker-control: Add work for initial --set-log-verbosity tracker-control: Add work for initial --get-log-verbosity libtracker-sparql: Don't package .gir/.typelib files in tarballs Fixes GB#657354. 2011-08-30 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Reindex applications on locale change Fixes NB#276858. libtracker-sparql: Add tracker_sparql_cursor_close This allows resetting the underlying SQLite statement before freeing the cursor, mainly needed when using libtracker-sparql from garbage collected languages. Based on patch by Cosimo Cecchi. 2011-08-26 Philip Van Hoof <philip@codeminded.be> Fix crash in case of error in MeeGo Harmattan locale handling Fixes NB#276830. 2011-08-25 Sam Thursfield <sam.thursfield@codethink.co.uk> Merge branch 'functional-test-improvements' functional-tests: Only run tests that are +x This fixes a regression from the existing behaviour Fixes GB#655898 2011-08-25 Sam Thursfield <samthursfield@codethink.co.uk> functional-tests: Make quiet by default Add -v / --verbose option, which enables output of the helper status messages and also stdin/stderr of the tracker processes being tested. functional-tests: Run all tests with a fake $HOME sandbox Prefer storing test data in /tmp to avoid leaving cruft around the home directory. For tests that rely on filesystem monitoring, we must use the real home directory anyway because FS miner currently ignores paths under /tmp. If /tmp is too small/unsuitable for test data, the preferred method for using a different location is to set TMPDIR. functional-tests: Refactor common/utils/helpers.py * Add Helper base class. * New setup behaviour: start() runs the process and blocks until it is available on the bus. connect() and wait() are removed. * A new process is always explicitly spawned, instead of relying on DBus activation. This allows passing environment variables to the tracker processes being tested, regardless of whether they are being run in the session dbus or a nested bus from test-helper.sh. * common/utils/system.py: use Helper instead of our own LifeCycle classes because they now do the same thing. * StoreHelper: don't try to respawn the tracker-store unless it actually has disappeared from the bus - other exceptions are now passed to the caller. All tests fixed for new behaviour. functional-tests: Run tests inside an isolated DBus instance 2011-08-25 Stefano Facchini <stefano.facchini@gmail.com> libtracker-miner: fix error propagation in tracker_miner_manager_new_full Propagate inner_error and remove the warning message, letting the caller handle the error Fixes GB#657161 2011-08-25 Jürg Billeter <j@bitron.ch> Merge branch 'nb242979' SPARQL: Use single hash table and array for all update solutions This reduces peak memory usage for updates with a WHERE clause that returns many solutions. SPARQL: Add Solution helper class libtracker-data: Do not error out when deleting non-existing statement There is no need to report an error for domain mismatch on delete. This fixes DELETE { <foo:bar> ?p ?v } WHERE { <foo:bar> ?p ?v} SPARQL: Ensure that WHERE clause is evaluated before performing updates This will increase peak memory usage for updates with a WHERE clause that returns many solutions. Fixes NB#242979. 2011-08-25 Ivan Frade <ivan.frade@gmail.com> functional-tests: Print the current test name before running it 2011-08-24 Sam Thursfield <sam.thursfield@codethink.co.uk> functional-tests: Use correct argv in 400-extractor.py 2011-08-24 Ivan Frade <ivan.frade@gmail.com> functional-tests: Fail instead of error when gstreamer plugin not preset. Handle correctly nao:Tags. functional-tests: Allow to run one specific .expected file in the 400-extractor.py 2011-08-24 Sam Thursfield <sam.thursfield@codethink.co.uk> tracker-evolution: Fix compile with Evolution 2.9x 2011-08-24 Carlos Garnacho <carlos@lanedo.com> ontology: Remove tracker:writeback property from nao:prefLabel Fixes NB#278806, this property only applies to nao:Tag entities, not on files, so whenever a file with XMP keywords was added, the insertion of the keywords would trigger a writeback petition in the miner. This would add a writeback task that would issue a costly query only to find out it doesn't directly affect any nfo:FileDataObject. If several files with these characteristics were created, the effect would be multiplied as writeback petitions would be requested faster than delivered, filling the writeback queue and hence blocking any other processing. 2011-08-23 Jürg Billeter <j@bitron.ch> tracker-evolution: Add support for Evolution 3.2 Fixes GB#654824. tracker-evolution: Refactor convert_url_to_whatever to message_uri_build 2011-08-23 Philip Van Hoof <philip@codeminded.be> tracker-extract: Improve error debugging for album art handling 2011-08-22 Jürg Billeter <j@bitron.ch> tests/libtracker-extract: Fix orientation test 2011-08-22 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fix memory leak on stream 2011-08-22 Martyn Russell <martyn@lanedo.com> Merge branch 'orientation-fix' 2011-08-22 Mikael Ottela <mikael.ottela@ixonos.com> libtracker-extract: Fix the orientation handling in xmp Fixes NB#277799 2011-08-21 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fix memleak after own review, obvious one 2011-08-20 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Do not always use guessed encoding for ID3v2 Always using guessed 8-bit encoding for ID3v2 breaks some valid MP3 files. This commit disables use of guessed encoding for ID3v2 except for Cyrillic locales where broken ID3v2 tags appear to be common. Fixes NB#278171. 2011-08-19 Philip Van Hoof <philip@codeminded.be> Merge branch 'avoid-album-art-duplicates' tracker-extract: Bugfix, strcmp wrongly used and double free tracker-extract: Support detecting non-jpeg embedded album art tracker-extract: Use incremental checksum calc to avoid memory use For large files the use of g_file_get_contents wasn't a very good idea. Instead with this patch we change that to use the support for incrementally calculating the checksum, and then using a GFileInputStream to read from the file in chunks of 1024 bytes. tracker-extract: Fix whitespace issues tracker-extract: Set retval to false if contents can't be read tracker-extract: Handle artist=null use-case for cover.jpg/png too tracker-extract: Remove temp file in case of convert + symlink tracker-extract: Add code comments about handling album art tracker-extract: Avoid albumart duplicates for cover.png tracker-extract: Avoid albumart duplicates for cover.jpg tracker-extract: Avoid albumart duplicates for embedded 2011-08-19 Martyn Russell <martyn@lanedo.com> tracker-extract-gupnp-dlna: Initialise all variables in MetadataExtractor struct tracker-extract-gstreamer: Don't mention URI for dlna debugging We don't do this because the URI is already mentioned several times before we get to this point and it just spams the logs Merge branch 'dlna-mime' 2011-08-19 Mikael Ottela <mikael.ottela@ixonos.com> NMM: Add property nmm:dlnaMime for dlna specific mimetypes tracker-extract-gstreamer: Add support for dlnaMime Fixes NB#246131, DLNA mime-types needed 2011-08-19 Sam Thursfield <sam.thursfield@codethink.co.uk> tracker-extract-gstreamer: Don't check for GST_TAG_DEVICE_MAKE The xmp and exif elements return GST_TAG_DEVICE_MANUFACTURER; nobody is using GST_TAG_DEVICE_MAKE any more. Fixes GB#656838 tracker-extract-gstreamer: Remove redundant tag definitions GST_TAG_DEVICE_MODEL and GST_TAG_DEVICE_MANUFACTURER are upstream since 0.10.30. 2011-08-18 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Use XDG locations not static values for desktop files We were using just $prefix/share/{applications|desktop-directories}. Now we use {applications|desktop-directories} for all XDG system dirs and XDG user dirs. This list can include for example: : Setting up applications to iterate from XDG system directories : Adding:'/usr/share/gnome-classic/applications' : Adding:'/usr/share/gnome-classic/desktop-directories' : Adding:'/usr/share/gnome/applications' : Adding:'/usr/share/gnome/desktop-directories' : Adding:'/usr/local/share/applications' : Adding:'/usr/local/share/desktop-directories' : Adding:'/usr/share/applications' : Adding:'/usr/share/desktop-directories' : Setting up applications to iterate from XDG user directories : Adding:'/home/martyn/.local/share/applications' : Adding:'/home/martyn/.local/share/desktop-directories' : Setting up applications to iterate from MeegoTouch directories : Adding:'/usr/lib/duicontrolpanel/' Previously the list was 3 locations. So now more applications are indexed. This fixes NB#256958 2011-08-17 Martyn Russell <martyn@lanedo.com> Release 0.11.2 2011-08-17 Sam Thursfield <samthursfield@codethink.co.uk> functional-tests: Disable optical & removable indexing for tests functional-tests: Separate out test-runner.sh from Makefile 2011-08-16 Jürg Billeter <j@bitron.ch> tracker-needle: Fix build with Vala master 2011-08-16 Yuri Myasoedov <omerta13@yandex.ru> Updated Russian translation 2011-08-16 Martyn Russell <martyn@lanedo.com> build: Fixed distcheck issues 2011-08-16 Jürg Billeter <j@bitron.ch> NMO: Add nmo:delivery-status-temporarily-failed-offline Fixes NB#247468. 2011-08-15 Philip Van Hoof <philip@codeminded.be> tests/functional-test: Fixed insert or replace f. test for null support libtracker-data: Cleanup of code after review tests: Fix whitespace issues in new test tests: Add functional test for multiple nulls use-case libtracker-data: Make null,x,null,y,z work tests: Fix glitch in functional test tests: Add functional test for insert or replace null support libtracker-data: Allow null upfront a new set for multivalue properties When null deletes a set of a multivalue property, then the buffer must be flushed. Else the merging in the buffer might make things go wrong. libtracker-data: Add some code comments for clarification libtracker-data: Insert or replace's null support for multivalue props libtracker-data: Add stops and error handling for unsupported null cases libtracker-data: Support for insert or replace null objects libtracker-data: Add internal API for deleting all objects tracker-extract: Do extra header check for jpg cover files Fixes NB#259325. 2011-08-12 Sam Thursfield <samthursfield@codethink.co.uk> tracker-extract-gstreamer: Remove unused functions https://bugzilla.gnome.org/show_bug.cgi?id=656419 tracker-extract-gstreamer: Fix compile warning https://bugzilla.gnome.org/show_bug.cgi?id=656419 tracker-extract-gstreamer: Tiny refactor https://bugzilla.gnome.org/show_bug.cgi?id=656419 2011-08-10 Javier Jardón <jjardon@gnome.org> tracker-miner-flickr.desktop.in.in: Remove deprecated Encoding key 2011-08-07 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2011-08-07 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-08-06 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-08-06 Christian Kirbach <Christian.Kirbach@googlemail.com> [l10n] Updated German translation 2011-08-05 Martyn Russell <martyn@lanedo.com> tracker-needle: Avoid g_markup_escape_text() critical with NULL thunderbird: Add desktop file so needle opens email on activation tracker-needle: Show email subject as primary information not sender Sender is now secondary in the second row. Merge branch 'drop-helix-extractor' 2011-08-04 Stefano Facchini <stefano.facchini@gmail.com> libtracker-miner: make MinerManager GLib.Initable in VAPI file Fixes GB#655987 2011-08-04 Adrien Bustany <adrien.bustany@nokia.com> firefox: Use asynchronous connection opening firefox: Add bindings for tracker_sparql_connection_get_async firefox: Raise compatibility level to 5.0.* thunderbird: Use asynchronous connection opening thunderbird: Fix parameters types in bindings.js Use ctypes.voidptr_t instead of ctypes.void_t.ptr, and use GObject where possible. thunderbird: Add bindings for tracker_sparql_connection_get_async thunderbird: Move indexing startup out of MailStore initialization The call initializing the folder walking is now in plugin.js::onLoad 2011-08-03 Martyn Russell <martyn@lanedo.com> tracker-extract: Make sure we check filtered modules for dbus calls too The --force-module command line option was ignored for dbus calls and only available for command line use. tracker-extract: Improve checks for mimetype guessing Previously mimetype had to be NULL, but over dbus, it can only be an empty string. The check has been improved here. Additionally, we were leaking a GSimpleAsyncResult. There was also an issue with error conditions of the mimetype check where we would return and the client would be left hanging because we didn't complete the simple_async_result in that condition. That's now been fixed and any error reported by getting the mimetype also reported back to the client. tracker-extract: Improve debugging for filtered modules and mime guessing tracker-extract: Drop real media / helix extractor The work is all covered in the tracker-extract-gstreamer extractor Merge branch 'bump_api_version_0.12' libtracker-extract: Don't install examples/ rules mock up This was causing the MP3 extractor to be used even if the MP3 rules file was removed because the mockup uses a similar configuration firefox, thunderbird: Require 0.10 or 0.12 .so files not 0.11 build: Bump tracker_api_version to 0.12 but keep major/miner as 0.11 Add AX_DOTS_TO_UNDERSCORES macro to allow independent TRACKER_API_VERSION_UNDERSCORES value (which is used to convert "0.12" to "0_12". We need this because for 0.11.x releases, we want the files to be named *0.12* which requires changing only tracker_api_version in configure. This breaks Makefiles which build introspection files because they use $TRACKER_MAJOR_VERSION_$TRACKER_MINER_VERSION and that's not updated. Additionally, $TRACKER_API_VERSION can't be used because it contains a dot not an underscore. The only way to fix this was to do it in configure. 2011-08-02 Jürg Billeter <j@bitron.ch> tracker-extract-gstreamer: Assume UTC for dates GDate does not carry time zone information. Using local time does not make sense. 2011-08-02 Martyn Russell <martyn@lanedo.com> libtracker-miner: Line wrap documentation with annotations This improves Stefano Facchini's commit: b2a3dabad0881a686f95ee773199d9133a0845be Fixes GB#655789 thunderbird, firefox: Use -f with ln to force destination and use $(MKDIR_P) Without this make install after the initial attempt would cause errors due to destination already existing. Also switched mkdir -p to $(MKDIR_P) 2011-08-02 Stefano Facchini <stefano.facchini@gmail.com> libtracker-miner: add some introspection annotations to TrackerMinerManager methods 2011-08-02 Martyn Russell <martyn@lanedo.com> libtracker-extract: Added some debugging to know what rules files are loaded Useful to know how the module is decided in tracker-extract 2011-08-02 Carlos Garnacho <carlos@lanedo.com> tracker-extract: Fix --force-module for commandline extraction This only works with --file, and the forced module must be one of those that typically handle the file (i.e. mp3/gstreamer/gupnp-dlna for mp3 files) tracker-extract: Use TrackerMimetypeInfo in commandline extraction This is so it falls back through different extract modules if any of these fails to extract information, likewise to the dbus method. 2011-08-02 Martyn Russell <martyn@lanedo.com> Merge branch 'gstreamer-with-dlna' tracker-extract: Small coding style clean ups 2011-08-02 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Make JPEG module handle DLNA profiles In this extractor makes little sense to perform calls to any dlna library as we have all the necessary data right there. tracker-extract: Make PNG module handle DLNA profiles In this extractor makes little sense to perform calls to any dlna library as we have all the necessary data right there. tracker-extract: Make MP3 module handle DLNA profiles In this custom extractor makes little sense to call any dlna library since we have already all necessary data at hand. 2011-08-01 Marek Černocký <marek@manet.cz> Updated Czech translation Updated Czech translation 2011-08-01 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Disable writeback by default. It was disabled before and enabling it changes behaviour unexpectedly for users. Also the team is not completely decided it should be enabled at this point. 2011-08-01 Vincent Untz <vuntz@gnome.org> Firefox, Thunderbird: Fix build system for plugins to work for packaging Fixes GB#655701 2011-08-01 Martyn Russell <martyn@lanedo.com> Release 0.11.1 build: Disable firefox, thunderbird for distcheck The ln -s hook fails with permission issues firefox, thunderbird: Fixed distcheck issues All _DATA variables were missing from EXTRA_DIST 2011-08-01 Adrien Bustany <adrien.bustany@nokia.com> Thunderbird: Fix memory leak in TrackerStore.escapeString When getting C strings through CTypes, the memory has to be freed manually. 2011-07-30 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-07-29 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-07-29 Martyn Russell <martyn@lanedo.com> Merge branch 'firefox' .gitignore: Added install.rdf common in Mozilla extensions 2011-07-29 Carlos Garnacho <carlos@lanedo.com> tracker-writeback: preserve original file if writeback fails The temporary file is now deleted instead, leaving the original file unmodified. tracker-writeback: Revert 3ff16879, sort of This patch was blindly cherry-picked from writeback-refactor-0.10 to master, meanwhile Jürg had already fixed it in commit 7504d0a2 2011-07-28 Carlos Garnacho <carlos@lanedo.com> tracker-writeback: Do not unref the GFileInfo too early it is used in the creation of the temporary file. 2011-07-28 Adrien Bustany <abustany@gnome.org> firefox: Fix --with-firefox-plugin-dir configure argument The configure argument would not work and cause the configure script to abort when used due to a typo. thunderbird: Fix --with-thunderbird-plugin-dir configure argument The configure argument would not work and cause the configure script to abort when used due to a typo. 2011-07-28 Martyn Russell <martyn@lanedo.com> firefox: Added missing Makefile.am tracker-search: Add support for -b, --bookmarks firefox: Added build system to install this plugin 2011-07-28 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-07-28 Martyn Russell <martyn@lanedo.com> Add 'src/plugins/firefox/' from commit '5e79d3fea70cdff76415a86b26dd2d3c7e2548de' git-subtree-dir: src/plugins/firefox git-subtree-mainline: 6875bf346073c2d12cb28186384e6f89513d5956 git-subtree-split: 5e79d3fea70cdff76415a86b26dd2d3c7e2548de Merge branch 'thunderbird' thunderbird: Use a proper version comparison function Right now, we fix the v5.0b3 version by truncating the string, but if we have a v5.1 then this also won't work. This does a proper comparison. 2011-07-28 Adrien Bustany <adrien.bustany@nokia.com> thunderbird: Ensure the extensions dir exists when installing thunderbird: Update README file thunderbird: Also detect beta versions in version check 2011-07-28 Philip Van Hoof <philip@codeminded.be> tracker-extract: Add code comment explaining strange FF D8 FF check tracker-extract: Check header bytes for JPeg files Fixes NB#271389. 2011-07-28 Martyn Russell <martyn@lanedo.com> tracker-writeback: Fixed distcheck breakages thunderbird: Build system and plugin now work properly with TB >= 5.0 2011-07-27 Martyn Russell <martyn@lanedo.com> thunderbird: Add initial build system around extension Add 'src/plugins/thunderbird/' from commit '574f3b414badae0adc0377e624584226219f951d' git-subtree-dir: src/plugins/thunderbird git-subtree-mainline: af1e7fbf39c2ae28614981491d36dca2d52add3b git-subtree-split: 574f3b414badae0adc0377e624584226219f951d 2011-07-27 Jürg Billeter <j@bitron.ch> tracker-writeback: Fix use after free of GFileInfo object 2011-07-27 Martyn Russell <martyn@lanedo.com> tracker-control: Add command line switch for new pause-for-process APIs To test the libtracker-miner APIs and allow callers to pause until the process is killed, this has been added to tracker-control. libtracker-miner: Added APIs for pausing miners during process life time This adds: - tracker_miner_manager_pause_for_process() This also adds the dbus equivalent APIs. Note, this feature is only available using D-Bus, there is no C API for watching processes available. Fixes NB#254896, tracker-miner-fs should pause itself when camera starts recording video tracker-writeback: Remove all references of .cfg files in man pages tracker-miner-fs: Fix critical warnings when cleaning up NULL GFile/GPtrArrays libtracker-miner: Fix copyright for priority-queue, sparql-buffer and task-pool libtracker-miner: Fix #ifndefs for priority-queue, sparql-buffer and task-pool This is a consistency fix. tracker-miner-fs: Fix licensing errors in files Some were changed from GPL to LGPL for some reason. Now they're all GPL as they should be. tracker-writeback: Fix licensing errors in files Some were changed from GPL to LGPL for some reason. Now they're all GPL as they should be. tracker-writeback: Add g_warning when file !native + improve other errors The error messages didn't pertain to what the function was doing which made it quite generic. It's better to explain what we were attempting to give the logs more context when it occurs. 2011-07-27 Adrien Bustany <adrien.bustany@nokia.com> queue.js: Keep a reference to the timer to ensure it gets fired 2011-07-26 Martyn Russell <martyn@lanedo.com> libtracker-miner, tracker-miner-fs: Improved debugging tracker-writeback: Add man page Added information about supported types and also the new --disable-shutdown option tracker-miner-fs: Fix inconsistencies in #ifndef and #define names Files have been moved around but the defines need to be updated in case similar names are used in other binaries elsewhere (e.g. tracker-config.[ch]. tracker-extract: Fix include orders tracker-miner-fs: Fix small whitespace issue tracker-writeback: Fixed include orders tracker-extract,writeback: Don't use same #define for headers Both were using __TRACKER_CONTROLLER_H__ tracker-writeback: Don't LDADD $(LIBTRACKER_MINER_LIBS) We don't do this anywhere else and it should be necessary because those dependencies should be either drawn in from libtracker-miner's .la or the TRACKER_WRITEBACK configure dependencies 2011-07-26 Carlos Garnacho <carlos@lanedo.com> tracker-miner-fs: Fix ref leak The created GDBusMessage already sinks the floating reference to the GVariant, no need to double ref here. libtracker-miner: fix indenting issues 2011-07-26 Jürg Billeter <j@bitron.ch> tracker-writeback: Do not touch unsupported files Fixes NB#274498. 2011-07-26 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: Ensure writeback operations are cancelled on unmounted volumes libtracker-miner: Cancel writeback when the file is deleted/moved In these situations, writeback is no longer reliable, and prone to leave an unwanted copy of the file, so cancel writeback if the file is being manipulated that way externally to tracker. libtracker-miner: Implement cancellation of writeback operations There are situations where we want writeback to be cancelled, so expose a GCancellable as with ::process-file. 2011-07-26 Philip Van Hoof <philip@codeminded.be> libtracker-miner, miners/fs: Fix issues after review libtracker-miner, dbus: Use stable version for deprecation libtracker-miner, dbus: Add deprecation markers for IgnoreNextUpdate data/dbus: Fix XML file for D-Bus service miners/fs: Codestyle improvements miners/fs: Codestyle changes, typedefs belong to the top of the file miners/fs: Fix enabling/disabling writeback miners/fs, data/gschemas: Add enable-writeback to miner-fs's config schema libtracker-miner: Rename and change to boolean return of a GEqualFunc 2011-07-26 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: check writeback task pool when translating MOVED events to CREATED A move event from an ignored file to a non-ignored one will be translated to a CREATED event, So check first whether there are no writeback tasks for the "new" file, since this is a common operation. libtracker-miner: Ensure no items are left to process after writeback libtracker-miner: Separate writeback tasks to their own task pool Tasks now have a gboolean* as the data, indicating whether the task was already notified or not, the code hooking to the monitor events has been modified so the UPDATED event needs to happen on a notified file in order to consider the writeback task finished. libtracker-miner: Move writeback task removal to UPDATE monitor events The last monitor event that's bound to happen from a writeback is a UPDATED event caused by: UPDATED(a) + MOVE(a->b) = MOVE(a->b) + UPDATED(b), caused by the delay in handling the UPDATED so they're merged together. So don't remove writeback tasks until we've gotten an update event for that file. 2011-07-26 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Ignore EVENT_MOVED during Writeback 2011-07-26 Carlos Garnacho <carlos@lanedo.com> tracker-miner-fs: Ignore monitor events on files being written back writeback: Update return value to signal connecting to ::writeback-file 2011-07-26 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Remove IgnoreNextUpdate and file locking from writeback 2011-07-26 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: Use the task pool for ongoing writeback operations 2011-07-26 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Exit the writeback process in case of unmount event tracker-writeback: Add missing .service.in file miners/fs: Don't retry unmount handlding forever libtracker-miner, miners-fs: Error handling unmount of FS during writeback, add timeout libtracker-miner: Add code comment about endless retrying miners/fs, libtracker-miner: Retry writeback on unmount event miners/fs: Cleanup debugging miners/fs: Implement dispatcher 2011-07-26 Carlos Garnacho <carlos@lanedo.com> tracker-writeback: Use g_mkstemp_full() and preserve permissions on copy This way we ensure there is no intromission on the temporary file, plus we don't potentially change permissions on the final file. writeback usually happens on a copy, which is moved atomically onto of the original file, so we now ensure there are 2011-07-26 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Pass cancellable around to also the modules tracker-writeback: Implement cancel on unmount and cancel on API call tracker-writeback: Add shutdown timeout to Writeback service miners/fs: Make it possible to enable/disable Writeback tracker-writeback: Use GIO scheduler for actual writeback tracker-writeback: Fix up cancelling tracker-writeback: Add warning about IgnoreNextUpdate removal tracker-writeback: Use tempnam instead of home brewn system miners/fs: Integrate writeback, start it up tracker-writeback: Remove unneeded file Rewrite of tracker-writeback miners/fs: Implement listener class libtracker-miner: Add rdf_types to the signal for Writeback libtracker-miner: Add signal to connect to for writeback libtracker-miner: Integrate queues with writeback capability miner/fs: Add an empty dispatcher class for writeback miner/fs: Add an empty listener class for writeback 2011-07-23 Gabriel Speckhahn <gabspeck@gmail.com> Updated Brazilian Portuguese Translation 2011-07-22 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: Fix typo in tracker_task_pool_foreach() Tasks are the value of the hashtable, not the key. 2011-07-22 Philip Van Hoof <philip@codeminded.be> UTF-16 strings' length with 3 \0 bytes at the end was calculated wrong Fixes NB#274181. 2011-07-21 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: Ensure recursive parent inspection on parentless files is done orderly libtracker-miner: Fix nasty typo in TrackerPriorityQueue binary search wasn't working quite ok, even though it wasn't really noticeable in the most common case of having just 2 priorities in the segments array. libtracker-miner: don't clamp priority in the TrackerPriorityQueue This is so the miner can indefinitely force prepend of a task libtracker-miner: Run the async result on high priority sparql buffer updates 2011-07-21 Jürg Billeter <j@bitron.ch> libtracker-data: Add support for xsd:date Fixes NB#271747. 2011-07-21 Cosimo Cecchi <cosimoc@gnome.org> miner: don't use G_CONST_RETURN Just use const instead. https://mail.gnome.org/archives/desktop-devel-list/2011-March/msg00044.html https://mail.gnome.org/archives/desktop-devel-list/2011-June/msg00071.html Fixes GB#654653. 2011-07-20 Jürg Billeter <j@bitron.ch> SPARQL: Add support for COALESCE Implemented as an alias to tracker:coalesce. 2011-07-20 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: update event queue traces with new TrackerPriorityQueue libtracker-miner: ensure mtime checks on directories found during crawling Fixes NB#273120 2011-07-20 Carlos Garnacho <carlos@lanedo.com> tracker-miner-fs: Plug a leak. libtracker-extract: Plug some leaks 2011-07-20 Jürg Billeter <j@bitron.ch> tracker-preferences: Fix apply button 2011-07-19 Carlos Garnacho <carlos@lanedo.com> tracker-miner-fs: Don't set no longer existing property on TrackerMinerApplications TrackerMinerFS::processing-pool-requests-limit no longer exists. libtracker-miner: make tracker_miner_fs_check_file() use high priority This will boost the file to be inspected most promptly, which is usually the desired effect of this call, as it's exposed by the IndexFile dbus method in tracker-miner-fs. libtracker-miner: Add priorities to the sparql buffer If a task is of priority G_PRIORITY_HIGH, it will issue an Update() instead of a UpdateArray(), so updates are most immediate. libtracker-miner: propagate priority throughout file insertions/updates in TrackerMinerFS libtracker-miner: Avoid triggering too often the ensure_mtime_cache() hack The hack introduced in commit 22087297 is meant to cope with the "delete folder and move another on top" situation, forcing reindex if the operation was in the middle of being processed. This situation is most relevant for monitor events, as deletes can take quite some time to happen recursively. However, on unclean shutdowns, this condition also happens often. Even if the directory is already indexed in the store, it is pushed for mtime check into the queues, which looks exactly the same to ensure_mtime_check(). The final effect was that plenty of files were being reindexed for the sake of it. libtracker-miner: Ensure harder process_stop() is only called once QUEUE_WAIT is now used more extensively, meaning item_queue_handlers_cb() onky gets QUEUE_NONE if there really is nothing left to process, be it items in the task pool, pending to be crawled, or in the processing queues. libtracker-miner: slightly improve IRI cache performance For most cases, fs->priv->current_iri_cache_parent_urn has the parent folder URN, so just use it in the query when filling in the IRI cache. libtracker-miner: Ensure prioritized tasks always have parents indexed first We now check before item_add_or_update() for those files that have a parent that should have been indexed, but actually isn't. In that case, the file is inserted back to the queue, prepended by its parent to ensure it is indexed, if the file meeting these conditions is deep in the hierarchy, the parent file will be treated the same, so the operation will unroll until an indexed/root directory is found. libtracker-miner: Remove TrackerProcessingPool It is now unused in favor of TrackerTaskPool/TrackerSparqlBuffer libtracker-miner: Use TrackerSparqlBuffer for metadata insertions As a side effect, the TrackerMinerFS::processing-pool-requests-limit property has been removed, as flow control has been simplified to not needing this third queue. libtracker-miner: Add TrackerSparqlBuffer This object inherits from TrackerTaskPool, and takes care of dispatching tasks containing SPARQL updates. It is meant to replace the sparql buffers in TrackerProcessingPool, and in fact inherits much code from there, the main difference being that there is no "processing" queue for already packed up batches, instead it relies on linear processing of updates. That last queue was sheldomly used (if at all), as it requires a choking tracker-store that can't insert stuff at the same pace that miner-fs processes it, this situation looks quite unlikely, and makes the code simpler. tracker-miner-fs: Use TrackerTaskPool for the extraction pool libtracker-miner: Add TrackerTaskPool This is a simple task pool implementation, where an external entity has to do task pushing/popping. Eventually, the TrackerProcessingPool object will be split into two of these objects, one for the wait queue, and another for the ready/processing queues. tracker-miner-fs: Add tracker_miner_fs_check_*_with_priority() These functions allow scheduling tasks at a different priority. tracker-miner-fs: Add priority argument to tracker_miner_fs_directory_add_internal() libtracker-miner: remove TRACKER_QUEUE_PRIORITY* in favor of G_PRIORITY* No need to reinvent the wheel tracker-miner-fs: Use priority queues for created/deleted/updated/moved items At the moment each of these still has its own queue, items are usually added with DEFAULT/LOW priority at the moment. libtracker-miner: Add tracker_priority_queue_get_length libtracker-miner: Make tracker_priority_queue_foreach_remove return gboolean it will return TRUE if some item has been removed, FALSE otherwise tracker-miner-fs: remove duplicated code tracker_miner_fs_has_items_to_process() may just be called there tracker-miner-fs: Put CrawledDirectoryData into a priority queue tracker-miner-fs: Use a priority queue for directories to be inspected. This allows for prioritization of directories, the crawler is never stopped in the middle of processing, so if a higher priority directory arrives than the one currently processed, it still gets to wait as a good boy. libtracker-miner: Add TrackerPriorityQueue This is a simple type that allows insertion of elements with priorities, so doing pop() returns the highest/earliest element in the queue. 2011-07-19 Jürg Billeter <j@bitron.ch> tracker-extract-playlist: Limit playlists to 1000 entries Fixes NB#269986. 2011-07-18 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation 2011-07-18 Aleksander Morgado <aleksander@lanedo.com> tracker-extract: handle RealMedia files with the GStreamer extractor Fix ported from the tracker-0.10 branch, see commits 6713d2a and abe2677. 2011-07-16 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-07-15 Philip Van Hoof <philip@codeminded.be> tracker-extract: Cleaning up code and indentation fixes 2011-07-14 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-07-13 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-07-13 Carlos Garnacho <carlos@lanedo.com> tracker-miner-fs: Ensure datasource is also set on error This is so files that trigger an extractor error within a removable volume gets correctly associated to it. libtracker-extract: Remove traces of debugging g_print()s tracker-extract: disable again threading traces tracker-extract: Use TrackerExtractInfo from libtracker-extract Asynchronous tasks in both tracker-extract internals and tracker-extract-client actually hold the same information, but each being at one side of D-Bus, so make both use the same TrackerExtractInfo data type. 2011-07-13 Martyn Russell <martyn@lanedo.com> libtracker-miner: Use tracker_processing_task_unref() instead of _free() to fix build 2011-07-13 Carlos Garnacho <carlos@lanedo.com> tracker-extract: Use API to iterate through extract modules This API is always used on the main thread, if some module (whatever the thread policy it has) can't handle a file, the task is put back in the main thread so the next module is called. libtracker-extract: Add API to iterate through the modules handling a mimetype There are situations where the most specific miner could just not know enough about the file, this API allows falling back to less specific modules. tracker-extract: Rework stats reporting and task cancellation Both things share the same threading model, so these are now dealt with together. 2011-07-13 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Mark text extractor as thread aware tracker-extract: Implement thread awareness for modules Tracker extract modules may provide now an init() function, which also reports the thread awareness of the given module, allowing these to run sequentially in the main thread, on a dedicated thread for the extract module, or in a thread pool. At the moment no extractor modules do this, so they run by default in the main thread as before. Conflicts: src/tracker-extract/tracker-extract.c 2011-07-13 Carlos Garnacho <carlos@lanedo.com> tracker-miner-fs: Avoid multiple calls to extractor_process_failsafe() The accounting of currently processed files has been also improved, all to ensure extractor_process_failsafe() is called just once, and tasks waiting for process_file_cb() don't sneak in and break failsafe extraction. tracker-miner-fs: Don't remove item from queue until it's been processed Mostly to keep consistency. libtracker-extract: Do not use G_CONST_RETURN just use const, G_CONST_RETURN doesn't exist in modern glib libtracker-extract: Document tracker-client API 2011-07-13 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Implement watchdog for stale tasks. This forces extraction exit if some task takes more than 20 seconds to be finished. tracker-miner-fs: Implement failsafe metadata extraction This method is independent of how the extractor works, unlike the previous method. Now on a extractor failure, the miner does: 1) Pause itself 2) Wait for all pending extractor requests to finish 3) Accumulate all failed extractions on a list 4) Run through that list items, extracting again one file at a time. 5) Resume itself tracker-miner-fs: Move "retry on extraction failed" code to TrackerMinerFiles Currently the simplest approach of retrying just once every failed file is taken, after that, the sparql without embedded metadata is added. libtracker-extract: Add tracker-extract-client API This API is meant to replace the code in TrackerMinerFiles to deal with the communication with the extractor. tracker-miner-fs: Revert commit 3dd75bacc30 Minimal sparql insertion is going to be handled from TrackerMinerFiles instead. 2011-07-13 Jürg Billeter <j@bitron.ch> tracker-store: Improve UpdateArray performance Attempt to perform all updates in an UpdateArray at once in a single transaction. Only if that fails, roll the transaction back and perform updates in separate transactions. Fixes NB#270774. 2011-07-13 Aleksander Morgado <aleksander@lanedo.com> build: require gstreamer-pbutils when using Discoverer backend tracker-extract,gstreamer: avoid code duplication 2011-07-13 Jürg Billeter <j@bitron.ch> SPARQL: Add support for HAVING 2011-07-13 Aleksander Morgado <aleksander@lanedo.com> build: treat GUPnP-DLNA as another GStreamer backend tracker-extract,gstreamer: integrate GUPnP-DLNA extractor within the GStreamer one 2011-07-12 Aleksander Morgado <aleksander@lanedo.com> tracker-extract,gstreamer: don't compile both tagreadbin and decodebin2 ... and prepare for the Discoverer API based implementation build: minor spaces vs tabs fixes build: rename --enable-video-extractor to --enable-generic-media-extractor We really use gstreamer and such as a generic media extractor, not just for video files, so this configure switch name makes more sense. Fixes GB#654441. build: new --with-gstreamer-backend=[tagreadbin,decodebin2,discoverer] Allows selecting among 'tagreadbin', 'decodebin2' and 'discoverer', and replaces the previous --enable-gstreamer-tagreadbin boolean switch. Also makes sure that discoverer is requested when enabling the GUPnP-DLNA enabled GStreamer extractor build: explictly require gstreamer when building gupnp-dlna enabled extractor tracker-extract: let gstreamer extractor handle 'dlna/*' mimetypes tracker-extract: disable compilation of the gupnp-dlna extractor 2011-07-12 Cosimo Cecchi <cosimoc@gnome.org> libtracker-data: Implement get_property() for n-columns in SQLite cursor n-columns is an abstract property, so it should be implemented by all the TrackerCursor subclasses Fixes GB#654407. 2011-07-11 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-07-10 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-07-10 Piotr Drąg <piotrdrag@gmail.com> Updated POTFILES.in 2011-07-05 Philip Van Hoof <philip@codeminded.be> miners/fs: Fix compiler warning libtracker-data: Fix unused variables in case of --disable-journal libtracker-data: Unused variable in case of --disable-journal libtracker-data: Also in fail-case should it return newly allocated data libtracker-common: Fix compiler warning 2011-07-04 Yinghua Wang <wantinghard@gmail.com> update Simplified Chinese (zh_CN) translation 2011-07-01 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Use guessed ID3v1 8-bit encoding also for ID3v2 Fixes NB#259942. 2011-06-30 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: Make TrackerProcessingTask refcounted Fixes NB#269766. Tasks need to cope with the convoluted life cycle between the different queues in TrackerProcessingPool, the sparql buffer and the bulk tasks' buffers. 2011-06-30 Jürg Billeter <j@bitron.ch> libtracker-extract: Ignore keywords containing invalid UTF-8 Fixes NB#269931. 2011-06-30 Adrien Bustany <adrien.bustany@nokia.com> TrackerStore: Fix date generation 2011-06-29 Jürg Billeter <j@bitron.ch> libtracker-data: Fix leak in db_get_locale tracker-store: Fix Resources.Sync with disabled journal functional-tests: Handle DISABLE_JOURNAL in backup-restore tests functional-tests: Handle DISABLE_JOURNAL in ontology-changes tests 2011-06-29 Philip Van Hoof <philip@codeminded.be> libtracker-data: Disable journal with --disable-journal Fixes NB#268105. libtracker-data, tests: Fix failing unit tests libtracker-data: Initialization of db during restore must be handled if fails In case the initialization of the db fails during the restore of a backup, and only in case of --disable-journal, then should the init fail with an error instead of trying to recreate a clean meta.db libtracker-data: Implement backup/restore with disabled journal 2011-06-29 Jürg Billeter <j@bitron.ch> libtracker-data: Set synchronous = NORMAL with --disable-journal This prevents database corruption followed by expensive journal replay on OS crash or loss of power. 2011-06-29 Aleksander Morgado <aleksander@lanedo.com> build: report in configure output whether support for journal is built 2011-06-29 Philip Van Hoof <philip@codeminded.be> build: Add --disable-journal configure option 2011-06-29 Jürg Billeter <j@bitron.ch> libtracker-data: Do not print critical if db-locale.txt does not exist libtracker-data: Backup in separate thread in single step Using SQLite backup in multiple steps may restart the process due to concurrent update operations. 2011-06-29 Philip Van Hoof <philip@codeminded.be> libtracker-data: Removed fts restore, not needed anymore libtracker-data: Add tracker-db-backup using SQLite backup API 2011-06-29 Jürg Billeter <j@bitron.ch> libtracker-data: Switch to manual WAL checkpointing in a separate thread 2011-06-28 Jürg Billeter <j@bitron.ch> tracker-control: Fix crash when unable to get miner pause details Fixes NB#269359. functional-tests: When corrupting database file, also corrupt wal file In some circumstances, the database file will be silently fixed with the wal file. This needs to be prevented in the tests. libtracker-data: Create ontologies.gvdb on startup if necessary libtracker-data: Use temporary directory for restore recovery This is now handled in tracker-data-backup, which allows us to shutdown TrackerDataManager before moving files to the temporary directory. libtracker-data: Store backup in subdirectory in backup test Restore will move backup file to temporary location otherwise. libtracker-data: Propagate errors from db_get_static_data libtracker-common: Remove tracker_env_check_xdg_dirs This was used as a workaround on broken platforms where XDG_DATA_HOME was not writable. libtracker-data: Drop unused sql_dir variable 2011-06-26 Adrien Bustany <abustany@gnome.org> Index new messages as they arrive Hooks into nsIFolderListener to detect message arrival, deletion and move (handled as arrival in another folder + deletion in old folder). Add addImmediate to Queue class Simplify code using nsIMsgDBHdr.folder Rather than passing the folder explicitely, just fetch it from the nsIMsgDBHdr. 2011-06-24 Carlos Garnacho <carlos@lanedo.com> libtracker-extract: Do some basic checks for GPS coordinates in EXIF tags On some photos it would get the ExifEntries, but the coordinates wouldn't be meaningful, so at least check the rational numbers' denominators to avoid division by zero. 2011-06-23 Martyn Russell <martyn@lanedo.com> libtracker-data: Make sure we don't leak sql_dir on multiple _init() calls 2011-06-22 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Fix error check after setting process priority tracker-miner-fs: Remove early log message when setting process priority tracker-store: Initialize D-Bus after initializing log This prevents log messages below configured verbosity. tracker-miner-fs: Check XDG directories after initializing log This prevents log messages below configured verbosity. tracker-store: Check XDG directories after initializing log This prevents log messages below configured verbosity. 2011-06-19 Adrien Bustany <abustany@gnome.org> Use versioned .so names in bindings.js Use correct library names in bindings.js Use the versioned .so names, not the unversioned ones that require the development packages. 2011-06-16 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2011-06-16 Carlos Garnacho <carlos@lanedo.com> tests: Fix tracker-monitor test to reflect changes in 35bdcb09 CREATE+MOVE != CREATE from now on, but UPDATE. Reflect this in the unit test 2011-06-16 Philip Van Hoof <philip@codeminded.be> libtracker-data: Handle errors of manager_init by shutting down systems libtracker-data: Shutdown locale in error case Fixes NB#266579. 2011-06-16 Carlos Garnacho <carlos@lanedo.com> tracker-monitor: translate CREATE(a)+MOVE(a->b)=UPDATE(b) Fixes NB#251032. Tracker-writeback often creates a temporary hidden file that, after modification, is moved onto the original file location, This tricked TrackerMonitor so that the create and move operations there were translated as a create operation, and create operations are compressed with delete events into a noop. So if a quick delete came after, TrackerMonitor was emitting no signal for a truly deleted file. Instead, translate create+move as update, the miners handle creates and updates equally, and these won't get compressed with delete events, so those are still emitted. 2011-06-15 Jürg Billeter <j@bitron.ch> libtracker-data: Do not begin ontology transaction when not needed This allows tracker-store startup with full partition. Updates will fail as long as partition is full. Fixes NB#263203. 2011-06-14 Carlos Garnacho <carlos@lanedo.com> tracker-miner-fs: Postpone sparql update on mount after cancellation This is a less critical task than cancellation, which might be holding unmount, so perform it after the rush is gone. tracker-extract: _exit() abruptly if cancelled due to pre-unmount g_main_loop_quit() docs say it could wait for already dispatched sources, time consuming extraction tasks in this case. Given that in pre-unmount situation we prefer fast to orderly, just _exit() here. 2011-06-14 Martyn Russell <martyn@lanedo.com> libtracker-miner: Make sure status is set to 'Idle' on object construction This was done for progress, but not status for some reason. libtracker-miner: Special case .xsession-errors and ignore all about it This includes events, debugging and handling. 2011-06-14 Jürg Billeter <j@bitron.ch> libtracker-data: Use libmeegotouch ICU data if available Fixes NB#261635. 2011-06-13 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fix inconsistent status with progress signals Quite often, we see progress of 100% and still have status messages saying Processing... which is not true. So we use an idle timeout to help that situation. This happens because miners can use the g_object_set() API with multiple properties and we were signalling the update between each property being set. This commit also enforces setting the status to 'Idle' or 'Initializing' when the progress is either 1.0 or 0.0 The output shown in tracker-control is now much cleaner. The trace macro was also added to follow state/progress changes along with signal emissions more easily. libtracker-miner: Make sure "Processing..." is 2% or higher in progress Before it was possible to still be 1% (which is usually reserved for crawling) while processing the items we have in our queues. Also, don't have tigher conditions for when we can issue "Processing..." tracker-control: Clean up store progress reporting Make it more consistent with the miner reporting. Also don't represent 0% with a ✓ (i.e. done) tracker-control: Don't represent 0% with a ✓ (i.e. done) libtracker-miner: Fixed -0.00 progress being reported This occurred because progress of 0.00 was being rounded up from -0.49 with ceil() and negative 0.00 is given to represented the direction it was rounded from. This fixes GB#652433, Progress signal gives faulty value just before finishing 2011-06-10 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-06-10 Philip Van Hoof <philip@codeminded.be> tracker-extract, -writeback, libtracker-extract, NMM, NFO: Use nfo:heading instead of nmm:direction NMM: Fix syntax error NMM: More clear comment for nmm:direction property libtracker-extract: Fix some casting and codestyle problems tracker-writeback: Use get_value_type instead of is_blank tracker-writeback, xmp: Writeback the GPS direction property libtracker-extract, tracker-extract: Fix whitespace issues 2011-06-10 Mikael Ottela <mikael.ottela@ixonos.com> libtracker-extract, tracker-extract: Add extraction of image compass direction 2011-06-10 Carlos Garnacho <carlosg@gnome.org> tracker-miner-fs: Unset nie:url to set our own on file updates. This is so tracker-miner-fs can check it in order to know whether the file is known to tracker or not. 2011-06-10 Philip Van Hoof <philip@codeminded.be> SLO: Update nao:lastModified tracker-writeback: Always clear existing fields 2011-06-10 Carlos Garnacho <carlosg@gnome.org> tracker-miner-fs: Do not ignore IgnoreNextUpdate for CREATED events on old files Partly fixes #261767. There are two usecases where we could get a CREATED event during writeback, one is due to 3rd party apps inserting preliminary sparql before actually writing the file, so tracker-miner-fs should index that new file anyways. The other usecase is on atomic move over an old file, tracker-writeback itself would trigger a CREATED event over an already known file, which is safe to ignore as it is the result of the just written back metadata. writeback: guarantee atomic updates on the file We do this by copying the file to a temporary location, modifying the temporary file, and moving it onto the original location. This generally should be done by the libraries we use in tracker-writeback, but we don't get any guarantees that it'll be like that... ontology: set cardinality 1 to slo:location. 2011-06-10 Philip Van Hoof <philip@codeminded.be> tracker-extract, gif: Fix indentation issues tracker-extract, jpeg: Fix indentation issues tracker-extract, pdf: Fix indentation issues tracker-extract, tiff: Fix indentation issues tracker-extract, png: Fix indentation issues libtracker-extract, xmp: Fix misindentation of a function libtracker-extract, xmp, exif: Make sure we don't break the ABI libtracker-extract, exif: Fix indendation issues libtracker-extract, xmp: Fix indentation issues tracker-writeback, xmp: Write back altitude, longitude and latitude 2011-06-10 Mikael Ottela <mikael.ottela@ixonos.com> Add extraction of GPS coordinates 2011-06-08 Martyn Russell <martyn@lanedo.com> tracker-needle: Improve the information shown about bookmarks The link was broken and so was the tooltip. tracker-needle: Added bookmarks to the stats dialog tracker-needle: Fixed crash for null cursor and calling next() on it 2011-06-08 Adrien Bustany <abustany@gnome.org> tracker-needle: Add support for bookmarks 2011-06-08 Olav Vitters <olav@vitters.nl> Add description to DOAP file 2011-06-08 Adrien Bustany <adrien.bustany@nokia.com> Properly use nfo:bookmarks in place of nie:url to store bookmark URI Try to use libtracker-sparql 0.11 if 0.10 is not available Fix logic in 0.11 fallback Use right RDF predicate for message date Fix 0.11 lib fallback 2011-06-07 Adrien Bustany <abustany@gnome.org> Add 'meta' table to persistent storage Remove dead code Insert nie:url for messages Also index message body Use libtracker-sparql 0.11 if available 2011-06-07 Martyn Russell <martyn@lanedo.com> Release 0.11.0 docs/manpages: Fixed the way we include man pages. This is fixed a different way for tracker-0.10. This fixes distcheck 2011-06-07 Jürg Billeter <j@bitron.ch> libtracker-sparql-backend: Drop unnecessary connection variable libtracker-sparql: Deprecate tracker_sparql_connection_get_direct It is equivalent to tracker_sparql_connection_get. libtracker-sparql-backend: Drop direct_only flag As the connection is a singleton, it does not make sense to have a construction flag. Calling tracker_sparql_connection_get and tracker_sparql_connection_get_direct in the same process triggered an assertion failure. This changes tracker_sparql_connection_get_direct to be equivalent to tracker_sparql_connection_get. The D-Bus proxies in libtracker-bus use lazy initialization, so they do not cause any overhead when constructing the connection. Direct-only can still be enforced on the process level by setting TRACKER_SPARQL_BACKEND=direct. 2011-06-07 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-06-07 Jürg Billeter <j@bitron.ch> libtracker-bus: Use lazy initialization for D-Bus proxy objects 2011-06-06 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-06-06 Jürg Billeter <j@bitron.ch> libtracker-sparql-backend: Use GError instead of critical warnings Direct-only connections do not support updates or statistics. Report this limitation using GError instead of return_if_fail. 2011-06-05 Adrien Bustany <abustany@gnome.org> Error properly if libtracker-sparql can't be loaded Revert "Try to use Tracker 0.8 if 0.10 is missing" This reverts commit f16800483a915c1393b81d4a1464274b6f9066d1. This commit made no sense since there is no libtracker-sparql in 0.8 Remove garbage file Better error reporting in UI Try to use Tracker 0.8 if 0.10 is missing Add README First rougly function version (when it does not stop in the middle) Insert nco:EmailAddress resources Add indexing delay to prefs Can build SPARQL to insert messages 2011-06-04 Adrien Bustany <abustany@gnome.org> Can list all messages 2011-06-03 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Fix compiler warning libtracker-miner: Do not connect anything to cancellable::cancel This isn't the right way of handling cancellation, instead let the callbacks use the GError just set to do so. libtracker-miner: Avoid possible race condition when cancelling extraction Operations for files that aren't sent to the extractor were instead finished an idle function, which could lead to double frees if the task was cancelled right in between (one resulting from cancellable::cancel, the other when dispatching the idle function). So, instead, don't do that in an idle at all, there is no reason why we can't call tracker_miner_fs_file_notify() right away. 2011-06-03 Jürg Billeter <j@bitron.ch> libtracker-direct: Fix use_count on failed initialization 2011-06-03 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Lower TrackerMinerFS idle priorities. This is so other events (timeouts, monitor events, ...) are guaranteed to be processed promptly while extraction is ongoing. tracker-miner-fs: Use CancelTasks method in tracker-extract tracker-extract: Add CancelTasks DBus signal This signal will let tracker-miner-fs explicitly cancel tasks from the controller thread, as GVolumeMonitor::mount-pre-unmount will happen in the main thread, which can be busy with extraction, it is possibly handled way too late. Fixes NB#258488. tracker-miner-fs: Deinitialize correctly stuff when not getting the DBus name 2011-06-03 Martyn Russell <martyn@lanedo.com> libtracker-miner: Use test location for password provider config and don't abort Previously we aborted on any warning or worse, to counter this (given we don't expect the file to exist when running the tests initially), we set up a gtest log handler function. libtracker-miner: Improve password provider error handling and reporting 2011-06-02 Martyn Russell <martyn@lanedo.com> tracker-control: Fixed memory leak when getting pause details tracker-control: Don't auto-start miners for pausing/resuming/listing/pause details We also now use the full API tracker_miner_manager_new_full() to report errors when the manager can't initiate properly. This also means we now don't start miners when using tracker-control with no arguments. tracker-control: Use full API to get miner manager and report errors This is for cases where we just report status of all miners and processes tracker-control: Free GError if getting TrackerMinerManager fails libtracker-miner: Honor auto_start parameter in tracker_miner_manager_new_full() We didn't use the auto_start parameter at all, just passed FALSE each time we created the object 2011-06-02 Carlos Garnacho <carlosg@gnome.org> tracker-miner-fs: Create bus names before touching sensitive files The miner objects creation (and thus DBus owner requests) have been moved above in main() to avoid possible race conditions when checking/removing the no-need-mtime-check file. It could happen, that if two miner-fs instances are launched (tracker-control -S sometimes triggers that by activating both FS/Apps miners, this is an acknowledged race condition in DBus), one could remove the existing mtime check file, and then fail to acquire the bus name, leaving the other with a bus name but ignorant about the mtime check needed. 2011-06-02 Gil Forcada <gforcada@gnome.org> [l10n]Updated Catalan translation 2011-06-01 Kristjan SCHMIDT <kristjan.schmidt@googlemail.com> Add Esperanto translation 2011-06-01 maimishr <ext-maitrey.mishra@nokia.com> functional-tests: Support cases with AND without Upstart 2011-05-30 Carlos Garnacho <carlosg@gnome.org> tracker-extract: plug a few leaks tracker-miner-fs: plug a leak libtracker-data: plug a leak. tracker-miner-fs: Close sparql insert/graph braces on extractor cancellation. Fixes NB#258459. tracker-miner-fs: Do not spam log on recursive monitors removal This part is known to work well, no need to spew a line for each dir monitor removed. 2011-05-27 Kostas Papadimas <pkst@gnome.org> l10n: Updated Greek translation for tracker 2011-05-27 Georgios Stefanakis <george.stefanakis@gmail.com> l10n: Updated Greek translation for tracker 2011-05-26 Martyn Russell <martyn@lanedo.com> tracker-evolution: When reporting "Updating Folder" state which one tracker-control wasn't useful without this since it could be on any folder tracker-evolution: Don't set status/progress to twice when Idle tracker-evolution: Make miner initable This fixes it now showing up on dbus or sending progress updates tracker-evolution: Added some debugging to see what's going on tracker-evolution: Coding style fixes tracker-evolution: Cleaned up unused code and whitespace issues tracker-evolution: Renamed object for consistency to MinerEvolution tracker-extract: Provide clear logging about which extractor module is used This is a bit of a regression, we used to say which extractor module was used but we don't for some reason in master. This fixes that. 2011-05-26 Juerg Billeter <juerg@debian.bitron.ch> libtracker-sparql-backend: Work around race condition in GDBus GDBusProxy created from a thread without its own GMainContext may cause memory corruption due to a race condition in handling the NameOwnerChanged signal. As we only call a single method on the Status object, drop use of GDBusProxy in this case and directly use low level D-Bus support. Fixes NB#254855. 2011-05-25 Carlos Garnacho <carlosg@gnome.org> tracker-miner-fs: Do not shutdown cleanly if ctrl+c is hit during initial sleep 2011-05-24 Philip Van Hoof <philip@codeminded.be> Fix a crash when destructing QApplication Apparently it's not ok to destroy a QApplication which seems to be designed for use on the stack of the main() function. This indeed leaves a small memory leak at the exit of the process. Fixes NB#259000. 2011-05-24 Carlos Garnacho <carlosg@gnome.org> tracker-miner-fs: Don't do initial sleep if no mtime check is going to happen Crawling will be fairly fast if no mtime checks are to be done (which is the most usual case), so avoid initial sleep so we get the monitors in place ASAP. Fixes NB#252898. 2011-05-24 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fix builds including this library using g++ 2011-05-23 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Make tracker_miner_fs_directory_remove() more robust the tasks that are likely to perform I/O (extraction, crawling) are removed first, so other non-crucial, but time consuming tasks (i.e. monitors removal) don't get in the way. Also, stuff from priv->crawled_directories is removed, as the miner could pick these up for further processing. libtracker-miner: Do not perform removed files check if crawling was cancelled. Since the logic is "remove from the hashtable all existing files, so the remainder can be deleted", there are chances that a file could be left there when crawling is interrupted. libtracker-miner: Make the failed unmounts watchdog more relaxed The timeout priority is now lower so ::mount-unmount has a chance to be processed before the watchdog if the miner's main loop is busy (say removing monitors). Also, the timeout is longer so we aren't overzealous on slow unmounts. 2011-05-23 Jürg Billeter <j@bitron.ch> tracker-store: Reenable signals after failing to load Turtle file 2011-05-20 Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com> libtracker-miner: install missing header 2011-05-20 Jürg Billeter <j@bitron.ch> libtracker-data: Protect cursor finalization with mutex This is necessary for parallel queries with direct access. Fixes NB#244556. libtracker-sparql-backend: Fix deadlock on initialization error 2011-05-19 Jean-Luc Lamadon <jean-luc.lamadon@nokia.com> functional-tests: Add UID::user and GID::users to tracker-tests aegis file 2011-05-19 Martyn Russell <martyn@lanedo.com> libtracker-common: Fixed documentation version typo, s/0.10.4/0.10.14/ Merge branch 'miner-check-queues' 2011-05-19 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Document newly added functions libtracker-miner: The get_path API doesn't require stripped input, fixed the query libtracker-miner: Only run the check once per 30 minutes libtracker-miner: Cleanup media-art that isn't valid anymore tracker-extract, libtracker-common: Move sharable code to libtracker-common 2011-05-19 Jürg Billeter <j@bitron.ch> tests/libtracker-sparql: Add interleaved connection test Based on test by James Thomas. libtracker-direct: Support multiple direct connection objects If Tracker.Sparql.Connection.get is called after singleton is set to null in dispose and before backend object is finalized, multiple direct connection objects may exist at the same time. The first instance initializes libtracker-data, the last instance shuts it down. libtracker-bus: Support multiple bus connection objects If Tracker.Sparql.Connection.get is called after singleton is set to null in dispose and before backend object is finalized, multiple bus connection objects may exist at the same time. libtracker-sparql-backend: Protect singleton weak pointer with mutex libtracker-sparql-backend: Improve debug message for direct connection 2011-05-17 Jürg Billeter <j@bitron.ch> libtracker-data: Do not trigger replay with invalid ontology journal Use same criteria as with data journal. libtracker-data: Clear ignored journal error in tracker_db_manager_init libtracker-data: Use original error code in db_journal_reader_init tracker_data_manager_init matches against specific error codes. libtracker-data: Move journal reader shutdown out of init_file Journal reader shutdown frees journal filename, however, we still want to use that in the propagated error message. libtracker-data: If unable to writer journal header, delete empty file libtracker-data: Use GError for write_all_data in tracker-db-journal libtracker-data: Handle EINTR instead of EAGAIN when writing journal Writing to a regular file will never set EAGAIN. libtracker-data: Remove unneeded out of memory check g_realloc never returns NULL (if size > 0). There is no point in trying to handle it in a single random place. libtracker-data: Small refactoring in error handling of journal writer libtracker-data: Use fstat to query size of open journal file This avoids querying the size of the wrong file in the unlikely case that another process replaced the journal file between open and stat. libtracker-data: Propagate errors for ontology transactions 2011-05-16 Jürg Billeter <j@bitron.ch> tracker-store: Improve Data.Manager.init error handling The only noticeable difference is that exit code was 0 when journal error was encountered during initialization. 2011-05-13 Claude Paroz <claude@2xlibre.net> Updated French translation 2011-05-13 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Don't crash if TrackerMonitor can't create a sample monitor Neither G_OBJECT_TYPE() or g_type_name() can handle NULL, leading to a crash, now a critical warning is issued instead. libtracker-miner: perform task merging for monitor events This only kicks in after initial crawling, and makes most sense in paused miners, so consecutive, longer term monitor events are merged together with previous unhandled events to avoid useless operations after resuming. 2011-05-13 Jürg Billeter <j@bitron.ch> functional-tests: Update miner progress signal handler D-Bus API was changed by commit f96b30b8. functional-tests: Fix dconf profile name It is used as component of a D-Bus object path, which does not allow hyphens. libtracker-data: Fix build with FTS 2011-05-12 Jürg Billeter <j@bitron.ch> tracker-extract: Fix C warnings tracker-miner-fs: Fix C warnings libtracker-miner: Fix C warnings libtracker-data: Fix C warning libtracker-common: Fix C warnings 2011-05-11 Jürg Billeter <j@bitron.ch> tracker-store: Stop signal timeout for sequential batch updates If tracker-store receives a batch request after processing all previous batch requests but before the signal timeout expires, stop the signal timeout. This reduces the number of signals sent for batch updates where requests do not trigger any queueing in tracker-store, e.g., when sending simple batch update every 0.5 s. Fixes NB#254154. tracker-store: Use Timeout.add instead of add_seconds for signal timeout Second granularity is not precise enough for delays that might be visible in the user interface. tracker-store: Stop signal timeout after an immediate emission tracker-store: Always stop signal timeout after handling it If a later commit needs the timeout, it will be enabled again in on_statements_committed. tracker-extract-mp3: Add simple frame tracing to ID3v2.2 and ID3v2.3 2011-05-11 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Add watchdog for failed unmounts Fixes NB#248873. If, for whatever reason, an unmount operation fails or doesn't respond in a timely fashion, TrackerStorage will emit ::mount-point-added again so Tracker keeps monitoring any further change in there. 2011-05-10 Yinghua Wang <wantinghard@gmail.com> Updated zh_CN translation. 2011-05-09 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-05-09 Jürg Billeter <j@bitron.ch> SPARQL: Test local time handling with optional patterns SPARQL: Fix local time handling with optional patterns Fixes NB#253807. Fix Vala warnings 2011-05-07 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2011-05-07 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-05-06 Jürg Billeter <j@bitron.ch> tracker-store: Use lazy initialization for statistics This reduces startup time of tracker-store. 2011-05-06 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Cancel TrackerMinerFS cancellables on finalize() This also gets rid of a related comment in TrackerMinerFiles, since the cancellables there are those that TrackerMinerFS create. 2011-05-06 Martyn Russell <martyn@lanedo.com> Merge branch 'gtk3' 2011-05-06 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-05-05 Carlos Garnacho <carlosg@gnome.org> extract/gupnp: Fix warning if no GST tags were found at all tracker-needle: Fix crash when showing stats GtkDialog's content area is a GtkBox in 3.0, not a GtkVBox tracker-needle: check cancellable after all yielded operations This avoids corruptions in the model if the cancellable is cancelled in the right moment, this could be triggered often by switching views. tracker-needle: Make the taglist use Gtk.CellRendererText nautilus: Update extension to compile with GTK+3 tracker-needle: Use GTK+3 * GtkComboBoxText is now used * GtkDialog::has-separator usage is removed * Tracker's cell renderer isn't actually used, removed. tracker-preferences: Use GTK+3 tracker-explorer: Use GTK+3 2011-05-05 Martyn Russell <martyn@lanedo.com> Merge branch 'miner-rss-0.11-fixes' Merge branch 'tracker-control-with-backup-and-restore' tracker-miner-fs: Explain why we don't close the sparql object on cancellation 2011-05-04 Philip Van Hoof <philip@codeminded.be> miners/fs, libtracker-miner: On extractor error insert minimal FS info of the file This commit can be ported to tracker-0.10 Fixes NB#249338. Fix encoding unit test to the initialize locale system 2011-05-04 Jürg Billeter <j@bitron.ch> tracker-store: Do not export internal methods via D-Bus 2011-05-03 Martyn Russell <martyn@lanedo.com> tracker-control: Disable default dbus timeout on backup/restore It's quite likely backup or restore may take > 25 seconds which is the default timeout for dbus calls. This was causing errors when there was no real timeout issue. tracker-control: Allow backup/restore to take local file names This will now convert the arguments given into a real URI because a URI is expected in tracker-store. tracker-miner-rss: Remove check for our update in GraphUpdated Before we used GraphUpdated signals and filtered out our updates for mfo:updatedTime, this could lead to updates being missed on some graphs. This has been removed now and just does one more round to check all feeds are up to date instead. tracker-miner-rss: Only change mfo:updatedTime if a feed is added Also used proper GCancellable for all SPARQL calls tracker-miner-rss: Rename functions to make more sense 2011-05-03 Carlos Garnacho <carlosg@gnome.org> tracker-extract: make Abiword extractor use GMarkup This enables us to do content extraction properly. Fixes GB#633105, reported by Aleksander Morgado. 2011-05-02 Jürg Billeter <j@bitron.ch> libtracker-miner: Do not try to load thumbnailer properties The thumbnailer D-Bus objects do not have any properties. We can save two D-Bus calls by not trying to load them. 2011-04-29 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-04-29 Claude Paroz <claude@2xlibre.net> Replace string concatenation by printf syntax (Fixes #648892) 2011-04-29 Carlos Garnacho <carlosg@gnome.org> tracker-needle: Update result list icons on icon theme change Fixes GB#397205, reported by Luca Ferretti. 2011-04-29 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2011-04-29 Marek Černocký <marek@manet.cz> Added message flag for gettext Updated Czech translation 2011-04-28 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-04-28 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-04-28 Philip Van Hoof <philip@codeminded.be> tracker-store: Improve error reporting in restore libtracker-data, tracker-store: Improve error reporting for backup 2011-04-28 Martyn Russell <martyn@lanedo.com> tracker-control: Add --backup and --restore support These command line options provide an easy way to use the d-bus interfaces 2011-04-28 Philip Van Hoof <philip@codeminded.be> libtracker-data, miners/fs: Indentation fixes tracker-store: Indentation fixes tracker-extract, epub: Indentation fixes 2011-04-28 Carlos Garnacho <carlosg@gnome.org> tracker-needle: Fix date strings wrt i18n Fixes GB#520670 - Timestring not internationalized, reported by Yang Zhang. 2011-04-28 Martyn Russell <martyn@lanedo.com> tracker-miner-rss: Fixed ASK SPARQL to check true/false not 0/1 tracker-miner-rss: Improve debugging and code maintainability tracker-miner-rss: Added --add-feed and --title options This allows people to add feeds easily which can then be tracked using tracker-search --feeds. tracker-miner-rss: Avoid recursive checking and inconsistent graph use Also improve the debugging tracker-miner-rss: Fixed crash trying to cast TrackerSparqlConnection to TrackerMinerRSS 2011-04-28 Jürg Billeter <j@bitron.ch> NCO: Add index on nco:phoneNumber Removing nrl:InverseFunctionalProperty from nco:phoneNumber removed the implicit index. This readds a non-unique index. Fixes NB#250959. 2011-04-27 Carlos Garnacho <carlosg@gnome.org> Add EPub extractor. Fixes GB#642288. At the moment title/author/creation date/text content are extracted. tracker-extract: Don't skip the last metadata iterator element in flac files. Fixes GB#633108 - FLAC extractor doesn't work properly, reported by Aleksander Morgado. tracker-extract: Sort parts before extracting .pptx files content Fixes GB#632876, Reported by Aleksander Morgado. 2011-04-27 Jürg Billeter <j@bitron.ch> libtracker-sparql-backend: Fix memory leak in Connection.get The leak was caused by a bug in valac (fixed in master). This changes the code to work correctly with valac versions without the fix as well. Fixes NB#250455. tracker-store: Fix callback in sparql_update_blank 2011-04-27 Philip Van Hoof <philip@codeminded.be> libtracker-data: Set errors in these two fatal cases libtracker-data: Fixes after review libtracker-data: Adding comments explaining error handling actions libtracker-data, tests, tracker-control: Handle journal errors tests, libtracker-common: Fix tests when meegotouch is enabled 2011-04-26 Martyn Russell <martyn@lanedo.com> Merge branch 'meegotouch' 2011-04-26 Philip Van Hoof <philip@codeminded.be> libtracker-common: Reading locale from gconf-dbus is only for meegotouch 2011-04-21 Jürg Billeter <j@bitron.ch> Move tracker-encoding from libtracker-common to libtracker-extract Fixes NB#249787. 2011-04-20 Martyn Russell <martyn@lanedo.com> maemo: Added timestamp change for maemo:PostalAddress 2011-04-20 Jürg Billeter <j@bitron.ch> tracker-extract: Do not consider no metadata an error Fixes NB#249028. maemo: Add maemo:PostalAddress This will be used for the TYPE=postal parameter of the ADR property in vCards. libtracker-data: Sort filter-in-5 test result to avoid test failures 2011-04-20 Martyn Russell <martyn@lanedo.com> build: Require rest 0.7, Fedora and Ubuntu don't have 0.6 anymore 2011-04-19 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: Pool documentation updated ... to include: * Bulk tasks * Always-buffered tasks * New limit of requests to tracker-store libtracker-miner: avoid new extractions if requests limit reached libtracker-miner: Put together sparql buffer reset code libtracker-miner: Need to keep bulk ops if we are going to queue requests libtracker-miner: Always try to buffer requests and use UpdateArray tracker-miner-fs: Set limit of requests in processing pool to 10 libtracker-miner: New limit for the number of requests sent to the store 2011-04-19 Jürg Billeter <j@bitron.ch> tracker-extract: Complete relicensing from GPL to LGPL Copyright headers of header files and C++ files were not updated during relicensing in January 2011. 2011-04-18 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fix critical about locale in case of standalone mode 2011-04-17 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2011-04-16 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-04-16 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-04-15 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-04-15 Philip Van Hoof <philip@codeminded.be> tracker-extract: Indentation fixes in config tracker-extract: Indentation problems in controller tracker-extract: Fix critical warning in controller's finalize I tested the ref count of priv->extractor in the finalize of the controller, and it was 0 already at that point. Making me believe that an ownership transfer is needed at set of the property. tracker-extract: Indentation fixes in tracker-main.c tracker-extract: Fix crash with certain versions of Qt libtracker-data: Fixes after review for nrl:InverseFunctionalProperty change detection NCO: Remove nrl:InverseFunctionalProperty from nco:phoneNumber Fixes NB#244787. libtracker-data: Support detecting nrl:InverseFunctionalProperty changes 2011-04-14 Carlos Garnacho <carlosg@gnome.org> needle: Fix emails query There was no second argument for the tracker:coalesce() call 2011-04-14 Martyn Russell <martyn@lanedo.com> tracker-info: Additional fixes for the --turtle command line option - Make sure we escape strings - Make sure we detect resources properly and encapsulate with <%s> 2011-04-14 Elliot Smith <elliot.smith@intel.com> tracker-info: Support Turtle as an output format Fixes GB#646834 2011-04-14 Jürg Billeter <j@bitron.ch> libtracker-common: Do not apply memory limits to spawned processes The limits broke backup functionality and they are not needed for processes spawned by tracker-extract as the limits are inherited from tracker-extract. NCO: Remove tracker:notify from immutable helper classes This removes tracker:notify from nco:Contact, nco:EmailAddress, nco:PhoneNumber, and nco:PostalAddress to avoid unnecessary GraphUpdated emissions as instances of these helper classes are never modified after creation. 2011-04-13 Carlos Garnacho <carlosg@gnome.org> configure: Add --enable-meegotouch argument Fixes GB#647548. The libmeegotouch was being masked behind --enable-maemo, which also serves the purpose of installing additional ontologies, these are now 2 separate arguments. 2011-04-13 Martyn Russell <martyn@lanedo.com> Merge branch 'extractor-controller-thread' tracker-extract: Make sure we finalize the extractor object to print summary tracker-extract: Cleaned up logging Now all the thread tracing has to be turned on specifically with: -D THREAD_ENABLE_TRACE The MP3 extractor was also dumping all frame debugging, this has to be turned on with: -D FRAME_ENABLE_TRACE Some other sanity checking has been added to the logging so we know the max bytes from the config in the log. Things are more sane now with verbosity set to 2 libtracker-common: Re-instate setrlimit() Previously it was disabled due to GStreamer constantly causing high memory use. Now we have re-enabled it and instead of a flat 512Mb (or 80Mb for 64bit) limit, we use 50% of memory capping at MAXLONG (2Gb on 32bit machines) and using at least 256Mb as a minimum. This was done to fix my desktop with 4Gb going OOM from a broken PNG file 2011-04-13 Carlos Garnacho <carlosg@gnome.org> tracker-extract: Handle errors when owning the bus name. tracker-extract: Keep the GSource itself in TrackerController tracker-extract: Quit on pre-unmount if the mount point any processed file Fixes NB#240681, Tracker should process pre-unmount signal from usb_mode 2011-04-13 Jürg Billeter <j@bitron.ch> libtracker-sparql: Fix deadlock when tracker is not available If a connection attempt failed, subsequent connection attempts deadlocked. 2011-04-12 Jürg Billeter <j@bitron.ch> libtracker-sparql: Fix fallback from direct access to D-Bus Fixes NB#238770. 2011-04-12 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Fix crash when not possible to get D-Bus connection Fixes NB#245998. 2011-04-12 Aleksander Morgado <aleksander@lanedo.com> functional tests: New test to ensure correct iptcdata records are read Testing fix in NB#244267 functional tests: minor whitespace changes in extractor tester 2011-04-11 Adrien Bustany <abustany@gnome.org> Add README and COPYRIGHT Fix summary Add French and Spanish locales Cleanup unneeded code 2011-04-11 Philip Van Hoof <philip@codeminded.be> tests/functional-tests: Use "true" and "false" for ASK 2011-04-11 Aleksander Morgado <aleksander@lanedo.com> libtracker-extract: Process only record-2 tags in libiptcdata Fixes NB#244267 2011-04-11 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Build typelib and so introspection works 2011-04-11 Jürg Billeter <j@bitron.ch> libtracker-miner: Fix mtime check Due to a bug in the query used for mtime checking, all files were considered updated and hence reextracted. Fixes NB#241302. 2011-04-11 Philip Van Hoof <philip@codeminded.be> libtracker-data: Add check for eof at end of ASK queries libtracker-data: Error when OFFSET, LIMIT, etc are used with ASK libtracker-data: Use "true" in the unit test too, for ASK libtracker-data: Make ASK use the same 'true' and 'false' as xsd:boolean Fixes NB#245589. 2011-04-11 Jürg Billeter <j@bitron.ch> SPARQL: Test GRAPH template followed by DOT SPARQL: Accept DOT after GRAPH template Fixes NB#245373. 2011-04-10 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-04-08 Michael Biebl <biebl@debian.org> build: add missing "\" to libtracker_sparql_LDFLAGS 2011-04-08 Jürg Billeter <j@bitron.ch> SPARQL: Implicitly convert all fn:concat arguments to strings It previously converted only the first two arguments. Fixes NB#213419. 2011-04-08 Carlos Garnacho <carlosg@gnome.org> tracker-store: plug a leak. libtracker-extract: Plug a leak tracker-extract: Add controller thread This thread takes care of DBus dispatching and extractor lifetime control, the main thread still carries out metadata extraction in a synchronous manner. 2011-04-08 Jürg Billeter <j@bitron.ch> libtracker-data: Protect tracker_db_cursor_get_* with mutex This is necessary for parallel queries with direct access. Fixes GB#642883. Fixes NB#244556. tracker-store: Increase maximum signal size from 1000 to 50000 triples 1000 triples is reached very quickly, especially with signals pending for multiple classes. 50000 triples should still not require more than 1 MB of memory for signals at any time. build: Fix build from tarball in libtracker-sparql 2011-04-07 Jürg Billeter <j@bitron.ch> tracker-store: Fix UpdateArray to use low priority requests libtracker-bus: There is no BatchUpdateArray UpdateArray is always considered a batch operation. 2011-04-07 Carlos Garnacho <carlosg@gnome.org> tracker-miner-fs: resolve $HOME in config paths correctly 2011-04-07 Jürg Billeter <j@bitron.ch> libtracker-sparql: Fix header filename in generated vapi build: Remove gsettings enums.xml from EXTRA_DIST Breaks distcheck with strict validation in GLib 2.28. 2011-04-07 Carlos Garnacho <carlosg@gnome.org> miner-fs: Consider "paused by missing store" non critical for mtime check in future runs Fixes Bug 644455 - ~/.cache/tracker/no-need-mtime-check.txt is not written if tracker-store is stopped before tracker-miner-fs, reported by Michael Biebl. Now tracker-miner-fs will consider a safe shutdown if the only pause reason is tracker-store missing. 2011-04-07 Martyn Russell <martyn@lanedo.com> Merge branch 'miner-fs-initial-sleep' tracker-miner-fs: Update man page given --no-daemon / --initial-sleep exclusivity 2011-04-07 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-fs: Perform initial-sleep in all miners as given by the config Fixes GB#644997 2011-04-07 Martyn Russell <martyn@lanedo.com> libtracker-extract: Fixed typo breaking distcheck, s/typelibs/typelib/g build: Fixed broken distcheck configure arguments Evolution plugin was building which shouldn't be the case build: Fixed remaining distcheck issues with introspection Mostly this is about $top_srcdir vs $top_builddir for Vala vs C files build: Require Vala >= 0.12.0, to avoid introspection sed scripting/fixing This also fixes a distcheck issue which was quite nasty to try to fix. 2011-04-07 Jürg Billeter <j@bitron.ch> Update .gitignore 2011-04-07 Philip Van Hoof <philip@codeminded.be> libtracker-common: Remove all pop_thread_default occurrences 2011-04-07 Jürg Billeter <j@bitron.ch> libtracker-common: Do not push thread-default context in gconfdbus We cannot always push the global default context as a thread-default context. The previous commit makes sure that the thread-default context is always set to the global default context. libtracker-sparql: Use separate thread for sync init if necessary tracker_locale_init must run with the thread-default context set to the global default context. As pushing a new thread-default context requires the current thread to be the owner of the passed context, we cannot always push the global default context as a thread-default context. This commit uses a threadpool job in the case that sync initialization is requestesd with the thread-default context not set to the global default context. 2011-04-07 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Fix single header include check mismatch 2011-04-07 Jürg Billeter <j@bitron.ch> libtracker-data: Test for bogus extra data with anon blank nodes libtracker-data: Do not insert bogus extra data for anon blank nodes Fixes NB#244536. 2011-04-06 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation Updated Spanish translation 2011-04-06 Carlos Garnacho <carlosg@gnome.org> extract: Plug huge leak Every GDBusMethodInvocation in handle_method_get_metadata_fast() was being leaked, since that function is handling the replies itself. 2011-04-06 Philip Van Hoof <philip@codeminded.be> tracker-extract: Also find small albumart, however only as secondary choice Fixes NB#242253. 2011-04-06 Martyn Russell <martyn@lanedo.com> build: Fixed the disparities between gir_DATA and girdir Some copy/paste errors not helping with distcheck libtracker-sparql: Added TRACKER_CHECK_VERSION and tracker_check_version() Now, libtracker-sparql includes tracker-version.h and tracker-sparql.h is a real non-generated header which includews the generated vala headers. We need to wrap the generated headers from valac to include checks ensuring the generated header is not included directly, but rather the on header for the entire library is included instead (tracker-sparql.h) So now we have -generated-no-checks.h from valac, and all -generated-no-checks.h files get converted to -generated.h with the pre-processor additions inserted Fixes GB#646365, Add macro to check Tracker version 2011-04-06 Jürg Billeter <j@bitron.ch> libtracker-miner: Do not ignore DELETED event for IgnoreNextUpdate We should never see DELETED on update (atomic rename or in-place update) but we may see DELETED due to actual file deletion right after update. Fixes NB#229461. 2011-04-06 Philip Van Hoof <philip@codeminded.be> libtracker-common: A warning is sufficient here, no need for critical 2011-04-05 Jürg Billeter <j@bitron.ch> libtracker-sparql: Ensure Builder.length is not 0 when not empty This caused preupdate fragments from extractors to be dropped in certain situations. Fixes NB#237582. tracker-extract-pdf: Fix SPARQL preupdate for location information 2011-04-05 Philip Van Hoof <philip@codeminded.be> libtracker-common: Make sure the first_time trick survives locale_shutdown tracker-extract: Use init and shutdown for tracker-locale libtracker-common: Device uses system bus, not session bus libtracker-common: Locale values must be there on return of the init function libtracker-common: Use 2011 for copyright of new files libtracker-common: Ensure that the default mainloop is used for the DBus connection libtracker-common: Remove false comments about mainloop libtracker-common: Use warning instead of message libtracker-common: Replace error code with enum libtracker-common: Use variable names that are easier to evaluate libtracker-common, -data: Don't reinit locale at each locale change libtracker-common, -data: Use locale_init and locale_shutdown libtracker-common: Cleanly and silently handle non gconf-dbus situation libtracker-common: Listen for changes on GConf using DBus directly for meegotouch locales Fixes NB#240272. libtracker-common: Read meegotouch locales from GConf over DBus directly Fixes NB#240272. libtracker-sparql: Remove GConf dependency In Maemo's case we're now reading from gconf-dbus using GDBus directly, instead of using the non-thread-safe gconfclient API libtracker-common: Remove reading meegotouch locale config over GConf 2011-04-05 Martyn Russell <martyn@lanedo.com> libtracker-miner: Don't use specific version numbers for .gir files libtracker-extract: Don't use specific version numbers for .gir files libtracker-sparql: Fix gir generation dependencies 2011-04-05 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Add introspection annotation to docs. libtracker-extract: run introspection with --warn-all 2011-04-05 Ivan Frade <ivan.frade@nokia.com> libtracker-sparql: Another sed trick to fix vala GIR Add scope="true" to all the async function descriptions. libtracker-miner: No need for different .gir for TrackerCrawler All TrackerMiner definitions can go in TrackerMiner .gir libtracker-miner, libtracker-sparql: Added introspection examples Miner and Async query are not working as expected yet, but the code should be correct. libtracker-extract: Depend on Tracker-0.10.gir Do not depend in the old TrackerSparql gir. build: Require g-ir 0.9.5 or higher Vala generates .gir with repository version="1.2" . Quoting gobject-introspection changelog: Update to version 0.9.5: Major rewrite, that leads to a bump in the gir format (version 1.2). libtracker-sparql: Dirty 'sed' only when really needed If vala is recent enough, the "sed" operation is not needed. Also, run the sed trick only once on the file. Vala version is checked via new m4 function. Removed the .gir from the CLEANFILES. It must be cleaned only when the library it comes from is cleaned. libtracker-miner: Add (transfer x) annotation to some methods g-ir-scanner was warning the lack of those annotations libtracker-miner: Generate 2 gir to fix namespaces Due problems with namespaces, now TrackerMiner classes are described in one gir (TrackerMiner) and the Crawler in another (TrackerCrawler). Reorganized the source files in different variables. Internal files, not intended to be exposed in GI under private_sources. libtracker-sparql: Set correct library in gir This is needed when linked from other gir files. libtracker-sparql: Use valac to generate the .gir file. Fix Namespace. Use valac --gir instead of g-ir-scanner to generate the .gir file. Nested namespaces are not supported: use Tracker instead of TrackerSparql for this. Set introspection="0" to a function using va_list. This is a workaround for a bug in vala. Remove in the next vala upgrade. 2011-04-05 Martyn Russell <martyn@lanedo.com> libtracker-miner: Added introspection .gir file generation libtracker-extract: Added introspection .gir file generation libtracker-sparql: Added introspection .gir file generation build: Added initial introspection support 2011-04-04 Adrien Bustany <abustany@gnome.org> Bookmarks: add an observer for live saving/deletion in Tracker Bookmarks: Fix itemId/identifier confusion 2011-04-04 Markus Schley <marqus@gmx.net> [l10n] Updated German translation 2011-04-04 Jürg Billeter <j@bitron.ch> tests/libtracker-sparql: Fix cancellation error check tests/tracker-steroids: Test with the D-Bus backend 2011-04-04 Martyn Russell <martyn@lanedo.com> build: Bump version to 0.11 libtracker-data: Fixed distcheck with dconf files not cleaned up dconf/user is the filename libtracker-fts: Fixed distcheck with dconf files not cleaned up dconf/user is the filename build: Fixed missing gschema .xml.in files in distcheck functional-tests: Fixed distcheck issue with dconf 2011-04-04 Jürg Billeter <j@bitron.ch> libtracker-sparql: Use static linking instead of plugins Plugin loading in threads may be problematic in certain environments. As we do not currently support external plugins anyway, this changes libtracker-bus and libtracker-direct to be part of libtracker-sparql. This will also slightly improve initialization performance. Fixes NB#241659. 2011-04-04 Carlos Garnacho <carlosg@gnome.org> needle: Cancel operations on hidden views. 2011-04-04 Ivan Frade <ivan.frade@nokia.com> DOAP file describing the project Fixes GB#646374, Add a doap file to keep master.gnome.org happy when releasing Added also in EXTRA_DIST 2011-04-04 Adrien Bustany <abustany@gnome.org> Plugin: remove dead code Bookmarks: add missing cursor unref Initial commit 2011-04-03 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2011-04-02 Martyn Russell <martyn@lanedo.com> tracker-needle: Improve "icons" or "images" category to allow filtering by all or title Now there is a new matching mechanism, "all" which doesn't require search criteria and will display all images in a nice grid like fashion. The other is to display images with the criteria in the title/filename. tracker-needle: Cleaned up some whitespace issues 2011-04-01 Carlos Garnacho <carlosg@gnome.org> tracker-extract-oasis: NULLify variable It was leading to invalid frees if there was any error on extracting the document file content. 2011-03-31 Philip Van Hoof <philip@codeminded.be> tests, libtracker-common: Add unit test for encoding guessing libtracker-common: Set the declared locale before calling detect() libtracker-common: Only use encoding guessing when confidence >30% 2011-03-31 Jürg Billeter <j@bitron.ch> build: Require GStreamer 0.10.31 for GstDateTime tracker-extract-gstramer, gupnp-dlna: Use GST_DATE_TIME if available GST_DATE tag does not provide time information. Fixes NB#241833. tracker-needle: Simplify error handling libtracker-sparql: Handle GSpawnError thrown by GDBus If D-Bus session can neither be locater nor launched, GDBus throws a GSpawnError. Propagate the error properly where necessary. tracker-extract-msoffice-xml: Time limit extraction to 5s Based on patch by Lassi Nieminen. Fixes GB#645380. Fixes NB#235445. 2011-03-31 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-03-30 Martyn Russell <martyn@lanedo.com> Merge branch 'miner-fs-remaining-time' tracker-control: Use tracker_seconds_to_string() for nicer output Displays not just seconds, but hours and days remaining too. libtracker-miner: Use "Since: 0.12", not 0.11. We always use stable versions in our documentation 2011-03-30 Aleksander Morgado <aleksander@lanedo.com> tracker-control: Report miner's processing remaining time in --follow Note that this commit breaks TrackerMinerManager API w.r.t 0.10 Fixes GB#611471 tracker-control: Simplify getting pause status when showing pause details 2011-03-30 Philip Van Hoof <philip@codeminded.be> tests, libtracker-data: Add a comment so that wally wont change the h tests, libtracker-data: Added unit tests for Unicode lower-case and case-fold 2011-03-30 Jürg Billeter <j@bitron.ch> build: Support build with evolution 2.91.6 and later Fixes GB#645934. 2011-03-30 Philip Van Hoof <philip@codeminded.be> tracker-extract, mp3: Length of elements in this table is 3, not 4 Fixes NB#241206. 2011-03-29 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-03-29 Jürg Billeter <j@bitron.ch> libtracker-direct: Use thread-default main context for async callback This fixes the main context used for invoking the async ready callback of tracker_direct_connection_query_async. Fixes GB#645963. 2011-03-29 Philip Van Hoof <philip@codeminded.be> functional-tests: Cleanup test_insert_08 functional-tests: Add another GRAPH with REPLACE behaviour test functional-tests: Add GRAPH behaviour with REPLACE test libtracker-data: Fix compiler warning about unused variable libtracker-data: Performance improvement on rdf:type lookups functional-tests: Make the REPLACE test a bit more easy to use functional-tests: Improved output, add amount of contacts added functional-tests: Correct the amount of arguments for printf functional-tests: Use the newest qtcontact queries for REPLACE 2011-03-29 Adrien Bustany <adrien.bustany@nokia.com> functional-tests: Fix contacts queries in benchmark 2011-03-29 Philip Van Hoof <philip@codeminded.be> libtracker-data: Update my beautiful ascii art that explains the journal functional-tests: Added a performance test for REPLACE libtracker-data: Move blank_node handling to shared function libtracker-data: The guint here is a gint libtracker-data: Move domain index handling to a shared function libtracker-data: Support for FTS with REPLACE libtracker-data: Performance improvement for REPLACE support Don't lookup the object-id in case no class in the known types of the subject has tracker:notify: the only reason why we look this old object-id up is for GraphUpdated at this moment. functional-tests: Add domain check tests for REPLACE support functional-tests: Fix comments in functional test libtracker-data: Functional test for REPLACE support libtracker-data: We can return right after setting error libtracker-data: get_old_property_values already does domain check here libtracker-data: Check for domain in support for REPLACE libtracker-data: Move code comment to the right line libtracker-data: Use INSERT OR REPLACE instead of just REPLACE libtracker-data: Correct GraphUpdated for REPLACE support libtracker-data, tracker-store: Support for REPLACE on single values libtracker-data: Add an UPDATE operation to the journaling 2011-03-28 Sam Thursfield <ssssam@gmail.com> ontologies: SLO/MLO use 'false' instead of 'False' Fixes GB#645675 - mlo and slo contain invalid Turtle literals: 'False' instead of 'false' Turtle spec says that only 'false' is valid (for Sparql both are fine) http://www.w3.org/TeamSubmission/turtle/#sec-diff-sparql : "4. The constants allowed for XSD booleans: true and false are case independent. In Turtle they are not, only lowercase forms are allowed." 2011-03-28 Philip Van Hoof <philip@codeminded.be> libtracker-data: Add tracker:case-fold function to SPARQL libtracker-data: Specify how many bytes are ok in libunistring's case 2011-03-28 Jürg Billeter <j@bitron.ch> tracker-extract: Support extra string for WHERE patterns in GetMetadata 2011-03-28 Philip Van Hoof <philip@codeminded.be> libtracker-data: Use libicu, libunistring or glib for fn:lower-case Fixes NB#240168. configure.ac: This strange Evolution-plugin stuff doesn't belong here 2011-03-28 Jürg Billeter <j@bitron.ch> SPARQL: Handle double and dateTime typed string literals Fixes NB#240582. 2011-03-27 Adrien Bustany <abustany@gnome.org> tracker-miner-web: Fix GVariant signature for "Associated" property 2011-03-26 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-03-25 Jürg Billeter <j@bitron.ch> tracker-needle: Fix C warnings on 64-bit platforms 2011-03-25 Yinghua Wang <wantinghard@gmail.com> Update Simplified Chinese translation. 2011-03-25 Carlos Garnacho <carlosg@gnome.org> tracker-needle: Fix alignment of folders without known parent tracker-needle: Make category headers stand out more. Also the number of hits is displayed now tracker-needle: Display fancier size/date in file view tracker-needle: Display fancier details in the categories view tracker-needle: Add query type column to the model tracker-needle: Don't align all text cells to have 2 lines high tracker-needle: Remove unused code tracker-needle: Bring icon view back to life It is now an image view tracker-needle: Make model load icons for file queries tracker-needle: Bring the file view back to life tracker-needle: Create the models in tracker-needle.vala, where it's then assigned to the view This makes it easier using different models for the same view. tracker-needle: Rewrite the "all" and "all in titles" query clauses ?urn should be exposed as such to be consistent. tracker-needle: Make the model expose stuff as a plain list if there's only one query added. tracker-needle: Add back details column in categories view tracker-needle: Ensure text in categories view is always 2 lines high tracker-needle: Ensure tooltips text in the models is pango markup ready tracker-needle: Separate query data from category row in model. Final effect is that not all categories appear now, only the ones with results. tracker-needle: Launch apps correctly tracker-needle: Ensure operations are cancelled on a new search term tracker-needle: Ensure consistency of the model information and its internal data Children were being added one by one, but the iter functions already handled the results array as if it was fully populated. This fixes the treeview disparity warnings. Also, proper timestamps are now set in the treeiters. tracker-needle: Add back the pixbuf column/renderer. tracker-needle: Improve categories treeview appearance tracker-needle: Fix the result store to return the correct n_children for the root. tracker-needle: Emit row-changed on categories after adding children to these. Also remove a couple silly debug print()s tracker-needle: Connect to search.activate to trigger query immediately. tracker-needle: Move querying mechanism to a custom GtkTreeModel implementation This model takes care of querying and queueing operations for incremental loading. 2011-03-24 Jürg Billeter <j@bitron.ch> tracker-extract: Do not create duplicate tags This appends the WHERE pattern as string to the SPARQL fragment returned by tracker-extract to avoid changes in the D-Bus API. Fixes NB#237176. tracker-miner-fs: Use INSERT { GRAPH <...> {...} } The graph specified with INSERT INTO also applies to the WHERE pattern. libtracker-common: Fix localtime handling with historic UTC offsets 2011-03-24 Philip Van Hoof <philip@codeminded.be> NFO: Update nao:lastModified for Ivan's latest changes 2011-03-24 Ivan Frade <ivan.frade@nokia.com> ontologies: Fixing typo in property comment Please squash with previous commit if possible ontologies: Add nfo:lastPlayedPosition to Media elements Requested by lionel.g.landwerlin@linux.intel.com Property in Media to store the last position in the was played. 2011-03-23 Michael Biebl <biebl@debian.org> tracker-needle: Set proper application icon 2011-03-23 Jürg Billeter <j@bitron.ch> Update .gitignore 2011-03-23 Ivan Frade <ivan.frade@nokia.com> functional-tests: Remove test dconf db only when it exists 2011-03-23 Jürg Billeter <j@bitron.ch> build: Remove test-configurations from configure.ac 2011-03-22 Ivan Frade <ivan.frade@nokia.com> functional-tests: Remove test-configurations. Not needed anymore. functional-tests: Updated application tests using dconf functional-tests: Updated writeback tests using dconf functional-tests: Make sure to use a fresh dconf profile functional-tests: Miner tests take configuration from a dconf test profile functional-tests: Defined miner dconf schema name in a constant functional-tests: Updated miner tests using dconf functional-tests: Use dconf instead of cfg file when configuring the env functional-tests: Added a Python wrapper to access DConf functional-tests: Install a dconf profile for testing 2011-03-22 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Renamed schemas "FileSystem" to "Files" for consistency Also renamed "fs" to "files". Also renamed "miners" to "miner". schemas: Include DB and fix FTS in Tracker.gschema.xml.in tracker-extract: Renamed schemas "Extractor" to "Extract" for consistency po: Added FTS and DB dconf schema files to POTFILES.in libtracker-data: Fixed memory leaks and updated db-config API The db-config API to get the journal rotate destination did return a const gchar * but with gsettings a new string is returned each time, so the API was updated and memory freed in all places it is called. tracker-miner-fs: Removed unused structure libtracker-data: Rename Store.DB to just DB FTS is also part of the store but we don't attach it there either libtracker-fts: Improve documentation for FTS schema 2011-03-22 Ivan Frade <ivan.frade@nokia.com> libtracker-fts: Port TrackerFTSConfig to gsettings. Remove manpage and add gsetting schema libtracker-data: Port TrackerDBConfig to gsettings Add also GSettings schema under Store 2011-03-22 Martyn Russell <martyn@lanedo.com> tracker-control: Fixed some whitespace issues 2011-03-22 Aleksander Morgado <aleksander@lanedo.com> tracker-control: Don't start miners when querying status Fixes GB#642012 libtracker-miner: New tracker_miner_manager_new_full() * Allows setting auto-start to FALSE so that miners are not started when querying status * Made the TrackerMinerObject initable tracker-control: Do not start tracker-store when requesting status tracker-control: Assume --list-processes and --status when running without args Fixes GB#645000 2011-03-22 Jürg Billeter <j@bitron.ch> libtracker-data: Skip subclass query when deleting whole resource This improves resource deletion performance. 2011-03-22 Philip Van Hoof <philip@codeminded.be> libtracker-sparql, -common: GConfClient's get_default isn't thread-safe, workaround this issue Fixes NB#238447. 2011-03-21 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-03-21 Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com> libtracker-extract: Improve extraction of title from filenames with multiple dots Fixes GB#645052 2011-03-21 Jürg Billeter <j@bitron.ch> libtracker-sparql: Use thread-default main context for async callback This fixes the main context used for invoking the async ready callback of tracker_sparql_connection_get_async. Fixes NB#238547. libtracker-data: Fix graph check for anonymous blank nodes 2011-03-21 Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com> tracker-extract: Fix original resolution conversion in EXIF data According to the specification (http://www.exif.org/Exif2-2.PDF), the resolution unit is described as : 2 = inches unit 3 = centimer unit other = reserved Fixes GB#645375 2011-03-21 Philip Van Hoof <philip@codeminded.be> libtracker-sparql: Remove drop_graph from sparql builder Don't cherry-pick this to the tracker-0.10 branch, as it's a unallowed API, ABI change libtracker-sparql: Deprecate drop_graph in sparql builder 2011-03-21 Aleksander Morgado <aleksander@lanedo.com> tracker-control: Better name for internal ENABLED macros tracker-control: Remove --detailed option, always enabled Timestamps will now always be shown in when getting status of the Tracker components. Fixes GB#644998 2011-03-21 Ivan Frade <ivan.frade@nokia.com> functional-tests: Update expectations now that bug has been fixed. Reported by Jean-Luc Lamadon <jean-luc.lamadon@nokia.com> 2011-03-21 Philip Van Hoof <philip@codeminded.be> plugins, evolution: Fix trailing whitespace plugins, evolution: Make the Evolution plugin work with old Evolution version plugins, evolution: Correct use of GRAPH with the nie:DataSource plugins, evolution: Don't use DROP GRAPH any more 2011-03-18 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-03-18 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Don't export symbols which are internal This includes: tracker_backend_* tracker_sparql_backend_* tracker-miner-fs: Add --no-daemon command line to exit when indexing done 2011-03-18 Jürg Billeter <j@bitron.ch> Update .gitignore 2011-03-18 Philip Van Hoof <philip@codeminded.be> tracker-extract: Add parameter to QApplication to allow running without X11 2011-03-17 Carlos Garnacho <carlosg@gnome.org> libtracker-extract: plug 2 memleaks in module manager. Spotted by Aleksander. 2011-03-17 Philip Van Hoof <philip@codeminded.be> libtracker-extract: free of a pointer that got offset by strchr Fixes NB#237582. 2011-03-17 Martyn Russell <martyn@lanedo.com> Merge branch 'sparql-init' libtracker-sparql: Add test case for the bug this fixes. Fixes NB#237150, Second tracker_sparql_connection_get_async never returns 2011-03-16 Martyn Russell <martyn@lanedo.com> tracker-extract: Fixed make distdir issue (playlist vs playlists) 2011-03-16 Jürg Billeter <j@bitron.ch> libtracker-data: Remove unused tracker_data_manager_init_async libtracker-sparql: Fix deadlock on initialization Calling Connection.get_async followed by Connection.get in the same thread led to a deadlock. This moves all initialization into a separate thread when invoked asynchronously instead of just initializing the database in a separate thread. libtracker-sparql: Fix race between unlock and return in get_internal 2011-03-15 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner,miner-fs,extract: Don't assume g_dbus_info_new_for_xml() never fails Not a big deal because the introspection XML is hardcoded and thus shouldn't break g_dbus_info_new_for_xml(), but anyway, better get an error message than a segfault if the xml is ever broken... 2011-03-15 Martyn Russell <martyn@lanedo.com> Merge branch 'extractor-rules-list' libtracker-extract: Updated documentation example for tracker_extract_get_metadata() Also updated the Since: and added information about what changed since 0.10 for people upgrading tracker-extract: Updated man page to include env var TRACKER_EXTRACTOR_RULES_DIR tracker-extract: Added note about why rule files are not in a separate dir libtracker-extract: Renamed tracker-extract-module-manager to remove "extract". None of the other .[ch] files use that convention in libtracker-extract libtracker-extract: Whitespace fixes libtracker-extract: Use same exclusion preprocessor rules as other headers i.e. use #error if the header is included outside of tracker-extract.h 2011-03-15 Carlos Garnacho <carlosg@gnome.org> tracker-miner-fs: avoid roundtrips to the extractor The miner now queries the extractor module manager whether a file is actually handled by the extractors before sending it over. tracker-extract: Add rule files for the extractors The final effect of these rules should resemble the specific vs generic approach previously used in the extractor. tracker-extract: mass change extractors The API has changed, now the following function must be exported: gboolean tracker_extract_get_metadata (const gchar *uri, const gchar *mimetype, TrackerSparqlBuilder *preupdate, TrackerSparqlBuilder *metadata); This was done in one go as there's no painless way to do this... tracker-extract: Use module manager from libtracker-extract Also fixed mockup example to use new APIs 2011-03-15 Jürg Billeter <j@bitron.ch> libtracker-data: Do not share anonymous blank nodes between graphs Fixes NB#236387. 2011-03-15 Carlos Garnacho <carlosg@gnome.org> libtracker-extract: Add extractor modules manager. This manager parses a directory of keyfiles, describing rules for matches, the modules aren't preloaded on initialization, instead they are loaded lazily as needed. This supersedes the module loading within src/tracker-extract/tracker-extract.c, and will be used as a replacement in following commits. The specific/generic matching there can be replaced by rules at different priorities calling the same module. 2011-03-15 Philip Van Hoof <philip@codeminded.be> tracker-store: Rename cache to notify_classes for code clarity tracker-store: Use a cache of tracker:notify classes in tracker-events.c libtracker-data, tracker-store: Performance improvement for class signals 2011-03-15 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: Remove unneeded methods from processing pool doc: Add missing libtracker-miner API methods to documentation 2011-03-14 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-03-14 Jürg Billeter <j@bitron.ch> functional-tests: Fix XDG dir handling 2011-03-14 Aleksander Morgado <aleksander@lanedo.com> build: ignore some built files in git libtracker-extract: Fix usage of strptime() when parsing dates without timezone Input dates without timezone should be treated as localtime, not as UTC. Fixes NB#233828 libtracker-extract: Improve some comments 2011-03-13 Joe Hansen <joedalton2@yahoo.dk> Updated Danish translation 2011-03-13 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-03-12 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-03-12 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-03-11 Carlos Garnacho <carlosg@gnome.org> Bug 644484 - miner-fs not removing files from the store Fix silly typo that made uri-is-descendant() not work as expected. Reported by Lionel Landwerlin. 2011-03-11 Jürg Billeter <j@bitron.ch> libtracker-bus: Let get_string return null for unbound values Fixes GB#642868. 2011-03-10 Martyn Russell <martyn@lanedo.com> libtracker-miner: Don't delete nie:contentCreated when updating files Fixes NB#232574, nie::ContentCreated is updated when the mtime of a file changes 2011-03-10 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2011-03-10 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-fs,applications: If locale change detected always do mtime checks during crawling Fixes NB#235118 2011-03-10 Tshepang Lekhonkhobe <tshepang@gmail.com> functional-tests: Fixed scripts first lines to include #!/usr/bin/python This is from 2 patches which MeeGo is using #004 and #005 here: http://build.meego.com/package/files?package=tracker&project=Trunk 2011-03-10 Martyn Russell <martyn@lanedo.com> po: Fixed POTFILES.in which was missing gschema xml files schemas: Fix make check with new gschemas directory tracker-preferences: Switch from GKeyFile to GSettings tracker-preferences: Refactored the Vala code and cleaned things up a bit 2011-03-09 Ivan Frade <ivan.frade@nokia.com> ontologies (NFO): new Note class to store Tomboy-alike notes 2011-03-09 Martyn Russell <martyn@lanedo.com> Merge branch 'grouped-deletes' 2011-03-09 Carlos Garnacho <carlosg@gnome.org> processing-pool: Map correctly errors to tasks after array updates An error map is now passed, so the error position in the returned array can be guessed for all tasks. 2011-03-09 Kjartan Maraas <kmaraas@gnome.org> Adjust to API change in libpanel-applet 2011-03-09 Martyn Russell <martyn@lanedo.com> build: Remove .cfg man page documentation now we use gsettings 2011-03-09 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: Avoid use of already disposed memory 2011-03-08 Martyn Russell <martyn@lanedo.com> build: Migrate to GSettings Fixes GB#622288, Migrate to GSettings to make it easier to change default settings Note this commit is a place holder for the bug association with the feature being added in the previous merge commit schemas: Use tracker-enums.h, not tracker-settings.h to fix build 2011-03-08 Carlos Garnacho <carlosg@gnome.org> tracker-miner-fs: Use GSettings for configuration storage. tracker-store: Use GSettings for configuration storage. tracker-writeback: Use GSettings for configuration storage tracker-extract: Use GSettings for configuration storage. libtracker-common: Add type generation for libtracker-common enums. libtracker-common: Add migration code to TrackerConfigFile This is no longer an abstract object, and the tracker_config_file_migrate() function may be used to dump the configuration to GSettings and get rid of the key file. schemas: Add initial GSettings schemas 2011-03-07 Carlos Garnacho <carlosg@gnome.org> miner-fs: Make use of bulk operations when deleting resources. As a consequence, delete operations aren't flushed immediately anymore, instead item_queues_handler_id is left in charge of flushing when finished. libtracker-miner: Add bulk operations to the MinerFS processing pool These bulk operations are grouped when flushing the processing queue, so several operations are send as a single sparql expression. libtracker-data: Modify Sparql parser to have tracker:uri-is-descendant() take varargs libtracker-data: Make SparqlUriIsDescendant() Sql function take varargs Now the parameters are (parent1, parent2, ..., parentN, child), so it stays compatible with the older behavior. 2011-03-04 Philip Van Hoof <philip@codeminded.be> tracker-extract,mp3: Add comment and fix size param of get_encoding tracker-extract,mp3: Take into account \0 bytes in the fields tracker-extract: Don't read the last two bytes if trackn. is there tracker-extract,mp3: Add comment and genre for encoding detection Fixes NB#229713. 2011-03-04 Aleksander Morgado <aleksander@lanedo.com> libtracker-common: Improve logging when guessing charsets libtracker-common: New meegotouch-based encoding detector libtracker-common: move enca encoding detector to separate files tracker-extract,mp3: Use encoding detection from libtracker-common libtracker-common: Added libenca-based encoding detection method 2011-03-04 Ivan Frade <ivan.frade@nokia.com> functional-tests: Allow whitespaces in the tags and creators labels More flexible parsing the results coming from the extractor, to allow tags like "test 1" or creators as "Bob Dylan" functional-tests: Force english locale for the tests 2011-03-04 Michael Biebl <biebl@debian.org> tracker-preferences: Enable gettext translations While at it, clean up unused defines. 2011-03-04 Ivan Frade <ivan.frade@nokia.com> functional-tests: Fix expectations for audio extractions Template values where still in the file making the test fail 2011-03-03 Philip Van Hoof <philip@codeminded.be> libtracker-data: Fix tracker_ namespace use for non-publ. function 2011-03-03 Vincent Untz <vuntz@gnome.org> tracker-needle: Make title-only searches non case sensitive Fixes GB#642774, Make "title-only" search non-case sensitive (Normal / normal) 2011-03-03 Philip Van Hoof <philip@codeminded.be> tracker-extract: Don't use unsupported C++ constructors Fixes NB#232981. 2011-03-03 Dan Williams <dcbw@redhat.com> libtracker-miner: Update network provider to work with NetworkManager 0.9 Fixes GB#643739, [PATCH] fixes for NetworkManager 0.9 2011-03-03 Martyn Russell <martyn@lanedo.com> libtracker-miner: Simplify provider inclusion in Makefile.am 2011-03-03 Philip Van Hoof <philip@codeminded.be> libtracker-data: Make connection_get and connection_get_async robuster With this it should be possible to mix using tracker_sparql_connection_get and tracker_sparql_connection_get_async without having to worry about concurrency. 2011-03-02 Martyn Russell <martyn@lanedo.com> tracker-miner-flickr: Remove --includedir=libtracker-client Didn't seem to have any effect 2011-03-02 Ivan Frade <ivan.frade@nokia.com> Removing libtracker-client related files 2011-03-02 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Include tracker-miner-applications-meego.h in SOURCES tracker-extract,pdf: Updated copyright 2011-03-02 Aleksander Morgado <aleksander@lanedo.com> tracker-extract,pdf: Improve logging tracker-extract,pdf: If no text found, unref page before continuing Spotted by Carlos García Campos tracker-extract,pdf: Port 'Fixed slo:location to be a slo:GeoLocation' Original commit ID: 5186259e8d966ba8c6fe0c989bed6e098d09c42e tracker-extract,pdf: Port 'SLO ontology porting' Original commit ID: 2b0e002a41982f4373b06e882a08ca2123f515af tracker-extract,pdf: Port 'Fixed nested use of anonymous blank nodes' Original commit ID: 37cc69997955dd379f16ddd77380ff226f71286b tracker-extract,pdf: Port 'Add mlo:asPostalAddress' Original commit ID: 0dffb95fa28bb61efb998d48785fc573ad986f64 tracker-extract,pdf: Port 'Change nfo:Equipment to use canonical uris' Original commit ID: 3d0203cb46fbc6518203e13b44574fabbd85e461 tracker-extract,pdf: Port 'Adapted extractors to nfo:Equipment ontology change' Original commit ID: dfdca96df57fe2c2b04743a646c61a3dcc0d09b5 tracker-extract,pdf: Fix action type struct used in POPPLER_ACTION_MOVIE tracker-extract,pdf: Small style changes tracker-extract,pdf: Port 'Use nfo:device and merge make and model correct for videos' Original commit ID: bf1cc140b35d87a3a0ac11c9b39f87e3b842ff84 tracker-extract,pdf: Port 'Avoid duplicate tags' Original commit ID: 39d7aa2ac913a10195a3f2ceacfa54a9be930247 tracker-extract,pdf: Port 'Spaces aren't keyword separators' Original commit ID: 54083f8acc85ba83e4117f1ee1984686ab3b9072 tracker-extract,pdf: Port 'Small fix to the pdf extractor' Original commit ID: 4d13d69364c2da6560f00f9450d89b7f992bf091 2011-03-02 Carlos Garnacho <carlosg@gnome.org> tracker-extract,pdf: Use poppler-glib again for PDF extraction The old code has been resurrected with a few changes to have it work on Poppler 0.16.0, Now that poppler_page_get_text() uses TextOutputDev underneath there's no need anymore to use the C++ interface directly anymore, which is not guaranteed to be API compatible. Fixes Bug GB#636375 - 0.9.30: tracker-extract-pdf.cpp: error: GlobalParams.h: No such file or directory, reported by Andre Klapper. 2011-03-02 Martyn Russell <martyn@lanedo.com> examples: Don't forget to free structure in async-connection 2011-03-02 Philip Van Hoof <philip@codeminded.be> libtracker-data: Lock data-manager-init for concurrent async init 2011-03-02 Martyn Russell <martyn@lanedo.com> examples: Don't forget class-signal.c examples: Move async-connection and class-signal to libtracker-sparql subdir examples/async-connection: Updated to be fully async 2011-03-01 Philip Van Hoof <philip@codeminded.be> libtracker-data: Remove ] character from previous commit, oeps libtracker-data: More clear error messages when they come from SQLite tracker-writeback: Make dispatcher's finalize cope with incomplete init tracker-writeback: Cleanly handle errors of dispatcher's construction Fixes NB#231631. tracker-writeback: Make dispatcher GInitable 2011-02-28 Gabriel F. Vilar <cogumm@gmail.com> Updated Brazilian Portuguese translation 2011-02-28 Lionel Landwerling <lionel.g.landwerlin@linux.intel.com> libtracker-miner: Add mount-name to tracker:Volume as nie:title Author: Lionel Landwerling <lionel.g.landwerlin@linux.intel.com> 2011-02-26 Joe Hansen <joedalton2@yahoo.dk> Updated Danish translation 2011-02-25 Aleksander Morgado <aleksander@lanedo.com> tracker-control: let --detailed imply --follow 2011-02-24 Philip Van Hoof <philip@codeminded.be> libtracker-common: Missing glib includes for G_BEGIN_DECLS 2011-02-24 Aleksander Morgado <aleksander@lanedo.com> tracker-extract,gstreamer: On _DECRYPT errors, keep on reading tags Fixes NB#230255 tracker-miner-fs: Avoid trying to extract embedded metadata from directories 2011-02-23 Aleksander Morgado <aleksander@lanedo.com> build: Always include all man pages in dist Fixes GB#643140 tracker-albumart: Simplify uri vs mtime logic libtracker-common: Don't print paths, print uris which are always UTF-8 2011-02-23 Philip Van Hoof <philip@codeminded.be> libtracker-common, libtracker-extract: Don't confuse uri with path libtracker-common, tracker-extract: Use of path vs. uri is wrong here 2011-02-23 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: When reporting progress, ensure items processed <= total items Fixes GB#642581 2011-02-23 Cosimo Cecchi <cosimoc@gnome.org> nautilus-extension: don't implement _get_toolbar_items() It got removed from nautilus 2.91.90, and that code does nothing anyway. 2011-02-23 Aleksander Morgado <aleksander@lanedo.com> tracker-extract: Initialize to zero the module data, to fix the statistics Fixes GB#643090 libtracker-miner: Update processing pool explanation with new default queue sizes 2011-02-23 Gabor Kelemen <kelemeng@gnome.hu> Updated Hungarian translation 2011-02-22 Philip Van Hoof <philip@codeminded.be> miners/fs, applications: Use the processing-pool for .desktop files too examples: Added an example that uses async connection construction libtracker-data, -bus, -sparql: Asynchronous init of direct backend 2011-02-22 Aleksander Morgado <aleksander@lanedo.com> libtracker-common: Fix comment, date specs is ISO 8601 2011-02-22 Mikael Ottela <mikael.ottela@ixonos.com> data-generators:Add slo scripts to data generators 2011-02-21 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-fs,applications: Chain up parent's finalize 2011-02-21 Philip Van Hoof <philip@codeminded.be> utils/tracker-resdump: Added tool to dump a resource as TTL utils: Fix compiler warning in tracker-sql.c libtracker-common: Fix compiler warning if HAVE_IOPRIO not defined miners/fs: Initialize QApplication object only once Fixes NB#228760. 2011-02-19 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-02-19 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-02-17 Martyn Russell <martyn@lanedo.com> Release 0.10.0 2011-02-17 Aleksander Morgado <aleksander@lanedo.com> tracker-extract,flac: Fix several memory handling issues libtracker-miner,storage: Skip mount points without mount path 2011-02-17 Martyn Russell <martyn@lanedo.com> Merge branch 'evolution-plugin' 2011-02-17 Philip Van Hoof <philip@codeminded.be> plugins/evolution: Making it work with current jhbuild of Evolution 2011-02-17 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner,storage: Improve logging 2011-02-17 Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com> libtracker-miner,storage: do not rely on g_drive_is_media_removable() Fixes GB#640845 We don't want to rely on the g_drive_is_media_removable() method because it does not tell us whether a device can be disconnected from the system but rather if a device contains a media that might be extracted from it. In fact, this method maps the removable flag from the kernel block device subsystem. If we rely on g_drive_is_media_removable(), most of the USB harddrives are considered as non removable, and are therefor won't be indexed. This patch proposes to check whether or not the mount point is part of the system, and if it's not, we use g_volume_can_mount() method to check whether the filesystem can be mounted which gives us a better clue about whether the related device is removable or not (in the way tracker considers a device from being removable). 2011-02-17 Martyn Russell <martyn@lanedo.com> Merge branch 'gtk3' 2011-02-17 Philip Van Hoof <philip@codeminded.be> plugins/evolution: Fixes for making it work on latest master 2011-02-17 Martyn Russell <martyn@lanedo.com> build: Fix error message when evolution requirements are missing 2011-02-16 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-02-16 Philip Van Hoof <philip@codeminded.be> libtracker-data: (owned) isn't needed anymore for this variable libtracker-data, tracker-store, tests: Refactor update_blank to immediately use a GVariant This avoids a conversion from a GPtrArray to GVariant in the IPC layer and should because of that be a little bit faster. The affected unit test was using the GPtrArray based API. 2011-02-16 Martyn Russell <martyn@lanedo.com> tracker-needle: Use a separate store for each view Fixes the case where moving between views exposes some brokenness. Fixes GB#639547 - Duplicated result tracker-needle: Use fixed height for detailed view 2011-02-16 Philip Van Hoof <philip@codeminded.be> miners/rss: Ported RSS miner to use newer SLO ontology tests: Updated test to use slo:GeoLocation tracker-extract: TIFF: Fixed slo:location to be a slo:GeoLocation tracker-extract: PNG: Fixed slo:location to be a slo:GeoLocation tracker-extract: PDF: Fixed slo:location to be a slo:GeoLocation tracker-extract: JPEG Fixed slo:location to be a slo:GeoLocation Fixes NB#227977. tracker-extract: GIF: Fixed slo:location to be a slo:GeoLocation libtracker-extract, tests: Ported XMP to use newer SLO ontology 2011-02-15 Aleksander Morgado <aleksander@lanedo.com> build: msoffice-xml extractor doesn't need to link to libgsf build: Avoid getting -lunistring added in LIBS build: Avoid getting -lsqlite3 added in LIBS tracker-extract: Don't use program's link deps for extraction modules 2011-02-15 Carlos Garnacho <carlosg@gnome.org> Make MP3 extractor include nmm:albumArtist info This property wasn't being set in nmm:MusicAlbum classes. Fixes GB#641906 - albumArtist information is not provided. 2011-02-15 Philip Van Hoof <philip@codeminded.be> configure.ac: Add dependency on camel-1.2's .pc plugins/evolution: Put needed include back in place plugins/evolution: Bump up Evolution Data Server minimal version And remove all #ifdef that made older versions possible: We don't want to continue supporting too old EDS versions, as the API has changed dramatically (CamelObject -> GObject transition). configure.ac: Bump minimal version of Evolution Data Server 2011-02-15 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner,storage: Fix indentation/alignment 2011-02-15 Carlos Garnacho <carlosg@gnome.org> libtracker-miner,storage: Use g_mount_guess_content_type() to guess mountpoints' contents This function will detect content type properly for the different optical media types, ensuring a NULL content type just means it contains data. The is_optical check is still done aside, based on the content type, or the unix device. Fixes bug #642014 - Tracker cannot index optical data disc's data, reported by Simon Hong. 2011-02-14 Philip Van Hoof <philip@codeminded.be> tracker-extract: Codestyle, alignment and indentiation fixes in GIF extractor tracker-extract: Alignment fixes in albumart code tracker-extract: Codestyle changes and comment fix for PDF extractor tracker-extract: Codestyle and indentation fixes for MP3 extractor 2011-02-14 Aleksander Morgado <aleksander@lanedo.com> tracker-extract,gstreamer: Indentation/alignment fixes tracker-extract,gstreamer: If encrypted stream found, no tags read, and need to guess stream type, assume its a Video tracker-extract,gstreamer: gst_tag_list_get_uint() expects an unsigned output 2011-02-13 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German doc translation 2011-02-12 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-02-11 Jürg Billeter <j@bitron.ch> tracker-search-bar: Port to GTK+ 3 2011-02-11 Martyn Russell <martyn@lanedo.com> tracker-search-bar: Update to use libtracker-sparql not libtracker-client 2011-02-10 Jürg Billeter <j@bitron.ch> libtracker-data: Fix performance regression in SPARQL and Turtle parsers string.substring is slow on large strings with Vala < 0.11.6. Revert to deprecated string.ndup until we require Vala 0.11.6. 2011-02-10 Philip Van Hoof <philip@codeminded.be> libtracker-data: Remove g_message of an error now that it's propagated libtracker-data: Move g_warning into else-clause to avoid warn and then propagate libtracker-data: Fixup comment, remove commented out code libtracker-data: Language typo in comment libtracker-data: Remove obsolete TODO comments libtracker-data: Propagate TTL parsing errors up libtracker-data: Refactor transaction-commit/rollback for error reporting libtracker-data: Cleaning up and fix of a memory leak libtracker-data: Memoryleak fix libtracker-data: Propagate errors that can happen during init of meta.db libtracker-data: Don't let journal replay continue when out of disk-space libtracker-data: Rollback transaction on (disk-space) failure in journal replayer libtracker-data, tracker-store: Handle out-of-space errors by wrapping them Our D-Bus APIs want known errors to be passed over D-Bus, not unknown internal errors. So we wrap the error. libtracker-data: Add propagation of errors to manager's code libtracker-data: Handling out of space errors libtracker-data: Handle errors on transaction-commit Out of space errors usually happen at the transaction's commit, so we must gracefully handle them. libtracker-data: Report out of space errors with a separate error code 2011-02-10 Martyn Russell <martyn@lanedo.com> Release 0.9.38 2011-02-10 Aleksander Morgado <aleksander@lanedo.com> tracker-extract,gstreamer: Improve error logging 2011-02-10 Jürg Billeter <j@bitron.ch> tracker-store: Make sure to not send unmapped errors in D-Bus replies libtracker-data: Switch back to g_static_private_free We really need to make sure to close all interfaces on shutdown, we cannot rely on TLS cleanup. This can cause critical warnings on shutdown until g_static_private_free has been fixed in GLib. 2011-02-10 Philip Van Hoof <philip@codeminded.be> libtracker-data: Clear error instead of freeing, sets the variable to NULL too tracker-extract: Fix initialization of error variable to NULL 2011-02-10 Ivan Frade <ivan.frade@nokia.com> functional-tests: Kill/stop the store in a realistic way for backup/restore Kill or stop the store in the right moment, before corrupting or removing the DBs. This should make the test more predictable (before there were race conditions) 2011-02-10 Jürg Billeter <j@bitron.ch> libtracker-data: Fix race condition on shutdown g_static_private_free is not thread-safe, so do not use it and rely on TLS cleanup instead. This fixes critical g_object_unref warnings on shutdown. 2011-02-10 Philip Van Hoof <philip@codeminded.be> libtracker-data: Bugfix not initializing an error with NULL libtracker-data: Recreate the DB if first init of the DB iface fails libtracker-data: Detect corruption before integrity_check at set of WAL 2011-02-09 Aleksander Morgado <aleksander@lanedo.com> tracker-extract,gstreamer: Fix check for minimum gstreamer required version 2011-02-09 Martyn Russell <martyn@lanedo.com> Merge branch 'unique-nie-url' Merge branch '0.10-documentation-review' Merge branch 'nautilus-extension-update' 2011-02-09 Aleksander Morgado <aleksander@lanedo.com> plugins/nautilus: Don't crash if we can't get a SPARQL connection plugins/nautilus: Remove unneeded finalize() in TrackerTagsExtension plugins/nautilus: Remove unneeded private data in TrackerTagsExtension plugins/nautilus: Fix indentation/alignment libtracker-extract: Fix Libs in pkg-config setup functional-tests: New insertion test to check that nie:url can't be duplicated functional-tests: whitespace fixes in insertion tests libtracker-data: DB version upgrade, nie:url is now an inverse functional property 2011-02-08 Aleksander Morgado <aleksander@lanedo.com> Ontologies: Make nie:url an inverse functional property This will avoid having two resources with same nie:url. Fixes NB#208621 2011-02-08 Philip Van Hoof <philip@codeminded.be> libtracker-data: Handle error when WAL journaling can't be set 2011-02-08 Aleksander Morgado <aleksander@lanedo.com> docs: Added online documentation URLs to reference manuals docs, libtracker-client: Added deprecation notice in docbook index page docs, libtracker-client: Deprecate all tracker_sparql_* API libtracker-client: Change deprecation text to a more common one 2011-02-08 Ivan Frade <ivan.frade@nokia.com> functional-tests: Add test for NB#223536 Mp3 without artist or album. It make tracker-extract crash. 2011-02-08 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: Document Tracker Thumbnailer API docs, libtracker-miner: Added missing 'Since:' tags docs, libtracker-sparql: Added missing 'Since:' tags libtracker-sparql: Builder API is all new in 0.10, as this is a new library libtracker-miner: Remove tracker-client and add tracker-sparql and gio-2.0 in pkg-config setup docs, libtracker-miner: Cleanup sections and added new 'Compiling applications' one libtracker-extract: Replace tracker-client with tracker-sparql in pkg-config setup docs, libtracker-extract: Cleanup sections and added new 'Compiling applications' one 2011-02-08 Jürg Billeter <j@bitron.ch> libtracker-data: Recreate database if it is empty If tracker-store is terminated while initializing the database, it will abort on subsequent starts due to empty database. With this commit the database will be recreated instead. Fixes NB#225910. 2011-02-08 Philip Van Hoof <philip@codeminded.be> tracker-extract: Compare mtime of source file with albumart cache's file Fixes NB#221340. 2011-02-07 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-02-07 Aleksander Morgado <aleksander@lanedo.com> libtracker-sparql: Fix 'Since' usage in gtk-doc documentation docs, libtracker-sparql: Priority argument missing in tracker_sparql_connection_update() example docs, libtracker-sparql: Fix builder example libtracker-sparql: Don't require dbus-glib-1 in pkg-config setup docs, libtracker-sparql: Update pkg-config setup version to 0.10 docs, libtracker-sparql: D-Bus always does FD passing now functional-tests: Rename expected audio file to fix compilation 2011-02-07 Ivan Frade <ivan.frade@nokia.com> ontologies: Remove default-emergency-contact predefined instance Fixes NB#180770 - Unusable emergency contact is found... 2011-02-07 Philip Van Hoof <philip@codeminded.be> tracker-extract: Multiple double spaces in albumart filename determining Fixes NB#217610. 2011-02-07 Ivan Frade <ivan.frade@nokia.com> functional-tests: Added audio+DRM file to the extraction test cases 2011-02-07 Jürg Billeter <j@bitron.ch> tracker-store: Fix invalid memory access on too large result set tracker_dbus_request_end was called twice if D-Bus reply was too large. Fixes NB#224993. 2011-02-06 Martyn Russell <martyn@lanedo.com> tracker-needle: Make sure apps launch and don't show the desktop file Fixes GB#640623, Double-click on application result should start the application 2011-02-05 Khaled Hosny <khaledhosny@eglug.org> Updated Arabic translation 2011-02-05 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-02-04 Ivan Frade <ivan.frade@nokia.com> functional-tests: Split application tests in two classes The tests are timing out in the machinery, and the timeout is per class. Splitting the tests in two classes to bypass this limitation. functional-tests: Disconnect writeback name-owner signal To avoid duplicate messages when starting/stopping the process in successive tests 2011-02-04 Martyn Russell <martyn@lanedo.com> plugins/nautilus: Update to use libtracker-sparql not libtracker-client 2011-02-04 Ivan Frade <ivan.frade@nokia.com> functional-tests: Update test to use SLO (instead of MLO) Added infrastructure to expect @URNUUID@ as value of a property and to expect a property without a concrete value 2011-02-04 Philip Van Hoof <philip@codeminded.be> libtracker-bus, -direct, -sparql: Error handling, get_direct This makes the connection.get_direct and connection.get APIs work right. Fixes NB#222182. libtracker-data: Make DB iface's finalize cope with halfway init. instance libtracker-data, tracker-store, tracker-control, tests: Make db iface initable 2011-02-04 Ivan Frade <ivan.frade@nokia.com> functional-tests: Test NB#224760, too many things in IN functional-tests: Test that writeback doesnt affect contentCreated functional-tests: Clean superclass code for dirs and files functional-tests: Move writeback filenames to the superclass 2011-02-04 Philip Van Hoof <philip@codeminded.be> tests: Add unit test for IN with >20 elements 2011-02-04 Jürg Billeter <j@bitron.ch> tracker-store: Increase maximum D-Bus result size It used to be 1 mio. values. However, as we now measure the size in bytes, increase it from 1 MB to 10 MB. 1 MB is not sufficient. 2011-02-03 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2011-02-03 Martyn Russell <martyn@lanedo.com> Release 0.9.37 2011-02-03 Jürg Billeter <j@bitron.ch> NIE: Mark nie:plainTextContent as tracker:forceJournal false libtracker-data: Do not journal all statements Do not journal statements that are inserted by tracker-miner-fs and whose predicate has tracker:forceJournal set to false. libtracker-data: Handle tracker:forceJournal ontology property Ontologies: Add tracker:forceJournal property This will be set to false for properties that should not always be journaled such as text content extracted from files. libtracker-miner: Always reextract partially restored files Partially restored resources are marked as tracker:damaged. Ontologies: Add tracker:damaged property This will be used to track resources that have been partially restored and require reextraction. 2011-02-03 Philip Van Hoof <philip@codeminded.be> libtracker-data: Don't use variable binding after a max for IN support Fixes NB#224760. 2011-02-03 Martyn Russell <martyn@lanedo.com> Merge branch 'no-mtime-checks-on-start' build: Don't depend on tracker-explorer dependencies to pass configure 2011-02-03 Aleksander Morgado <aleksander@lanedo.com> i18n: Add new translatable files to POTFILES.in build: Distribute the org.gnome.panel.SearchBar.panel-applet.in.in file i18n: Don't try to translate tracker-status.c tracker-miner-fs: By default forced mtime check is FALSE libtracker-miner: 'been_crawled' is the one notifying that first crawl was done tracker-miner-fs: Force mtime check if process was stopped while miners paused libtracker-miner: New tracker_miner_is_paused() method libtracker-data: Rename the miner-fs file to 'no-need-mtime-check.txt' 2011-02-03 Martyn Russell <martyn@lanedo.com> libtracker-miner: If mtime-checking is disabled, avoid further SPARQL requests We were still checking directories existed in the database, this skips that check entirely. This commit also avoid debugging the directories we're sending to the queue handling system if there is unless we have event tracing enabled. tracker-miner-fs: Apply mtime-checking config to application mining libtracker-miner: Don't stay in "Initializing" if crawling is disabled tracker-miner-fs: Use CrawlingInterval config to force/disable/delay/check for mtime checking We do this to know if we can avoid full mtime checks on all directories against what we know in the database on start up or not. Fixes NB#218525, tracker-miner is too heavy to start libtracker-miner: Add APIs to the existing properties for mtime-checking Also add an API to know if there are items in our processing queues waiting so we know if shutting down the miner object was done when we were idle or not. libtracker-data: Add APIs to add/remove mtime-check stamp file 2011-02-03 Aleksander Morgado <aleksander@lanedo.com> build: Include tracker-control.h so that it gets distributed 2011-02-03 Jürg Billeter <j@bitron.ch> NMO: Update nao:lastModified NMO: Change secondary index for nmo:communicationChannel nmo:receivedDate is the property relevant for sorting messages in a communication channel, not nmo:sentDate. 2011-02-03 Martyn Russell <martyn@lanedo.com> Merge branch 'merge-control-status' tracker-control: Added --pause-details code Had not been re-added. Also fixed a memory leak. tracker-control: Some small code clean ups tracker-control: Cleaned up includes 2011-02-03 Aleksander Morgado <aleksander@lanedo.com> build: Include 'applications' subdir in test-configurations 2011-02-03 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Fix for two g_variant_new calls Fixes NB#224763. 2011-02-03 Aleksander Morgado <aleksander@lanedo.com> docs: Remove references of tracker-status from other manpages docs: Update tracker-control manpage with all new options merged from tracker-status docs: Remove tracker-status-icon manpages 2011-02-03 Ivar Smolin <okul@linux.ee> [l10n] Updated Estonian translation 2011-02-02 Aleksander Morgado <aleksander@lanedo.com> build: Remove --enable-tracker-search-bar from DISTCHECK_CONFIGURE_FLAGS build: Remove --enable-tracker-status-icon from DISTCHECK_CONFIGURE_FLAGS 2011-02-02 Martyn Russell <martyn@lanedo.com> Merge branch 'miner-fs-initable-iface' 2011-02-02 Jürg Billeter <j@bitron.ch> libtracker-data: Fix fn:starts-with for libunistring and glib collators Fixes GB#636074. 2011-02-02 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Don't set object->finalize if we just hook up parent finalize libtracker-miner, tracker-miner-fs: Protect potential NULL unrefs in finalize 2011-02-02 Aleksander Morgado <aleksander@lanedo.com> docs: Remove tracker-status manpage tracker-control: Use lowercases for miner options tracker-control: Use 'Miner options' instead of 'Miners options' tracker-control: Split options in groups and files 2011-02-02 Martyn Russell <martyn@lanedo.com> Merge branch 'miner-fs-dont-crawl-open' Merge branch 'no-bonobo' tracker-status-icon: Remove this application, it is a geek's toy More reasoning can be found in the bug report. Fixes GB#631955, drop status icon use 2011-02-02 Aleksander Morgado <aleksander@lanedo.com> tracker-status: fully removed tracker-control: Merge actions from tracker-status 2011-02-01 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: Never crawl open files ...assuming that after CREATED events there will always be a CHANGES_DONE_HINT Fixes NB#197067 libtracker-miner,monitor: Split in different methods the actions per event and filetype libtracker-miner: Always enable file blacklisting tracker-miner-rss: Propagate error in constructor libtracker-miner, tracker-miner-fs: Always use inner_error and propagate it libtracker-miner: Document new getters in API tracker-miner-fs: Clean stop when initialiation of miner objects failed tracker-miner-fs: Store parent's initable iface during iface initialization ...otherwise we won't be able to chain up with exact parent's iface properly libtracker-miner,miner-flickr: Make TrackerMinerWeb and TrackerMinerFlickr objects initable tracker-miner-rss: Make TrackerMinerRSS object initable tracker-miner-fs: Make TrackerMinerFiles and TrackerMinerApplications objects initable libtracker-miner: New getters in TrackerMiner to retrieve dbus related variables libtracker-miner: Make TrackerMiner object initable libtracker-miner: Always pass owner to the processing pool 2011-02-01 Philip Van Hoof <philip@codeminded.be> tracker-extract: Performance improvement for Qt-based albumart handling tracker-extract: Workaround for Qt bug when no QApplication is constructed For the QImage class a QApplication must be constructed in order for SVG files to work without crashing in font configuration loading in Qt. Fixes NB#223938. 2011-02-01 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Extract track number from ID3v2.2 frames Fixes NB#185309. 2011-01-31 Ivan Frade <ivan.frade@nokia.com> functional-tests: Add option -m to start the tracker processes manually 2011-01-31 Jürg Billeter <j@bitron.ch> libtracker-data: Set has_persistent when deleting rdf:type statements This moves has_persistent assignments from low level functions to the higher level insert_statement_with_* and delete_statement functions as it is easier to cover all cases that way. libtracker-data: Never rollback ontology journal transactions This is currently not supported but also not necessary as transient properties are never set in .ontology files. 2011-01-31 Philip Van Hoof <philip@codeminded.be> libtracker-data: Avoid that ontology changes increment the tracker:modified libtracker-data: After journal replay modseq must get restored This commit changes how the modification-sequence works, this is made public using the tracker:modified property on resource. Instead of each resource having its own unique modification- sequence number, the modification sequences are defined per committed transaction that had properties that aren't transient. This commit also changes the fact that a transaction with only transient properties was still adding an empty transaction to the journal. With that the modification sequence wouldn't restore correctly to original state. It wasn't needed, so this change removes the empty transaction in the journal in that special case. 2011-01-31 Ivan Frade <ivan.frade@nokia.com> functional-tests: Update tests.xml to stop tracker using upstart functional-tests: Include new files in the EXTRA_DIST 2011-01-31 Aleksander Morgado <aleksander@lanedo.com> libtracker-data: Update mtime of db-version.txt after a backup restoration Fixes NB#223622 2011-01-31 Jürg Billeter <j@bitron.ch> tracker-extract-png: Fix guaranteed metadata Fixes NB#223282. 2011-01-29 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-01-29 Bruno Brouard <annoa.b@gmail.com> Updated French Translation Bruno Brouard and Alain Lojewski 2011-01-29 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-01-28 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-01-28 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-fs: listen to changes on the removable-days-threshold config value tracker-miner-fs: Don't setup periodic stale volume removal check if disabled tracker-miner-fs: Fix minimum value in property initialization tracker-miner-fs: Maximum value for stale removal threshold is 365 days tracker-miner-fs: Indentation and coding style fixes 2011-01-28 Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com> tracker-preferences: add hscale for delay before dropping removable devices tracker-preferences: update tracker config vala binding tracker-miner-fs: make removable days threshold configurable Data from removable devices is deleted after 3 days whether the device hasn't been mounted within that time. This patch makes this delay configurable. Fixes GB#623666 tracker-miner-fs: added removable devices days threshold to config 2011-01-28 Ivan Frade <ivan.frade@nokia.com> functional-tests: 501 testing writeback and contentCreated changes Blocked by a different bug in --enable-guarantee-metadata functional-tests: Move writeback superclass to a different file to write new tests 2011-01-28 Olav Vitters <olav@vitters.nl> MAINTAINERS: Fix userid 2011-01-28 Jürg Billeter <j@bitron.ch> libtracker-data: Wrap date errors in SPARQL errors for D-Bus replies Fixes NB#223133. 2011-01-28 Aleksander Morgado <aleksander@lanedo.com> functional tests, applications: Remove unneeded sleeps functional tests, applications: No need to flock() in the tests 2011-01-28 Ivan Frade <ivan.frade@nokia.com> functional-tests: Rename tests in 600 & 601 to control execution order functional-tests: Add video in the apptest superclass functional-tests: Add data directory and content for apps tests functiona-tests: Updated 601 to new superclass methods functional-tests: Refactor and clear a bit applications test functional-tests: better logging. Reduce race-condition killing process We are killing the process and then wait for the signal that it disappeared from dbus. Sometimes the process dies very quickly and the name changed already happend, so we only continue after a timeout. Using a flag to store when the name changes to avoid waiting for the signal if we know already the daemon is not there. 2011-01-28 Aleksander Morgado <aleksander@lanedo.com> functional tests, applications: New sync-related tests functional tests, applications: Moved get_urn_count_by_url() to parent class functional tests: Renamed applications test file to applications-camera functional tests: Don't align backslashes in Makefile.am functional tests: Run new applications suite by default functional tests, applications: Really simulate camera with slow copying and file locking functional tests, applications: Debug logging in miner-fs and writeback functional tests, applications: Setup and teardown each test independently functional tests, applications: New tests for video recordings functional tests, applications: Remove unneeded query functional tests, applications: Improved camera simulation tests, including writeback+geotags functional tests, applications: Tests should start/stop all tracker components functional tests: Add new tracker_all_testing_[start|stop] functional tests: New tests for application operations 2011-01-28 Jürg Billeter <j@bitron.ch> tracker-extract: Fix crash in albumart support Fixes NB#223148. miner-fs: Fix error freeing Fixes NB#223161. 2011-01-28 Ivan Frade <ivan.frade@nokia.com> functional-tests: Added test for NB#222645 2011-01-28 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Add nfo:FileDataObject to tracker-writeback query This blocks tracker-writeback from trying to writeback to so-called virtual files (resources that are being filled in for a file that will arrive as a file in nearby future). It does this by requiring nfo:FileDataObject: so-called virtual files must not be made nfo:FileDataObject but only nfo:DataObject, as it'll be tracker-miner-fs picking up and filling in the nfo:FileDataObject parts. As soon as this has happened, tracker-writeback is permitted to start becoming responsible for writing metadata back into the file. Fixes NB#222494. However, this bug illustrates other problems that must be fixed too. 2011-01-27 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2011-01-27 Jürg Billeter <j@bitron.ch> Release 0.9.36 miner-fs: Do not access MemoryOutputStream data before finishing splice Fixes NB#222664. miner-fs: Fix crash on invalid data received from GetMetadataFast 2011-01-27 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Add member= to the signal's subscription Fixes NB#222578. 2011-01-27 Jürg Billeter <j@bitron.ch> po: Update POTFILES.in and POTFILES.skip libtracker-data: Fix resource without URI on insert after rollback Fixes NB#222645. 2011-01-27 Lionel Landwerlin <lionel.g.landwerlin@linux.intel.com> miner-fs: silent compiler warning on declared but not defined functions 2011-01-27 Philip Van Hoof <philip@codeminded.be> libtracker-data: Don't use a separate table for all transient properties We are storing the transient properties in the normal SQLite tables anyway, so there's no more reason to deal with transient properties as if they are multiple-values ones (with separate tables). libtracker-data: Fix transient properties This way at least tracker:transient works. It will however be a persistently stored value in a normal SQLite table. 2011-01-26 Marek Černocký <marek@manet.cz> Updated Czech translation 2011-01-26 Khaled Hosny <khaledhosny@eglug.org> Updated Arabic translation Remove deleted file 2011-01-26 Jürg Billeter <j@bitron.ch> NCO: Move name properties up in the ontology file Property order has an influence on property access time. NIE: Move nie:url and nie:contentLastModified up in the ontology file Property order has an influence on property access time. NMM: Remove deprecated nmm:camera The property was deprecated 7 months ago. NMM: Remove deprecated nmm:length The property was deprecated 11 months ago. NMO: Remove deprecated SMS folder class, properties, and instances They were deprecated 3 months ago. NMO: Remove nmo:Mailbox and nmo:plainTextMessageContent They were deprecated 13 months ago. NFO: Remove deprecated nfo:device The property was deprecated 4 months ago. NFO: Remove deprecated nfo:entryContent The property was deprecated 5 months ago. NFO: Remove deprecated nfo:fileUrl The property was deprecated 13 months ago. NCO: Remove deprecated ontology classes and properties They were deprecated 11 months ago. 2011-01-26 Jussi Kukkonen <jku@linux.intel.com> tracker-explorer: don't remove sources on maintainer-clean build: filename typo in ontology docs Makefile.am 2011-01-25 Jürg Billeter <j@bitron.ch> tracker-extract: Handle errors when requesting bus names miner-fs: Handle errors when requesting bus names This prevents miner-fs from being started twice. Fixes NB#221700. miner-fs: Do not use constructed in MinerFilesIndex class It is impossible to indicate an error to the caller from within constructed. libtracker-miner: Handle errors when requesting bus names 2011-01-25 Philip Van Hoof <philip@codeminded.be> Some versions of totem-pl-parser's pc file require manually adding glib-2.0 2011-01-25 Aleksander Morgado <aleksander@lanedo.com> functional tests: Ensure nfo:belongsToContainer is changed on file moves functional tests: Remove trailing whitespaces in miner basic ops 2011-01-24 Jürg Billeter <j@bitron.ch> SPARQL: Ignore CONSTRUCT/INSERT/DELETE triples with unbound variables libtracker-data: Fix C warning in tracker-db-interface-sqlite.c 2011-01-22 Javier Jardón <jjardon@gnome.org> tracker-needle: Use accessor functions instead direct access Fixes https://bugzilla.gnome.org/show_bug.cgi?id=640231 2011-01-21 Martyn Russell <martyn@lanedo.com> Ontology: Added missing documentation for rdf, mtp and slo Commented on why nid3 and nrl are not documented in the Makefile and section sgml Reordered index so base classes are first listed in the documentation. Ontology: Fixed email-address in 89 mtp which broke documentation build 2011-01-21 Jürg Billeter <j@bitron.ch> Fix Vala warnings 2011-01-20 Jürg Billeter <j@bitron.ch> SPARQL: Fix SQL generated for predicate variables and deleted subjects 2011-01-20 Martyn Russell <martyn@lanedo.com> Release 0.9.35 2011-01-20 Jürg Billeter <j@bitron.ch> NMO: Move nmo:sentDate above nmo:Call nmo:Call refers to nmo:sentDate via tracker:domainIndex. 2011-01-20 Dominique Leuenberger <dimstar@opensuse.org> tracker-needle: Support command line arguments -V and search criteria Fixes GB#639542, tracker-needle doesn't support any argument 2011-01-20 Jürg Billeter <j@bitron.ch> NMO: Add nmo:lastSuccessfulMessageDate property NMO: Add domain index on nmo:sentDate to nmo:Call SPARQL: Add support for IF function 2011-01-20 Martyn Russell <martyn@lanedo.com> build: Comment configure about why we still have dbus and dbus-glib-1 Fixes GB#622918, Migrate from dbus-glib to glib's GDBus 2011-01-19 Martyn Russell <martyn@lanedo.com> Merge branch 'cursor' Merge branch 'miner-fs-monitor-created-event-fixes' libtracker-data: Don't set str to NULL before setting it to a value libtracker-data: Give context to g_warning()s utils: tracker-sql: Cleaned up whitespace 2011-01-19 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: If CREATED(A)+CHANGED(A) received, delay the CREATED event until CHANGES_DONE_HINT(A) Fixes NB#197067 libtracker-monitor: Don't fall through to next case in switch, its confusing libtracker-miner: minor coding style changes 2011-01-19 Philip Van Hoof <philip@codeminded.be> tracker-extract: Don't guess nie:contentCreated for songs Fixes NB#220373. 2011-01-19 Martyn Russell <martyn@lanedo.com> tracker-miner-evolution: Fix dbus-glib-1 includes which are no longer needed Fixes: GB#639918, Since merge of gdbus branch, build process is broken in tracker-evolution-plugin 2011-01-19 Jürg Billeter <j@bitron.ch> SPARQL: Do not use CAST to convert integers to strings This breaks use of index when sorting by variable introduced in select expression. Fixes NB#218092. libtracker-data: Remove unused TrackerDBResultSet tracker-sql: Use Cursor instead of ResultSet libtracker-data: Use Cursor instead of ResultSet in sparql-pattern libtracker-data: Remove unused tracker_dbus_query_result_to_strv libtracker-data: Remove unused tracker_data_query_sparql tracker-store: Use Cursor instead of ResultSet in tracker-main libtracker-fts: Use Cursor instead of ResultSet in fts-test libtracker-data: Use Cursor instead of ResultSet in ontology-change-test libtracker-data: Use Cursor instead of ResultSet in ontology-test libtracker-data: Use Cursor instead of ResultSet in sparql-test libtracker-data: Use Cursor instead of ResultSet in backup-test libtracker-data: Use Cursor instead of ResultSet in sparql-query libtracker-data: Use Cursor instead of ResultSet in data-update libtracker-data: Use Cursor instead of ResultSet in data-manager libtracker-data: Do not use per-thread interfaces with direct access 2011-01-18 Martyn Russell <martyn@lanedo.com> tracker-extract: Cleaned up the gupnp-dlna module coding style 2011-01-18 Arun Raghavan <arun.raghavan@collabora.co.uk> tracker-extract: gupnp-dlna: Update to gupnp-dlna 0.5 API GstDiscoverer has been moved to gst-plugins-base as aof 0.10.31, and gupnp-dlna 0.5 drops the internal copy of GstDiscoverer in favour of the -base version. This updates the gupnp-dlna extractor to use the updated API resulting from this change. https://bugzilla.gnome.org/show_bug.cgi?id=639739 2011-01-18 Philip Van Hoof <philip@codeminded.be> NCO: Fix cyclic dependency with NFO 2011-01-18 Aleksander Morgado <aleksander@lanedo.com> tracker-extract,mp3: Fix bitrate table usage tracker-extract,mp3: Fix sample rate table usage 2011-01-18 Philip Van Hoof <philip@codeminded.be> tracker-extract: MP3: Cope with sample_rate = 0 Fixes NB#218332. 2011-01-18 Ivan Frade <ivan.frade@nokia.com> functional-tests: the sparql bug was a syntax error. Fixing and removing expected failure. functional-tests: Add test for problematic DELETE sparql (NB#217636) 2011-01-18 Philip Van Hoof <philip@codeminded.be> NCO: Fix range of nco:photo and nco:video, fix maxCardinality of nco:video Fixes NB#218125 2011-01-18 Jürg Billeter <j@bitron.ch> Merge branch 'gdbus' 2011-01-18 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Apparently &s is a little bit faster here libtracker-data: Apparently &s is a little bit faster here Further eradicating dbus-1 and dbus-glib-1 dependencies tests: GDBus port of the IPC tests examples: class-signal: GDBus port of the class signal example tracker-needle: GDBus porting of tracker-needle's Vala code tracker-needle: Replace warning with a message for missing history file 2011-01-18 Jürg Billeter <j@bitron.ch> miner-fs: Use g_free as GMemoryOutputStream destroy function 2011-01-18 Philip Van Hoof <philip@codeminded.be> configure.ac: Fix dependencies for miner-fs tests: libtracker-common: Revive the parts of the Unit test that still work The other parts need to see the mock objects be ported to GDBus first libtracker-common: Eradicate dbus-glib from common library libtracker-client: Eradicate dbus-glib symbol use from libtracker-common libtracker-common, miner-fs: Move tracker-power-* to miner-fs libtracker-common, tracker-writeback: Remove special compat header libtracker-miner: Get the well-known DBus name, not the :N.XXX form libtracker-miner: Fix signature in trakcer-miner-manager.c libtracker-miner: Fix signature in tracker-thumbnailer.c libtracker-miner: Bugfix in IgnoreNextUpdate API 2011-01-18 Aleksander Morgado <aleksander@lanedo.com> tracker-control: on -rs, ensure the 1s wait between stop and start 2011-01-18 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Fix for previous commit, squash libtracker-miner: Bugfix when status is unset in tracker-miner-object.c tests: libtracker-miner: Disable a few tests that try to ELF override dbus-glib API Remove old FIXME comments 2011-01-18 Jürg Billeter <j@bitron.ch> miner-fs: Fix GDBusMessage leak in get_metadata_fast_async 2011-01-18 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fix GetMetadataFast handling libtracker-miner: Fix error handling in miner-manager.c tests: libtracker-common: Replace header with less specific one tests: libtracker-common: Fixed tracker-dbus-test.c miner-rss: Fix memoryleaks connection and signal-id miner-rss: Cleaning up and indent fixes of RSS miner miner-rss: GDBus port of tracker-miner-rss.c 2011-01-18 Martyn Russell <martyn@lanedo.com> build: Removed dbus-glib from pkg-config unless needed and fixed includes We now split the old dbus-glib work into libtracker-common/tracker-dbus-glib.h so old locations can include that specifically. It is not in the libtracker-common/tracker-common.h because that will eventually go. Headers now don't include libtracker-common/tracker-dbus.h in a lot of places they don't need to. tracker-control: Removed dbus-glib dependency. Removed unused dbus-binding-tool client generation. libtracker-miner, tracker-extract: Don't use old dbus-glib errors 2011-01-18 Philip Van Hoof <philip@codeminded.be> libtracker-common, miner-fs: Move uniquely called API to unique user miners-flickr: GDBus port of Flickr-miner's tracker-writeback.c tracker-extract: Remove handling of now impossible error miner-fs: Answer the earlier asked question libtracker-common: Clean up FD passing code, use GDBus' APIs for errors miner-fs: Cleaning up some code, adding comments tracker-extract: GDBus porting of GetMetadataFast in extract service miner-fs: Fix (ssh) argument passing of GetMetadataFast, FD passing libtracker-common, miner-fs: Fix error handling of FD passing support 2011-01-18 Martyn Russell <martyn@lanedo.com> libtracker-common: Fix tracker_dbus_send_and_splice_async() so GSimpleAsyncResult has a source_tag 2011-01-18 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Memleak fix 2011-01-18 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Fixed signature for GetMetadataFast call tracker-status: Switch from old DBus generated API calls to GDBus 2011-01-18 Philip Van Hoof <philip@codeminded.be> miner-fs: Indentation fixes in tracker-miner-files.c miner-fs: Clean up files that aren't needed anymore libtracker-common: Remove unused function libtracker-client: Reimplement / move around the old FD passing code Remove some functions that are going to be moved Porting GetMetadataFast clientside call to GDBus - WIP 2011-01-18 Martyn Russell <martyn@lanedo.com> tracker-extract: Move interface_vtable into function it is used in tracker-miner-fs: Move interface_vtable into function it is used in libtracker-miner: Move interface_vtable into function it is used in libtracker-miner: Move interface_vtable into function it is used in 2011-01-18 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fixup Makefile.am libtracker-miner: Fixup Makefile.am tracker-extract: Indentation fixes tracker-extract: GDBus porting tracker-extract and modules tracker-extract: GDBus porting tracker-albumart.c libtracker-miner: Cleanup of Makefile.am libtracker-miner: Remove unneeded files libtracker-miner: Remove unneeded headers from tracker-miner-web-dbus.h libtracker-miner: Remove unneeded function headers miners/fs: Remove unneeded files miners/fs: Remove unneeded old helper functions miners/fs: Fixes memory leaks in tracker-miner-files-index.c libtracker-miner: Fixes memory leaks in tracker-thumbnailer.c libtracker-miner: Fixes memory leaks in tracker-miner-object.c miners/fs: GDBus porting of tracker-miner-files-index.c, etc libtracker-miner: Indentation fixes libtracker-miner: Avoid memory allocation, fixes memoryleak miners/fs: GDBus porting of tracker-miner-files-index.c, skeleton libtracker-miner: Remove unused files libtracker-miner: Remove unused functions libtracker-miner: Impl. 'Associated' property of tracker-miner-web.c libtracker-miner: GDBus porting of tracker-miner-web.c libtracker-miner: Fix GetProgress's GDBus/GVariant return type libtracker-miner: it's possible that miners emit signals before constructed libtracker-miner: Emit on D-Bus using GDBus in tracker-miner-object.c libtracker-miner: Move the code in handle_method_call to functions libtracker-miner: Remove unused functions from tracker-dbus.c libtracker-miner: GDBus porting of tracker-miner-object.c (unfinished) libtracker-common: Add support for GDBus libtracker-miner: Temporary disable D-Bus code of tracker-miner-web.c libtracker-miner: GDBus porting of tracker-thumbnailer.c libtracker-miner: GDBus porting of tracker-miner-manager.c 2011-01-18 Jürg Billeter <j@bitron.ch> libtracker-common: Bind GLib logging functions without [Diagnostics] tracker-store: Port tracker-main to Vala tracker-store: Port to GDBus/Vala Require Vala 0.11.4 for GDBus sender support and bug fixes tracker-store: Drop CPU affinity handling The performance issue was no longer noticed since the miner has been ported to direct access. libtracker-data: Do not use callback for tracker_data_backup_restore It is a synchronous function, the callback does not serve any purpose. libtracker-data: Use GenericArray in Sparql.Query.execute_update libtracker-data: Add more bindings to the VAPI libtracker-common: Add more bindings to the VAPI libtracker-common: Do not mark assertion failures for translation tracker-writeback: Add missing glib/gi18n.h include libtracker-miner: Add missing glib/gi18n.h include libtracker-common: Do not include libdbus headers with NO_LIBDBUS 2011-01-17 Jürg Billeter <j@bitron.ch> libtracker-common: Fix use-after-free memory error in tracker-dbus If a single request was taking longer than 5 minutes, client data was freed but still used later on. libtracker-common: Remove unused field last_time in tracker-dbus 2011-01-17 Ivan Frade <ivan.frade@nokia.com> functional-tests: New test suite for problematic sparql 2011-01-17 Jürg Billeter <j@bitron.ch> libtracker-common: Use statfs instead of statvfs on Linux statfs is more efficient and we do not need the extra information returned by statvfs. Fixes NB#219309. 2011-01-17 Andika Triwidada <andika@gmail.com> Added Indonesian translation Added id to LINGUAS 2011-01-16 Martyn Russell <martyn@lanedo.com> tracker-needle: List folders in first/initial view Fixes GB#639556, Tracker does not find folders 2011-01-15 Martyn Russell <martyn@lanedo.com> tracker-needle: Add Ctrl+W to close window Fixes GB#639543, Ctrl+W should close the window tracker-needle: Use a meaningful window title "Desktop Search" Fixes GB#639552, Give needle window a name that means something 2011-01-14 Ivan Frade <ivan.frade@nokia.com> Ontology: draft the NCO documentation page Ontology: add county and district to postal address 2011-01-14 Aleksander Morgado <aleksander@lanedo.com> tracker-writeback: unlock file after 1s of update, not 3s libtracker-miner: log when an event is ignored because the file is locked tracker-writeback,xmp: Don't use XMP_CLOSE_SAFEUPDATE Fixes NB#216582 2011-01-13 Jürg Billeter <j@bitron.ch> Release 0.9.34 libtracker-data: Bump database version This ensures that ontology cache is available for direct access. Fixes NB#218560. libtracker-data: Fix assertion failure when ontology cache fails to load tracker-extract: Relicense to LGPL from GPL libtracker-data: Fix double unref on shutdown libtracker-sparql: Shutdown backends when finalizing connection This fixes a reinitialization issue when closing and reopening the connection. 2011-01-12 Jürg Billeter <j@bitron.ch> libtracker-data: Fix memory leak in gvdb writing libtracker-data: Update statistics when bypassing buffer for deletes libtracker-data: Clear error variable in domain index handling 2011-01-11 Aleksander Morgado <aleksander@lanedo.com> libtracker-data: When new class created, propagate previous property values to domain indexes, if any Fixes NB#211147 2011-01-11 Ivan Frade <ivan.frade@nokia.com> functional-tests: miner-fs tests: boot the store in code and not with dbus autoactivation DBus autoactivation ignores the environment variables, so the store would run with the default database and not the specific test DB locations. 2011-01-11 Mateus Zenaide <matzenh@gmail.com> Updated Brazilian Portuguese translation 2011-01-11 Philip Van Hoof <philip@codeminded.be> Indentation fix in Makefile.am tracker-extract: TIFF: SLO ontology porting tracker-extract: PNG: SLO ontology porting tracker-extract: PDF: SLO ontology porting tracker-extract: JPEG SLO ontology porting tracker-extract: GIF: SLO ontology porting SLO: Make SLO an ontology that is installed by default tracker-writeback: SLO ontology porting MLO: Fixed maxCardinality and deprecated annotations SLO: Fixed maxCardinality of some properties Fixes NB#218123 2011-01-11 Jürg Billeter <j@bitron.ch> tracker-store: Sort classes on startup instead of in Statistics.Get libtracker-data: Fix tracker_ontologies_get_classes 2011-01-10 Jürg Billeter <j@bitron.ch> tracker-store: Reinitialize signals after failed backup or restore Fixes NB#216329. libtracker-data: Update rdf:type table when deleting type statements Fixes NB#217575. 2011-01-10 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: If we cannot get a proper SPARQL connection, log error and abort Fixes NB#198003 2011-01-10 Jürg Billeter <j@bitron.ch> libtracker-data: Fix double free in ontology cache code Fixes NB#216350. 2011-01-07 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2011-01-07 Jürg Billeter <j@bitron.ch> tracker-store: Remove unused function initialize_directories 2011-01-07 Martyn Russell <martyn@lanedo.com> libtracker-miner: Use G_LOG_LEVEL_INFO for status and stats 2011-01-07 Jürg Billeter <j@bitron.ch> tracker-store: Remove unused ttl_backup_file field tracker-store: Remove unused reindex_on_shutdown support 2011-01-06 Jürg Billeter <j@bitron.ch> build: Target GLib 2.26 for Vala code generation 2011-01-05 Jürg Billeter <j@bitron.ch> libtracker-common: Improve tracker_dbus_request_* API This makes it simpler to use and does no longer require D-Bus GLib. 2011-01-03 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky Reviewed by Petr Kovar. 2011-01-01 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2010-12-31 Martyn Russell <martyn@lanedo.com> tracker-needle: Translate "Unknown" strings tracker-needle: Fixed query catch conditions to avoid build warnings tracker-needle: Use nco:publisher if nco:creator is not available for documents 2010-12-30 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation Updated Slovenian translation 2010-12-30 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2010-12-29 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky Reviewed by Petr Kovar. 2010-12-29 Jürg Billeter <j@bitron.ch> Release 0.9.33 SPARQL: Improve predicate variable support This allows use of object from predicate variable pattern as subject in other patterns. Fixes NB#212736. 2010-12-29 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2010-12-29 Martyn Russell <martyn@lanedo.com> tracker-search-bar: Don't use Bonobo Fixes GB#600081, Get rid of Bonobo This is an initial attempt and untested (don't have gnome-panel upgrade yet) 2010-12-29 Jürg Billeter <j@bitron.ch> libtracker-fts: Fix FTS offset support with direct access libtracker-data: Fix gvdb lookup for not existing ontology resources Fixes GB#638159. 2010-12-28 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-12-28 Aron Xu <aronxu@gnome.org> Update Simplified Chinese translation. 2010-12-28 Jürg Billeter <j@bitron.ch> libtracker-common: Remove unused D-Bus request hook functionality libtracker-common: Remove unused tracker_dbus_results_ptr_array_free libtracker-common: Remove unused functions tracker_dbus_queue_* libtracker-common: Remove unused function tracker_dbus_str_to_strv libtracker-common: Remove unused functions tracker_dbus_gvalue_slice_* libtracker-common: Remove unused function tracker_dbus_data_new tracker-needle: Define _XOPEN_SOURCE to fix build libtracker-data: Remove tracker_dbus_query_result_to_ptr_array The function was not used. 2010-12-27 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky 2010-12-27 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fix progress percentage duplicates in signal emissions Don't disable tracker-needle if it can be built Improves commit 71d0d73e953edcf6e61f79ed23a54f556376a524 2010-12-27 Jürg Billeter <j@bitron.ch> libtracker-data: Bypass update buffer for rdf:type deletes if possible This improves delete performance. libtracker-data: Do not set tracker:modified before resource is updated libtracker-data: Use cursor in get_property_values Multiple cursors for the same query are supported and delete_resource_description has been removed as well. libtracker-data: Remove unused function format_sql_value_as_string SPARQL: Accept semicolon as separator between update operations 2010-12-26 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2010-12-26 Gabor Kelemen <kelemeng@gnome.hu> Fix POTFILES.skip, add generated .c files to make intltool-update not complain Fix POTFILES.in, use .vala files instead of .c Updated Hungarian translation 2010-12-25 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-12-23 Philip Van Hoof <philip@codeminded.be> tracker-writeback: XMP: Take into account mlo:asPostalAddress Fixed NB#214163 2010-12-23 Jürg Billeter <j@bitron.ch> SPARQL: Support graph retrieval using property functions Property functions accept two extra optional arguments. The first optional argument specifies the delimiter between multiple property values. It is ignored for single-valued properties and it defaults to comma. If the second optional argument is present, the graph is returned in addition to the property value. The graph is separated from the property value by the delimiter specified in the argument. SPARQL: Small refactoring of property function support Prepares extended property function support. 2010-12-22 Aleksander Morgado <aleksander@lanedo.com> docs: Fix compilation of ontology-graph libtracker-miner: New logs and traces for the event queues libtracker-miner: Renamed symbols which enable traces 2010-12-22 Jürg Billeter <j@bitron.ch> libtracker-data: Fix memory leak in cursor_next_async Fixes NB#214478. SPARQL: Fix WITH support 2010-12-22 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: Set proper nfo:belongsToContainer on file move operations Fixes NB#214413 2010-12-22 Jürg Billeter <j@bitron.ch> Remove tracker:isAnnotation property This was used only for DROP GRAPH support which has been removed. SPARQL: Drop deprecated support for DROP GRAPH The behavior was not conforming to the specification, and all users have been ported. functional-tests: Do not use deprecated DROP GRAPH Merge branch 'ontology-cache' SPARQL: Add support for INSERT/DELETE DATA tracker-explorer: Port to GDBus tracker-explorer: Do not use deprecated signal connect syntax libtracker-sparql: Fix C warning in tracker-uri.c 2010-12-21 Jürg Billeter <j@bitron.ch> libtracker-data: Add ontology cache Import gvdb 2010-12-21 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: Skip IgnoreNextUpdate requests on CREATED events libtracker-common: print PID of process in dbus requests tracker-miner-fs,applications: not finding locale file is not critical 2010-12-20 Aleksander Morgado <aleksander@lanedo.com> tests,libtracker-miner: Fix expected results on directory move operations 2010-12-20 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2010-12-20 Mattias Põldaru <mahfiaz gmail com> [l10n] Updated Estonian translation 2010-12-20 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: New IRI cache traces 2010-12-20 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Fixed Makefile.am, oeps 2010-12-20 Jürg Billeter <j@bitron.ch> SPARQL: Implicitly convert fn:concat arguments to string Fixes NB#213419. 2010-12-20 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Sortorder in Makefile.am tracker-writeback: Use with_free_func instead of foreach for GPtrArray tracker-writeback: Merge the two queries into one tracker-writeback: Fix the process queue, I forgot this one tracker-writeback: Code style fixes tracker-writeback: Fixed error and zero-results handling tracker-writeback: Codestyle cleanups tracker-writeback: Fix a memoryleak on unwanted_results and cleanup tracker-writeback, libtracker-miner: Don't writeback non-strict mined values The idea here is that since the 'guarantee' branch by Mikael that the miner might 'guess' non-strict values heuristically. This isn't good when the writeback service is enabled, as that would mean that the writeback service could writeback heuristicly guessed values. To fix this we require that the GRAPH of a value that is to be written back isn't set to the miner-fs's GRAPH. 2010-12-18 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2010-12-17 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: don't use g_return_val_if_fail() in private methods libtracker-miner: set pool owner only if traces enabled libtracker-miner: When deleting resources, first mark unavailable and then fully remove them libtracker-miner: Improve traces in processing pool, report tasks in timeout libtracker-miner: make sure original monitors are removed during a move operation libtracker-miner: Ensure proper task queues when crawling If a directory is being crawled (as for example when renaming a directory from an ignored name to a non-ignored one), ensure that items found during crawling are processed only after any other task on the same paths has finished (as for example when we're deleting a whole directory and all its contents, which take a lot of time). To test this, prepare a directory with tons of files inside which is monitored by tracker (named 'not-hidden' for example), and then: 1. $> mv not-hidden .hidden 2. wait some seconds (previous action should still be processing in the store) 3. $> mv .hidden not-hidden 4. The addition of all items found during the crawling of 'not-hidden' should wait until the action in step 1 is finished in the store. Before this patch, for each directory found during crawling we were calling item_query_exists() and that was returning TRUE even if it was currently being processed to be removed. Also, before this patch, ensuring the mtime cache was done querying the store, which was returning items even if they were also currently being processed to be removed. libtracker-common: New tracker_file_cmp() which returns 0 if files are equal libtracker-miner: Improve traces in the processing pool, reason of flush added libtracker-monitor: On directory remove, first remove monitors, then notify event libtracker-miner: When a moved dir event detected, cancel all monitors in the dir libtracker-miner: Don't add monitors when renaming a directory to a hidden name 2010-12-17 Jürg Billeter <j@bitron.ch> tracker-extract-gstreamer: Fix undefined references 2010-12-17 Philip Van Hoof <philip@codeminded.be> functional-tests:ipc: Cleanup test for signal enhancement for batch_update tracker-store: Indentation fixes in tracker-store.c functional-tests: ipc: Add test for signal-enhancement for batch_update tracker-store, libtracker-data: Enhance signal behaviour for batch updates 2010-12-17 Martyn Russell <martyn@lanedo.com> Ontology: Change URI for URL in the documentation which was wrong 2010-12-17 Jürg Billeter <j@bitron.ch> SPARQL: Do not use nested subquery for EXISTS / NOT EXISTS SQLite cannot handle a subquery with a nested correlated subquery. Fixes NB#211928. 2010-12-16 Aleksander Morgado <aleksander@lanedo.com> tracker-extract,txt: Support text files encoded in UTF-16 if BOM available Fixes NB#212116 [NEWS] 2010-12-16 Martyn Russell <martyn@lanedo.com> build: Don't require tracker-needle to build by default Release 0.9.32 tracker-needle: Added generated .c files to PO/POTFILES.in 2010-12-15 Martyn Russell <martyn@lanedo.com> build: Disable functional tests by default Merge branch 'guarantee' libtracker-extract: Rename *from_filename* to *from_file* For the Guarantee API build: Add a note about support for guaranteed metadata libtracker-extract: Update API to allow one function call from extractors The idea here is that we don't do the NULL checks, etc everywhere, but instead we pass a value in and the uri so we can retrieve the data and guarantee a value *if* it wasn't in the value passed in in the first place. libtracker-extract: Added -guarantee module This is designed to use an existing value or guarantee a value from the file in some way (in most cases). For now this module just does the guessing, next will come the checking existing values 2010-12-15 Mikael Ottela <mikael.ottela@ixonos.com> tracker-extract: Add switch for guaranteed metadata values in extraction Guarantee values for certain crucial metadata properties in extraction. Currently nie:title and nie:contentCreated for images, music and videos. NMM: Signal changes in nmm:Call class Fixes NB#210217 2010-12-14 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky 2010-12-14 Philip Van Hoof <philip@codeminded.be> tracker-extract: gstreamer: use nfo:VectorImage for image/svg+xml Fixes NB#211926 2010-12-14 Martyn Russell <martyn@lanedo.com> tracker-search-tool: Removed and replaced by tracker-needle This commit removes tracker-search-tool and fixes some of the final things for tracker-needle which were moved over from tracker-search-tool such as: - desktop file - man page - po/POTFILES changes - any places which start t-s-t (like tracker-status-icon) tracker-needle: Show filename not parent dir for tooltips in category view tracker-needle: Show 'no-results' page if criteria is empty tracker-needle: Fix launching from icon view tracker-needle: Moved tracker-config to tracker-history Also moved history data to XDG user data dir from config dir tracker-needle: Added Ctrl+S and Ctrl+F to focus the search bar tracker-needle: Added emails to the stats tracker-needle: Fixed all warnings and build issues with Vala >= 0.11. tracker-needle: Use new automake 1.11 features for Vala build tracker-needle: Adapt to recent configure-for-binaries merge to master tracker-needle: Added email support tracker-needle: Fixed recent libtracker-sparql API changes tracker-needle: Added a tag list NOTE: For some reason searching for tags doesn't work, I would expect fts:match to work here?? Need to investigate that so searching normally finds these. Next task is to allow setting/unsetting tags by the new list tracker-needle: Added Config class to remember search history between instances tracker-needle: Fixed bug where seconds where not added if 0 for Music tracker-needle: Strip critieria before searching for it of any whitespaces tracker-needle: Add combobox and remember searches for local session tracker-needle: Fixed spinner, so it doesn't stop immediately after starting tracker-needle: Use cursor.next_async() to give Spinner some cpu time This currently causes a crash, this has been committed to allow testing against the issues which resides in libtracker-fts due to libtracker-fts expecting a single threaded use tracker-needle: Added a spinner to indicate when searching Using while(yield cursor.next()) {} seems to cause a crash here so currently operations are not totally async so the spinner isn't seen unless left running and shown tracker-needle: Added tracker-view.vala to handle different result set views tracker-needle: Don't show find-in buttons where unused tracker-needle: Fixed music query to include title/artist/albums tracker-needle: Fixed escape_string() call after changes in libtracker-sparql tracker-needle: Make result list text ellipsized to allow collapsing tracker-needle: Add some polish - Add padding around images in left column - Only display one image per category - Update icons in toolbar to be more sensible - Make category search the default - Calculate the row hint - still not perfect tracker-needle: Added odd/even hinting but by category not every row tracker-needle: Make use of column2 for size/duration/page count/etc tracker-needle: Added support for detailed view Applications: show details Music: shows artist/album Documents: show path (will show page count, etc later) Images: show width x height Videos: show duration tracker-needle: migrate to libtracker-sparql tracker-needle: Fixed build requirements in Makefile.am tracker-needle: Renamed time format function tracker-needle: Moved theme pixbuf fetching to utils tracker-needle: Removed hack to fix config.h include for GETTEXT tracker-needle: Moved time format to utils module tracker-needle: Added another view for detailed searching tracker-needle: Don't make subtext italic and fix warnings when text is null tracker-needle: Added cellrenderer for non-file based items tracker-needle: Fixed whitespace issues tracker-needle: Use smaller pixbuf size for icons and set tooltip column to belongsToContainer tracker-needle: use tracker:available in search tracker-needle: Support opening applications tracker-needle: Added statistics dialog tracker-needle: Removed back/forward buttons and re-run query if find-in toggled tracker-needle: rename tracker_needle binary to tracker-needle tracker-needle: Fixed build errors tracker-needle: Fixed a bunch of whitespace issues tracker-needle: Added config.vapi tracker-needle: Fixed UI file name tracker-needle: Moved ui and vala files to prefix tracker- tracker-needle: Moved needle to tracker-needle tracker-needle: Support searching by title as well as content tracker-needle: Fixed icon sizes tracker-needle: Added icon support for results and fixed timestamps tracker-needle: Updated treeview icon size and details to include size/modified time tracker-needle: Initial Needle app 2010-12-13 Jürg Billeter <j@bitron.ch> libtracker-sparql: Wait for tracker-store before loading plugins 2010-12-13 Philip Van Hoof <philip@codeminded.be> Fix GStreamer extractor, genre can be NULL too Fix GuPNP-DLNA extractor, genre can be NULL too 2010-12-13 Jürg Billeter <j@bitron.ch> libtracker-data: Sort function test results to avoid test failures Update .gitignore libtracker-data: Fix concurrent async query operations Fixes NB#198155. 2010-12-10 Martyn Russell <martyn@lanedo.com> Release 0.9.31 tracker-extract: Fixed GUPNP-DLNA nfo:channels insertion Was causing errors like: Failed, 18.6: syntax error, expected `:' build: Require dia when building documentation Fixes GB#636936 2010-12-09 Philip Van Hoof <philip@codeminded.be> utils: Fix distcheck problem tracker-extract: vorbis: Group the INSERTs for MusicAlbumDisc together tracker-extract: mp3: Group the INSERTs for MusicAlbumDisc together tracker-extract: GuPNP-DLNA: Group the INSERTs for MusicAlbumDisc together tracker-extract: gstreamer: Group the INSERTs for MusicAlbumDisc together tracker-extract: flac: Group the INSERTs for MusicAlbumDisc together NMM: Added comment and changed subClassOf MusicAlbumDisc 2010-12-09 Aleksander Morgado <aleksander@lanedo.com> tracker-extract: New windows icon extractor (image/vnd.microsoft.icon) Fixes NB#207918 [NEWS] 2010-12-09 Philip Van Hoof <philip@codeminded.be> tracker-extract: gupnp-dlna: Remove unneeded check tracker-extract: vorbis: Ensure that a Disc1 MusicAlbumDisc exists tracker-extract: mp3: Ensure that a Disc1 MusicAlbumDisc exists tracker-extract: gupnp-dlna: Ensure that a Disc1 MusicAlbumDisc exists tracker-extract: gstreamer: Ensure that a Disc1 MusicAlbumDisc exists tracker-extract: flac: Ensure that a Disc1 MusicAlbumDisc exists tracker-extract: Name problems, it's disc not disk NMM: Fix critical warning about unknown nmm:MusicAlbum class utils: Ensure that the amount of musicpieces generated stays the same tracker-extract: Make multi-disc albums work in GuPNG-DLNA extractor tracker-extract: Code style changes to GuPNP-DLNA extractor tracker-extract: Make multi-disc albums work in vorbis extractor tracker-extract: Make multi-disc albums work in FLAC extractor NMM: Change comment of nmm:setNumber tracker-extract: Make multi-disc albums work in MP3 extractor tracker-extract: Make multi-disc albums work in GStreamer extractor tracker-extract: Stop using s as temporary variable name for everything tests: Adapt generator to generate nmm:MusicAlbumDisc This adaptation might influence other timings and numbers. NMM: Rename disk to disc Check http://en.wikipedia.org/wiki/Spelling_of_disc for more info on this decision NMM: Ontology changes for multi-disc albums 2010-12-08 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Cleaned up documentation Document tracker_sparql_get_uuid_urn() libtracker-miner: Cleaned up documentation Cleaned up several warnings during the build and missing documentation too tracker-extract: Use gint not guint for counting success/failure extractions 2010-12-08 Javier Jardón <jjardon@gnome.org> Remove deprecated GTK+ symbols Fixes GB#624041 So we can compile against GTK+3. No GTK+ bump required 2010-12-07 Deji Akingunola <dakingun@gmail.com> build: Fix linking errors in tests/ and utils/ Fixes GB#636604 2010-12-06 Ivan Frade <ivan.frade@nokia.com> data-generators: do not include .pyc in the tarball Documentation: updated structural diagrams of tracker and Content FW 2010-12-06 Philip Van Hoof <philip@codeminded.be> libtracker-direct: Fix compilation warning in vala code 2010-12-06 Martyn Russell <martyn@lanedo.com> libtracker-data: Include libtracker-data.vapi in tarball Fixes GB#635756 2010-12-06 James Hunt <james.hunt@ubuntu.com> tracker-status-icon: Avoid hard-coded keybinding. Fixes GB#636383 This affect emacs since by default 'isearch-forward-regexp' is bound in emacs to control+alt+S by default. However, tracker grabs the binding before emacs meaning emacs users have to call this function using 'M-x' or changing their bindings. Change courtesy of Andrei Dziahel. See: https://bugs.launchpad.net/ubuntu/+source/tracker/+bug/672614 2010-12-06 Martyn Russell <martyn@lanedo.com> build: Removed INSTALL file, it is generated automatically 2010-12-06 Javier Jardón <jjardon@gnome.org> build: Use autoreconf instead gnome-common.sh Fixes https://bugzilla.gnome.org/show_bug.cgi?id=636527 build: Use upstream gettext instead the Glib one Fixes https://bugzilla.gnome.org/show_bug.cgi?id=636520 2010-12-06 Martyn Russell <martyn@lanedo.com> build: Binaries built now use *stable* named versions only i.e. libtracker-sparql-0.10 for 0.9.x versions To simplify the migration when releasing the stable set 2010-12-06 Philip Van Hoof <philip@codeminded.be> libtracker-sparql, libtracker-bus: Fix compilation warning in vala code 2010-12-06 Martyn Russell <martyn@lanedo.com> functional-tests: Require Python >= 2.6 with --enable-functional-test 2010-12-06 Adrien Bustany <abustany@gnome.org> functional-tests: Don't hardcode python version in shebang VAPI files: add missing constructors to various classes Recent git versions of vala will emit an error if there is no public constructor declared. 2010-12-03 Javier Jardón <jjardon@gnome.org> configure: Update autotools configuration Update deprecated macros and use the new libtool syntax New requirements: autoconf >= 2.64 libtool >= 2.2 2010-12-02 Martyn Russell <martyn@lanedo.com> Release 0.9.30 2010-12-02 Mikael Ottela <mikael.ottela@ixonos.com> Update the modification date for the nfo ontology. 2010-12-02 Aleksander Morgado <aleksander@lanedo.com> tests: fix distcheck 2010-12-01 Mikael Ottela <mikael.ottela@ixonos.com> Add domainIndex on nie:contentCreated to nfo:Visual 2010-12-01 Mateus Zenaide <mateus.gnome@gmail.com> Updated Brazilian Portuguese translation 2010-12-01 Mikael Ottela <mikael.ottela@ixonos.com> Diversify the content creation times in data generators. Handle nfo:Equipment correctly in the data generators Small fixes to the music data generator scripts. 2010-12-01 Martyn Russell <martyn@lanedo.com> libtracker-data: Disable fn:starts-with test for !libicu cases This is in place until we have a fix for bug: https://bugzilla.gnome.org/show_bug.cgi?id=636074 2010-12-01 Aleksander Morgado <aleksander@lanedo.com> tracker-extract, albumart: Don't assume that g_file_get_parent() returns non-NULL 2010-12-01 Martyn Russell <martyn@lanedo.com> docs/tools: Fixed linking error for tracker_locale_*(), missing libtracker-common 2010-12-01 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-fs: Use tracker_file_is_hidden() libtracker-common: New tracker_file_is_hidden() file utility 2010-11-30 Aleksander Morgado <aleksander@lanedo.com> libtracker-common, locale: Fix compilation without --enable-maemo libtracker-data: Remove unneeded 'started' variable in the cursor libtracker-common, libtracker-data: Minor fixes libtracker-common, miner-applications: Improve check for empty string libtracker-common, libtracker-data: Remove tracker prefix from static functions docs: Document the TRACKER_DISABLE_MEEGOTOUCH_LOCALE environment variable libtracker-common, locale: Add TRACKER prefix to the new environment variable libtracker-data: Make the n_active_cursors threadsafe libtracker-data: Make sure there's no cursor alive when we do the collator reset libtracker-data: Use thread-safe operations to manage the flag requesting collator reset * Threads setting and reading the flag are different tracker-miner-applications: Re-extract desktop files when locale change detected tracker-status: Change tracker-store reporting to avoid the Journal Replay message always tracker-store, libtracker-data: Improve status reporting tracker-store: Moved locale change subscription stuff to separate files tracker-store: Shutdown events while reloading data manager tracker-store: Pass busy callback to data_manager_reload() tracker-store: Perform locale change processing in an idle to avoid deadlock libtracker-data: Reset collator in connection when locale change detected tracker-store: Recreate indexes when locale change detected libtracker-data: Enable locale retrieval with tracker_locale_get() libtracker-common: Locale retrieval from gconf implemented Fixes NB#208420: Critical in miner-fs when msyncd and Ovi Suite in operation Fixes GB#635794: Add missing vapi files to dist 2010-11-29 Jürg Billeter <j@bitron.ch> SPARQL: Use WITH/INTO/FROM clause in WHERE pattern of updates libtracker-bus: Reduce D-Bus proxy initialization time We do not use properties or signals with these proxies. This change avoids unnecessary D-Bus calls at initialization time to load properties and connect to signals. libtracker-sparql: Reduce D-Bus proxy initialization time We do not use properties or signals with these proxies. This change avoids unnecessary D-Bus calls at initialization time to load properties and connect to signals. 2010-11-29 Martyn Russell <martyn@lanedo.com> functional-tests: Link against libtracker-data for IPC tests Was failing to build. require: Vala 0.11.2 (was 0.11.1) Fixes libtracker-direct missing args for void GLib.g_io_scheduler_push_job() 2010-11-29 Philip Van Hoof <philip@codeminded.be> docs: Document the TRACKER_PRAGMAS_FILE environment variable 2010-11-28 Martyn Russell <martyn@lanedo.com> Fixes GB#635757, missing test file in tarball 2010-11-26 Jürg Billeter <j@bitron.ch> libtracker-direct: Make singleton connection thread-safe Fixes NB#203538. 2010-11-25 Bruno Brouard <annoa.b@gmail.com> Updated French translation 2010-11-25 Philip Van Hoof <philip@codeminded.be> libtracker-data: Fixed compilation warning SLO: Add tracker:notify to some classes Fixes NB#204706 2010-11-24 Jürg Billeter <j@bitron.ch> Release 0.9.29 tracker-store: Fix crash on client exit and task without destroy notify 2010-11-24 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#197067: tracker-miner-fs crawls open files 2010-11-24 Philip Van Hoof <philip@codeminded.be> tracker-extract, libtracker-extract: Free addruri everywhere libtracker-sparql: Use uuid_unparse_lower instead of Checksum for formatting tracker-extract: tiff: Fixed nested use of anonymous blank nodes Fixes NB#202291 tracker-extract: png: Fixed nested use of anonymous blank nodes Fixes NB#202291 tracker-extract: pdf: Fixed nested use of anonymous blank nodes Fixes NB#202291 tracker-extract: gif: Fixed nested use of anonymous blank nodes Fixes NB#202291 libtracker-extract: xmp: Fixed nested use of anonymous blank nodes Fixes NB#202291 tracker-extract: jpeg: Fixed nested use of anonymous blank nodes Fixes NB#202291 libtracker-sparql: Added a function to generate a uuid urn to the client library Fixes NB#202291 2010-11-24 Aleksander Morgado <aleksander@lanedo.com> tracker-extract, msoffice: Set proper octal range Fixes GB#634424: MsOffice metadata extractor is not unicode aware tracker-extract, msoffice-xml: Fix invalid reads tracker-extract, msoffice-xml: If max bytes reached don't even start parser tracker-extract, msoffice-xml: Refactor everything to make it more clear to understand tracker-extract, msoffice-xml: Move querying content type to a new method tracker-extract: Split msoffice and msoffice-xml extractors tracker-extract, msoffice: Small alignment fix tracker-extract, msoffice: Improve handling of max_bytes=0 2010-11-24 Vidhyapria Arunkumar <vidhyapria.arunkumar@nokia.com> Fixes GB#630244: Use MaxBytes from tracker-extract.cfg for plainText content optimization in msoffice 2007 files 2010-11-24 Jürg Billeter <j@bitron.ch> SPARQL: Fix SELECT * with WHERE without variables SPARQL: Fix INSERT/DELETE with WHERE pattern without variables SPARQL: Do not ignore GRAPH around rdf:type statements Fixes NB#206752. 2010-11-24 Roberto Guido <bob4mail@gmail.com> Fixes GB#635652: Correction in the --enable-tracker-search-tool configuration flag management 2010-11-23 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2010-11-23 Aleksander Morgado <aleksander@lanedo.com> tracker-extract, mp3: Remove memory leak Fixes NB#203540: Composer label not extracted in ID3v2.3 mp3 files 2010-11-22 Aleksander Morgado <aleksander@lanedo.com> libtracker-data: Improve error reporting when trying to set WAL journal mode fails 2010-11-22 Jürg Billeter <j@bitron.ch> Add index on tracker:added 2010-11-21 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky 2010-11-20 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-11-19 Daniel Mustieles <daniel.mustieles@gmail.com> Updated Spanish translation 2010-11-19 Philip Van Hoof <philip@codeminded.be> libtracker-data: Make it more easy to test the PRAGMAs for SQLite 2010-11-17 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#203593: All libtracker-miner section names in CamelCase in documentation tracker-miner-applications: separator of multi-string is also in UTF-8 2010-11-17 Jürg Billeter <j@bitron.ch> data-generators: Use affiliation for person contacts NCO: Add index on nco:nameFamily SPARQL: Use proper collation for fn:starts-with SPARQL: Use proper collation for string literals 2010-11-17 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-applications: Remove unneeded extra nie:dataSource set tracker-search: New --software and --software-categories options tracker-miner-applications: when defaulting to application, include nie:dataSource 2010-11-16 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-applications: In meego translator, don't return ASCII, return UTF-8 tracker-miner-applications: improve logging when invalid desktop files found 2010-11-15 Jürg Billeter <j@bitron.ch> libtracker-sparql, libtracker-client: Fix URI escaping Path segments allow use of certain reserved characters without escaping. Fixes NB#195787. 2010-11-14 Gabor Kelemen <kelemeng@gnome.hu> Updated Hungarian translation 2010-11-13 Adrien Bustany <adrien.bustany@nokia.com> FS miner: Use low priority for update_async calls libtracker-bus: Fix the handling of priority in update_async libtracker-bus would previously interpret values higher than 0 as high priority, whereas GLib uses them for low priority. 2010-11-12 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-11-12 Jürg Billeter <j@bitron.ch> SPARQL: Support \u escape sequence in string literals 2010-11-12 Martyn Russell <martyn@lanedo.com> Fixes GB#634669, missing test file in tarball 2010-11-11 Djavan Fagundes <djavan@comum.org> Updated Brazilian Portuguese translation Updated Brazilian Portuguese translation 2010-11-11 Martyn Russell <martyn@lanedo.com> Release 0.9.28 Revert "Merge branch 'neo'" This reverts commit 21150e03c847d4542c1968adca472bd29ebf192d, reversing changes made to e3d9d1795cb7b0236cb48348f36e43ea4b4db3da. Revert "Updated NEWS" This reverts commit 21f7b9797418f9fc6056cd6d97d8c84f9cc368a5. libtracker-sparql: Use g_assert_no_error() instead in tests tracker-sql: Added to POTFILES.in 2010-11-11 Ivan Frade <ivan.frade@nokia.com> functional-test: Add backslash so make functional-test works 2010-11-11 Philip Van Hoof <philip@codeminded.be> libtracker-data: Indentation fix 2010-11-11 Martyn Russell <martyn@lanedo.com> Updated NEWS Merge branch 'neo' Updated NEWS utils: tracker-sql: Fixed --query command line option not working Also cleaned up Makefile.am and made errors/messages translatable 2010-11-11 Philip Van Hoof <philip@codeminded.be> functional-tests: Remove expected failures now that it all works libtracker-data: Reset the nrl:maxCardinality for properties for post check libtracker-data: Fixed resetting nrl:maxCardinality for post-db detection libtracker-data: Detect removal of a rdfs:subClassOf in ontology and cope Fixes NB#203632 NMM: Put a domainIndex on MusicAlbum libtracker-data: Detect removal of nrl:maxCardinality in ontology and cope Fixes NB#202275 2010-11-10 Philip Van Hoof <philip@codeminded.be> NMM: Avoid breaking the ontology now that we reverted the coping of it Revert "libtracker-data: Detect removal of nrl:maxCardinality in ontology and cope" This reverts commit 00199c35d704a39981c6c3f7345acdcf071427bc. Revert "libtracker-data: Detect removal of a rdfs:subClassOf in ontology and cope" This reverts commit 1b0fc655257efd05e1d6714ce70243b11d84164a. 2010-11-10 Jürg Billeter <j@bitron.ch> libtracker-data: Combine INSERT and UPDATE into single INSERT Remove unneeded --header and --vapi VALAFLAGS Remove generated files 2010-11-10 Rob Taylor <rob.taylor@codethink.co.uk> Ontology: Neo: Remove neo:heuristic-activity heuristic-activity is too ill defined at this stage. Needs more consideration, so removing for now. Ontology: Neo: Removed neo:Relation This too generic and ill defined at this point. Even if it proves useful in the future, it should be in a seperate ontology. Ontology: Neo: Rename zg to NEO After discussions, it was decided that we will need a generic event onology, so rename Zg (zeitgeist) to NEO - New (Nepopuk to be) Event Onotlogy. Ontology: Neo: Update lastModified Ontology: Neo: Fixed syntax issues and typos Ontology: Neo: Removed eventId from Event and some other small changes Remove eventId from Event. Change Manifestations and Interpretations to RDF-style enum. Ontology: Neo: Added zg:Relation class Ontology: Neo: Add tracker:notify to zg:Event Ontology: Neo: hasEventInterpretation now sub-property of nie:interpretedAs hasEventInterpretation should not be a sub property of nie:interpretedAs as an event is not a nie:DataObject. Subjects of events should be InformationElements rather than any old resource. Ontology: Neo: Add zeitgeist's ontology I've transformed Zeitgeits's zg ontology form trig to turtle and fixed it up so it works with tracker. 2010-11-10 Martyn Russell <martyn@lanedo.com> Merge branch 'music-album-domain-index' Merge branch 'gdbus' functional-tests: Fixed build for ipc/ tests Now we need to link with D-Bus where we actually use those APIs still for testing purposes. 2010-11-10 Philip Van Hoof <philip@codeminded.be> plugins/evolution: Port the remainder of the Evolution plugin to gdbus plugins/evolution: Remove unneeded g_utf8_validate This was already validated everywhere plugins/evolution: Various fixes to status reporting, etc plugins/evolution: Added comment in code about synchronization plugins/evolution: Various cleaning up of the code plugins/evolution: Fix memory leak of uids list plugins/evolution: Put the commit at the right position plugins/evolution: nco:hasEmailAddress must be the resource here plugins/evolution: Fixed a sparql insert error plugins/evolution: Fix status reporting This does status reporting per folder. If we'd wanted to do it over the entire set of folders, that'd be much harder to get right. plugins/evolution: Fetch in chunks, improves responsiveness of Evolution shell plugins/evolution: Indentation fixes plugins/evolution: Don't use async-update, it's in a thread already This avoids hammering and exhausting tracker-store's FDs plugins/evolution: Fix E-mail urn for Evolution E-mails plugins/evolution: Add ?uid=x to the nie:url of Evolution E-mails plugins/evolution: Disable direct-access for Evolution plugin plugins/evolution: Fix the nie:url of Evolution E-mails plugins/evolution: The queue & thread isn't needed anymore with gdbus plugins/evolution: Reflow ifdef/elseif blocks plugins/evolution: Cleanup nie:DataSource and rdf:type usage libtracker-sparql: Disable MIME check, improves startup performance 2010-11-10 Jürg Billeter <j@bitron.ch> libtracker-bus: Disable D-Bus timeout for queries and updates functional-test: Simplify error handling in query tests functional-tests: Simplify error handling in class signal tests functional-tests: Do not use dbus-glib where not necessary Update .gitignore 2010-11-10 Philip Van Hoof <philip@codeminded.be> libtracker-data: Added some comments clarifying the code libtracker-data: Detect removal of a rdfs:subClassOf in ontology and cope libtracker-data: Detect removal of nrl:maxCardinality in ontology and cope Fixes NB#202275 2010-11-10 Jürg Billeter <j@bitron.ch> functional-tests: Simplify error handling in update tests libtracker-sparql: Do not hide DBusError libtracker-sparql: Fix return type of ModuleInitFunc libtracker-bus: Fix error handling libtracker-sparql: Fix error handling SPARQL: Drop support for Vala < 0.11 tracker-search-tool: Use Gtk.Stock namespace tracker-preferences: Use Gtk.Stock namespace libtracker-sparql: Use GLib.ContentType namespace tracker-explorer: Do not use deprecated Vala string API tracker-search-tool: Do not use deprecated Vala string API libtracker-data: Do not use deprecated Vala string API libtracker-bus: Update to VAPI changes libtracker-sparql: Port from libdbus/dbus-glib to GDBus Fixes NB#199968. Require GLib 2.26 and Vala 0.11.1 for GDBus tracker-store: Use D-Bus error name that can be mapped to SparqlError functional-tests: Do not use nested mainloop in libtracker-sparql tests 2010-11-10 Martyn Russell <martyn@lanedo.com> Merge branch 'vala-makefiles' build: Use BUILD_VALAFLAGS for "-g" and define in configure This is to make it easy to disable everywhere. build: Fixed distcheck issues build: Use BUILT_SOURCES for stamp files to avoid build errors tracker-miner-flickr: Use Automake 1.11 Vala features libtracker-client: Use Automake 1.11 Vala features libtracker-data: Use Automake 1.11 Vala features libtracker-direct: Use Automake 1.11 Vala features tracker-preferences: Use Automake 1.11 Vala features libtracker-bus: Use Automake 1.11 Vala features libtracker-sparql: Use Automake 1.11 Vala features functional-tests: Use Automake 1.11 Vala features for ipc/ libtracker-miner: Use Automake 1.11 Vala features for tests/ tracker-explorer: Use Automake 1.11 Vala features 2010-11-09 Ivan Frade <ivan.frade@nokia.com> Ontologies: promote mfo:image to FeedElement Channels and messages can have a related image (icon). Moving the image property to the FeedElement superclass from FeedChannel. functional-tests: Test property promotion/relegation functional-tests: add properties in basic ontology to test new changes functional-tests: Test changing the superclass of a class functional-tests: Remove duplicated tests and update expected failure message libtracker-miner: gtkdoc to a couple of functions functional-tests: Removed commented code (old tests not valid anymore) 2010-11-09 Philip Van Hoof <philip@codeminded.be> tracker-store: Queue queries while backup is taking place Fixes NB#202627 libtracker-data: Fix for tracker:domainIndex ontology changing When you set the tracker:domainIndex to a specific property twice, for example two classes get nie:title, then the ontology change coping was failing because the registration that the change has to happen was done on nie:title. Making each occurrence of a domain- index on nie:title be detected as changed. This commit fixes that. 2010-11-08 Ivan Frade <ivan.frade@nokia.com> functional-tests: Conditional compilation of the extraction tests Distribute extraction tests only when the required libraries are present 2010-11-08 Martyn Russell <martyn@lanedo.com> Ontology: Updated indicies file explaining changes in this branch 2010-11-08 Ivan Frade <ivan.frade@nokia.com> functional-tests: Include test.xml generator in the dist The generator is needed to run tests in tarball-based distributions like Meego. 2010-11-08 Mikael Ottela <mikael.ottela@ixonos.com> Remove unnecessary gio include from albumart-qt Added tracker-sql util to run sql directly for testing 2010-11-06 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2010-11-04 Aleksander Morgado <aleksander@lanedo.com> tracker-store: Fix valid callback check 2010-11-04 Philip Van Hoof <philip@codeminded.be> tracker-store: set_active should happen after reenabling the signals tracker-store: Shutdown the events and reinit them during restore tracker-store: Fix invalid memory usage on the DBusGMethod tracker-store: Bugfix, the contact is freed at return, can't use it after that tracker-store: Backup's and restore's callbacks are now different tracker-store: Run the that must happen at the end of backup, really at the end tracker-store: Fix memory usage of set_active in backup/restore tracker-store: Disable class signals while restoring a backup Fixes NB#202581 tracker-store: Always call set_active's callback in mainloop 2010-11-03 Philip Van Hoof <philip@codeminded.be> tracker-store: Fix indentation tracker-store: Fix previous two commits tracker-store: Also call the set_active callback when no task was active tracker-store: Make set_active wait for the currently running query Fixes NB#201122 2010-11-03 Martyn Russell <martyn@lanedo.com> tracker-extract: Migrate to nie:title from nmm:albumTitle ontology: Add tracker:indexed true for nmm:artistName ontology: Deprecate nmm:albumTitle for nie:title ontology: Add tracker:domainIndex for nie:title on nmm:MusicAlbum 2010-11-03 Philip Van Hoof <philip@codeminded.be> libtracker-data: Fix a critical on ontology change tracker:domainIndex 2010-11-03 Ivan Frade <ivan.frade@nokia.com> functional-tests: property range date->string test fixed and enabled functional-tests: Some tests are not expected failures with the new journal 2010-11-02 Ivan Frade <ivan.frade@nokia.com> Include GB#633118 file in the automated extraction tests 2010-10-31 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky 2010-10-31 A S Alam <aalam@users.sf.net> Add Punjabi Translation: started 2010-10-30 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-10-30 Carles Ferrando <carles.ferrando@gmail.com> Added Catalan (Valencian) translation 2010-10-29 Martyn Russell <martyn@lanedo.com> build: Show Meegotouch support for the app miner inline This has been changed a few times due to people thinking it was an indentation error but actually the Meegotouch support is required to extract desktop file information on the MeeGo platform 2010-10-29 Jürg Billeter <j@bitron.ch> Update .gitignore 2010-10-29 Martyn Russell <martyn@lanedo.com> Revert "Properly indent MeeGo configure result" This reverts commit bf1c1a8c8c4f4ccfc0b2de9017c73b62d780b796. 2010-10-29 Deji Akingunola <dakingun@gmail.com> tracker-preferences: Fixed check which used "text" not "test" 2010-10-29 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-10-28 Michael Biebl <biebl@debian.org> Properly indent MeeGo configure result 2010-10-28 Bruno Brouard <annoa.b@gmail.com> Updated French translation 2010-10-28 Martyn Russell <martyn@lanedo.com> Release 0.9.27 Updated NEWS tracker-sparql: Added --list-indexes to show database indexes This is commonly used by developers 2010-10-27 Jürg Billeter <j@bitron.ch> build: Fix --disable-tracker-miner-flickr 2010-10-27 Aleksander Morgado <aleksander@lanedo.com> flickr miner: Don't clear vala stamp in CLEANFILES libtracker-client: Don't clear vala stamp in CLEANFILES 2010-10-27 Martyn Russell <martyn@lanedo.com> build: Fixed make distcheck issues with configure args mismatching vars fixup: whitespace error in makefile.am for \ fixes build: Replaced all trailing tabs before \ for spaces in Makefile.ams Also standardise the width to 55 characters (unless line is longer) build: Rearranged configure to group things better tracker-miner-fs: Merge MEEGOTOUCH into CFLAGS/LIBS build: Don't look for 'tar' command, it is a run-time requirement build: Remove separate checks for GLIB, GIO, DBUS, etc libtracker-{data|fts}: Merge UNICODE_SUPPORT into CFLAGS/LIBS libtracker-miner: Merge NM/KEYRING into CFLAGS/LIBS libtracker-extract: Merge IPTC/EXIF/EXEMPI into CFLAGS/LIBS tracker-extract: Merge QT/GdkPixbuf/LSA into CFLAGS/LIBS libtracker-common: Add HAL/UPOWER to CFLAGS/LIBS in configure libtracker-direct: Cleaned up whitespace and ordering class-signal: Cleaned up order of example Makefile.am libtracker-miner: Cleaned up order of example Makefile.am build: Use AM_CPPFLAGS now INCLUDES is deprecated tracker-writeback: Cleaned up CFLAGS/LIBS tracker-extract: Cleaned up CFLAGS/LIBS for each module Don't use CFLAGS for ALL modules in every compilation tests/common: Cleaned up CFLAGS/LIBS utils/playlists: Cleaned up CFLAGS/LIBS for playlist2ttl libtracker-data: Cleaned up CFLAGS/LIBS for tests libtracker-sparql: Cleaned up CFLAGS/LIBS for tests libtracker-fts: Cleaned up CFLAGS/LIBS for tests functional-tests: Cleaned up IPC CFLAGS/LIBS libtracker-client: Cleaned up CFLAGS/LIBS for tests libtracker-common: Cleaned up CFLAGS/LIBS for tests libtracker-miner: Cleaned up CFLAGS/LIBS for tests utils/services: Cleaned up CFLAGS/LIBS tracker-extract: Remove tests/tracker-extract from configure.ac tracker-miner-fs: Removed all tests, they were empty and did nothing tracker-steroids: Cleaned up CFLAGS/LIBS for tests libtracker-extract: Cleaned up CFLAGS/LIBS for tests docs: Cleaned up CFLAGS/LIBS for libtracker-{client|miner|sparql} docs/tools: Cleaned up ontology-graph and ttl2sgml CFLAGS/LIBS utils/playlists: Instead of using #if in Makefile, do it for parent's SUBDIRS utils/mtp: Cleaned up CFLAGS/LIBS class-signals: Fixed example CFLAGS/LIBS and removed unnecessary #defines in test libtracker-miner: Fixed example LIBS libtracker-extract: Fixed example LIBS functional-tests: Moved all IPC tests to ipc/ Also renamed to prefix with test- instead of suffix like other tests tracker-extract: Removed all tests, have been unused for some time libtracker-data: Removed db-manager attach, unattach and custom tests These have been unused for some time now libtracker-miner: Small indentation fix in libtracker-miner tests Makefile.am tracker-store: Removed directory in tests/, not in use for some time tracker-search-bar: Use BUILD_CFLAGS not WARN_CFLAGS, etc tests/common: Cleaned up CFLAGS/LIBS tests/functional-tests: Cleaned up CFLAGS/LIBS utils/playlists: Cleaned up CFLAGS/LIBS examples: Cleaned up CFLAGS/LIBS libstemmer: Cleaned up CFLAGS/LIBS libtracker-client: Added -Wno-deprecated-declarations to CFLAGS tracker-miner-evolution: Cleaned up CFLAGS/LIBS tracker-nautilus-extension: Cleaned up CFLAGS/LIBS build: Don't include specific directories, just src/ This required fixing the Vala generated files using --includedir and also some tests/utils. NOTE: At this point make distcheck passes with these changes build: Remove WARN_CFLAGS and GCOV_{CFLAGS|LIBS}, use BUILD_{CFLAGS|LIBS} instead tracker-miner-flickr: Cleaned up CFLAGS/LIBS tracker-miner-rss: Cleaned up CFLAGS/LIBS tracker-miner-fs: Cleaned up CFLAGS/LIBS tracker-extract: Cleaned up CFLAGS/LIBS tracker-search-bar: Cleaned up CFLAGS/LIBS tracker-status-icon: Cleaned up CFLAGS/LIBS tracker-preferences: Cleaned up CFLAGS/LIBS tracker-search-tool: Cleaned up CFLAGS/LIBS tracker-writeback: Cleaned up CFLAGS/LIBS tracker-utils: Cleaned up CFLAGS/LIBS tracker-store: Cleaned up CFLAGS/LIBS tracker-control: Cleaned up CFLAGS/LIBS tracker-explorer: Cleaned up CFLAGS/LIBS libtracker-client: Cleaned up CFLAGS/LIBS libtracker-sparql: Cleaned up CFLAGS/LIBS libtracker-miner: Cleaned up CFLAGS/LIBS libtracker-fts: Cleaned up CFLAGS/LIBS libtracker-extract: Clean up CFLAGS/LIBS libtracker-direct: Cleaned up CFLAGS/LIBS libtracker-data: Clean up CFLAGS/LIBS libtracker-common: Clean up CFLAGS/LIBS libtracker-bus: Clean up CFLAGS/LIBS 2010-10-26 Jürg Billeter <j@bitron.ch> tracker-store: Use per-query watchdog This prevents unnecessary wakeups. libtracker-common: Use per-client timeouts in tracker-dbus This prevents unnecessary wakeups. 2010-10-26 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#200310: BMP files should also be registered as nmm:Photo 2010-10-26 Philip Van Hoof <philip@codeminded.be> libtracker-extract: Fixed naive unit test check 2010-10-26 Jürg Billeter <j@bitron.ch> libtracker-data: Fix uninitialized variable 2010-10-25 Mario Blättermann <mariobl@gnome.org> [l10n] Updated German translation 2010-10-25 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#633118: Read comments embedded in GIF files tracker-extract, gif: Plug small memleak 2010-10-25 Philip Van Hoof <philip@codeminded.be> SLO: Indentation fixes MFO, MTP, MAEMO: Indentation fixes NMM, MTO, MLO: Indentation fixes NCAL, SCAL: Tabs vs. spaces and other indentation fixes NFO, NMO: Indentation fixes NAO: Indentation fixes NIE: Indentation fixes ontologies: Tabs vs. spaces ontologies: Tabs vs. spaces libtracker-extract: xmp: Add mlo:asPostalAddress Fixes NB#199131 tracker-extract: tiff: Add mlo:asPostalAddress Fixes NB#199131 tracker-extract: png: Add mlo:asPostalAddress Fixes NB#199131 tracker-extract: pdf: Add mlo:asPostalAddress Fixes NB#199131 tracker-extract: jpeg: Add mlo:asPostalAddress Fixes NB#199131 tracker-extract: gif: Add mlo:asPostalAddress Fixes NB#199131 NCO: Fixed indentation libtracker-data: Indentation fix in journal replayer libtracker-data: Warning improvement libtracker-data: Indentation fixes libtracker-data: Fixed warning and checking for errors libtracker-data: Deal with future error codes correctly without surprises libtracker-data: Fix unsetting tracker:secondaryIndex libtracker-data: Fix for handling unsupported ontology changes libtracker-data: Free memory when ending the function for handling errors libtracker-data: Handle an unsupported ontology change libtracker-data: Error handling unsupported ontology changes libtracker-data: Handle unsupported rdfs:subClassOf ontology changes Only detecting adding of a rdfs:subClassOf is supported. This patch _doesn't_ detect removing of a rdfs:subClassOf! libtracker-data: Handle unsupported rdfs:subPropertyOf ontology changes Only detecting adding of a rdfs:subPropertyOf is supported. This patch _doesn't_ detect removing of a rdfs:subPropertyOf! libtracker-data: Handle unsupported tracker:fulltextNoLimit ontology changes libtracker-data: Handle unsupported tracker:fulltextIndexed ontology changes libtracker-data: Handle unsupported tracker:isAnnotation ontology changes libtracker-data: Handle unsupported tracker:transient ontology changes libtracker-data: Handle unsupported nrl:maxCardinality ontology changes libtracker-data: Handle unsupported rdfs:domain ontology changes libtracker-data: Make verify_last succeed on an empty data journal file 2010-10-25 Jürg Billeter <j@bitron.ch> libtracker-data: Fix restore from temporary files libtracker-data: Add ontology journal support to temp file handling libtracker-data: Restore using the right set of ontologies in test libtracker-data: Add ontology journal file to backup libtracker-data: Update backup test to also delete ontology journal libtracker-data: Fix criticals on journal replay errors libtracker-data: Restore all IDs from ontology journal libtracker-data: Fix IDs used for new ontology resources on replay libtracker-data: Fix reuse of IDs from ontology journal libtracker-data: Make some ontology functions private libtracker-data: Do not write ontology into data journal libtracker-data: Do not remove journal when reindex is needed Journal replay is always possible. libtracker-data: Use ontology journal for replay libtracker-data: Fix ontology transaction handling libtracker-data: Store ID mappings in ontology journal libtracker-data: Write transactions in ontology journal libtracker-data: Do not initializer journal in read-only mode libtracker-data: Use integer IDs > 100000 for non-ontology resources 2010-10-25 Aleksander Morgado <aleksander@lanedo.com> libtracker-bus: Disable dbus timeouts in updates to the store Fixes GB#633093: Use statvfs64() if available to check for free space * Fixes retrieving both the exact number of free bytes in a partition (as when checking if we have enough space to write the tracker databases) and also the percentage of free space in a partition (as when checking if we reached the threshold configured for pausing miner-fs). 2010-10-25 Philip Van Hoof <philip@codeminded.be> tracker-control: Fix runtime critical when journal file doesn't exist libtracker-data: Indentation problems NMM: Fix month of the lastModified date 2010-10-23 Bruno Brouard <annoa.b@gmail.com> Updated French translation 2010-10-22 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-10-22 Philip Van Hoof <philip@codeminded.be> tracker-extract: gstreamer: Write multiple nmm:albumArtist if there are more than one Fixes NB#194908 NMM: Remove maxCardinality of nmm:albumArtist 2010-10-22 Aleksander Morgado <aleksander@lanedo.com> tracker-extract, msoffice-xml: don't use a static var to check if nie:generator was already set Fixes GB#631391: MsOffice-XML content extraction doesn't work properly * We were extracting text if and only if, the text had some formatting applied, which is wrong. 2010-10-21 Martyn Russell <martyn@lanedo.com> Release 0.9.26 Updated NEWS libtracker-miner: get_running() now ignores the ".Index" not old ".Reindex" d-bus interface This was causing a critical with tracker-status -i 2010-10-21 Aleksander Morgado <aleksander@lanedo.com> Merge branch 'miner-fs-refactor-multi-insert' libtracker-miner: Don't report processing or percentage change until crawling is finished libtracker-miner: Fix weird alignment libtracker-miner: a task is always given to the async operation libtracker-miner: Minor coding style change libtracker-miner: fix task status enumeration so that first item is -1 libtracker-miner: Try to avoid some unneeded heap allocations libtracker-miner: set processing pool logs as traces enabled at compile time libtracker-miner: Use tracker prefix in the processing pool libtracker-miner: simplify array creation as we know the size in advance libtracker-miner: Split internal PROCESS queue into two: READY and PROCESSING * When having a single queue for items in the SPARQL buffer and items being pushed to the store; as the limit of the queue was a single one, we were actually having an undesired behaviour: While an array-update of 100 items was being done, every new task pushed to the processing pool was not buffered, as the limit of the queue was reached. * So now, the READY queue holds the tasks being buffered, and the PROCESSING queue holds the items currently being pushed to the store. tracker-miner-fs: Max 10 files extracting, and 100 files processing libtracker-miner: When QUEUE_WAIT, force a processing pool buffer flush libtracker-miner: Fix deallocation of tasks when stopping the miner libtracker-miner: Fix queue looping in processing pool libtracker-miner: documented how the processing pool works libtracker-miner: Integrate the new processing pool libtracker-miner: New processing pool out of the TrackerMinerFS object 2010-10-21 Philip Van Hoof <philip@codeminded.be> tracker-extract: gstreamer: Don't extract nmm:albumArtist until we have a better solution Partly fixes NB#194908 2010-10-21 Martyn Russell <martyn@lanedo.com> Updated NEWS 2010-10-21 Aleksander Morgado <aleksander@lanedo.com> distcheck fix: distribute the .in.in files as they will need variable substitution depending on prefix during configure 2010-10-21 Philip Van Hoof <philip@codeminded.be> tracker-extract: Port QuillImageFilter usage to QImage 2010-10-21 Aleksander Morgado <aleksander@lanedo.com> libtracker-bus: Handle error properly in array_update_finish() 2010-10-20 Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp> Updated Japanese translation 2010-10-20 Ivan Frade <ivan.frade@nokia.com> functional-tests: Testing addition/removal of domainIndexes in the ontology 2010-10-20 Jürg Billeter <j@bitron.ch> Use host endian byte order for updates in steroids interface Queries in steroids interface already use host endian byte order. Let's be consistent. 2010-10-20 Ivan Frade <ivan.frade@nokia.com> functional-tests: Testing removal and addition of properties in the ontology functional-test: add 'ask' method in the store helper for the tests functional-tests: rebase test ontologies to latest basic To make sure we are testing ONLY the changes we want functional-tests: add prop/subprop with cardinality n in the basic ontology Needed to test the addition removal of super/sub properties functional-tests: some doc for the ontology-changes test template ontologies: updated the modification time of NCAL ontology Forgot to do it in yesterdays commit. 2010-10-20 Jürg Billeter <j@bitron.ch> ontologies: Make sure all regular classes derive from rdfs:Resource 2010-10-19 Ivan Frade <ivan.frade@nokia.com> Fixes NB#194548, Property needed to link nco:Contact with ncal:Event ontologies: Add birthday and anniversary properties between contacts and events in SCAL and NCAL 2010-10-18 Ivan Frade <ivan.frade@nokia.com> functional-test: More relaxed assertion to check writeback results functional-tests: no need to sleeps now that the tests wait for signals functional-tests: Speed up the miner-fs tests No need to sleep, it will return from the wait_for_idle when ready functional-tests: Remove sleeps to speed up the signals tests functional-tests: Testing addition and removal of classes in the ontology functional-test: fix the 'inverse' tests using the basic ontology in the future The second ontology must be more recent than the first one in the tests. To avoid rewritting too many ontologies, included the same 'basic' ontology but in the future. So all changes 'basic'->X can be tested in the opposite direction with X->'basic-future' 2010-10-18 Deji Akingunola <dakingun@gmail.com> Fixes: Bug 629850 - Undefined reference errors during build 2010-10-18 Martyn Russell <martyn@lanedo.com> configure: Fixed warning with recent autoconf versions for AC_INIT Changed AC_INIT to not include whole bugzilla link for tracker, seems the "?" part of the URL causes this warning for some reason. Fixes: Bug 632399 - [PATCH] configure.ac: Skip `AC_CHECK_FILE` when cross compiling We have removed all checks for old installed files tracker-miner-fs: Fixed MeeGo app miner, missing include for GStrv 2010-10-18 Aleksander Morgado <aleksander@lanedo.com> libtracker-bus: plug memleak when updating, GAsyncResult should always be unref-ed 2010-10-18 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-10-17 Mattias Põldaru <mahfiaz gmail com> [l10n] Updated Estonian translation 2010-10-16 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation Fix POTFILES.in 2010-10-15 Aleksander Morgado <aleksander@lanedo.com> utils, mtp-dummy: locale initialization was missing libtracker-data: Notify locales being used also for libunistring and glib collators libtracker-data: improved collation related debugging traces 2010-10-14 Martyn Russell <martyn@lanedo.com> Release 0.9.25 2010-10-14 Aleksander Morgado <aleksander@lanedo.com> Updated NEWS 2010-10-14 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Added missing APIs to documentation sections file libtracker-sparql: Make new example for_update_array a bit more aesthetic Merge branch 'multi-insert' libtracker-sparql: Fixed some coding style and whitespace issues 2010-10-14 Philip Van Hoof <philip@codeminded.be> libtracker-sparql: Don't use AsyncData in example of documentation libtracker-sparql: Fix example in documentation libtracker-sparql: Fix example in documentation libtracker-sparql: multi-insert: Documented the _finish of the array_update API libtracker-sparql: multi-insert: Fix documentation for the new API libtracker-bus: Use the GDestroyNotify of set_res_pointer correct 2010-10-14 Jürg Billeter <j@bitron.ch> libtracker-bus: Fix build with Vala < 0.11 libtracker-sparql: Allow update_array_async to throw errors 2010-10-14 Philip Van Hoof <philip@codeminded.be> tests/functional-tests: Added performance test for multi-insert libtracker-bus: Consistently use g_ptr_array_unref instead of g_ptr_array_free tests/tracker-steroids: multi-insert: Fixes for the unit test libtracker-bus: multi-insert: Fix various problems in the client API tracker-store: multi-insert: Fix various problems in server impl. tests/steroids: multi-insert: Fix unit test libtracker-bus: multi-insert: Fix memory leak tests/steroids: multi-insert: Add unit test libtracker-bus: multi-insert: Handle memory for errors libtracker-bus: multi-insert: Read errors in client API libtracker-bus: multi-insert: Client API impl. libtracker-sparql, -bus: multi-insert: Provide API skeleton tracker-store: multi-insert: Server impl. in steroids 2010-10-14 Ivan Frade <ivan.frade@nokia.com> functional-tests: Tests for tracker:indexed property Set and remove tracker:indexed to single and multivalued properties in the ontology functional-tests: Name properly the Notify tests functional-tests: Test for enable/disable notifications functional-tests: Testing cardinality changes in the ontology Expected failure at the moment. New journal will help. 2010-10-14 Mikael Ottela <mikael.ottela@ixonos.com> Fixes: NB#186096, X-MeeGo-logical-id not extracted from application .desktop files 2010-10-14 Aleksander Morgado <aleksander@lanedo.com> functional-tests: ignore tracker-tests.aegis file generated during tests 2010-10-14 Ivan Frade <ivan.frade@nokia.com> gitignore: ignore coverage/ directory functional-tests: Add first ontology-changes support testing functional-tests: Nicer messages in the log functional-tests: Allow to change the ontologies directory in the system abstraction functional-tests: Ignore Common* and *Template test classes in tests.xml Those classes shouldn't be run in the tests. Are there to organize the code but don't contain useful tests by themselves. 2010-10-14 Mikael Ottela <mikael.ottela@ixonos.com> Fix the gupnp-dlna extractor to use the tracker_sparql_escape_uri_printf 2010-10-13 Kjartan Maraas <kmaraas@broadpark.no> libtracker-data: Fixed test cases on Fedora 14 2010-10-13 Jürg Billeter <j@bitron.ch> SPARQL: Fix context handling for EXISTS and NOT EXISTS NMM: Set maximum cardinality of dlnaProfile and uPnPShared to 1 2010-10-12 Philip Van Hoof <philip@codeminded.be> libtracker-direct: Getting rid of some dead code libtracker-data: Coding style libtracker-data: Progress handling while performing integrity check 2010-10-12 Jürg Billeter <j@bitron.ch> libtracker-sparql: Use lazy resolving for symbols in plugins This reduces initialization time for direct access. libtracker-data: Do not load superproperties on read-only access This reduces initialization time for direct access. libtracker-data: Avoid opening SQLite database twice on startup 2010-10-12 Martyn Russell <martyn@lanedo.com> tracker-extract: Use posix_fadvise() when closing files First stab at fixing GB#575993 This only includes ABW, JPEG, MP3, PNG, PS, OGG and TEXT so far 2010-10-12 Ivan Frade <ivan.frade@nokia.com> functional-tests: recover remove_dbs method. Needed for a backup test. functional-tests: png writeback is expected failure until itxt is enabled in libpng functional-tests: Reliable start/stop of the store. Updated Backup/Journal tests 2010-10-12 Jürg Billeter <j@bitron.ch> libtracker-data: Force reindex on unsupported ontology change Fixes NB#197546. 2010-10-11 Mikael Ottela <mikael.ottela@ixonos.com> Notify changes in nco:ContactGroup. 2010-10-11 Philip Van Hoof <philip@codeminded.be> tracker-extract: Don't use quill headers, only quillimagefilter Replace quill with quillimagefilter 2010-10-11 Jürg Billeter <j@bitron.ch> SPARQL: Fix build with Vala < 0.11 2010-10-11 Ivan Frade <ivan.frade@nokia.com> functional-tests: Fix extraction expectations for GIF with XMP Removed invalid key=values in the .expected file. 2010-10-11 Jean-Luc Lamadon <jean-luc.lamadon@nokia.com> functional-tests: add closing slash in aegis manifest file generator 2010-10-08 Jürg Billeter <j@bitron.ch> SPARQL: Do not use pointers as keys in hash tables This avoids random variations in the generated SQL and will improve the efficiency of the SQL statement cache. Fixes NB#197097. SPARQL: Do not let SPARQL variable names influence SQL query This will make better use of the SQL statement cache for generated SPARQL queries. 2010-10-08 Aleksander Morgado <aleksander@lanedo.com> utils, mtp-dummy: Implemented renaming of all files after batch copy finishes 2010-10-08 Philip Van Hoof <philip@codeminded.be> tracker-store: Fix status reporting 2010-10-07 Martyn Russell <martyn@lanedo.com> Release 0.9.24 libtracker-sparql: Document the Wait() API briefly and update examples in documentation Updated NEWS libtracker-data: Bumped DB version 2010-10-07 Ivan Frade <ivan.frade@nokia.com> functional-tests: Fixed tokens names in the AEGIS file 2010-10-07 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Make vapi compatible with Vala 0.11.0 2010-10-07 Aleksander Morgado <aleksander@lanedo.com> unit tests, tracker-sparql: include locale header 2010-10-06 Aleksander Morgado <aleksander@lanedo.com> unit tests, tracker-sparql: Assume en_US.utf8 locale for a proper collation 2010-10-06 Ivan Frade <ivan.frade@nokia.com> functional-tests: more verbosity on errors. Check the tests let the dirs as expected. functional-tests: dont start manually the store, let the miner-fs invoke it functional-tests: Wait for the store before starting the tests functional-tests: add Wait method to the store wrapper Create AEGIS security file on build time 2010-10-06 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-fs: Fix mountpoint setup utils: fix distcheck utils, mtp-dummy: Use tracker coding style utils: Added new mtp sync simulator 2010-10-06 Martyn Russell <martyn@lanedo.com> Depend on automake 1.11 for Vala support 2010-10-06 Jürg Billeter <j@bitron.ch> libtracker-data: Update test results for NMO ontology update NMO: Fix predefined phone message folders 2010-10-06 Aleksander Morgado <aleksander@lanedo.com> configure.ac: Make sure sqlite is compiled thread-safe 2010-10-05 Jürg Billeter <j@bitron.ch> libtracker-data: Add test case for ORDER BY property function SPARQL: Use COLLATE in SQL for variables and property functions This fixes collation when subselects are involved. Fixes NB#195394. 2010-10-05 Ivan Frade <ivan.frade@nokia.com> ontologies: Updating lastmodificationdate of NMO ontology Before: MMS subclass of SMS and Email After: MMS and SMS subclasses of a new PhoneMessage class. Ontologies: adding comments in the ontology 2010-10-05 Aleksander Morgado <aleksander@lanedo.com> configure.ac: removed the message regarding fd-passing support from the configure report 2010-10-05 Martyn Russell <martyn@lanedo.com> Fixes NB#196143, tracker-info core dumps with NULL cursor getting prefixes 2010-10-04 Vincent Untz <vuntz@gnome.org> plugins: Evolution: Fixed build error with updated tracker_sparql_connection*() API 2010-10-01 Adrien Bustany <abustany@gnome.org> configure.ac: Don't fail if evolution headers are absent 2010-10-01 Jürg Billeter <j@bitron.ch> SPARQL: Use named graph of WITH clause in WHERE pattern of updates The same applies to the deprecated INSERT INTO and DELETE FROM syntax. Fixes NB#194677. tracker-miner-fs: Fix use of graphs on updates libtracker-sparql: Support GRAPH in SPARQL builder 2010-09-30 Martyn Russell <martyn@lanedo.com> Release 0.9.23 Updated NEWS libtracker-sparql: Updated documentation warnings/errors libtracker-sparql: Fix test case when FTS is disabled libtracker-extract, libtracker-miner, libtracker-sparql: Added Since: tags to docs Also changed all 0.9 cases to 0.10 2010-09-30 Ivan Frade <ivan.frade@nokia.com> ontology: add authorization status properties to im address Ontology: added signals to Album, Artist and Imagelist (Meego#7202) Requested in Meego. 2010-09-30 Martyn Russell <martyn@lanedo.com> Merge branch 'async-get-connection' libtracker-sparql: Updated documentation got async-get-connection cases Also fixed some missing stubs in the sections file 2010-09-30 Philip Van Hoof <philip@codeminded.be> functional-test: Remove expected failure from functional test libtracker-data: Fix db corruption test Fixes NB#195547 2010-09-30 Ivan Frade <ivan.frade@nokia.com> functional-tests: Journal replay is expected to fail due bug libtracker-data: check pointer before unref In some situations (file that is not a database) setting the journaling pragma returns NULL. 2010-09-29 Ivan Frade <ivan.frade@nokia.com> functional-tests: kill users tracker before starting the test In the device tests run as a different user that the usual tracker but still sharing the same dbus. Kill the user tracker with tracker-control and sudo 2010-09-29 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Added locking to sync/async connection_get() methods libtracker-sparql: Fixed build failure with new connection_get() API libtracker-sparql: Don't always assume direct_only in get_internal_async() libtracker-sparql: Fixed waiting for service for connection.get_async() libtracker-sparql: Added get_async() and get_direct_async() for Connection Currently everythign is async and working down to the Backend which needs some way of calling the module_init() can waiting for the store asynchronously. This needs a bit more thought. 2010-09-29 Philip Van Hoof <philip@codeminded.be> tracker-store: Fixed corruption in FD passing support 2010-09-29 Aleksander Morgado <aleksander@lanedo.com> tracker-extract-mp3: fix memory leak in albumart data 2010-09-29 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Support Windows-1252 character encoding Use Windows-1252 instead of ISO-8859-1 as the former is a superset in terms of printable characters and some applications use it to encode characters in ID3 tags. GStreamer does the same: http://bugs.gnome.org/show_bug.cgi?id=630471 Fixes NB#192790. 2010-09-29 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner tests: Added new blacklisting and event merging tests libtracker-miner tests: CREATED issued on CHANGES_DONE_HINT * When a file is CREATED with contents, GIO will issue 3 events: CREATED + CHANGED + CHANGES_DONE_HINT. We are now merging all these events into a single CREATED event, when CHANGES_DONE_HINT is received. This means that we must not get an UPDATED event when we just create a file. libtracker-miner tests: ATTRIBUTE_UPDATED test added 2010-09-28 Jürg Billeter <j@bitron.ch> libtracker-data: Change SQLite page and cache size Increase page size from 1 KB to 8 KB. Keep cache size at 2 MB by default (2000 pages => 250 pages). Increase cache size during updates to 16 MB (2000 pages) to reduce writes on disk. 2010-09-28 Ivan Frade <ivan.frade@nokia.com> albumart: stop looking for cover if we find already a JPEG Use correctly retval to stop the iteration 2010-09-28 Jamie McCracken <jamie.mccrack@gmail.com> TST - Fixed compile error with latest vala 2010-09-27 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#193044: libtracker-miner, ensure empty directories are mtime-checked when crawling libtracker-miner: don't create inner loop until needed 2010-09-27 Jürg Billeter <j@bitron.ch> SPARQL: Fix SQL for GRAPH with predicate variable and empty database Fixes NB#194746. 2010-09-25 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2010-09-24 Philip Van Hoof <philip@codeminded.be> plugins/evolution: Fixed the UID format of the URL 2010-09-24 Ivan Frade <ivan.frade@nokia.com> functional-tests: Fix type in autotools 2010-09-24 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Fix string handling in comment and picture tags Fixes NB#193061. 2010-09-23 Ivan Frade <ivan.frade@nokia.com> functional-test: Add GIF with XMP metadata functional-tests: include playlists tests if totem-pl-parser is enabled functional-tests: parse correctly playlist output from the extractor coverage: ignore dbus-binding-tool generated file 2010-09-23 Martyn Russell <martyn@lanedo.com> Release 0.9.22 Updated NEWS 2010-09-23 Aleksander Morgado <aleksander@lanedo.com> libtracker-monitor: simplify event merging code in DELETED event libtracker-miner: Enable blacklisting in TrackerMonitor libtracker-miner, tracker-miner-fs: Only update FileLastModified and FileLastAccessed on file attributes updated tracker-miner-fs: Treat ATTRIBUTE_CHANGED-only events independently libtracker-miner: Fire CREATED event only on CHANGES_DONE_HINT 2010-09-23 Ivan Frade <ivan.frade@nokia.com> functional-tests: last details in collation testing functional-tests: fixing the previous commit functional-tests: collation tests functional-tests: ask exactly for the inserted instance Asking in general is prone to fail and doesn't add anything to the test. functional-tests: do not assume the DB is pristine Not really needed for the tests. But we need to check why is it affecting them on devices. data-generators: default value for undefined categories 2010-09-23 Philip Van Hoof <philip@codeminded.be> libtracker-data: Code comments about the LRU cache 2010-09-23 Aleksander Morgado <aleksander@lanedo.com> libtracker-data: make compiler happy 2010-09-23 Jürg Billeter <j@bitron.ch> libtracker-data: Fix crash on concurrent use of the same query 2010-09-23 Martyn Russell <martyn@lanedo.com> tracker-store: Added TRACKER_STORE_{SELECT|UPDATE}_CACHE_SIZE to man pages libtracker-sparql: Added an "environment variables" section to documentation 2010-09-23 Philip Van Hoof <philip@codeminded.be> libtracker-data: Bugfix in the LRU cache 2010-09-23 Aleksander Morgado <aleksander@lanedo.com> tracker-extract: remove unneeded call to tracker_topanalyzer_shutdown() 2010-09-23 Philip Van Hoof <philip@codeminded.be> libtracker-data, tracker-store: Make statement cache sizes configurable with env var 2010-09-23 Jürg Billeter <j@bitron.ch> tracker-store: Use private threads for the query thread pool Database connections can use quite a bit of memory as neither page nor statement cache is shared between connections. Use private threads to make sure we do not lose that memory due to the thread being reused in an other thread pool. 2010-09-23 Philip Van Hoof <philip@codeminded.be> libtracker-data: Fix crash when first query thread is created libtracker-data, -direct, tests: Make it possible to set the max cache size per connection libtracker-data: Different LRU-cache for INSERT/DELETE v. SELECT libtracker-data: LRU ring for the TrackerDBStatement cache libtracker-data: Don't cache stmt if the query contains a regular expression 2010-09-22 Jürg Billeter <j@bitron.ch> SPARQL: Rework variable name support to fix regression libtracker-data: Add test case for ORDER BY select variable 2010-09-22 Ivan Frade <ivan.frade@nokia.com> functional-tests: set exec permissions to stats test 2010-09-21 Andre Klapper <a9016009@gmx.de> Make tracker build with GTK 2.90.7. Fixes bug #630176. 2010-09-21 Philip Van Hoof <philip@codeminded.be> libtracker-common: Fixed compiler warning 2010-09-20 Martyn Russell <martyn@lanedo.com> tracker-extract: Show stats message for 0 items listed too tracker-extract: Code cleanups for quill albumart implementation Ontology: NCO: Set tracker:notify to true for nco:ContactList 2010-09-20 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fix QUILLimagefilter support 2010-09-19 Mattias Põldaru <mahfiaz gmail com> [l10n] Updated Estonian translation 2010-09-17 Jürg Billeter <j@bitron.ch> tracker-store: Fix crash when accessing variable_names array Update .gitignore libtracker-data: Fix memory leak in journal rotation tracker-miner-fs: Fix use of uninitialized variable 2010-09-16 Martyn Russell <martyn@lanedo.com> Release 0.9.21 2010-09-16 Aleksander Morgado <aleksander@lanedo.com> libtracker-sparql tests: do not require a prior installation 2010-09-16 Martyn Russell <martyn@lanedo.com> Updated NEWS libtracker-data: Bumped database version due to fix for NB#186055 tracker-extract: Small gif code style fixes tracker-extract: Add summary information when shutting down So now we print statistics about how many files we extracted per module and how many failures we also saw. 2010-09-16 Philip Van Hoof <philip@codeminded.be> docs: Various codestyle fixes 2010-09-16 Adrien Bustany <abustany@gnome.org> Rename miner desktop.in files to .desktop.in.in This commit makes all the miner description files .desktop.in.in files. The .desktop.in.in files get mangled by sed to replace variables like @datadir@ in their contents, before the translation merging (.desktop.in to .desktop) happens. 2010-09-16 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Revert a mistaken whitespace fix libtracker-miner: Whitespace fixes libtracker-miner: Whitespace fixes tracker-extract: Fix compilation error for quill support 2010-09-16 Ivan Frade <ivan.frade@nokia.com> Doc: Add brief description to the ontologies to get a warmer index page doc: support description and print property page title in the ontologies After updating the .description files, the index of the documentation will be readable functional-tests: Use correctly arg0 to get the right signal Remove unused variable in configure.ac 2010-09-16 Philip Van Hoof <philip@codeminded.be> libtracker-data: Fixed compilation warnings tracker-db-interface-sqlite.c: In function ‘tracker_db_cursor_class_init’: tracker-db-interface-sqlite.c:1183: warning: assignment from incompatible pointer type tracker-db-interface-sqlite.c:1184: warning: assignment from incompatible pointer type tracker-db-interface-sqlite.c:1185: warning: assignment from incompatible pointer type tracker-db-interface-sqlite.c:1186: warning: assignment from incompatible pointer type tracker-db-interface-sqlite.c:1192: warning: assignment from incompatible pointer type tracker-db-interface-sqlite.c:1193: warning: assignment from incompatible pointer type tracker-db-interface-sqlite.c:1194: warning: assignment from incompatible pointer type 2010-09-16 Martyn Russell <martyn@lanedo.com> Merge branch 'name-owner-changed-improvements' libtracker-miner: Improved debugging to avoid store availability confusion in log Small code clean ups libtracker-sparql: Change column type to int from uint 2010-09-16 Philip Van Hoof <philip@codeminded.be> libtracker-bus, libtracker-client: Fixed offset calculation libtracker-common: Avoid a malloc 2010-09-15 Ivan Frade <ivan.frade@nokia.com> functional-tests: new tests for the stats API functional-tests: add stats iface in the convenience wrapper 2010-09-15 Aleksander Morgado <aleksander@lanedo.com> tracker-extract: if requested max 0 bytes, don't even start extracting content 2010-09-15 Martyn Russell <martyn@lanedo.com> Merge branch 'return-types' libtracker-sparql: Fixed places where column is an int not uint This was mixed throughout the code base. Now we're consistent Fixed coding style issues 2010-09-15 Aleksander Morgado <aleksander@lanedo.com> tracker-extract: fix use of g_strreverse() 2010-09-15 Jürg Billeter <j@bitron.ch> Fixes NB#186055: NCO: Remove cardinality restriction in nco:note tracker-search: Do not use tracker:available for emails Fixes NB#190480. 2010-09-15 Ivan Frade <ivan.frade@nokia.com> functional-tests: update to the signals API Failing randomly... possible spotting a bug 2010-09-15 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#192326: tracker-store default log level set to critical logs only 2010-09-15 Philip Van Hoof <philip@codeminded.be> libtracker-bus: Implement get_variable_name and get_value_type for arraycursor libtracker-data, -sparql, functional-tests: Fixed some review issues libtracker-data: Implement optimized versions for direct-access, for typed convenience funtions libtracker-sparql, -data: Add boolean to ValueType and add typed convenience APIs libtracker-sparql: Updated documentation Require DBus 1.3.1, removed dead code now that we don't support DBus < 1.3.1 libtracker-bus: Use g_return_val_if_fail instead of if(fail)return; libtracker-bus: Don't use returned variable_names in case of error Fix issues in return-types, caught by unit tests and other testing libtracker-bus: Fixed strange column-1 thing functional-test: Added the value-type to the test libtracker-bus: Fixed a leak Fixed that you need to run cursor.next() a first time to get a correct cursor.n_columns functional-tests: Added some comments to the query tests Fixing issues with variable-names returning Implement fetching variable-names further, not working yet 2010-09-15 Jürg Billeter <j@bitron.ch> libtracker-data: Fix variable name support 2010-09-15 Philip Van Hoof <philip@codeminded.be> tracker-store: steroids: Fix memory leak tracker-store, libtracker-bus, -client, -common, -data: Implement get_variable_names This is untested, and tracker_db_cursor_get_variable_names doesn't always work atm tracker-store: Ensure inline compilation of alloca by adding the include Check man page of alloca: Normally, gcc(1) translates calls to alloca() with inlined code. This is not done when either the -ansi, -std=c89, -std=c99, or the -fno-builtin option is given (and the header <alloca.h> is not included). But beware! By default the glibc version of <stdlib.h> includes <alloca.h> and that contains the line: So just to be sure ... :-) tracker-store, libtracker-bus, -client: Implement get_value_types for steroids tracker-store: steroids: Use alloca instead of malloc 2010-09-15 Jürg Billeter <j@bitron.ch> libtracker-data: Implement tracker_sqlite_cursor_get_value_type libtracker-data: Store types of query results libtracker-data: Implement tracker_sqlite_cursor_get_variable_name 2010-09-15 Philip Van Hoof <philip@codeminded.be> libtracker-sparql, -bus, -data: Added ValueTypes and variable-names APIs to cursor 2010-09-15 Aleksander Morgado <aleksander@lanedo.com> tracker-extract: content-type in mime is always ASCII tracker-extract: Use g_pattern_match() instead of g_pattern_match_simple() * Around 5% improvement in extraction speed 2010-09-15 Philip Van Hoof <philip@codeminded.be> libtracker-miner, miners/fs: Don't keep DBusGProxy instancs around for DBus's service libtracker-miner: Fixes for previous commit 2010-09-14 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Added comprehensive test for cursor_next() Basically, added cursor_next_async() + cancellable_cancel() + new query to make sure things work properly in those cases. Also use queries which actually exist for most people (based on the ontology). Queries 4 and 5 are there for historical reasons, these are what showed the situation in the first place. libtracker-data: Don't set async wrapper callback func to NULL after calling it If the callback that's called actually calls the cursor_next_async() then the callback is set to NULL after it is initially set and so no results are reported for n>1 items. 2010-09-14 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Use DBus arg0 filtering for NameOwnerChanged Fixes NB#188031 2010-09-14 Jürg Billeter <j@bitron.ch> libtracker-data: Fix pending operation check for next_async libtracker-data: Do not allow concurrent operations on an interface libtracker-data: Drop unused thread_ifaces hash table libtracker-fts: Do not use TLS libtracker-fts: Do not use TLS for queries This allows executing queries with the same database connection in different threads (but not in parallel). 2010-09-14 Gabor Kelemen <kelemeng@gnome.hu> Updated Hungarian translation 2010-09-14 Aleksander Morgado <aleksander@lanedo.com> tracker-status: plug a leak 2010-09-13 Jürg Billeter <j@bitron.ch> libtracker-sparql: Include config.h in test libtracker-common: Reset default log handler in tracker_log_shutdown Fixes NB#184220. libtracker-sparql: Skip FTS test if FTS is disabled 2010-09-13 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Updated test case to include the 2nd query from needle libtracker-sparql: Added cursor_next_async() test case Currently causes a crash running 2 queries at the same time 2010-09-13 Ivan Frade <ivan.frade@nokia.com> Ontology: NFO - Add HelpDocument class to the Document hierarchy 2010-09-11 Mikael Ottela <mikael.ottela@ixonos.com> Remove pango requirement in tracker-miner.pc 2010-09-09 Martyn Russell <martyn@lanedo.com> Release 0.9.20 Updated NEWS 2010-09-09 Aleksander Morgado <aleksander@lanedo.com> libtracker-sparql: git-ignore vala-generated file 2010-09-09 Martyn Russell <martyn@lanedo.com> tracker-miner-flickr: Fixed so we're not always at 0% if not authenticated tracker-miner-rss: Fixed status so we aren't always initializing or at 0% Added Aleksander to MAINTAINERS 2010-09-09 Mikael Ottela <mikael.ottela@ixonos.com> Added slo:categoryIconUrl for category icons in the location ontology 2010-09-09 Martyn Russell <martyn@lanedo.com> Fixes GB#628872, tracker-control -t or -k shouldn't kill tracker-status-icon 2010-09-08 Ivan Frade <ivan.frade@nokia.com> Doc: updated doc to use plainTextContent instead of plainTextMessageContent 2010-09-08 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#187558: libtracker-miner, try to fix nfo:FileDataObjects without nfo:belongsToContainer * Note: every time a given item is not found in the IRI cache, an additional query is done to the resource to check if there is already an item with the same nie:url. This may happen for application-created nfo:FileDataObjects: when they are created after the miner-fs have updated its cache, or directly when the new ones do not have a proper nfo:belongsToContainer. * The new query will be done in two cases: when new files are created and the miner-fs received a CREATED/UPDATED event; and also during initial crawling (to handle new nfo:FileDataObjects created while the miner-fs was not working). Note that this additional queries during initial crawling do not affect much the crawling performance (couldn't really find any degradation). 2010-09-08 Mikael Ottela <mikael.ottela@ixonos.com> Added slo:iconUrl for landmark icons in the location ontology 2010-09-08 Adrien Bustany <abustany@gnome.org> Flickr miner: fix critical on photos with no tags 2010-09-07 Martyn Russell <martyn@lanedo.com> tracker-extract: Fixed MSOffice extractor to set nfo:Presentation & nfo:Spreadsheet Noticed by Sven Herzberg libtracker-sparql: Renamed tracker-plugin-loader to tracker-backend 2010-09-07 Philip Van Hoof <philip@codeminded.be> tests/libtracker-extract: Fixed indentation of XMP test tracker-extract: Updated tiff extractor to canonical uris NFO, tracker-extract, libtracker-extract, flickr: Change nfo:Equipment to use canonical uris tracker-extract, libtracker-extract: Adapted extractors to nfo:Equipment ontology change tests: Adapted tests to nfo:Equipment ontology change NFO: Added nfo:Equipment ontology 2010-09-06 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#628859: Ship examples/rss-reader/initial-data.ttl in tarballs 2010-09-03 Christian Kirbach <Christian.Kirbach@googlemail.com> [i18n] Updated German translation 2010-09-03 Jürg Billeter <j@bitron.ch> tracker-search-tool: Convert TrackerUtils to namespace tracker-extract-gstreamer: Use integer division for rounding libtracker-data: Fix signed char comparison in SPARQL scanner libtracker-client: Fix declaration after statement 2010-09-03 Philip Van Hoof <philip@codeminded.be> libtracker-data: Don't shadow variable i here tracker-store: class-signal: Fix rdf_types array after delete tracker-store: class-signal: Fixed a bug, emit all triples for rdf:type predicate 2010-09-03 Jürg Billeter <j@bitron.ch> tracker-store: Send D-Bus replies for BatchCommit Fixes NB#189896. 2010-09-03 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2010-09-02 Martyn Russell <martyn@lanedo.com> Release 0.9.19 Updated NEWS 2010-09-02 Aleksander Morgado <aleksander@lanedo.com> configure: avoid glib unicode support in auto mode 2010-09-02 Murugappan Nataraj <murugappan.nataraj@nokia.com> Fixes GB#628090: Tracker plugin for PPSX files 2010-09-02 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#628536: Don't install ui files for example utils 2010-09-02 Martyn Russell <martyn@lanedo.com> Updated NEWS tracker-extract: Fixed xine, mplayer and totem backends Were calling old APIs that no longer exist or that have been updated 2010-09-02 Aleksander Morgado <aleksander@lanedo.com> libtracker-data, tests: force en_US.utf8 collation locale functional tests, class-signal: Fix compilation with LDFLAGS="-Wl,--as-needed -Wl,-Bsymbolic" libtracker-data: Removed PRINT_INSTEAD_OF_LOG as TRACKER_VERBOSITY envvar already does it properly 2010-09-02 Jürg Billeter <j@bitron.ch> libtracker-data: Update test results due to collation change 2010-09-02 Aleksander Morgado <aleksander@lanedo.com> libtracker-data: Rename tracker_collation_deinit() to tracker_collation_shutdown() libtracker-data: avoid the need of TrackerDBCollationFunc libtracker-data: new tracker DB version due to collation on columns libtracker-data: no need to get the iface when recreating indexes libtracker-data: if locale changes, re-create indexes libtracker-data: Detect locale change libtracker-data: libicu collation based on LC_COLLATE, not LC_ALL libtracker-data: don't collate Uri in Resource table collation: added helper logs libtracker-data: Enable collation in all text columns libtracker-data: Register our collator function libtracker-data: Implemented collation functions build: use common LIBS and CFLAGS for all unicode support options 2010-09-01 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-09-01 Jürg Billeter <j@bitron.ch> tracker-writeback: Fix distcheck 2010-09-01 Philip Van Hoof <philip@codeminded.be> libtracker-data: class-signal: Simplify previous commit a bit libtracker-data: Use binary search to insert instead of linear search tracker-store: class-signal: Cleanup gboolean returns tracker-store: class-signal: Timer should always be present on-commit 2010-09-01 Jürg Billeter <j@bitron.ch> SPARQL: Change tracker:uri() to be the exact inverse of tracker:id() 2010-09-01 Philip Van Hoof <philip@codeminded.be> tracker-store: class-signal: Bugfix, the timer based emit wasn't working tracker-store: graph_id and object_id where switched, fixed tracker-store, examples, tests: Renamed ClassSignal to GraphUpdated libtracker-data, tracker-store, etc: Add graph_id to the class-signal API Rename tracker:subject() to tracker:uri() tracker-store: The signal in tracker-resources.c is for both Writeback and ClassSignal tracker-store: Let's always first remove pending then ready, for events and writeback tracker-store: Simplify reset of writeback, removed unused code tracker-store, libtracker-data: Resetting of events on rollback and etc 2010-09-01 Jürg Billeter <j@bitron.ch> tracker-writeback: Fix cursor leak 2010-09-01 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Fixed GRAPH in IgnoreNextUpdate case tracker-store: writeback: Do the transaction trick for Writeback too tracker-store: class-signal: At on_committed the values aren't there yet for libtracker-sparql clients Not fully fixed, needs more investigation tracker-store, libtracker-data: Workaround for graph not being used in SPARQL DELETE Because GRAPH is kept NULL for tracker-data-update.c during a SPARQL DELETE with a graph wasn't the writeback functionality being done correctly: only for the default graph must the writeback signal emit. But with graph always being NULL for deletes, would it always emit for any delete. And the IgnoreNextUpdate SPARQL query of tracker-miner-fs does a DELETE in a graph, meaning that this triggers tracker-store into doing a new writeback emit, and makes tracker-writeback writeback again, and that makes miner-fs do a new IgnoreNextUpdate, until the end of times (endless loop between store, writeback and miner-fs) tracker-writeback: Fixed compilation errors functional-tests: class-signal: Add performance test 2010-09-01 Adrien Bustany <abustany@gnome.org> Flickr miner: port writeback to new signal This commit adapts the Flickr miner so that it now follows the new writeback signal, which sends integers insteads of URIs. 2010-09-01 Philip Van Hoof <philip@codeminded.be> functional-tests: class-signal: Removed unused variable examples: class-signal: Remove unneeded code examples: class-signal: Add example in plain C tracker-store, tracker-writeback: Changed the subject of Writeback signal to int This reduces D-Bus traffic for an internal API (the Writeback signal) and allows us to have to store less memory in tracker-store. libtracker-data: Add support for tracker:subject() to SPARQL engine tracker-store, tracker-writeback: Changed the Writeback signal to use IDs The rdf_types array used to be an array of class URI strings. With the support for tracker:id() can tracker-writeback (over libtracker-sparql) also receive the IDs of the classes, and then query for it. tracker-writeback: Fixes after Martyn's review tracker-writeback: Fix memory leak in XMP writeback module tracker-writeback: Fix memory leak in taglib writeback module tracker-writeback: Port tracker-writeback to libtracker-sparql tracker-store: class-signal: Better names for the defines tracker-store: class-signal: Reset the total counter on each emit functional-tests: class-signal: Improved the test a little bit tracker-store: class-signal: Data limit for immediate emit of class signal tracker-store, libtracker-data: class-signal: Cut at transaction, don't reset tracker-store: Kill compiler warnings softly tracker-store, libtracker-data: Pending vs. ready arrays, to control transactions functional-tests: class-signal: Allow tweaking of the data of the property functional-tests: class-signal: Allow tweaking the test functional-tests: class-signal: Use normal DBus to avoid bug in FD passing functional-tests: class-signal: More beautiful queries functional-tests: class-signal: Added some comments functional-tests: class-signal: Add functional test tracker-store: class-signals: Performance optimization at create & delete tracker-store: Simplify tracker_events_* API, typo fix libtracker-data: Optimization, just return once it's inserted libtracker-data, tracker-store: class-signal: Move the arrays to TrackerClass, optimization tracker-store: Avoid copying of arrays at class-signal emit tracker-store: Added sorting and a storage optimization for the class-signal tracker-store: Class-signal impl. without any sorting or optimizations tracker-store: Bugfix, class_id comes first tracker-store: Connect tracker-resources with tracker-events Still left todo is the emit of the signal itself, of course tracker-store: Remove unused struct tracker-store: Add class_id to tracker-events API tracker-store, data/dbus: Remove unused TrackerResourceClass tracker-store: Storage of signal events as they arrive libtracker-data, tracker-store: Fix Writeback support for new callback API libtracker-data, tracker-store: Change the class signal callback API to integer IDs 2010-09-01 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: Avoid gtk-doc warnings: multiple IDs for constraint linkend ttl_sgml: avoid compiler warning tracker-control: avoid compiler warning libtracker-miner: Improved fix in commit 0581f68, so that regeneration is not done in initial crawling 2010-08-31 Carlos Garnacho <carlosg@gnome.org> Plug memory leak. The journal_mode pragma seems to return a resultset, take and unref it. Remove leftovers from scan/cache timeout config options. 2010-08-31 Jürg Billeter <j@bitron.ch> NMO: Add nmo:isEmergency property 2010-08-31 Carlos Garnacho <carlosg@gnome.org> Remove CacheTimeout option from tracker-miner-fs config. This option has been unused for quite some time now. Remove ScanTimeout from tracker-miner-fs config. This option has been unused for quite some time now. TrackerMinerFS: Disable crawling entirely if !initial_crawl. 2010-08-30 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: if CREATED event is received from the monitor, force IRI cache update * The issue comes from NB#188494, but it doesn't fully fix it. The issue seems to be that the camera application is also inserting a new element in the store and doesn't check if it already exists before. libtracker-miner: Indentation fixes tracker-miner-fs: Default should_process to TRUE in check_directory() and check_file() 2010-08-27 Marek Černocký <marek@manet.cz> Update Czech translation 2010-08-27 Jean-Luc Lamadon <jean-luc.lamadon@nokia.com> Revert "Use python instead of specific python2.6" This reverts commit b9a6ef52a03a7f646768a58168d5ebd808d3e7fc 2010-08-26 Aleksander Morgado <aleksander@lanedo.com> functional-tests: don't include TTL files in dist libtracker-miner: Don't print paths as they may not be in UTF-8, print URIs functional-tests: Avoid FTS tests if FTS is disabled 2010-08-26 Martyn Russell <martyn@lanedo.com> Release 0.9.18 2010-08-26 Aleksander Morgado <aleksander@lanedo.com> data/dbus: fix distcheck 2010-08-26 Martyn Russell <martyn@lanedo.com> Updated NEWS Updates NEWS Fixes: GB#627893, tracker 0.9.17 does not compile with e-d-s/evolution 2.31.90 built with gtk+ 3. Based on a patch from Maciej Piechotka 2010-08-26 Carlos Garnacho <carlosg@gnome.org> NB#184505 - Video files without audio are listed as music clips. Do not extract the album tag if the file is not an audio file, the ontology only applies to audio albums anyway. NB#187149 - Not able to get metadata of few of the resources. Do not take !cursor as no results, rather !tracker_sparql_cursor_next(). Also, ensure error is cleared before possibly reusing it in the next iteration. tracker-tag: bail out if none of the passed files exist in the store. NB187148 - "Not tagged, file is not indexed" message is seen when adding a tag Fix up the function reporting the files tagged. 2010-08-26 Martyn Russell <martyn@lanedo.com> Merge branch 'direct-wait' libtracker-sparql: Add debugging to know what SPARQL is used with direct-access 2010-08-26 Mikael Ottela <mikael.ottela@ixonos.com> Small fixes to the location ontology. 2010-08-26 Bruno Brouard <annoa.b@gmail.com> Updated French translation 2010-08-26 Aleksander Morgado <aleksander@lanedo.com> functional-tests: corrupted-image extraction test is no longer an expected failure, as bug was fixed 2010-08-25 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Added TRACKER_SPARQL_BACKEND environment variable - Added to the documentation so we know what values can be used and how - Added debugging so we know what backends are in use. - Fixed the plugin loader so we require the plugins before we call their Tracker.Sparql.Connection implementations (to avoid segfaulting) 2010-08-24 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-08-24 Martyn Russell <martyn@lanedo.com> libtracker-miner: Allow API to bypass checks for users This allows the user to say, index /foo/bar and it doesn't need to be related to the config. This means that if it is outside the configured directories then it must be maintained by the application calling the API. tracker-control: Make -f and -m outputs translatable Also use g_printerr() for error situations tracker-control: Print when reindexing mime types or files is successful tracker-control: Don't print PIDs if we're reindexing mimes or a file tracker-miner-fs: Remove --add-file option This is now supplied with tracker-control --index-file Updated the man pages too tracker-miner-fs: Added debugging to know what file is requested to be indexed tracker-miner-fs: #define typo fixed tracker-miner-fs: Use tracker_dbus_request_failed() for error situations tracker-miner-fs: Fixed whitespace issues in miner-files-index.c 2010-08-24 Carlos Garnacho <carlosg@gnome.org> tracker-control: Use TrackerMinerManager to reindex mimetypes. TrackerMinerManager: Add method to reindex certain mimetypes. TrackerMinerManager: Add GError infrastructure. TrackerMinerManager: Make index_file() return boolean. Make the IndexFile DBus method handle directories. Add tracker_miner_fs_check_directory(). This function differs with tracker_miner_fs_directory_add() in that the directory is not added to priv->config_directories, and the dir is only inspected if it's part of one of the configured directories. Rename tracker_miner_fs_file_add() to check_file(). Rename IndexFiles DBus method to IndexFile A single parameter is passed, so plural doesn't make sense here. tracker-control: Add --index-file parameter. TrackerMinerManager: Add method to invoke tracker-miner-fs to index a file. Fixes: GB#613252, Application-driven indexing and metadata storage Add DBus method to request a file to be indexed. Make tracker_miner_fs_file_add() take a check_parents arg. Renamed TrackerMinerFilesReindex to TrackerMinerFilesIndex. It will be gaining new methods where "reindex" don't have much sense. 2010-08-24 Jürg Billeter <j@bitron.ch> libtracker-sparql: Fix distcheck Port SPARQL util tests from libtracker-client to libtracker-sparql coverage: Ignore deprecated libtracker-client coverage: Ignore generated .c files libtracker-direct: Use maximum D-Bus timeout libtracker-bus: Use maximum D-Bus timeout libtracker-data: Fix journal reader with rotated journals libtracker-direct: Wait for tracker-store to be ready tracker-store: Add Status.Wait method tracker-store: Small busy callback improvements 2010-08-23 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky 2010-08-23 Aleksander Morgado <aleksander@lanedo.com> FTS: Make sure tracker_fts_update_commit() gets called when FTS info is updated functional-tests: Updated FTS offsets/rank unit tests * Delete resources after the test * Use different urns in the different tests libtracker-sparql: cursor_get_n_columns() should only be called after cursor_next() 2010-08-23 Martyn Russell <martyn@lanedo.com> tracker-store: Fixed commit e718d703 for non FD passing users 2010-08-23 Aleksander Morgado <aleksander@lanedo.com> tracker-store: avoid unregister_g_object() criticals functional-tests, fts: remove rdfs:Resource, not rdf:Resource 2010-08-23 Martyn Russell <martyn@lanedo.com> libtracker-bus: Make sure we link with libtracker-sparql 2010-08-21 Bruno Brouard <annoa.b@gmail.com> Updated French translation 2010-08-20 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-08-20 Mario Blättermann <mariobl@gnome.org> [i18n] Updated German translation 2010-08-20 Carlos Garnacho <carlosg@gnome.org> TrackerMinerFS: Do not index dirs inconditionally when adding monitors. 2010-08-20 Martyn Russell <martyn@lanedo.com> libtracker-bus: Throw errors for non-FD passing when Cancellable is cancelled Without this the tracker-steroids test case was failing for people with D-Bus < 1.3.1 and no FD passing. The reason being, that the Cancellable is unused and so the assert on the error being set was inconsistent between FD passing and no FD passing. 2010-08-20 Ivan Frade <ivan.frade@nokia.com> Use python instead of specific python2.6 2010-08-20 Adrien Bustany <abustany@gnome.org> libtracker-sparql: put util functions in Tracker.Sparql namespace 2010-08-20 Jürg Billeter <j@bitron.ch> libtracker-bus: Call BatchUpdate for low priority requests Update .gitignore 2010-08-19 Adrien Bustany <abustany@gnome.org> Add deps file for tracker-sparql.vapi 2010-08-19 Martyn Russell <martyn@lanedo.com> Release 0.9.17 Updated NEWS 2010-08-19 Aleksander Morgado <aleksander@lanedo.com> Fix distcheck: stamp should be distributed with ttl files tracker-extract, msoffice: remove extra line tracker-steroids tests: when cancelled, an error is expected functional-tests: ignore built file Fix distcheck Fixes GB#627281: Crash in msoffice extractor * Length of PRC structure was wrongly read when greater than 256 bytes. configure: minor indentation issues 2010-08-19 Martyn Russell <martyn@lanedo.com> tests: Fixed steroids test case Use g_assert_error() and g_assert_cmpstr() instead in places and also fix where the asserts were failing. In this case, it was failing in cancel callbacks where we asserted the error was NULL and then tried to free it after. 2010-08-18 Martyn Russell <martyn@lanedo.com> FT: Fixed make check failure 2010-08-18 Ivan Frade <ivan.frade@nokia.com> Add __init__.py to the functional tests directory Data generators are now python2.3 friendly Make data-generators directory-free And the autotools to round-up the operation Placeholder for the ttl file Performance test... not sure what it does Remove old tests Add exec permission to the relevant tests New tests Configuration is now under common/utils Removed all test data/ directory Remove tests.xml (now created on compilation time) Sample files for the writeback functionaly testing Test files and expected data for the extraction test-cases Configuration files to be used in the tests Script to generate tests.xml using python introspection Adding common infrastructure for the new tests Adding local copy of unittest2 2010-08-18 Mikael Ottela <mikael.ottela@ixonos.com> Add a check for gupnp-dlna version. Added dlna profile to mp3 extractor. Required version of dbus-glib to 0.82 for dbus_g_connection_unregister_g_object 2010-08-17 Zeeshan Ali (Khattak) <zeeshanak@gnome.org> Adapt to gupnp-dlna API change 2010-08-17 Jürg Billeter <j@bitron.ch> libtracker-data: Merge DataError into SparqlError 2010-08-17 Aleksander Morgado <aleksander@lanedo.com> OASIS extractor: minor indentation fixes 2010-08-17 Murugappan Nataraj <murugappan.nataraj@nokia.com> Fixes GB#623005: Tracker plugin for odt, odp, ods files 2010-08-17 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Fix extraction of certain ID3v2.3 and ID3v2.4 tags tracker-extract-mp3: Fix un-unsynchronisation in ID3v2 Based on patch by Mikael Ottela, fixes NB#174794. 2010-08-17 Aleksander Morgado <aleksander@lanedo.com> libtracker-sparql: add dbus-glib-1 dep when compiling vala sources 2010-08-17 Carlos Garnacho <carlosg@gnome.org> NB#185950 - Crash in gif extractor. Check for the first char before assuming the second is valid memory. 2010-08-17 Jürg Billeter <j@bitron.ch> libtracker-direct: Fix compiler warning libtracker-bus: Handle SPARQL errors received via D-Bus SPARQL: Improve lexer performance for strings with ASCII characters 2010-08-17 Carlos Garnacho <carlosg@gnome.org> TrackerMinerFiles: Fix wrong cast in query callback. 2010-08-17 Ivan Frade <ivan.frade@nokia.com> Add GCOV_LIBS to the libtracker-direct compilation 2010-08-17 Aleksander Morgado <aleksander@lanedo.com> build: Fix distcheck * Note: vpath builds from git checkouts won't work. We need to find a way of avoiding the re-compilation of the vala programs which require vapi files which may be either in builddir or srcdir. 2010-08-16 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-08-16 Martyn Russell <martyn@lanedo.com> tracker-search: Fixed typo 2010-08-16 Philip Van Hoof <philip@codeminded.be> functional-tests: Add direct-query-test and default-update-test 2010-08-16 Aleksander Morgado <aleksander@lanedo.com> distcheck fixes: vala generated sources are in srcdir in dist 2010-08-16 Jürg Billeter <j@bitron.ch> libtracker-direct: Handle initialization failure Move SparqlError from libtracker-data to libtracker-sparql libtracker-direct: Use dedicated module directory 2010-08-16 Martyn Russell <martyn@lanedo.com> libtracker-direct: Provide plugin API 2010-08-16 Philip Van Hoof <philip@codeminded.be> libtracker-direct: Keep connection alive for longer than cursor libtracker-direct: Create tracker-direct.vapi 2010-08-16 Jürg Billeter <j@bitron.ch> libtracker-direct: Add initial implementation 2010-08-16 Martyn Russell <martyn@lanedo.com> libtracker-direct: Add initial skeleton Tracker.Direct.Connection uses interface Tracker.Sparql.Cursor and will implement it for direct connections using the libtracker-data API 2010-08-16 Jürg Billeter <j@bitron.ch> libtracker-data: Generate tracker-sparql-query.vapi libtracker-data: Add initial support for async cursors libtracker-data: Let TrackerDBCursor subclass TrackerSparqlCursor 2010-08-16 Martyn Russell <martyn@lanedo.com> libtracker-data: remove all null checks before g_free() in db-manager libtracker-data: Don't leak in_use_filename in db-manager tracker-store: Allow disabling CPU affinity with env var Variable name is: TRACKER_STORE_DISABLE_CPU_AFFINITY 2010-08-16 Jürg Billeter <j@bitron.ch> libtracker-data: Use single DB file WAL does not guarantee atomicity with multiple DB files. libtracker-data: Allow multiple statement instances for the same query libtracker-data: Also delete -shm and -wal files when deleting database tracker-store: Use tracker_data_load_turtle_file libtracker-data: Add tracker_data_load_turtle_file tracker-store: Turtle import improvements tracker-store: Never try to process more than 1 million events This avoids extreme memory usage and D-Bus disconnects due to too large messages. tracker-store: Store sender for turtle import tasks as well tracker-store: Allow running queries while update is running This will break order guarantees. Check with client applications and libraries before merging this commit. libtracker-data: Disable shared cache mode This is required for parallel query and update. libtracker-data: Move SQLite threading mode setting to open call tracker-store: Drop special batch handling The only difference between batch and regular updates is that batch requests are handled at lower priority. libtracker-data: Do not use overly large transactions anymore This is not necessary anymore with WAL. libtracker-data: Enable Write-Ahead Logging in SQLite This requires SQLite 3.7 and allows us to drop read_uncommitted. 2010-08-16 Martyn Russell <martyn@lanedo.com> functional-tests: Fixed warnings from unhandled throws 2010-08-16 Jürg Billeter <j@bitron.ch> libtracker-bus: Fix cancellation Adapt to libtracker-sparql changes libtracker-miner: Drop update_commit calls 2010-08-16 Philip Van Hoof <philip@codeminded.be> libtracker-miner, miners/rss, plugins/evolution: Fixed memory leaks for cursors plugins/evolution: Make it possible to compile the evolution plugin, not working yet 2010-08-16 Adrien Bustany <abustany@gnome.org> Port steroids tests to libtracker-sparql 2010-08-16 Martyn Russell <martyn@lanedo.com> tracker-search: Improved output for -c and -f - Fixed urns not files for -f by default - Fixed contacts search to coalesce empty email addresses - Translate "No Name" and "No Address" for -c - Support -d for --music-albums and --music-artists tracker-miner-fs: Fixed memory leak when setting up volumes libtracker-miner: Fixed memory leak on init/finalize of TrackerMiner 2010-08-16 Aleksander Morgado <aleksander@lanedo.com> distcheck fix: disable generation of Makefile for tests/tracker-steroids distcheck fixes: vala generated sources are in srcdir in dist 2010-08-16 Martyn Russell <martyn@lanedo.com> build: Fixed a myriad of build issues - Removed examples/tracker-steroids, unused now. - Fixed all tracker-extract/*.c includes using libtracker-client - Fixed TRACKER_IS_SPARQL_BUILDER for _SPARQL_IS_BUILDER - Fixed Makefile.am includes and linking with libtracker-client were not needed libtracker-miner: Fixed various documentation issues libtracker-miner: Fixed build warnings libtracker-data: Fixed documentation build errors and some warnings 2010-08-16 Philip Van Hoof <philip@codeminded.be> tests/tracker-miner-fs: Fix build 2010-08-16 Jürg Billeter <j@bitron.ch> tracker-control: Fix build utils: Fix build 2010-08-16 Martyn Russell <martyn@lanedo.com> tracker-tag: Use new libtracker-sparql API Currently, rewind seems to not work as expected, needs more testing tracker-stats: Reworked to use libtracker-sparql 2010-08-16 Jürg Billeter <j@bitron.ch> tracker-extract: Drop use of libtracker-client function 2010-08-16 Martyn Russell <martyn@lanedo.com> tracker-import: Use new libtracker-sparql API tracker-status: Don't use TrackerSparqlConnection and unref DBusGProxy tracker-sparql: Use new libtracker-sparql API tracker-miner-flickr: Add refactored writeback code of libtracker-client libtracker-sparql doesn't have support for this because it is quite a specific use case right now. tracker-miner-flickr: Use new libtracker-sparql API tracker-miner-rss: Fixed compiler errors and use new libtracker-sparql tracker-miner-fs: Use new libtracker-sparql API 2010-08-16 Jürg Billeter <j@bitron.ch> libtracker-miner: Port to libtracker-sparql This also drops the query API in libtracker-miner as this is now redundant. 2010-08-16 Martyn Russell <martyn@lanedo.com> tracker-info: Use new libtracker-sparql API tracker-search: Use new libtracker-sparql API libtracker-client: Marked entire API as deprecated and updated documentation 2010-08-16 Jürg Billeter <j@bitron.ch> tracker-utils: Port tracker-status to libtracker-sparql 2010-08-16 Martyn Russell <martyn@lanedo.com> libtracker-extract: Move to libtracker-sparql from libtracker-client 2010-08-16 Philip Van Hoof <philip@codeminded.be> tracker-writeback: NB#185070: Loop over all subjects in the Writeback signal's array 2010-08-16 Martyn Russell <martyn@lanedo.com> libtracker-data: Plugged a leak in journal 2010-08-16 Ivan Frade <ivan.frade@nokia.com> Add GCOV_LIBS for the libtracker-data tests In a different commit to easy the merge of the functional tests 2010-08-16 Aleksander Morgado <aleksander@lanedo.com> build: Fix VPATH builds 2010-08-16 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Don't just process the first row of results for file writebacks 2010-08-16 Ivan Frade <ivan.frade@nokia.com> Add GCOV_LIBS to the new libraries Otherwise the compilation is broken with --enable-gcov 2010-08-16 Philip Van Hoof <philip@codeminded.be> tracker-writeback: XMP: NB#182948: Added nao:hasTag for keywords writeback plugins/evolution: GB#623207: Fix compilation problems 2010-08-16 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#184882: tracker-extract is getting crashed for malformed gif files 2010-08-13 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Fixed example documentation indentation libtracker-sparql: Added insert_blank() example documentation libtracker-sparql: Updated documented examples Make sure we free error if we get one also use g_printerr, not g_error() since we often don't use that in applications libtracker-bus: Invert ifdef for array backend Was only working for FD passing which is the wrong way round. The test cases for updating should work now without FD passing. This was crashing libtracker-bus: Cleaned up -shared C API libtracker-bus: Avoid warnings when building without FD passing 2010-08-13 Jürg Billeter <j@bitron.ch> libtracker-bus: Fix D-Bus error handling for blank updates libtracker-bus: Fix cancellation libtracker-bus: Fix blank updates libtracker-bus: Use correct error domain libtracker-bus: Adapt to libtracker-sparql changes 2010-08-13 Aleksander Morgado <aleksander@lanedo.com> Fix distcheck issues 2010-08-13 Philip Van Hoof <philip@codeminded.be> libtracker-bus: Add updateblank support with functional test 2010-08-13 Martyn Russell <martyn@lanedo.com> libtracker-bus: Allow backend to switch between fd passing and dbus-glib Variable: TRACKER_BUS_BACKEND="dbus-glib" forces dbus-glib if steroids available 2010-08-13 Philip Van Hoof <philip@codeminded.be> libtracker-bus: Added skeleton for update_blank and update_blank_async 2010-08-13 Aleksander Morgado <aleksander@lanedo.com> libtracker-bus: no return value expected in method distcheck fixes: vala generated sources are in srcdir in dist libtracker-bus: Fix distcheck, missing header in dist 2010-08-13 Philip Van Hoof <philip@codeminded.be> tests/functional-tests: Refactoring the query test 2010-08-13 Aleksander Morgado <aleksander@lanedo.com> tests/functional-tests: Fix distcheck 2010-08-13 Philip Van Hoof <philip@codeminded.be> tests/functional-tests: Refactored the tests a bit more 2010-08-13 Jürg Billeter <j@bitron.ch> libtracker-bus: More update fixes libtracker-bus: Fix crash on update libtracker-bus: Fix more criticals libtracker-bus: Fix critical when cancellable is NULL 2010-08-13 Philip Van Hoof <philip@codeminded.be> tests/functional-tests: Refactored the update tests tests/functional-tests: Add update tests libtracker-bus: Initial implementation of update API with FD passing 2010-08-13 Martyn Russell <martyn@lanedo.com> libtracker-bus: Fixed steroids detection Changed critical message to a dbus message now Also reverted the changes to avoid missing symbol warnings libtracker-bus: Fixed compilation without FD PASSING enabled 2010-08-13 Jürg Billeter <j@bitron.ch> libtracker-bus: Use SparqlError libtracker-bus: Use steroids if available libtracker-bus: Implement query_async for D-Bus FD passing libtracker-bus: Implement query_async 2010-08-13 Martyn Russell <martyn@lanedo.com> libtracker-bus: Implement import{_async}() tracker-import: Use new libtracker-sparql API 2010-08-13 Jürg Billeter <j@bitron.ch> libtracker-bus: Use dedicated module directory 2010-08-13 Martyn Russell <martyn@lanedo.com> libtracker-bus: Implement D-Bus version of statistics API 2010-08-13 Jürg Billeter <j@bitron.ch> libtracker-bus: Link to libtracker-common libtracker-bus: Add simple implementations for update and update_async libtracker-bus: Fix string retrieval in ArrayCursor 2010-08-13 Martyn Russell <martyn@lanedo.com> libtracker-bus: Make sure current_row is set to -1 and next() is always required 2010-08-13 Philip Van Hoof <philip@codeminded.be> libtracker-bus: Implement rewind for fd-passing, added functional test libtracker-bus: Refactoring the bus-cursor to have the array one in vala 2010-08-13 Martyn Russell <martyn@lanedo.com> libtracker-bus: Minor whitespace changes similar to reverted patch from pvanhoof libtracker-bus: Get queries working using original dbus methods libtracker-bus: Implemented D-Bus FD passing using TrackerSparqlCursor API libtracker-bus: Add D-Bus implementation 2010-08-13 Jürg Billeter <j@bitron.ch> tracker-store: Remove unused push plugin support libtracker-data: Remove unused Options table Remove unmaintained kmail plugin 2010-08-13 Martyn Russell <martyn@lanedo.com> tracker-store: Plug some leaks in dbus shutdown 2010-08-13 Jürg Billeter <j@bitron.ch> libtracker-common: Make sure libtracker-sparql inherits verbosity 2010-08-12 Philip Van Hoof <philip@codeminded.be> NFO: Bump nao:lastModified for earlier ontology change note. We're lucky that for 0.9.16 a db-bump was needed, else this release's feature that used this newly added property would have been defect. Now luckily no hard was done to the 0.9.16 release. Let's not forget this in future though, guys ;-) 2010-08-12 Martyn Russell <martyn@lanedo.com> Release 0.9.16 Updated NEWS libtracker-data: Fixed algebra test Makefile, typo for filter-in-3 2010-08-12 Philip Van Hoof <philip@codeminded.be> tracker-data: Remove the journal when a db-bump takes place Also remove the db-version.txt file when tracker-control -r is called. This fixes NB#184823, 2010-08-12 Mikael Ottela <mikael.ottela@ixonos.com> Add an extractor that uses gupnp-dlna for gstreamer based metadata extraction. Added nfo:encodedBy property. Fixes NB#177663, Tracker does not harvest ID3v2 tags 2010-08-11 Jürg Billeter <j@bitron.ch> libtracker-common: Fix tracker_log_shutdown 2010-08-11 Philip Van Hoof <philip@codeminded.be> Revert last libtracker-data: Remove the journal in case of db-bump too libtracker-data: NB#184823, Unsupported ontology change prevent tracker for booting tracker-store: Compilation warning fix 2010-08-11 Aron Xu <aronxu@gnome.org> Update Simplified Chinese translation. 2010-08-11 Philip Van Hoof <philip@codeminded.be> libtracker-data: Fixed support for IN, NOT IN with <resources> 2010-08-10 Jürg Billeter <j@bitron.ch> libtracker-sparql: Fix distcheck libtracker-sparql: Use TRACKER_VERBOSITY environment variable libtracker-common: Support TRACKER_VERBOSITY environment variable 2010-08-10 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Renamed 'import' method to 'load' 2010-08-10 Jürg Billeter <j@bitron.ch> libtracker-sparql: Remove update_commit Separate commit is no longer needed with WAL. libtracker-sparql: Add priority parameter to sync methods as well libtracker-sparql: Fix Vala warning 2010-08-10 Aleksander Morgado <aleksander@lanedo.com> libtracker-sparql: additional small comment in documentation libtracker-sparql: Remove example from source, as already in sgml libtracker-sparql: Added overview in documentation libtracker-sparql: Added update example in documentation libtracker-sparql: Added examples in documentation libtracker-sparql: Added pkg-config stuff for the new library libtracker-sparql: Documentation base finished libtracker-sparql: Avoid tmpl files in documentation libtracker-sparql: Setup initial gtk-doc documentation * Includes Utilities and TrackerSparqlBuilder documentation libtracker-sparql: Avoid compiler warning libtracker-sparql: Consider \b and \f while iterating string to escape 2010-08-10 Philip Van Hoof <philip@codeminded.be> libtracker-sparql, libtracker-bus: Fix default update-blank method 2010-08-10 Jürg Billeter <j@bitron.ch> libtracker-sparql: Fix signature of Connection.update_async libtracker-sparql: Add SparqlError error domain 2010-08-10 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Use TRACKER_SPARQL_VERBOSITY to control logging By default it is 0 unless set to another value to avoid spamming for tracker-utils 2010-08-10 Jürg Billeter <j@bitron.ch> libtracker-sparql: Use dedicated module directory 2010-08-10 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Added statistics{_async} virtual methods libtracker-bus: Implement d-bus version of statistics API tracker-stats: Reworked to use libtracker-sparql libtracker-sparql: Add D-Bus API constants 2010-08-10 Jürg Billeter <j@bitron.ch> libtracker-sparql: Only create single PluginLoader 2010-08-10 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Don't return const gchar* for escape functions 2010-08-10 Philip Van Hoof <philip@codeminded.be> libtracker-sparql: Allow Cursor.get_string to return null 2010-08-10 Jürg Billeter <j@bitron.ch> libtracker-sparql: Convert update and embedded_insert to constructors libtracker-sparql: Add Connection.get and Connection.get_direct 2010-08-10 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Added uri escape functions from libtracker-client libtracker-sparql: Added utils file for escaping mostly libtracker-sparql: Copied TrackerSparqlBuilder from libtracker-client We don't move it here because people linking with the old client still need to be able to use it. libtracker-sparql: Use GFile for import functions, not strings libtracker-sparql: Use GError for async methods in Connection abstract class libtracker-sparql: Finished basic abstract base class API These are to be implemented by direct and bus modules 2010-08-10 Jürg Billeter <j@bitron.ch> libtracker-sparql: Add async API libtracker-sparql: Rename Cursor.iter_next to Cursor.next libtracker-sparql: Remove Cursor.interrupt This was replaced by the Cancellable parameter. 2010-08-10 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Added plugin loader class Now we can dynamically load the direct access library. For now, the environment variable TRACKER_SPARQL_MODULE_PATH must be set though. The Tracker.Sparql.Lookup class is named so because .Query is already taken for now. 2010-08-10 Philip Van Hoof <philip@codeminded.be> libtracker-sparql: Add connection property to Cursor class 2010-08-09 Jürg Billeter <j@bitron.ch> libtracker-sparql: Add Sparql.Connection, use abstract classes 2010-08-09 Martyn Russell <martyn@lanedo.com> libtracker-sparql: Initial skeleton with cursor interface in vala build: Require Vala 0.9.4 for libtracker-sparql Vala 0.9.3 required for abstract async methods and 0.9.4 required for gtk-doc documentation in Vala files. 2010-08-08 Nils-Christoph Fiedler <ncfiedler@gnome.org> Updated LowGerman translation 2010-08-05 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#181421: Duplicates when monitor events processed before directory is created in store libtracker-miner: If parent being processed, wait. Revert "libtracker-miner: Improve logs" This reverts commit 1db1243f8e6daec9bd364336da68691f7e03d7c2. This log doesn't seem very useful, so will keep it only in the miner-paranoid-logs branch libtracker-miner: Print uri always instead of path, as path may not be UTF-8 libtracker-miner: Improve logs 2010-08-05 Jürg Billeter <j@bitron.ch> Release 0.9.15 libtracker-data: Increment DB version due to MTP ontology fix MTP: Fix mtp:hidden tracker-extract-gstreamer: Fix pipeline error handling Fixes NB#181112. 2010-08-05 Aleksander Morgado <aleksander@lanedo.com> Bumped version of GLib required from 2.20 to 2.24 * Needed for get notified of move events in the GFileMonitors 2010-08-05 Philip Van Hoof <philip@codeminded.be> tracker-store: Fixed regression for class-signals caused by busy-handling 2010-08-04 Philip Van Hoof <philip@codeminded.be> tracker-extract: NB#183307, Crash in quit_timeout_cb when signal_handler calls it libtracker-data: Fix progress indication for rotated journals libtracker-data: Implement progress indication for rotated journals 2010-08-03 Nils-Christoph Fiedler <ncfiedler@gnome.org> Added LowGerman translation 2010-08-03 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-08-03 Jürg Billeter <j@bitron.ch> tests/functional-tests: Allow build of busy-handling test with old vala 2010-08-03 Philip Van Hoof <philip@codeminded.be> tracker-extract: NB#172390, Tracker doesn't return any content from m3u playlists 2010-08-02 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#179570: FTS search of file extension doesn't always work * Added a new set of 'forced wordbreakers', which is just a list of Unicode characters which should act always as word separators. The fix is just adding the '.' as forced wordbreaker, so that filename.ext is always split into "filename" and "ext". 2010-08-02 Jürg Billeter <j@bitron.ch> build: Do not use obsolete --enable-unac option in distcheck 2010-08-02 Aleksander Morgado <aleksander@lanedo.com> VPATH build issues fixed 2010-08-02 Philip Van Hoof <philip@codeminded.be> tracker-store: Fixes NB#180803, Busy-handling race condition tracker-store: Removed unneeded set-active call at init tests/functional-tests: Little improvement for the busy-handling test tests/functional-tests: Added another example, one that waits instead 2010-08-02 Jürg Billeter <j@bitron.ch> SPARQL: Fix NOT IN parsing 2010-08-02 Aleksander Morgado <aleksander@lanedo.com> Possibly fixes NB#182788: segfault during opendir() * The only application-level problem that may cause this issue seems to be a wrong GFile being used when getting the path for opendir(). Thus, adding an extra reference during the g_file_enumerate_children_async() for the specific GFile being used. 2010-08-02 Gabor Kelemen <kelemeng@gnome.hu> Updated Hungarian translation 2010-07-30 Philip Van Hoof <philip@codeminded.be> tests/libtracker-data: Added IN and NOT IN unit tests libtracker-data: Support for SPARQL 1.1's NOT IN, fix for IN() libtracker-data: Support for SPARQL 1.1's IN operator 2010-07-29 Philip Van Hoof <philip@codeminded.be> Fixes NB#181538: Assume tar program is in $PATH tests/functional-tests: Added test that illustrates how to use busy-handling tracker-store, libtracker-data: Queue queries while busy 2010-07-27 Maitrey Mishra <ext-maitrey.mishra@nokia.com> First version of fts functional test cases 2010-07-26 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2010-07-23 Martyn Russell <martyn@lanedo.com> Release 0.9.14 Updated NEWS 2010-07-22 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#181538: Assume tar program is in $PATH 2010-07-22 Jürg Billeter <j@bitron.ch> SPARQL: Fix generated SQL when not retrieving actual data SPARQL: Add support for EXISTS and NOT EXISTS 2010-07-22 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: file may not have parent libtracker-db tests moved to libtracker-data 2010-07-22 Jürg Billeter <j@bitron.ch> maemo: Add contactGroup{Audio,Video,Vibration}Ringtone 2010-07-21 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#179894: Reset sqlite3 stmt if detected as expired, and retry libtracker-data: Avoid reading already disposed memory Re-fixes NB#180236: Filter not removed when going into UNAVAILABLE Fixes NB#180679: Make sure DBusGProxy is destroyed when destroying miner * It's quite a race condition, but could happen that the miner object gets fully disposed, but the DBusGProxy was still alive as there was an extra reference of it. In this case, if receiving a new message in the filter for NameOwnerChanged, we were calling g_object_get_qdata() on an already destroyed GObject. 2010-07-21 Jürg Billeter <j@bitron.ch> NAO: Set maximum cardinality of propertyName and propertyValue to 1 2010-07-20 Aleksander Morgado <aleksander@lanedo.com> libtracker-client: Fix double free, error was freed in callback tracker-miner-fs: Fix memleak in get_metadata_fast_cb() libtracker-data: Improve logging after sqlite error, before aborting 2010-07-20 Jürg Billeter <j@bitron.ch> tracker-extract: Fix crash in albumart when pixbuf cannot be created 2010-07-20 Aleksander Morgado <aleksander@lanedo.com> tracker-extract: check if user_data expected one only if proper message path and interface Fixes NB#180236, tracker-store: check if user_data expected one only if proper message path and interface 2010-07-20 Philip Van Hoof <philip@codeminded.be> libtracker-data: Remove the unused contents.db libtracker-data: Remove storing of local locale for no reason libtracker-data: Do not cope with ontology changes in read-only mode 2010-07-20 Jürg Billeter <j@bitron.ch> libtracker-data: Do not reindex in read-only mode libtracker-data: Do not fetch resource count in read-only mode libtracker-data: Replace interrupt_thread by GCancellable Merge libtracker-db into libtracker-data Update .gitignore 2010-07-20 Aleksander Morgado <aleksander@lanedo.com> libtracker-common: If error splicing, let user callback free it 2010-07-19 Aleksander Morgado <aleksander@lanedo.com> libtracker-common: Fix memory leak when receiving partial reply plus error in DBus sync call * So, we're using g_memory_output_stream_new () with a NULL destroy_function. This means we take ownership and control of the internal buffer if the GOutputStream. Then, if the SYNC DBus query results in an error, we won't pass the stream->data to upper layers, so we need to explicitly free it, or a memleak will happen. * Same issue as in commit 2891b982414900a0844265ea831df83c9dfc9895, but for SYNC method this time. libtracker-common: Better call stream_get_data() after dbus_pending_call_block() * Just in case, to avoid crash if realloc() happens with stream->data. libtracker-common: Fix memory leak when receiving partial reply plus error in DBus async call * So, we're using g_memory_output_stream_new () with a NULL destroy_function. This means we take ownership and control of the internal buffer if the GOutputStream. Then, if the async DBus query results in an error, we won't pass the stream->data to upper layers, so we need to explicitly free it, or a memleak will happen. * Could reproduce the issue easily with PDF files giving DBus-timeouts. libtracker-client: Fix memleak, unref DBusPendingCall missing in notify callback Fixes GB#624747 and NB#179434: Avoid double-free in send_and_splice_async_callback() libtracker-client: Avoid compiler warning when using FD-passing Fixed GB#624731: Don't emit signals while iterating HT Probably fixes GB#616199: Avoid second nie:title in msoffice/xml and oasis documents coverage: excluded several files in libtracker-miner which are difficult to test with unit-tests Fix leaks when not unref-ing GFileInfo libtracker-db, journal: Just in case, check if block was allocated libtracker-db, journal: Remove duplicated assert libtracker-db, journal: Remove unreachable code 2010-07-18 Jessica <bancage@gmail.com> Update Simplified Chinese translation. 2010-07-18 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-07-17 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-07-16 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: Fix memleak in item_move() libtracker-miner, storage: Fix memleak, GUnixMountEntry was not being disposed 2010-07-16 Martyn Russell <martyn@lanedo.com> Release 0.9.13 Updated NEWS 2010-07-16 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: minor style fixes libtracker-miner, miner-fs: Avoid querying with fn:starts-with if not needed * So, if miner-fs knows that it created one of the dummy nfo:Folders without a specific parent (when initializing mounts), it will notify about that created nfo:Folder to the underlying TrackerMinerFS, so that it takes it into account when regenerating mtime and IRI caches. This avoids querying the store with fn:starts-with for all empty folders, so that query is only done if the parent in the query is exactly one of the parents of the previously created directories without parent. * For example, if we got a mount in /home/user/whatever, we need to create the nfo:Folder of that /home/user/whatever before creating the tracker:Volume. When we do so, we do not set the proper parent (nfo:belongsToContainer) in the newly created nfo:Folder, because we still don't know it. But in this case we will tell the TrackerMinerFS that we got a new directory without parent. MinerFS will store the parent of this directory without parent, /home/user in this case; so that when regenerating caches, if first query using nfo:belongsToContainer yields no results; and if the uri used in nfo:belongsToContainer corresponds exactly to one of the GFiles we stored in the internal list, then we do a second query using the given uri (/home/user) as filter in fn:starts-with. This will avoid duplicates in the store for the /home/user/whatever folder, as we properly populated the IRI cache. Fixes GB#624346, libtracker-miner: Proper tracker:mountPoint set for volumes * Before creating a tracker:Volume, we will first check that the specified tracker:mountPoint exists in the store. If it does not exist, we will create a dummy nfo:Folder for that mount point. But, in order to get it populated with the proper information when crawling it, we need to hack the mtime and iri caches, so that if cache is empty after querying the store with nfo:belongsToContainer; we do a second query using a FILTER with fn:start-with(uri). The dummy nfo:Folder we're inserting won't have initially the proper nfo:belongsToContainer property, that's why we need this hack. tracker-miner-fs: Unix time origin not good as dummy time... ... because the directories where removable media is mounted, may actually have mtime=0. So better use a random mtime value in the past. tracker-miner-fs: Create dummy nfo:Folder for mountpoint if needed tracker-miner-files: Make initial volume query synchronous, and check if mount point exists in store libtracker-miner: New tracker_miner_execute_sparql_sync() API method libtracker-miner: New tracker_miner_fs_query_urn() API method libtracker-miner: Fix alignment and some missing semicolons tracker-miner-fs: Improve logs 2010-07-16 Philip Van Hoof <philip@codeminded.be> libtracker-data: Set default journal-chunk size to 50MB 2010-07-16 Jürg Billeter <j@bitron.ch> tracker-store: Fix journal rotating support Revert "Require GLib 2.24 for GZlibDecompressor" This reverts commit 426b1443ef9b5e4ab6428095351a243358fccccb. 2010-07-16 Philip Van Hoof <philip@codeminded.be> libtracker-db: Keep it possible to compile with GLib 2.22 Disable journal rotating when GLib not recent enough 2010-07-16 Jürg Billeter <j@bitron.ch> libtracker-db: Fix critical on journal reader shutdown libtracker-db: Fix critical when removing all database files libtracker-db: Drop duplicate code libtracker-db: Various fixes to journal rotation and compression Use .1 for first rotated journal. Work around GLib flush bug when using G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET. libtracker-db: Compress on journal rotation libtracker-db: Rotate all inactive journal files libtracker-db: Support reading compressed journals 2010-07-16 Philip Van Hoof <philip@codeminded.be> libtracker-db: Support for moving rotated chunks to another location libtracker-data, libtracker-db: Reimplement Backup() and Restore() to use tar The original implementation of Backup() and Restore() used a simple file copy of the journal. When we have rotated journals we of course can't use only the active journal for Backup(). And for Restore() we want to put the rotation state back the way it was when the backup was made too. So the best option I could come up with was to use a simple tar. libtracker-db, libtracker-data: Support for journal rotation Revert "libtracker-db, journal: remove trailing whitespaces" This reverts commit 25c6701a6a97a8b6acb05db99cc9e3533c37084c. Revert "libtracker-db, journal: Remove unreachable code" This reverts commit 267f28ac48b4410fdfa4561c38cbe891271d2066. NMM: NB#179559, Added domainIndex on nie:title for nmm:MusicPiece tests/libtracker-data: Make distcheck work tests/libtracker-data: Split ontology and ontology change tests tests/libtracker-data: Added some more domainIndex tests libtracker-data: Test for domainIndex already being a first-class property tests/libtracker-data: Allow tests inbetween ontology change phases Adapt test-4 to do something relevant to domain indexes tests/libtracker-data: Added unit test for ontology change coping for domain indexes libtracker-data: Fixed deleting a tracker:domainIndex The normal columns where not being recreated after deleting a tracker:domainIndex from a class. libtracker-data: Merge fix libtracker-data: Fixed a bug in support for domain specific indexes libtracker-data: Guard against null for domain specific index support libtracker-data: Add support for domain specific indexes to the SPARQL engine libtracker-data: Adapt the introspection of the ontology on domainIndex deletion libtracker-data: Fix coping with deletion of tracker:domainIndex Still TODO is updating the introspection too libtracker-data: Disallow multi-value properties for domain specific indexes libtracker-data: Support for deleting a tracker:domainIndex from ontology libtracker-data: Only write to the domain-index class if the resource is one of them libtracker-data: Also write to the domain class' table in case of domain specific index libtracker-data: Added debugging output libtracker-data: Copy data from source to domain-index mirror column libtracker-data: Altering the tables for domain-specific indices libtracker-data: Added tracker:domainIndex property In this commit the tracker:domainIndex property has no function yet. It'll be implemented to represent a setting that will make the storage redundantly store a property in the table of its domain, in order to allow placing an index on the column for that table. For example nmm:MusicPiece has a domain-index on nie:title. This will make it store a redundent copy of nie:title in nmm:MusicPiece's SQL table, while also having a copy in nie:InformationElement's table. The advantage is a less complex query and the possibility to set an index on the redundant column in nmm:MusicPiece's table. 2010-07-15 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky 2010-07-15 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#624071, t-s-t: Query results is always a 2 dimensional array. * So when query returns no results, 'results' will be not NULL, but results[0] will be NULL. We need to check for this latter case as well before using the results array or we end up reading garbage. 2010-07-14 Aleksander Morgado <aleksander@lanedo.com> libtracker-fts: Helper log better after NEAR-related fixes libtracker-fts: Avoid segfault when using the NEAR/N operator in FTS libtracker-fts: Fix NEAR/XX operator with more than 2 digits libtracker-fts: useful debugging log included, disabled by default Fixes NB#179798: Wrong detection of ignored directory as a directory Fixes NB#176090, libtracker-miner: Don't use same parent GFile for both mtime and iri caches * If the same GFile parent is used to check if cache corresponds to that given parent GFile, it may happen that while ensuring mtime cache, parent is updated but IRI cache is untouched, so that when a new file is inserted the parent of the IRI cache is no longer the one in the parent GFile. Instead of cleaning both caches when the common parent changes, it seems better to have a specific parent for each one. libtracker-miner: Improving logs libtracker-miner: sparql_query_cb() called now item_query_exists_cb() libtracker-miner: Improve logging when found duplicates for a given uri 2010-07-13 Mario Blättermann <mariobl@gnome.org> [i18n] Updated German translation 2010-07-12 Aleksander Morgado <aleksander@lanedo.com> libtracker-data: abort if getting max ID fails 2010-07-12 Philip Van Hoof <philip@codeminded.be> libtracker-data: NB#178599, extra checks for finding the problem 2010-07-12 Aleksander Morgado <aleksander@lanedo.com> tracker-extract, pdf: Avoid possible NULL dereference Fixes NB#178825: New --feeds option in tracker-search to look for feeds libtracker-fts: Avoid possible NULL dereference tracker-extract, msoffice-xml: Avoid possible NULL dereference libtracker-miner tests: Avoid unused variable warning Fixes NB#178808: Default verbosity should be errors-only in tracker-store 2010-07-12 Nicolau Gonçalves <excentriko@gmail.com> Updated Portuguese translation Updated Portuguese translation 2010-07-11 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky 2010-07-09 Jürg Billeter <j@bitron.ch> libtracker-client: Fix double free in error handling Do not free error received in callback. Fixes NB#174590: NCO: Remove cardinality restriction in nco:title 2010-07-08 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-fs: Use 60s as default DBus timeout for requests to extractor tracker-extract: avoid warnings when compiling C++ code with C-only warning flags Fixes GB#623836: Avoid crashing if table of pieces is empty in the msword file 2010-07-08 Martyn Russell <martyn@lanedo.com> Release 0.9.12 Updated NEWS 2010-07-08 Aleksander Morgado <aleksander@lanedo.com> libtracker-client: Fix srcdir vs builddir issue for a proper make distcheck tracker-store: proper avoiding of NULL dereference in ptr Revert "tracker-store: avoid NULL dereference in ptr" This reverts commit fe247b2577e7d4fd1b41a1ef43bbded2d0e6a576. (Broke path for ptr && error) libtracker-miner, storage: if mount without volume, don't rely on is_blank libtracker-miner, storage: improve logging 2010-07-08 Martyn Russell <martyn@lanedo.com> Merge branch 'drop-inotify' 2010-07-08 Adrien Bustany <abustany@gnome.org> libtracker-client: Fix object_date proto in vapi 2010-07-08 Aleksander Morgado <aleksander@lanedo.com> configure: remove libinotify makefile compilation libtracker-miner: don't use default case in switch libtracker-miner: remove methods from monitor API tracker-monitor-tests: minor style changes libtracker-miner: Removed scan-timeout and cache-timeout as not used in GIO-based monitors tracker-monitor-tests: New directory event unit tests libtracker-miner: Add back recursively monitor removal that I lost somewhere libtracker-miner: when received event for directory, notify previous ones libtracker-miner: Handle MOVE(A->B)+DELETE(A) = DELETE(A)+MOVE(A->B) = MOVE(A->B) tracker-monitor-tests: New directory-move unit test after file update libtracker-miner: Remove events timeout source when finalizing the TrackerMonitor tracker-monitor-tests: Added new test for the MOVE+DELETE issue with GIO tracker-monitor-tests: test the directory move with files inside tracker-monitor-tests: New directory event tests (create and move_to_monitored) tracker-monitor-tests: Full refactor the tests * Split the single file-events tests into one test per event to test * Setup and teardown methods created for the file-event tests * Order of tests doesn't affect the execution of the next ones, they are completely independent * TESTPATH based execution (-p) now works so that single-event tests can be executed bump glib requirement to 2.24 Fully remove inotify stuff tracker-monitor-test: Check expected and unexpected signals in each operation libtracker-miner, GIO monitors: comment for the CHANGES_DONE_HINT signal libtracker-miner tests: Added helper logs in monitor tester libtracker-miner tests: remove trailing whitespaces in monitor tests libtracker-miner: Fix item-changed signal when using GIO tracker-monitor-test: Proper file name libtracker-miner tests: re-enable tracker-monitor-test libtracker-fts: Avoid unneeded check, rc is always SQLITE_OK tracker-extract-mp3: avoid deadcode, bitrate will always be greater than 0 tracker-extract: Avoid unreachable code when not using libstreamanalyzer tracker-store: avoid NULL dereference in ptr tracker-extract-pdf: check if document returned before dereferencing it libtracker-fts: initialize all buffers before using them libtracker-db, journal: Remove unreachable code libtracker-db, journal: remove trailing whitespaces libtracker-common tests: Avoid unused variable warnings libtracker-common tests: proper file indentation libtracker-miner tests: Avoid unused variable warnings libtracker-miner tests: proper file indentation libtracker-miner tests: proper file indentation libtracker-miner tests: Avoid unused variable warning tracker-writeback: Avoid unused variable warning tracker-store: Avoid unused variable warning 2010-07-07 Martyn Russell <martyn@lanedo.com> tracker-extract: Small whitespace changes libtracker-common: Fixed memory leak in splice data struct cleanup libtracker-common: Check more parameters and make g_return* asserts clearer libtracker-common: Rename callback, prefix DBus in name 2010-07-07 Adrien Bustany <abustany@gnome.org> Don't free iterator in steroids test The iterator is freed by libtracker-client libtracker-miner: don't free TrackerResultIterator The iterator belongs to libtracker-client libtracker-client: Fix TrackerResultIterator ownership TrackerResultIterator when passed in callback does belong to the lib, and is therefore freed by it. libtracker-client: use tracker_dbus_send_and_splice FS miner: use the GetMetadataFast of tracker-extract tracker-extract: Add a GetMetadataFast method The GetMetadataFast method uses DBus FD passing to transfer the resulting SPARQL query. The client passes a FD when calling the method, and the resulting queries will be written to that FD. libtracker-common: Add "send and splice" The tracker_dbus_send_and_splice function sends a DBusMessage, splices from a file descriptor and then blocks on the reply of the message. 2010-07-07 Philip Van Hoof <philip@codeminded.be> libtracker-db: Silence compiler for a no-problem compilation warning tracker-store: Silence compiler for no-problem warnings 2010-07-07 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: avoid dead code in mount_guess_content_type() 2010-07-07 Adrien Bustany <abustany@gnome.org> libtracker-client: mark graph as nullable in vapi This commit fixes the prototypes of the SparqlBuilder functions insert_open and delete_open, marking the graph parameter as nullable. 2010-07-07 Aleksander Morgado <aleksander@lanedo.com> libtracker-fts tests: Remove unused variable 2010-07-06 Martyn Russell <martyn@lanedo.com> Merge branch 'dbus-performance' 2010-07-05 Jürg Billeter <j@bitron.ch> build: Drop unused PKGLIBDIR defines 2010-07-05 Mario Blättermann <mariobl@gnome.org> [i18n] Updated German translation [i18n] Updated German translation 2010-07-04 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-07-02 Jürg Billeter <j@bitron.ch> libtracker-common: Always set last_time in D-Bus client data tracker-store: Fix crash when not building with glibc 2010-07-01 Martyn Russell <martyn@lanedo.com> Release 0.9.11 Updated NEWS Fixes: GB#622702 - 0.8.13 does not build with gio 2.22 anymore Bumped version of GLib required from 2.20 to 2.24 This is due to commit d0f60bf212624de4aa41a01ab6d5cd7257e5ea50 Unfortunately, this could not be reverted because other code has been applied on top of it. For now, the easiest thing to do is to bump the GLib version. Version 2.24 should be quite available now. 2010-07-01 amit <amit@esdhcp035176.research.nokia.com> function-tests : added mass storage mode test cases 2010-07-01 Martyn Russell <martyn@lanedo.com> Merge branch 'cpuaffinity' tracker-store: Protect non-portable GNU functions from compilation error 2010-07-01 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#177447: Remove the 'error' signal from TrackerMiner object * The 'error' signal in TrackerMiner object was setup to return a gpointer via dbus, which glib-dbus didn't like, and thus it was dumping a critical message: g_string_append: assertion `val != NULL' failed * That 'error' signal was actually nowhere used... libtracker-miner: Fix potential invalid read error 2010-07-01 Jürg Billeter <j@bitron.ch> tracker-store: Avoid CPU hopping of main threads This improves update performance on SMP systems. 2010-07-01 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: small alignment fixes Fixes GB#623203: Fix segfault when guessing content type in mounts without path 2010-07-01 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-06-30 Aleksander Morgado <aleksander@lanedo.com> tracker-store: always reset interrupt before any query/update 2010-06-30 Adrien Bustany <abustany@gnome.org> Fix compilation of FS miner if both upower and hal are disabled Compilation was previously broken because miner_finished_cb would be ifedf'ed out in that case 2010-06-30 Jürg Billeter <j@bitron.ch> tracker-store: Reuse string chunk during event handling tracker-store: Drop GArray use for change events tracker-store: Use hash tables to check for event duplicates tracker-store: Improve memory allocation for change events tracker-store: Use more reasonable chunk size for event subjects 2010-06-30 Aleksander Morgado <aleksander@lanedo.com> Added -Wno-portability to AM_INIT_AUTOMAKE * This option is already used in the gnome-autogen.sh, so there shouldn't be any problem in adding it also in our automake initialization. This change will avoid portability warnings when re-compiling the project after some Makefile.am changes (the option from gnome-autogen.sh only applies to the first bootstrap). 2010-06-30 Adrien Bustany <abustany@gnome.org> Update vala bindings for libtracker-client This commit adds bindings for the new function tracker_resources_sparql_query_iterate, its async version and the callback TrackerReplyIterator. The functions are available in the vapi in any case (even if DBus FD passing is not compiled in). 2010-06-29 Carlos Garnacho <carlosg@gnome.org> Plug leaks in GStreamer extractor on pipeline creation errors. Plug leak in JPEG extractor. Plug leaks in MSOffice extractor. Plug leaks in PDF extractor. Plug leaks in XMP extractor. 2010-06-29 Jürg Billeter <j@bitron.ch> tracker-steroids: Fix batch updates 2010-06-29 Carlos Garnacho <carlosg@gnome.org> Bug 622734 - too many open files error / possible file descriptor leak Free up resources on GStreamer error. 2010-06-29 Martyn Russell <martyn@lanedo.com> tracker-control: Fixed typo in --help 2010-06-29 Philip Van Hoof <philip@codeminded.be> libtracker-client: Fixed compilation warnings tracker-preferences: Fixed compilation warnings tests/tracker-steroids: Fixed compilation warnings libtracker-data: Non-existing define used for FTS support 2010-06-28 Carlos Garnacho <carlosg@gnome.org> TrackerMinerApplications: Use TrackerMinerFS caches. TrackerMinerApplications now provides info for the applications directories, so mtime and iri caches work for the contained files. This makes non-first applications indexing almost instant. TrackerMinerApplications: Fix typo. The wrong urn was being set for some properties in .directory files. TrackerMinerFS: Take into account first crawl directories when generating mtime cache. g_file_get_parent() will return non-NULL for most of these, so 2 queries were performed on crawl dirs. 2010-06-28 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-06-28 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#174202 and NB#176932: A file with 'video/x-ms-asf' mimetype may actually be audio-only. 2010-06-27 Mattias Põldaru <mahfiaz gmail com> [l10n] Updated Estonian translation 2010-06-27 Mario Blättermann <mariobl@gnome.org> [i18n] Updated German translation 2010-06-26 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation Updated Spanish translation 2010-06-25 Aleksander Morgado <aleksander@lanedo.com> Update Authors t-s-b, t-s-i: Update copyright year to 2010 Fixes GB#616809: t-s-t shows Author as urn:uuid: in metadata bar t-s-t: remove trailing whitespaces 2010-06-25 Carlos Garnacho <carlosg@gnome.org> Evolution: Don't fail to add mails with spaces in the folder name. 2010-06-25 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#511474: Remove the option to index remote mounted directories 2010-06-25 Martyn Russell <martyn@lanedo.com> Updated .gitignore for .tar.gz Bumped d-bus requirement to 1.3.1 from 1.3.0 for fd passing In testing, we found support for DBUS_TYPE_UNIX_FD didn't work so well. 2010-06-24 Martyn Russell <martyn@lanedo.com> Release 0.9.10 Small update to NEWS Updated NEWS 2010-06-24 Adrien Bustany <abustany@gnome.org> Flicr miner: fix vala package dependency This commit changes the name of the librest package from rest to rest-0.6, as this changed in recent vala versions. 2010-06-24 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-fs: if no mount point change needed, initialize stale removal tracker-miner-fs: minor refactor Fixes GB#621070: Re-enable volume cleanup * By default, all resources from volumes (removable or optical) which were NOT mounted in the last 3 days will be removed from the store when doing the stale volume check. * Stale volume check is done when tracker-miner-fs starts, and then scheduled to be done once a day. tracker-miner-fs: remove old volume cleanup libtracker-data: Support disabling FTS libtracker-db: Support disabling FTS libtracker-db: only link to libtracker-fts when FTS enabled libtracker-common: if FTS disabled, don't compile language support FTS: if disabled, don't compile libtracker-fts or libstemmer tracker-search: When FTS disabled, don't use fts:match and don't check for stopwords tracker-store: Don't explicitly link to libstemmer FTS tests: only run if FTS enabled tracker-db-journal tests: don't need libtracker-fts FTS: New --enable-tracker-fts configure option 2010-06-24 Carlos Garnacho <carlosg@gnome.org> Bug 620828 - returns no e-mail results Make tracker-search-tool search e-mails as well, the information provided is a bit basic at the moment. 2010-06-24 Aleksander Morgado <aleksander@lanedo.com> libtracker-client: pass proper callback user data libtracker-client: remove trailing whitespaces 2010-06-24 Jürg Billeter <j@bitron.ch> libtracker-data: Add test for triple block following simple optional SPARQL: Fix generated SQL for triple block following simple optional 2010-06-24 Vincent Untz <vuntz@gnome.org> Fixes GB#621987, Correctly handle applications in results Improves Application category support in tracker-search-tool 2010-06-24 Tshepang Lekhonkhobe <tshepang@gmail.com> fixes GB#620354 make TST history persistent 2010-06-24 Martyn Russell <martyn@lanedo.com> Fixes GB#620362, mp3 extraction crashes if year string is NULL before using atoi() with libenca enabled This was first reported to Red Hat's Bugzilla (#596764) 2010-06-23 Carlos Garnacho <carlosg@gnome.org> Fix typo. Wrong user_data was being passed, making things crash in the async response. 2010-06-23 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: minor style changes Fixes NB#175723: Avoid duplicates if several monitor events arrive together and store is slow * If a given file is being currently processed (in the processing_pool), a new event on the same file must not be launched. Instead, the event is put back to the original queue and QUEUE_WAIT returned. 2010-06-23 Martyn Russell <martyn@lanedo.com> Merge branch 'dbus-fd-experiment' 2010-06-23 Carlos Garnacho <carlosg@gnome.org> TrackerMinerFiles: Force recheck on IgnoredFiles changes. This was working before commit 063355f410 because recheck was issued inconditionally. TrackerMinerFS: Plug a leak. 2010-06-23 Jürg Billeter <j@bitron.ch> Update .gitignore tracker-store: Fix verbosity and contents of debug message tracker-store: Fix update stream leak This also drops unnecessary double buffering. 2010-06-23 Carlos Garnacho <carlosg@gnome.org> Indentation fixes. doh! Bug 619868 - don't recheck all monitored directories needlessly All string (not dir) lists in the config would call tracker_keyfile_object_load_string_list() with NULL return_instead, so g_object_set()/g_object_notify() were inconditionally called. Check for list equality before notifying the property change. 2010-06-23 Jürg Billeter <j@bitron.ch> tracker-steroids: Fix memory leaks in tests libtracker-client: Restore API compatibility for updates In libtracker-client the callbacks are responsible for freeing the results. This is unusual, however, we have to keep it that way to not break API compatibility. libtracker-client: Fix DBusPendingCall leak when canceling call tracker-store: Fix update query leak 2010-06-23 Carlos Garnacho <carlosg@gnome.org> Bug 620486 - Ignored files can still be found after changing tracker-miner-fs.cfg Put items in deleted queue if they're in the store and check-[file|directory] returns FALSE. Bug 621547 - inconsistent messages on hard-reset Now all file removal messages have the same format. 2010-06-23 Martyn Russell <martyn@lanedo.com> libtracker-client: Fixed warning for for tracker_result_iterator_next() Was using g_return_if_fail() with no return value where one is expected libtracker-client: Fixed test case failures Fixed a number of issues doing this: - Created a _new() and _free() function for FastAsyncData to clearly see what gets allocated and freed and do it consistently. There were areas which were not being freed correctly in error conditions. - Don't use g_assert(), we shouldn't be doing this in a library. - Don't free returned memory in test case, keeps consistency with dbus-glib-1 APIs - Grouped code in functions more logically (like setting all iterator members together) 2010-06-22 Martyn Russell <martyn@lanedo.com> libtracker-client/tracker-store: Use same endian'ness Fixes a crash only seen in some cases libtracker-client: Don't check for NULL before calling g_free() 2010-06-22 Jürg Billeter <j@bitron.ch> libtracker-client: Drop tracker_result_iterator_has_next Merged into tracker_result_iterator_next to simplify API. 2010-06-22 Martyn Russell <martyn@lanedo.com> tracker-store: Fixed call to tracker_db_cursor_get_string() which has changed libtracker-client: Re-organise fast_async_callback_iterator() - Set up iterator members all together - Handle memory clean up in one place at the end of the func - Rename this function for consistency with other callback funcs libtracker-client: Minor documentation fixes libtracker-client: Added FIXMEs for areas that need improving - Some places don't make sense so I added FIXMEs there to ask Adrien when he is next available - Cleaned up duplicate statement - Call g_slice_new() directly on struct member instead of assigning to an otherwise unused parameter tracker-store: Improved logging for incorrect d-bus message signatures Include the *expected* signature tracker-store: Improve logging for query/update with steroids - Don't create ClientInfo memory until we have all the details to do so and are sure there are no errors with the incoming d-bus message. - Log all failure conditions in query/update tracker-store: Fixed warning about TrackerSteroidsPrivate Removed unused private and finalize code tracker-store: Make sure ALL requests increment the request_id Don't filter erroneous requests, it is important to log and know about broken incoming requests so they can be fixed tracker-store: Cleaned up steroids tracker-store: Use DBUS_ERROR_UNKNOWN_METHOD not our own version - We redefined this as another symbol - We shouldn't be using DBUS_ namespace for any of our symbols 2010-06-22 Adrien Bustany <abustany@gnome.org> libtracker-client: Unspaghetize tracker_cancel_call Fix compilation in tracker.c Steroids client: Do not leak in fast_async_callback_iterator 2010-06-22 Martyn Russell <martyn@lanedo.com> libtracker-client: Fixed more whitespace issues caused by my broken emacs config libtracker-client: Fixed some memory leaks and DBUS service definitions libtracker-client: Code cleanup - phase 2 - Added g_return_*() for main APIs - Removed duplicate g_return*() in both #ifdef cases - Fixed whitespace issues - Merged _compat functions into main functions for clarity libtracker-client: Reworked PendingData to split it properly between fast/slow 2010-06-22 Adrien Bustany <abustany@gnome.org> Add steroids constants in libtracker-client Add tests for async steroids functions Steroids client: remove the query field from FastAsyncData this field could be replaced by a parameter to sparql_query_fast_update, improving readability. 2010-06-22 Martyn Russell <martyn@lanedo.com> Steroids-client: Code cleanup, phase 1 - examples/ and libtracker-client/ 2010-06-22 Adrien Bustany <abustany@gnome.org> Steroids client: keep a ref on client while in async Steroids client: Do not unref dbus call twice when cancelling Steroids client: Use gboolean instead char for bools This commit changes the "fast" member of PendingCallData and FastPendingCall data to be of type gboolean, which is more "semantically" correct for the way we use it. Steroids client: don't run callback if call was cancelled Properly handle call cancelling with FD passing Steroids: drop RC codes and rely on pipe closing 2010-06-22 Philip Van Hoof <philip@codeminded.be> squash libtracker-client, tracker-store: Handling D-Bus errors right 2010-06-22 Jürg Billeter <j@bitron.ch> libtracker-client: Avoid duplicate code for D-Bus calls libtracker-client: Also use buffered output stream for async calls libtracker-client: Do not expose fast versions as separate API This currently breaks the update benchmark as the client cannot disable FD passing anymore. tracker-store: Remove unused TRACKER_STEROIDS_RC_LARGEROW libtracker-client: Remove unused TRACKER_STEROIDS_RC_LARGEROW tracker-store: Remove unused TRACKER_STEROIDS_EOP libtracker-client: s/marshall/marshal/ tracker-store: s/unmarshall/unmarshal/ 2010-06-22 Adrien Bustany <abustany@gnome.org> Steroids server: Add missing loop_error check libtracker-client: Add steroids fallbacks for DBus 1.2 Steroids server: Fix leak in query_inthread The GUnixOutputStream created in query_inthread would be leaked. Remove useless field "clients" from TrackerSteroidsPrivate configure: Don't fail if DBus 1.3 is not available Steroids server: Remove useless fields in ClientInfo Steroids server: Remove extra close calls This commit removes some useless close calls, that would trigger warnings in tracker-store's log. FD are automatically closed when GIO's UNIX streams are finalized. Port libtracker-miner and FS miner to steroids Add tests for Tracker Steroids This commit adds test for all the functions introduced in tracker-store and libtracker-client to handle the new Steroids interface. Coverage has been verified using gcov. Add Steroids example client This commit adds a steroids-sparql program. This program shows how to use the tracker_resources_sparql_query_iterate function to do a query and fetch the results. It does exactly the same thing as tracker-sparql -q. libtracker-client: Add Steroids support This commit add several function in libtracker-client to exploit the new Steroids interface. The main function is tracker_resources_sparql_query_iterate, which will return a TrackerResultIterator. This iterator can then be used to iterate over the results using the tracker_result_iterator_* functions. Note that iteration is not done on DB side, all results are first fetch into a buffer on client side. This is because keeping an iterator on server side would block access to other clients, SQLite not being MVCC. Add Tracker Steroids interface The Steroids interface uses a local pipe to transfer query results, instead of sending them over DBus. To do so, it uses a new feature in DBus 1.3 which allows passing UNIX file descriptors in messages. This commit introduces a new DBus object exported on the store at path /org/freedesktop/Tracker1/Steroids. Methods are in the interface org.freedesktop.Tracker1.Steroids. The DBus interface is composed of two methods: PrepareQuery <- SPARQL query -> UNIX file descriptors where results will be written -> Query identifier The PrepareQuery call initiates a query in Tracker. The query is not really prepared, in the sense that a PrepareQuery with an erroneous query will succeed. It's the Fetch call which will fail in that case. The returned query identifier can be used to initiate the Fetch. Fetch <- Query identifier The Fetch call executes the query with the given identifier, and returns the results over the pipe returned by PrepareQuery. Note that while results are being fetched, a DB cursor is left open, blocking other concurrent INSERTs. It is therefore important to fetch the results and free the iterator as fast as possible. 2010-06-22 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#622351: Wrong initial detection of mounted state of the root partition Fixes NB#170915: tracker-search for snippet is resulting in errors 2010-06-21 Aleksander Morgado <aleksander@lanedo.com> Fixes NB#175957: Properly setup non-removable mounts at startup 2010-06-21 Carlos Garnacho <carlosg@gnome.org> Bug NB#175712 - tracker is listing the files under Ignore directories. Make ignored-directories property also go through path expansion, since directories there could be $HOME prefixed. This is also bug #621568. 2010-06-18 Philip Van Hoof <philip@codeminded.be> tests/libtracker-data: Added unit test for a regression that we had NFO: After careful measuring we noticed that this index isn't faster The index for nfo:belongsToContainer was not faster while testing with the Linux source code directory. We did several runs to avoid hot vs. cold cache measurement differences. We also tried removing the index on nfo:fileLastModified but this didn't result in a significant difference (so we're leaving that index for now). 2010-06-18 Jürg Billeter <j@bitron.ch> Revert "libtracker-data: Fixes NB#174591, Throw error on undefined variable in expressions" This reverts commit ff52af3dc6b72350f08f034d6e4245a6c54221b2. This broke queries that used SELECT variables in ORDERY BY clauses. 2010-06-18 Adrien Bustany <abustany@gnome.org> Remote stale file tracker-miner-0.7.deps 2010-06-17 Carlos Garnacho <carlosg@gnome.org> tracker-status-icon: show missing menu items. There was a show_all() call that got removed, some widgets relied on it... 2010-06-17 Martyn Russell <martyn@lanedo.com> Release 0.9.9 Bump database version Updated NEWS 2010-06-17 Aleksander Morgado <aleksander@lanedo.com> Merge remote branch 'origin/removable-opticals' 2010-06-17 Martyn Russell <martyn@lanedo.com> NMO: Fixed Ivan's commit by updating lastChanged change in commit ded355 2010-06-17 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: New helper macros to work with storage types * TRACKER_STORAGE_TYPE_IS_REMOVABLE * TRACKER_STORAGE_TYPE_IS_OPTICAL libtracker-miner: Update explanation of the tracker_miner_fs_directory_remove_full() method ...to indicate that the indexed contents are removed recursively also from the store. Fixes GB#621108: Update available resources when IndexRemovableMedia or IndexOpticalDiscs changes tracker-miner-fs: during startup, remove resources based on removable/optical config * If IndexRemovableMedia=false at startup, delete all resources in the store where the nie:dataSource of the resource is a removable Volume. * If IndexOpticalMedia=false at startup, delete all resources in the store where the nie:dataSource of the resource is an optical Volume. tracker-miner-fs: Set proper volume types when adding new volumes libtracker-miner: New tracker_storage_get_type_for_uuid API method Ontology: new tracker:isRemovable and tracker:isOptical properties Fixes GB#621110: Remove resources from store if directory no longer indexed after conf change Fixes GB#621015: Index removable media when miner-fs starts and configured to do so 2010-06-17 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Indentation fixes 2010-06-16 Martyn Russell <martyn@lanedo.com> Fixes NB#174333 - Each file is listed twice in tracker search results Unset parent folder so caches are regenerated. The issue was due to priv->current_folder being reused for both mtime cache (for crawling stage) and iri cache (for indexing stage). So when recrawling, the miner changes current_folder without invalidating the iri cache, so there could be a mismatch when it enters the indexing stage again. 2010-06-16 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-fs: Fix compilation when no upower and no hal 2010-06-16 Carlos Garnacho <carlosg@gnome.org> Bug 621547 - inconsistent messages on hard-reset Make message about storage files deletion more generic. 2010-06-16 Jürg Billeter <j@bitron.ch> libtracker-db: Do not keep unnecessary copy of SQL of cached statements libtracker-{db,data}: Support storing and retrieving 64-bit integers Fixes NB#174162. 2010-06-15 Aleksander Morgado <aleksander@lanedo.com> configure: Fix report messages when disabling miners 2010-06-15 Carlos Garnacho <carlosg@gnome.org> TrackerStatusIcon: Query initial state for active miners. 2010-06-15 Ivan Frade <ivan.frade@nokia.com> NCO: remove cardinality restrictions on nco:hasAffiliation 2010-06-15 Carlos Garnacho <carlosg@gnome.org> Bug 621126 - Status icon's progress bars should be at 0% on init Hide progress bar/label for non-initialized miners on startup, also set initial progress to 0% so there are no glitches. Bug 620094 - tracker-status-icon shows "search" menu item even though t-s-t is not installed. Locate application in path before showing the menu items. 2010-06-15 Martyn Russell <martyn@lanedo.com> Merge branch 'drop-unac' 2010-06-15 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#619244: Use a custom unaccenting method instead of libunac * Notes: Output strings are now always normalized using compatibility decomposition (NFKD). This actually is the best normalization type for text search. * If unaccenting requested, all combining diacritical marks are removed from the string. * This new method avoids extra conversion to UTF-16, and does mark removal in-place without any extra allocation. * libunac dependency is completely removed. 2010-06-15 Adrien Bustany <abustany@gnome.org> libtracker-db: Add a "length" parameter to tracker_db_cursor_string This commit adds a "length" parameter to tracker_db_cursor_string, so that the client can know the length of the string, without needing to call strlen. The function internally used to obtain the length can be faster than strlen. This commit also port existing components to the new prototype. 2010-06-15 Jürg Billeter <j@bitron.ch> libtracker-db: Simplify DB abstraction We do not need support for runtime pluggable DB backends. This reduces maintenance (and performance) costs. NMO: Fix syntax error 2010-06-15 Philip Van Hoof <philip@codeminded.be> libtracker-data: Fixes NB#174591, Throw error on undefined variable in expressions 2010-06-15 Martyn Russell <martyn@lanedo.com> Merge branch 'mounts-without-volumes' libtracker-miner: Added some comments to the content guessing code() - Added information about WHERE we got the code from - GIO - Added reasoning for why we have the is_multimedia check 2010-06-15 Ivan Frade <ivan.frade@nokia.com> Fixes NB#173673, SMS validity period property needed in nmo ontology 2010-06-15 Aleksander Morgado <aleksander@lanedo.com> libtracker-miner: support GMounts without GVolume in mount_guess_content_type() libtracker-miner, miner-fs: remove trailing whitespaces 2010-06-15 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed broken is_optical detection Previously we used content type guessing, this isn't full proof as I discovered during testing this branch. Now we use the same method GIO uses by looking at the filesystem type/device/mount point (in that order). Seems to work for all the formats tested here for me: - Compaq flash (EOS Canon card) - USB stick - CD (audio) - CD (game) - DVD (movie) - MMC (SD) - USB hard disk libtracker-miner: Cleaned up logging Be a bit more consistent and don't duplicate log data in places 2010-06-15 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-fs: check for first index run no longer needed in mount_added_cb libtracker-miner: minor indentation fixes libtracker-miner: don't consider shadowed GMounts libtracker-miner: avoid checking if removed files without mtime in the store libtracker-miner: minor indentation fixes libtracker-miner: Support crawl directories with NULL parent Fixes GB#621183: When mounting volume 2nd time, inotify watches don't work any more * src/libtracker-miner/tracker-miner-fs.c: Make sure all monitors are removed when a directory is no longer watched. * src/miners/fs/tracker-miner-files.c: Make sure directory is no longer watched when unmounting (in case we didn't get a pre-unmount signal) libtracker-miner: Consider mounts inside recursively indexed locations * Also, don't add a location to re-check if already there or if a parent location to be recursively indexed is also there. tracker-miner-fs: small indentation fix libtracker-miner: Only re-check directories affected by the new mount point 2010-06-15 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Queue deleted items instead of removing in a tight loop. 2010-06-15 Aleksander Morgado <aleksander@lanedo.com> tracker-miner-fs: Only check if exist those files which didn't have mtime check Fixes GB#621112: Resources not deleted from store when files removed from removable media * As soon as mtime cache is updated with the contents of a given directory, check if any element in the mtime cache no longer exists in the FS, and remove it from the store if so. tracker-miner-fs: only force recheck if mounted path contains one indexed location libtracker-miner: properly detect removable media Fixes GB#621001: don't allow whitespaces in UUIDs * Using MD5 of the mount name for the UUID of optical media * Using MD5 of the mount path for the UUID of GMounts without a corresponding GVolume libtracker-miner: Use GMounts instead of GVolumes (as not all GMounts have a corresponding GVolume) Fixes NB#172818: Tracker is not indexing new content on EMMC * If the mount point detected doesn't setup a GVolume (as it is in fstab), then just force a re-check of the directories indexed to see if anything changed. 2010-06-14 Philip Van Hoof <philip@codeminded.be> libtracker-data: Fixes NB#174248, type conversions for boolean using ^^ notation 2010-06-11 Philip Van Hoof <philip@codeminded.be> tracker-store: Memory optimization in class signals, avoid duplicate strings tracker-store: Optimized use of the gstringchunk for class signals tracker-store: Compress the SubjectsChanged signal for multivalue fields tracker-store: Optimize sending of class signals, avoid dbus-glib tracker-store: Optimize memory use for class signals 2010-06-11 Jürg Billeter <j@bitron.ch> libtracker-data: Make sure update buffer does not grow without limits Large INSERTs with thousands of resources could lead to high peak memory usage without this. Fixes NB#173589. tracker-extract-playlist: Slightly reduce SPARQL update size This reduces memory usage in tracker-store a bit for long playlists. 2010-06-10 Aleksander Morgado <aleksander@lanedo.com> FTS libicu parser: memleak fixed 2010-06-10 Martyn Russell <martyn@lanedo.com> Released 0.9.8 Updated NEWS 2010-06-10 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Do not delete metadata from other sources on update When a file is updated, only delete statements that have been inserted by the miner instead of relying on the inflexible tracker:isAnnotation. Fixes NB#173164. tracker-miner-fs: Use DELETE instead of DROP GRAPH for volumes Our DROP GRAPH implementation was not meant to be used like that. Regular DELETE semantics work fine here. libtracker-data: Never set graph for internal property tracker:modified libtracker-data: Add test for GRAPH in predicate variable queries SPARQL: Only retrieve graph from database when necessary SPARQL: Support GRAPH in predicate variable queries libtracker-miner: Revert deletion of original resource on update This reverts commit cb0c4c59e60294a455be8f4263dc1fafdc27527c. The real bug was in IRI cache invalidation, which is now fixed. File update should not trigger a complete resource deletion, it should only delete embedded metadata. 2010-06-10 Mikael Ottela <mikael.ottela@ixonos.com> Updated generator scripts to include dataobjects for emails. 2010-06-09 Martyn Russell <martyn@lanedo.com> libtracker-db: Moved last-crawl.txt machinery to here from miner-fs * This was previously called crawling-timestamp.txt. It has been renamed last-crawl.txt now. * Fixes GB#620353, remove crawling interval timestamp on re-index * Now libtracker-db removes this file too when a reindex is requested libtracker-db: Updated first index filename and set contents Use first-index.txt not .firstindex Set content to version that did first index Fixed broken whitespace/tabs in configure.ac 2010-06-09 Patrick Ohly <patrick.ohly@intel.com> --enable-maemo: had no effect enable_maemo was never set to anything but "no" in the default case in configure.ac. Note that enable_maemo=yes in the "enable option selected" case would be wrong, because --disable-maemo is valid and ends up in that branch with $enableval == "no". Some other uses of AC_ENABLE() make that mistake (not fixed in this patch). 2010-06-09 Carlos Garnacho <carlosg@gnome.org> TrackerMinerFS: Fix IRI cache invalidation. When a NULL value was being inserted in the hashtable, the next query for it is supposed to issue a item_query_exists() call, but the iri was only being stored in the hashtable, and not returned so its used. 2010-06-09 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fixes NB#172414, check for empty string 2010-06-08 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Fixes NB#161449, on overwrite the original resource must be deleted Fixes NB#173206, Also merge manufacturer correct for videos 2010-06-08 Jürg Billeter <j@bitron.ch> libtracker-data: Add test for FILTER in group graph pattern SPARQL: Always generate SELECT around group graph pattern Without extra SELECT, invalid SQL may be generated for certain FILTER clauses. 2010-06-08 Philip Van Hoof <philip@codeminded.be> Fixes NB#173206, use nfo:device and merge make and model correct for videos 2010-06-07 Philip Van Hoof <philip@codeminded.be> tests: Add <unknown> to unit test case tests: Add unit test for Bugfix NB#172652 libtracker-data: Bugfix NB#172652, comparing NULL isn't reliable 2010-06-07 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-06-07 Jürg Billeter <j@bitron.ch> SPARQL: Warn instead of crash on namespace without prefix icons: Fix make distcheck tracker-miner-flickr: Fix make distcheck SPARQL: Support experimental INSERT SILENT and DELETE SILENT When the SILENT keyword is used, non-syntax errors will be ignored. libtracker-data: Clear buffer only when rolling back transaction libtracker-data: Fix error annotations in Vala bindings maemo: Set default value for maemo:relevance to 1000000 libtracker-data: Add default value support 2010-06-07 Aleksander Morgado <aleksander@lanedo.com> libtracker-common: remove public gtk-doc documentation 2010-06-05 Gabor Kelemen <kelemeng@gnome.hu> Updated Hungarian translation Updated Hungarian translation 2010-06-04 Ivan Frade <ivan.frade@nokia.com> Functional tests: BatchCommit + kill the daemon Fixes NB#171657, Device manufacturer and model XMP data not extracted mp4 2010-06-03 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-06-03 Martyn Russell <martyn@lanedo.com> Released 0.9.7 Updated NEWS 2010-06-03 Jürg Billeter <j@bitron.ch> NCO: Do not use nie:hasPart subproperties for linked objects tracker-store: Process 50 turtle statements at once This improves import performance. 2010-06-02 Ivan Frade <ivan.frade@nokia.com> NMM, NFO: nmm:camera is now nfo:device and apply to every media. Fixes NB#167647, Packaged depend on python2.5 but call python The fix is in the previous commit but forgot the changelog entry. This is a blank line commit to fix add the entry. Use python instead of python2.5 in the scripts 2010-06-02 Jürg Billeter <j@bitron.ch> Functional tests: Experimental rtcom query improvements 2010-06-02 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Fixed crawling-interval issues * Was trying to register 2 properties of the same name * Limit was MAXINT, now it is 365 * Comment for config file updated accordingly 2010-06-02 Ivan Frade <ivan.frade@nokia.com> Fix _DATA to include maemo ontologies 2010-06-02 Mikael Ottela <mikael.ottela@ixonos.com> Add support for TRACKER_STORE_TASK_MAX_TIME environment variable for setting the maximum time allowed before interrupting the query. This is for testing purposes. 2010-06-01 Mario Blättermann <mariobl@gnome.org> Updated German translation 2010-06-01 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Set crawling interval to everytime started 2010-06-01 Carlos Garnacho <carlosg@gnome.org> Add CrawlingInterval configuration option. This either forever enables mtime queries for initial crawling, disables it, or specified an interval in days until the next crawling. The other use of crawling (setting up monitors) is unavoidable. 2010-06-01 Mikael Ottela <mikael.ottela@ixonos.com> Fix to the message related generator scripts to use simple contacts for each message instead of linking directly to personContacts. Small fix to music pieces to not randomize artists and albums. 2010-06-01 Adrien Bustany <abustany@gnome.org> libtracker-common: Add config file Vala bindings This commit adds bindings for both TrackerConfigFile and TrackerKeyfileObject in libtracker-common.vapi 2010-06-01 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#619498: Check if stop word before stemming, not after * tests/libtracker-fts/tracker-parser-test.c: Added new unit tests for stop-words. * src/libtracker-common/tracker-language.c * docs/manpages/tracker-store.1 New TRACKER_LANGUAGE_STOP_WORDS_DIR environment variable to specify the path where stop words dictionaries are available, used for testing. * src/libtracker-fts/tracker-parser-glib.c * src/libtracker-fts/tracker-parser-libicu.c * src/libtracker-fts/tracker-parser-libunistring.c Check for stopword is done before the word stemming, if applicable. Fixes GB#619929: tracker-search shouldn't quit if stopword found 2010-05-31 Ivan Frade <ivan.frade@nokia.com> NMO: Represent the read-report status for messages. Updated structural diagram 2010-05-28 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#619535: MaxWords configuration in FTS config is not used * Parsing loop now halts if configured max_words is reached. extractors: small log message change 2010-05-28 Michael Biebl <biebl@debian.org> tracker-miner-rss: Link against libtracker-client tracker-miner-rss uses API from libtracker-client so we need to link against. Build fails otherwise with binutils-gold 2010-05-28 Aleksander Morgado <aleksander@lanedo.com> FTS parsers: remove tracker_parser_process_word() from parser API FTS parsers: minor indentation fixes FTS libicu parser: use TrackerParserWordType instead of gboolean 2010-05-27 Aleksander Morgado <aleksander@lanedo.com> FTS parsers: refactor & cleanup API 2010-05-27 Takeshi AIHANA <takeshi.aihana@gmail.com> Updated Japanese translation. 2010-05-27 Martyn Russell <martyn@lanedo.com> Release 0.9.6 Updated NEWS ontology: Include Maemo ontology in dist to fix distcheck Updated NEWS Fixed data/ontologies/Makefile.am, #92 description file was missing 2010-05-27 Tshepang Lekhonkhobe <tshepang@gmail.com> fixes GB#619826 TST: for search & history, don't clean-up search terms * TST was trying to be smart by cleaning-up search terms (removing non-alphanumeric characters) before using them to query as well as before storing them in history. * This change allows TST to send the search terms as-is to tracker-store, but as for history, it first strips both leading and trailing whitespace, while also applying normalization. 2010-05-27 Jürg Billeter <j@bitron.ch> libtracker-data: Update test result libtracker-fts: Make sure to not keep table locked after queries 2010-05-27 Mikael Ottela <mikael.ottela@ixonos.com> Add the simplified location ontology for testing 2010-05-27 Philip Van Hoof <philip@codeminded.be> tracker-extract: PDF: g_timer_start isn't needed here libtracker-extract: Add docs for public API 2010-05-27 Martyn Russell <martyn@lanedo.com> Fixed GB#619801 - We need SPARQL escaping for cases where we use g_file_info_get_display_name() This was partially broken by commit b724b6128124f53d8a4053674df7a19ffebe566b tracker-search: Don't append "*" to all fts:match queries This means that less results will be returned generally, but it also means the user has the option to add it when they want instead of never be able to remove it. tracker-utils: Fixed libtracker-client header includes Fixes NB#170915 - tracker-search for snippet is resulting in errors 2010-05-26 Aleksander Morgado <aleksander@lanedo.com> FTS Parsers: new README file explaining benefits of each one 2010-05-26 Philip Van Hoof <philip@codeminded.be> libtracker-db: Compilation warning tracker-extract: PDF: Don't let the PDF extractor work for more than 5s 2010-05-26 Claude Paroz <claude@2xlibre.net> Updated French translation Contributed by Claude Paroz and Bruno Brouard 2010-05-26 Philip Van Hoof <philip@codeminded.be> libtracker-db: Add interrupt handling to create_result_set_from_stmt libtracker-db: Use atomic get_int instead of compare Because we reset the flag now, it's not needed to set to 0 after the check libtracker-db: Use 100 for the progress handler and also check in iter_next libtracker-db: Fixed a race condition in interrupt handling libtracker-db: Handle interruptable create_statement libtracker-db: Don't use the less reliable sqlite3_interrupt Use a progress handler instead, which allows more control. Also lock the interrupting itself so that no interrupts take place while a statement is being prepared. 2010-05-26 Carlos Garnacho <carlosg@gnome.org> libtracker-[db|data]: Improve error checking on SQL calls. A new GError parameter was added to tracker_db_interface_create_statement(), all callers have been updated to handle errors where it made most sense. Also, a bunch of calls to execute_query(), execute(), start_cursor() and iter_next() have been changed to also check for errors. 2010-05-26 Aleksander Morgado <aleksander@lanedo.com> FTS tests: small fix in test data 2010-05-26 Philip Van Hoof <philip@codeminded.be> tracker-extract, libtracker-extract: Bugfix NB#170142: avoid duplicate tags 2010-05-26 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#619615: Include DC ontology in gtk-doc documentation Fixes GB#619630: HTML extractor inserts several nie:title if title has an ampersand character 2010-05-25 Philip Van Hoof <philip@codeminded.be> tracker-extract: TIFF: Bugfix NB#168740, uri used as fullname for artists in tiff 2010-05-25 Aleksander Morgado <aleksander@lanedo.com> libtracker-data: minor improvement in error reporting 2010-05-25 Jürg Billeter <j@bitron.ch> Update .gitignore libtracker-data: Fix backup test to properly shutdown libtracker-data tests: Do not remove temporary data asynchronously Removing temporary data asynchronously can lead to race conditions. 2010-05-25 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#619271: pango dependency only needed if compiling the glib/pango parser Fixes GB#560220: New FTS config option to enable/disable unaccenting * Interactive tracker-parser tester also modified to read the proper configuration values from tracker-fts.cfg 2010-05-25 Frederic Crozat <fcrozat@mandriva.com> Fixes GB#616540: Add missing conversion to UTF-8 for directory names 2010-05-25 Ivan Frade <ivan.frade@nokia.com> Fixes NB#164822, property to link contact with video 2010-05-25 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#526346: New FTS config option to enable/disable stemmer * Note: By default stemming will be disabled. See bugreport for more details. 2010-05-24 Aleksander Morgado <aleksander@lanedo.com> FTS parser: max_words_to_index in the parser implementation is not needed, so removing it FTS parser: delimit_words is always FALSE, so removing it Fixes GB#617812: Tracker not disabled when started on battery power * FS miner reads battery-related conf and acts based on the configured parameters. * The first index done is detected based on a new .firstindex stamp file created in $cachedir/tracker/ when the FS miner finishes a full index (only if the file is not already there). When a re-index is forced or database files removed, that file is also removed so that the miner detects it and a new first full index is done. * Miner-FS is now linked to libtracker-db, so that it can use the new API methods to check if the first index was done, and to set the first index as done. 2010-05-24 Tshepang Lekhonkhobe <tshepang@gmail.com> Fixes GB#619487: re-enable search with terms that got _underscores 2010-05-24 Philip Van Hoof <philip@codeminded.be> libtracker-extract: text_len is unsigned, made it signed 2010-05-21 Frederic Crozat <fcrozat@mandriva.com> do not escape display_name, it is already encoded in UTF-8 https://bugzilla.gnome.org/show_bug.cgi?id=619280 2010-05-21 Philip Van Hoof <philip@codeminded.be> libtracker-extract: XMP: Protect against division by zero libtracker-extract: text_len is unsigned, so this check had no point tracker-writeback: XMP: Don't writeback fields that are typically set by the camera itself tracker-extract: XMP: Fix strings that go like "n1/n2" that are xsd:double 2010-05-20 Philip Van Hoof <philip@codeminded.be> tracker-extract: playlist: Bugfix NB#169460, nmm:PlayList is the highest level nmm:PlayList is the highest level for playlists for music pieces, not just nfo:MediaList 2010-05-20 Martyn Russell <martyn@lanedo.com> Release 0.9.5 Updated NEWS documentation: Fixed various issues with new APIs missing 2010-05-20 Aleksander Morgado <aleksander@lanedo.com> FTS parser tests: disable some tests if using the glib/pango parser libicu parser: coding style fix FTS: Re-enable TRACKER_FTS_STOP_WORDS envvar for unit tests libicu parser: fix overflow when converting katakana text from UChars to UTF-8 FTS parser tests: fix when libunac is not available tracker_parser_unaccent_utf16be_word: make it a no-op if no unac tracker_strhex: avoid unneeded aux char array Fixes GB#491850 and GB#503366: new FTS configuration parameters * IgnoreNumbers (default: TRUE) * IgnoreStopWords (default: TRUE) FTS parsers: fix options in configure FTS parser: added unit tests * Tests for normalization issues * Tests for unaccenting issues * Tests for casefolding issues * Tests for output number of words issues libtracker-fts tests: New command line tester for the parsers FTS parser: Added new GNU libunistring and libicu based parsers * configure.ac: New --with-unicode-support option added to configure, which enables choosing between three parser implementations (glib, libunistring and libicu), defaulting to libunistring if none specified. * src/libtracker-fts/tracker-parser-utils.[h|c]: New files including the common utilities for all parsers. * src/libtracker-fts/tracker-parser-glib.c: Original custom/pango parser, file renamed from `src/libtracker-fts/tracker-parser.c' * src/libtracker-fts/tracker-parser-libicu.c: libicu-based parser implementation. * src/libtracker-fts/tracker-parser-libunistring.c: libunistring-based parser implementation. * src/libtracker-fts/tracker-parser.h: API of the parser implementation extended to enable/disable indexing numbers. * src/libtracker-fts/Makefile.am: Setup the compilation of the new parsers. utils: new tracker_strhex method to get the hex view of a given string tracker-language: new method to check if a word is a stopword 2010-05-20 Philip Van Hoof <philip@codeminded.be> tracker-extract: albumart-quill: Bugfix NB#163155 2010-05-20 Carlos Garnacho <carlosg@gnome.org> TrackerMinerFS: Apply to the iri cache the same fix than d3cf67b05a4. This cache has the same flaw, incurring in the same failure if a crawl directory has legitimately changed (for example, a new file has been added). 2010-05-20 Martyn Russell <martyn@lanedo.com> Fixed distcheck since commit 6d65134ff27b35adbf56cbf190e5c9dc1c435e48 2010-05-20 Ivan Frade <ivan.frade@nokia.com> Maemo: properties to link contact with ringtones MLO: Added landmark categories IDs Coming from the landmark exchange format spec. 2010-05-20 Carlos Garnacho <carlosg@gnome.org> TrackerMinerFS: Fix mtime cache for crawl directories themselves. Mtime cache works by querying the parent folder, but for crawl directories there wouldn't be any data for its parent folder, needlessly reindexing these again, and leaving orphaned urns in the database. This problem would add up in consecutive runs, as direct children nfo:belongsToContainer would still point to the orphaned node, thus spreading the problem through the hierarchy. 2010-05-20 Tshepang Lekhonkhobe <tshepang@gmail.com> Fixes GB#619061, add history and auto-completion to t-s-t 2010-05-20 Frederic Crozat <fcrozat@mandriva.com> Fix tracker-miner-fs exiting on non-UTF8 locale (GNOME bug #616535) 2010-05-19 Johannes Buchner <buchner.johannes@gmx.at> Fixes GB614870: added search and pause indexing to left-click menu in tracker-status-icon Note: The menu is a bit wide with the miner progress bars, so it looks a bit odd. Maybe put them in a submenu? 2010-05-19 Philip Van Hoof <philip@codeminded.be> NMO: Add secondary index on nmo:communicationChannel libtracker-data: Add support for tracker:secondaryIndex This will create a two-column index in SQLite. 2010-05-19 Aleksander Morgado <aleksander@lanedo.com> configure.ac: fix HAVE_TRACKER_* define values in auto mode 2010-05-19 Jürg Billeter <j@bitron.ch> SPARQL: Add tracker:id function This returns the internal integer ID to be used as last sort key in queries. This helps retrieving results in stable order which is important for paged queries. 2010-05-19 Carlos Garnacho <carlosg@gnome.org> Bug 614610 - config behaviour regarding xdg-user-dirs doesn't work properly. Make $HOME take precedence over XDG dirs pointing to it when saving directory aliases in the configuration file. 2010-05-19 Jürg Billeter <j@bitron.ch> libtracker-data: Add scalar subquery union test This tests variable handling in scalar subqueries. SPARQL: Fix variable handling in scalar subqueries Scalar subqueries may only capture variables of very specific outer scopes. SPARQL: Create new context for each triple block SPARQL: Refactor use of contexts Create contexts within translate methods as preparation for improvements in variable handling. 2010-05-18 Aleksander Morgado <aleksander@lanedo.com> tracker-extract.cfg manpage: update max absolute number of bytes to extract tracker-extract: remove unneeded things Set absolute max bytes that can be read to 10 Mbytes Avoid the use of GIOChannels 2010-05-18 Martyn Russell <martyn@lanedo.com> tracker-extract: Some code clean ups from review 2010-05-18 Aleksander Morgado <aleksander@lanedo.com> New unit tests for libtracker-extract added * Added new tests for tracker_text_validate_utf8(). * Removed the tests for tracker_text_normalize() as it is now deprecated. Files renamed as using GIOChannel instead of GInputStream Reuse the same code for text and oasis/contents re-enable the check for non-NULL pid, as it is really needed Allow pid pointer being NULL minor alignment fix Moved the istream text reader to a separate file Fixed text extractor * It was reading up to 1Mbyte, but then only considering the first 65k * Now gets the max bytes to read from config file, not the hardcoded 1Mbyte limit. * Only read up to the max bytes limit tracker_text_validate_utf8 can return only the number of valid UTF-8 bytes Setup config also for standalone mode Fix the tracker-extract config Updated man page of tracker-extract.cfg with new max_bytes parameter Fixes GB#616845 - Avoid word counting in the extractors * New max_bytes parameter added to tracker-extract config file. Extractors will read up to that configured limit. * Removed the need of reading the FTS config file from tracker-extract. * Word counting not done now in the extractors. Note: As a side-effect, last word extracted when reached max_bytes may get cut and only first chunk of it extracted. 2010-05-18 Tshepang Lekhonkhobe <tshepang@gmail.com> TST: fix segfault 2010-05-18 Philip Van Hoof <philip@codeminded.be> tracker-extract: albumart: Bugfix NB#169254, critical when album is passed as null 2010-05-18 Martyn Russell <martyn@lanedo.com> Fixes GB#618822 - c&p error for tracker-miner-rss autostart file 2010-05-17 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#618707: tracker preferences shows notification area options even when status icon isn't built 2010-05-17 Philip Van Hoof <philip@codeminded.be> tracker-extract: jpeg: Bugfix for NB#169105, critical when IPTC data isn't available 2010-05-17 Martyn Russell <martyn@lanedo.com> Fixes GB#618821 - Wrong X-GNOME-Bugzilla-Components for desktop files 2010-05-17 Koop Mast <kwm@FreeBSD.org> Fixes GB#618544: Only install tracker-search-bar man page when enabled 2010-05-17 Philip Van Hoof <philip@codeminded.be> tracker-extract: gstreamer: Bugfix for NB#169119, critical about unref of an object 2010-05-17 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky 2010-05-16 Aleksander Morgado <aleksander@lanedo.com> Missing AC_DEFINEs added to fix GB#618011 2010-05-15 Mario Blättermann <mariobl@gnome.org> Updated German translation 2010-05-14 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-05-14 Adrien Bustany <abustany@gnome.org> libtracker-miner: Add TrackerNetworkProvider class The TrackerNetworkProvider class provides functions to get information about the network status, such as if there is an active connection or not, and what the connection type is (GPRS, 3G, WIFI etc.). It can be used by web miners using web services to avoid heavy transfers when being connected on a slow and/or expensive connection. 2010-05-14 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#614728 - Define system search icon as window icon for t-s-t Fixes GB#618011: Don't show in status icon actions that haven't been compiled 2010-05-14 Philip Van Hoof <philip@codeminded.be> tracker-store: Check idle-handler after removing tasks 2010-05-14 Carlos Garnacho <carlosg@gnome.org> tracker-store: Use exclusive thread for TTL imports. Turtle files are now processed in the exclusive thread, processing a chunk on each iteration, and in a lower priority queue, so batch updates aren't blocked for an indeterminate time. As now only 1 thread is used for database updates, this should fix all table locked problems. 2010-05-14 Aleksander Morgado <aleksander@lanedo.com> data ontologies: align items in Makefile.am Several modifications in the build structure, including VPATH builds * Also fixed GB#616808: The user can now rebuild PNG files from the sources in the distribution tarball. And PNG files are only removed in make maintainerclean. * Same for the ontology XML files, they can now be rebuilt from the sources in the distribution tarball, and will only be removed in make maintainerclean. * Support for VPATH builds, where $(srcdir) != $(builddir) 2010-05-14 Mikael Ottela <mikael.ottela@ixonos.com> Handle single null terminated strings in UCS2 and UTF-16 in mp3 extractor Add a gif extractor. Implements MCoFr-614 2010-05-13 Aleksander Morgado <aleksander@lanedo.com> template files should go in dist tarball Fixed make distcheck Ignore some built files service_DATA should list the .service files, not the .service.in files 2010-05-13 Carlos Garnacho <carlosg@gnome.org> TrackerStatistics: Do not use DBusGMethodInvocation after freeing it. 2010-05-13 Philip Van Hoof <philip@codeminded.be> tracker-extract: PDF extractor, fixed memory problem tracker-extract: PDF extractor. Bugfix for NB#168742 (invalid date strings) 2010-05-13 Carlos Garnacho <carlosg@gnome.org> tracker-extract-gstreamer: Set nmm:albumArtist to nmm:MusicAlbum 2010-05-12 Carlos Garnacho <carlosg@gnome.org> Bug 166638 - Some of the metadata details of " avi " files are not extracted by tracker. Extract "keywords" Gst tag. 2010-05-12 Ivan Frade <ivan.frade@nokia.com> Data generators: move old scripts to 'deprecated' folder Functional tests: use autotools to choose locations 2010-05-12 Carlos Garnacho <carlosg@gnome.org> TrackerMinerFS: Plug some memory leaks. TrackerMinerFS: Use nfo:belongsToContainer when filling in the IRI cache. 2010-05-11 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation 2010-05-11 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-05-11 Martyn Russell <martyn@lanedo.com> po: Fixed POTFILES.{in|skip} evolution: Move D-Bus service file to same place as other service files evolution: Moved miner desktop file to same location as others in data/miners libtracker-miner: Removed monitor test, symbols are not exported configure: Fix inconsistencies between miners Use the same terminology HAVE_MINER_* everywhere Only use conditionals for final .desktop files tracker-miner-flickr: Added missing .desktop file tracker-miner-rss: Fixed desktop file, was using miner file desktop format Fixed desktop files which errored for desktop-file-validate 2010-05-11 Jürg Billeter <j@bitron.ch> SPARQL: Allow aggregate expressions as subexpressions Fixes GB#617515. 2010-05-11 Martyn Russell <martyn@lanedo.com> Updated NEWS Bump version Fixed make distcheck issues Fixes GB#617082, RFE Useability - Learning How to Start the Miners was a Little Unintuitive 2010-05-11 Jürg Billeter <j@bitron.ch> Update .gitignore libtracker-db: Remove busy loop from tracker_db_cursor_sqlite_iter_next We already have a busy handler and we should never get SQLITE_LOCKED in tracker-store due to the way we handle updates and selects. libtracker-db: Enable read_uncommitted to fix locking issues This fixes locking issues between long running batch transactions and queries. This will not cause any issues as long as we do not schedule updates and queries to run concurrently. 2010-05-10 Ivan Frade <ivan.frade@nokia.com> Functional tests: create the required directories for logging Functional tests: update timeout message Functional tests: set big enough timeout for queries and updates Functional tests: start daemon in the script (to use XDG vars) Funtional tests: set XDG variables to /tmp directories It is not nice that a test destroys the real databases Functional test: parameter in error callback 2010-05-10 Philip Van Hoof <philip@codeminded.be> tests/libtracker-extract: Fix failing unix test 2010-05-10 Ivan Frade <ivan.frade@nokia.com> Functional tests: duplicate code is evil Functional test: Spam the daemon with BatchSparqlUpdates + Queries Should provoke the SQLITE_MISUSE problem in the daemon. 2010-05-10 Philip Van Hoof <philip@codeminded.be> libtracker-common: NB#167616, Improve error message for invalid xsd:dateTime 2010-05-10 Aleksander Morgado <aleksander@lanedo.com> pkg-config should look for rest-0.6, not rest 2010-05-09 Mikael Ottela <mikael.ottela@ixonos.com> Add mp4 and 3gpp video files to the writeback xmp module. 2010-05-07 Aleksander Morgado <aleksander@lanedo.com> Remove unused variable 2010-05-07 Ivan Frade <ivan.frade@nokia.com> Functional test to force sqlite-misused while importing data-generators: Check if the cfg file has been actually loaded 2010-05-06 Aleksander Morgado <aleksander@lanedo.com> Fix compilation 2010-05-06 Carlos Garnacho <carlosg@gnome.org> libtracker-db: Shut down properly thread data on thread destruction. At the time a thread is being destroyed, g_thread_self() is no longer reliable, nor any g_private_set() calls on further data our interface threads depend on (such as FTS). So, do not rely on GThread for removing from the interfaces hashtable, and attach the FTS data struct directly to the TrackerDBInterface so we can shut it down before closing the database (it also likes to do queries, which might not be finalized yet) 2010-05-06 Philip Van Hoof <philip@codeminded.be> libtracker-db: Remove unushed hashtable and move FTS shutdown lower 2010-05-06 Amit Jain <ext-amit.1.jain@nokia.com> functional-tests: journal replay tests added 2010-05-06 Martyn Russell <martyn@lanedo.com> tracker-search: Added received date to --emails and sort by date/subject tracker-search: Added --contacts tracker-search: Don't show URN for results without --detailed tracker-search: Added --emails 2010-05-06 Philip Van Hoof <philip@codeminded.be> libtracker-common: Compilation error fix in validating ints libtracker-db: Close journal in case of error 2010-05-06 Ivan Frade <ivan.frade@nokia.com> NCO: contactLocalUID is a string, new presenceLastModified prop. 2010-05-05 Carlos Garnacho <carlosg@gnome.org> Bug 616548 - DIrectory lists and de-duplication in tracker-preferences Make tracker-preferences show the unfiltered recursive/single directories list, so there is an identical relation between the contents of the configuration file and what the UI offers. TrackerConfig: Preserve unfiltered list of recursive/single directories. The final list is post-processed, in order to have items in single dirs removed from the recursive list, two new functions allow getting the unfiltered list. 2010-05-05 Tshepang Lekhonkhobe <tshepang@gmail.com> ontology: typo fix data-generators: %u is deprecated in favour of %d in Python TST: segfault fix TST: consistency fixes for metadata tile 2010-05-05 Amit Jain <ext-amit.1.jain@nokia.com> functional-tests: added test cases for backup-restore feature 2010-05-05 Carlos Garnacho <carlosg@gnome.org> TrackerXMP: Do not modify setlocale() return value, as it's statically stored. Also, do not perform a setlocale(..., NULL) call on every iteration, instead store the resulting value, as that's more than unlikely to change on runtime. 2010-05-04 Philip Van Hoof <philip@codeminded.be> tracker-extract: Bugfix for NB#166767, spaces aren't keyword separators 2010-05-04 Carlos Garnacho <carlosg@gnome.org> TrackerParser: Add /* Fall through */ comments wherever appropriate. Add comment in signal handlers to clear up that falling through in switch is on purpose. tracker-db-manager: g_open may return -1 libtracker-extract (tracker_date_guess): Protect against invalid values. tracker-extract-mp3.c: Don't run past an array. 2010-05-04 Martyn Russell <martyn@lanedo.com> tracker-info: Show results in shortened form and add -f for long form namespaces 2010-05-04 Tshepang Lekhonkhobe <tshepang@gmail.com> TST: rename Music category to Audio, which is more accurate tracker-extract: use nfo:HtmlDocument instead of nfo:Document TST: add Folders category; rename 'Office Documents' to 'Documents' TST: correct Jamie's email address 2010-05-04 Carlos Garnacho <carlosg@gnome.org> libtracker-extract: Fix fallback for metering mode. tracker-data-manager: Remove unused variable. TrackerOntologies: Remove unused variable. TrackerResources: remove unused variables. tracker-writeback: Remove unused variable. Fix several coverity reports in unit tests. libtracker-client: Add missing va_end() call. tracker-extract-msoffice: Ensure some vars initialization. TrackerMinerObject: Remove unused variables. TrackerMinerManager: remove unused variable. TrackerConfig: remove unused variable. TrackerMinerFiles: Remove unused variables. tracker-tag: Fix coverity report urns was possibly uninitialized when used. Also, removed the uris variable declaration inside the if (uris && *uris) block, since it was obviously redeclared and reused for exactly the same purpose. 2010-05-04 Philip Van Hoof <philip@codeminded.be> tracker-extract: NB#166717 Combine multiple keywords together for IPTC 2010-05-04 Mikael Ottela <mikael.ottela@ixonos.com> Small fix to the pdf extractor Add tracker:notify to some requested fields. 2010-05-03 Philip Van Hoof <philip@codeminded.be> tracker-extract: Ported the PDF extractor to not use poppler-glib Poppler's GLib bindings don't make it possible to use a TextOutputDev for poppler_page_get_text when there *is* Cairo support. This isn't good for us because that means that Cairo surfaces are needlessly made for each image embedded in the PDF, wasting resources. 2010-05-03 Adrien Bustany <abustany@gnome.org> libtracker-miner: Add missing deps file for Vala bindings This commit adds a .deps file for tracker-miner.vapi. Without this file, Vala doesn't know that the gio-2.0 package is required (for async functions), and fails at compile time. 2010-05-03 Philip Van Hoof <philip@codeminded.be> tracker-store: Bugfix for NB#166684, commit each chunk tracker-store: Fix possible memory corruption tracker-store: Fix a crash when client disappears 2010-05-02 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky 2010-05-02 Mario Blättermann <mariobl@gnome.org> Updated German translation 2010-05-01 Adrien Bustany <abustany@gnome.org> Fix typo in documentation This commit fixes a typo in the doc of tracker_resources_sparql_query in libtracker-client where several braces and parenthesis were missing. 2010-04-30 Adrien Bustany <abustany@gnome.org> libtracker-miner: Fix memory leak in vapi file The return type of PasswordProvider.get_name was incorrectly marked as unowned, so it was not freed by Vala. libtracker-miner: Fix includes in vapi file This commit sets all the cheader_filename attributes to tracker-miner.h, since it's now the only file that has to be included. 2010-04-30 Philip Van Hoof <philip@codeminded.be> libtracker-db: Don't busy-loop-handle SQLITE_IOERR_BLOCKED libtracker-db: Fix for table is locked problem libtracker-miner: Fixed usage of a ' where " is needed NFO: Document reason why there's an index on nfo:belongsToContainer NFO, libtracker-miner: Major performance improvement for crawler libtracker-data: Fixed compilation warning libtracker-db: Fix for last commit, || should be && 2010-04-29 Philip Van Hoof <philip@codeminded.be> libtracker-db: Avoid strstr in uri_is_parent and uri_is_descendant tracker-miner-fs, libtracker-db: Performance improvement for tracker:uri-is-parent tracker-store: Fix critical warning in case of syntax error in query 2010-04-29 Martyn Russell <martyn@lanedo.com> tracker-miner-flickr: Added .desktop.in to POTFILES.in tracker-miner-flickr: Fixed make distcheck issues configure: Cleaned up flickr indentation 2010-04-29 Philip Van Hoof <philip@codeminded.be> libtracker-extract: Use proper types for tracker_getline() 2010-04-29 Martyn Russell <martyn@lanedo.com> Updated NEWS Merge branch 'miner-flickr-review' Bump version 2010-04-29 Philip Van Hoof <philip@codeminded.be> tracker-extract: Add tracker_getline() docs 2010-04-29 Aleksander Morgado <aleksander@lanedo.com> Fix compilation warning 2010-04-29 Adrien Bustany <abustany@gnome.org> Add Flickr miner Add writeback for nao:hasTag and nao:prefLabel 2010-04-29 Ivan Frade <ivan.frade@nokia.com> NCO: Add nco:contactLocalID Help implementing the qtmobility contacts API inotify and tracker-storage are not testeables. Remove from coverage. 2010-04-29 Amit Jain <ext-amit.1.jain@nokia.com> functional-tests: Fixed metadata query for images 2010-04-29 Jean-Luc Lamadon <jean-luc.lamadon@nokia.com> functional-tests: Fix signal handling in miner file operations test suite 2010-04-29 Mikael Ottela <mikael.ottela@ixonos.com> Don't use isStoredAs in performance test scripts. Added updated location-related performance queries. Added queries and added support to the data-generators. Added appropriate indices. 2010-04-28 Adrien Bustany <abustany@gnome.org> Desktop files: Add ; to end lists This commit adds a trailing ; to the Categories line for all installed desktop files. Files miner: Fix misindentation in tracker-mines-files.c 2010-04-28 Philip Van Hoof <philip@codeminded.be> tracker-extract: NB#166080: ignore stuff exiftool adds to Copyright fields tracker-extract, libtracker-extract: GB#579051, Provide a tracker_getline For platforms that miss the getline() function. 2010-04-28 Ivan Frade <ivan.frade@nokia.com> Tests: initial test to libtracker-client 2010-04-28 Philip Van Hoof <philip@codeminded.be> plugins/evolution: Fixed a race condition, added a lock for it plugins/evolution: GB#615930: Fixed a crash in case timeout reached 2010-04-28 Mikael Ottela <mikael.ottela@ixonos.com> Added updated contacts-related performance queries. Added queries and fixed some issues in the data-generators. 2010-04-27 Ivan Frade <ivan.frade@nokia.com> Doc: tracker structural diagram in graphviz 2010-04-27 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fixed compilation warning 2010-04-27 Mikael Ottela <mikael.ottela@ixonos.com> Added updated message-related performance queries. Added queries and fixed some issues in the data-generators. 2010-04-27 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#616493 - Remove dependency of unzip from the OASIS extractor 2010-04-27 Amit Jain <ext-amit.1.jain@nokia.com> functional-tests: wirteback testing support extended for .png , .tif , .mp4 2010-04-27 Tshepang Lekhonkhobe <tshepang@gmail.com> tracker-extract: fixed desciption of -d in manpage 2010-04-27 Martyn Russell <martyn@lanedo.com> tracker-search-tool: Removed --service and updated man page 2010-04-27 Ken Schmedding <schmedk@gmail.com> tracker-search-tool: Accept command line search terms 2010-04-26 Philip Van Hoof <philip@codeminded.be> tracker-store: Moved the iter over the cursor to the thread that prepared the query 2010-04-26 Adrien Bustany <abustany@gnome.org> tracker-writeback: Fix double free in taglib module 2010-04-26 Carlos Garnacho <carlosg@gnome.org> libinotify: Add missing header. perror() needs stdio.h libinotify: Add perror() calls. This is so we get a clue of what went wrong when adding a monitor, like in bug #615965. TrackerMinerFS: Fix typos in query to update children URIs. TrackerPower: Remove tracker_power_get_battery_percentage(). It is unused and the semantics are confusing, since it's hard to do a correct estimation depending on the number of batteries and their characteristics. 2010-04-26 Michael Biebl <biebl@debian.org> Port from libdevkit-power-gobject to libupower-glib 2010-04-26 Philip Van Hoof <philip@codeminded.be> libtracker-data: Added support for fn:lower-case 2010-04-26 Akos PASZTORY <ext-akos.pasztory@nokia.com> increasing coherency by putting the template near the functions that fill them performance enhancements for the datagenerator 2010-04-25 Philip Van Hoof <philip@codeminded.be> tracker-store: Fixed memory corruption 2010-04-25 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-04-23 Philip Van Hoof <philip@codeminded.be> libtracker-db, tracker-store: Code style changes tracker-store: Define a max size for the DBusMessage libtracker-db: Get the error at cursor's iter_next libtracker-db, libtracker-data, tracker-store: Support for interrupting queries tracker-store: Fill up the DBusMessage manually, avoiding memory copying libtracker-data: Added cursor return in TrackerSparqlQuery miners/fs: GB#615836 remove tracker:mountPoint before setting it This problem made the group of queries, among which was the query unsetting tracker:available, fail. Latter property was the origin of the bug report. libstemmer: Bugfix NB#164958, FTS doesn't work for "beautif" and "beautifu" 2010-04-23 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky 2010-04-22 Martyn Russell <martyn@lanedo.com> Updated NEWS tracker-extract: Fixed double free in Vorbis extractor 2010-04-22 Carlos Garnacho <carlosg@gnome.org> TrackerMinerFS: always set current_parent in ensure_mtime_cache() 2010-04-22 Philip Van Hoof <philip@codeminded.be> Revert "libtracker-db: Fixed a problem with sqlite3_interrupt usage" This reverts commit f47c31e7f2eff26a30e469bafc01f976741c244a. Using the 'fix' I get sporadic endless loops where the stmt never goes out of SQLITE_INTERRUPTED 2010-04-22 Martyn Russell <martyn@lanedo.com> Bumped version 2010-04-22 Amit Jain <ext-amit.1.jain@nokia.com> Functional Tests: Updated to allow writeback completion before extracting Functional Tests: Operations of files in multilevel subfolders added 2010-04-22 Martyn Russell <martyn@lanedo.com> Updated NEWS 2010-04-22 Carlos Garnacho <carlosg@gnome.org> TrackerDBInterfaceSqlite: do sanity check on is_parent() and is_descendant(). TrackerDBInterfaceSqlite: Check more carefully for is_parent(). Be more intelligent about trailing slashes and don't take exact string matches as a positive. Use tracker:uri-is-descendant() in recursive delete operations. TrackerMinerFS: Get rid of slash_uri in queries where we use tracker:uri-is-*() This is already handled in these functions, so no need for that check in the miner. TrackerMinerFS: Improve condition in ensure_iri_cache(). Remove \n from g_debug and g_criticals. TrackerMinerFS: Make mtime/iri caches query per folder through tracker:uri-is-*(). Also, the query to get all children on directory moving is done through tracker:uri-is-descendant(). TrackerSparqlExpression: add tracker:uri-is-parent/descendant() sparql functions. TrackerDBInterfaceSqlite: Add functions to deal with URIs hierarchy. SparqlUriIsParent and SparqlUriIsDescendant have been added, taking 2 URIs and returning true if the second is a direct/indirect child of the former. TrackerMinerFS: Cache URNs for the processed files. This cache is cleared on processing directory change, late additions are also handled, as well as cache invalidation on files being moved/deleted. TrackerMinerFS: Do not query parent URN frequently if it doesn't exist. This is specially visible in the applications miner, since the container directories aren't actually stored. TrackerMinerFS: Perform one mtime query per folder. Now that crawling/processing order is guaranteed to have all items in one folder to be handled together, perform a mtime query per folder, and compare against these results. 2010-04-22 Philip Van Hoof <philip@codeminded.be> libtracker-db: Fixed a problem with sqlite3_interrupt usage tracker-search-bar: Comparison with unsigned integer (enum) is always true tracker-extract: Compilation warning fix NFO: Add an index on nfo:fileLastModified for miner-fs's crawling performance 2010-04-21 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-04-21 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#616165: Improved reading PS and PS-GZ files * Don't use a temporary file for the uncompressed ps-gz file contents * Re-use the same buffer when iterating each line in the ps extractor, no need to allocate a new one each time. * Stop reading the uncompressed PS file if reached a max limit (same previous limit of 20MBytes is used, just a safe one) Fixes GB#616403 - Improve & fix reading msoffice/powerpoint files Bugfixes: * CharsAtoms now read as CharsAtoms; and BytesAtoms read as BytesAtoms. * UTF-16 string converted to UTF-8 before normalizing * Fix the Invalid Reads as now generated UTF-8 string comes NIL-terminated Improvements: * Stop reading when max bytes reached * Re-use buffer for reading 2010-04-21 Martyn Russell <martyn@lanedo.com> Merge branch 'async-queries-due' 2010-04-21 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#616329: Improve and fix reading msoffice/excel files * Strings which are split into two ExcelExtendedStringRecord are now properly read. * String contents are now converted from CP1252 or UTF-16 to UTF-8 * Reading the string is now done in either 1 or 2 GSF reads, not byte per byte. * Limited the max number of bytes to be read from the stream, to the common safe limit of 3*max_words*max_word_size. * Contents are now normalized and word-counted in a buffered way. * Stop reading the contents when max bytes reached. * Stop reading the contents when max number of words reached. 2010-04-21 Martyn Russell <martyn@lanedo.com> libtracker-miner: Don't translate statuses This also adds a tracker-status -s to list common statuses 2010-04-20 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#615948 - Improved reading msoffice/xml files * Don't use heap to store the whole output of libgsf, use just a buffer in stack, and read & parse in a buffered way. * Limit to 20MBytes the max of bytes which could be read from the uncompressed XML file. 2010-04-20 Tshepang Lekhonkhobe <tshepang@gmail.com> tracker-sparql: Fixed typo in man page for command line args tracker-control: Added --reindex-mime-type and --start options to man page docs 2010-04-20 Carlos Garnacho <carlosg@gnome.org> Move nfo:isContentEncrypted to be defined in 33-nfo.ontology. tracker-extract-pdf: set nfo:isContentEncrypted for encrypted docs. 2010-04-20 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#616158/doc: Improve reading msoffice doc files * Limit the max number of bytes to be read from the stream, to some safe limit like 3*max_words*max_word_size. * Don't load the whole doc in heap: use a buffer to read the contents, convert to UTF-8, perform normalization and word count (chunk by chunk). * Stop reading the contents when max bytes reached. * Stop reading the contents when max number of words reached. 2010-04-20 Mikael Ottela <mikael.ottela@ixonos.com> Fixes bug 161964 - Some special audio files are not displayed in the Music.. Try to check whether a mp4 file is actually only audio, not video. 2010-04-19 Carlos Garnacho <carlosg@gnome.org> tracker-extract-html: Improve <script> bypassing. Bug 615856 - add html content extraction Add simple parser for text inside <body>. The skipping of JS scripts is a bit weak (also given faulty html pages hoping for a forgiving browser), but that's something that may be improved in the future. 2010-04-18 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-04-18 Philip Van Hoof <philip@codeminded.be> libtracker-db: O_LARGEFILE must be added to the g_open of the journal 2010-04-16 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-04-16 Jürg Billeter <j@bitron.ch> libtracker-db: Add missing include libtracker-db: Shutdown FTS in all threads before DB interface shutdown 2010-04-16 Carlos Garnacho <carlosg@gnome.org> tracker-db-manager: Remove interfaces from hashtable as soon as the thread finalizes. tracker-db-manager: Add NULL check when destroying thread/iface hashtable. tracker_db_manager_init() may return early in some circumstances, not creating the hashtable. 2010-04-16 Jürg Billeter <j@bitron.ch> tracker-store: Allow running 2 queries in parallel libtracker-fts: Fix crash on thread cleanup Do not depend on order of TLS destruction. 2010-04-16 Carlos Garnacho <carlosg@gnome.org> TrackerStore: Check client name before cancelling threads on client disconnection. TrackerStore: Put client_id in TrackerStoreTask. tracker-db-manager: wrap thread/iface hashtable access with a mutex. Although unlikely, an interface for a thread could be created at the same time another thread is being cancelled. TrackerStore: Set watchdog timeout to control misbehaving queries. If a query takes too long to be completed, it will be cancelled. 2010-04-16 Christian.Kirbach <Christian.Kirbach@googlemail.com> Updated German translation 2010-04-16 Carlos Garnacho <carlosg@gnome.org> TrackerStore: Cancel DB operations on client disconnection. TrackerStore: Keep a list of running tasks. These are removed from the queue as soon as they start processing, so keep them elsewhere in order to have cancellation work. TrackerStore: Fix harmless typo. The variable should have the same place within the union. tracker-data-manager: Add tracker_data_manager_interrupt_thread() This is a thin layer on top of tracker_db_manager_interrupt_thread(). tracker-db-manager: Add tracker_db_manager_interrupt_thread(). This call will interrupt any SQL operation running on that thread. TrackerDBInterfaceSqlite: Implement interrupt(). TrackerDBInterface: Add interrupt() method. This should be callable from other threads. 2010-04-16 Aleksander Morgado <aleksander@lanedo.com> Proper indentation 2010-04-16 Martyn Russell <martyn@lanedo.com> Functional Tests: Added basic file operations to miner-fs and support for desktop environment 2010-04-16 Mikael Ottela <mikael.ottela@ixonos.com> Added some full content queries for testing. Fixed a few problems. Add videos to data generation. Add videos to data generation. Fix some issues with images. Small fixes to the data generators Add large test set configuration max.cfg Added some indices for query performance 2010-04-15 Aleksander Morgado <aleksander@lanedo.com> Fix GB#615868: Improved OASIS extractor * Fork & spawn asynchronously * Buffered read, up to (3 * max_words * max_word_length) bytes max * Stop reading when max words reached 2010-04-15 Jürg Billeter <j@bitron.ch> libtracker-db: Use multi-thread mode in SQLite Serialized mode is not necessary as we do not use the same database connection in multiple threads. tracker-store: Execute requests in thread pool Currently limited to one extra thread. 2010-04-15 Martyn Russell <martyn@lanedo.com> Updates NEWS Bump version tracker-tag: Updated man page for --description 2010-04-15 Carlos Garnacho <carlosg@gnome.org> Don't run past an array. 2010-04-15 Jürg Billeter <j@bitron.ch> tracker-store: Fix crash when client disappears with queries libtracker-db: Use per-thread interfaces 2010-04-15 Carlos Garnacho <carlosg@gnome.org> libtracker-db: Fix TrackerDBResultSet type check defines. tracker-fts: Make fulltext_vtab to be per-thread data. 2010-04-15 Martyn Russell <martyn@lanedo.com> tracker-tag: Add support for nao:description Support nao:description 2010-04-15 Jürg Billeter <j@bitron.ch> libtracker-db: Shutdown FTS before closing database libtracker-fts: Do not use static variable for prepared statements Database cannot be closed with non-finalized statements. libtracker-data: Fix memory leak on journal replay 2010-04-15 Adrien Bustany <abustany@gnome.org> NMM ontology: Add writeback on nmm:performer and nmm:musicAlbum Add tracker:writeback annotation on the two properties nmm:performer and nmm:musicAlbum. NMM ontology: Fix typo in comment Remove id3lib writeback module This module is not needed anymore with the taglib based module. tracker-writeback: Add taglib based module The taglib based module allows doing writeback to a wide variety of audio formats. Currently, the modules writebacks the following rdf properties: - nie:title - nmm:artist (fetching nmm:artistName) - nmm:musicAlbum (fetching dc:title) - rdfs:comment - nmm:genre - nmm:trackerNumber. The supported file formats are MP3, MPC, FLAC, MP4, ASF, AIFF, WAV, TrueAudio, WavPack, Ogg FLAC, Ogg Vorbis and Speex. 2010-04-15 Ivan Frade <ivan.frade@nokia.com> NFO: Added tilt and heading properties to nfo:Visual Tilt and Heading properties for images and videos to store how the camera is oriented in the moment of the capture. 2010-04-15 Jürg Billeter <j@bitron.ch> libtracker-data: Enable shared cache mode and require SQLite 3.6.17 tracker-store: Do not use GStaticPrivate for thread-independent data 2010-04-15 Carlos Garnacho <carlosg@gnome.org> Merge branch 'tracker-client-writeback' tracker-client: Fix docs for tracker_resources_writeback_(dis)connect(). libtracker-client: Make direct check for NULL list. 2010-04-15 Philip Van Hoof <philip@codeminded.be> tests: Fixed build problem 2010-04-15 Martyn Russell <martyn@lanedo.com> libtracker-data: Fixed distcheck, missing rq/out files for xpath functions libtracker-data: Fixed distcheck, missing .out file 2010-04-15 Philip Van Hoof <philip@codeminded.be> libtracker-data: Bugfix in a check 2010-04-15 Aleksander Morgado <aleksander@lanedo.com> Fix for GB#615035 - Removing unzip command dependency from ms-office extractor Initial patch from Amil Aggarwal, updated patch from Aleksander Morgado. 2010-04-14 Gintautas Miliauskas <gintautas@miliauskas.lt> Updated Lithuanian translation. 2010-04-14 Adrien Bustany <abustany@gnome.org> libtracker-client: Add writeback functions This commits adds two new functions tracker_resources_writeback_connect and tracker_resources_writeback_disconnect to connect (and disconnect) to the Writeback signal emitted by the store. The DBus Writeback signal is connected on demande whenver needed, and disconnected when not needed anymore to avoid unnecessary wakeups. 2010-04-14 Philip Van Hoof <philip@codeminded.be> libtracker-common: Bugfix usage of timegm on *BSD. Also use it for glibc, it's faster libtracker-data: Small performance improvement in the SPARQL scanner libtracker-data, libtracker-db: Various performance improvements, and a compilation fix libtracker-db: Performance improvement for a often used class libtracker-db: Performance improvement for TrackerDBResultSet 2010-04-14 Michael Biebl <biebl@debian.org> Improve GDKPIXBUF linking Improve HAL linking Improve DEVICEKIT_POWER linking Improve PANGO linking Improve UNAC linking 2010-04-14 Philip Van Hoof <philip@codeminded.be> libtracker-data: Performance improvement for often used classes 2010-04-14 Martyn Russell <martyn@lanedo.com> libtracker-extract: Cleaned up xmp test code libtracker-extract: Fixed a number of documentation issues - Make sure we don't compile deprecated code - Fixed documentation errors with missing or additional parameters - Fixed XMP test case which was using deprecated functions - Added missing functions to sections gtkdoc file - Added deprecation information to the documentation libtracker-extract: Added deprecation information to documentation 2010-04-13 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fixes NB#161047: X/Y resolution of images tracker-extract, libtracker-extract: Refactored memory usage in extractors 2010-04-13 Carlos Garnacho <carlosg@gnome.org> Bug NB#161047 - Images resolution is not extracted. Tracker-extract: Add X/Y resolution to JPEG extractor. libtracker-extract: get X/Y resolution from Exif. Tracker-extract: Make XMP extractor use newer libtracker-extract API. Tracker-extract: Make TIFF extractor use new libtracker-extract API. Tracker-extract: Make PDF extractor use new libtracker-extract API. Tracker-extract: Make JPEG extractor use new libtracker-extract API. libtracker-extract: Add tracker_iptc_new/free(). These functions deprecate tracker_iptc_read(). libtracker-extract: Add tracker_xmp_new/free(). These functions deprecate tracker_xmp_read(). libtracker-extract: Add tracker_exif_new() and tracker_exif_free(). These functions deprecate tracker_exif_read(). 2010-04-13 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#615178 - Graceful crawling stop When crawler was stopped in the middle of a crawling operation, it was actually stopping the crawler twice, being the second one invalid, and dumping several criticals to the log. Fixes GB#615563 - Proper handling of --enable-evolution-miner configure option * Put together all evolution-plugin stuff in configure.ac * Removed AC_DEFINE of HAVE_EVOLUTION_PLUGIN, as nowhere used * Enabled auto mode by default in --enable-evolution-miner * Merged USING_EVOLUTION_MINER and HAVE_EVOLUTION_PLUGIN AM_CONDITIONALs into a single USING_EVOLUTION_MINER * Issue configure error when --enable-evolution-miner=yes and evolution dependencies are not installed 2010-04-12 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky 2010-04-12 Mathias Hasselmann <hasselmm@gnome.org> Test http://www.w3.org/2005/xpath-functions#substring() function. Add http://www.w3.org/2005/xpath-functions#substring() function. Fixes NB#163544 2010-04-12 Martyn Russell <martyn@lanedo.com> Fixes GB#615184, Is the low memory configuration option deprecated? The LowMemoryMode has now been removed from tracker-store The TRACKER_DB_MANAGER_LOW_MEMORY_MODE flag was also removed from libtracker-db now that it is unused. 2010-04-12 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#615313 - Avoid Invalid Read when iterating INotifyHandle list Fixes GB#615182 - Avoid initializing priorities twice in tracker-miner-fs 2010-04-12 Ivan Frade <ivan.frade@nokia.com> Unit test for NB#163715 2010-04-12 Jürg Billeter <j@bitron.ch> SPARQL: Handle integer typed literals the same as integer literals Fixes NB#163715. 2010-04-12 Philip Van Hoof <philip@codeminded.be> libtracker-data: Code style changes and some refactoring libtracker-data: Updated code comment libtracker-data: Refactor ontology-change coping, renamed a function libtracker-data: Fixed bug in post_check libtracker-data: Fixes based on review comments by Jürg libtracker-data: Bugfix coping with property ontology changes libtracker-data: Do a check for valid range conversion before making any changes libtracker-data: Move the range-altering to the post check libtracker-data: Introduce allowed-conversions tables libtracker-data: Add error reporting to ontology change support libtracker-data: Support for range ontology changes libtracker-data: Support for ontology change tracker:notify, tracker:writeback and tracker:indexed libtracker-data: Rename is_new to in_update which is more accurate plugins/kmail: Compilation warning fixes 2010-04-12 Jürg Billeter <j@bitron.ch> tracker-store: Use queues for all requests tracker-store: Add second queue for higher priority requests 2010-04-12 Philip Van Hoof <philip@codeminded.be> libtracker-extract: Support multiple XMP keywords Fixes NB#163480 2010-04-11 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-04-09 Ivan Frade <ivan.frade@nokia.com> Testing queue sending async queries and updates. 2010-04-09 Adrien Bustany <abustany@gnome.org> libtracker-miner: Add properties in VAPI file This commit add several properties from TrackerMiner and TrackerMinerWeb in the VAPI file, allowing the use of the syntax 'property = value' rather than 'set ("property", value)'. The former syntax adds type safety. 2010-04-09 Philip Van Hoof <philip@codeminded.be> tracker-extract: This symbol got renamed earlier 2010-04-09 Michael Biebl <biebl@debian.org> Fix build failures on none Linux platforms 2010-04-09 Debarshi Ray <debarshir@src.gnome.org> tracker-miner-rss: Implicitly link the RSS miner against GTHREAD_LIBS 2010-04-08 Martyn Russell <martyn@lanedo.com> libtracker-db: Bumped db version for added indices libtracker-db: Change version enum to use more sensible names Updated NEWS 2010-04-08 Tshepang Lekhonkhobe <tshepang@gmail.com> Updated README to link to Roadmap 2010-04-08 Jürg Billeter <j@bitron.ch> libtracker-db: Improve performance of D-Bus marshalling of result sets 2010-04-08 Amit Jain <ext-amit.1.jain@nokia.com> functional-tests: Updated perfmrnace-tc.py, mostly whitespace changes 2010-04-08 Martyn Russell <martyn@lanedo.com> Removed TODO, it was out of date Updated README Fixes GB#614981 - Make distcheck depend on important components configure: Enable functional tests by default configure: Default libunac to auto not disabled We disabled this in the past due to a corruption that used to occur. This has been fixed so we can again use it. 2010-04-08 Carlos Garnacho <carlosg@gnome.org> NB#162546 - tracker-miner-fs is emitting criticals after resuming... Make sure the timer is stopped on tracker_crawler_start() if it was previously paused. 2010-04-08 Jürg Billeter <j@bitron.ch> NMO: Update nao:lastModified 2010-04-07 Martyn Russell <martyn@lanedo.com> tracker-miner-rss: Added debug information to follow what is going on tracker-miner-rss: Small code clean ups Fixes NB#158962, tracker-miner-fs emits criticals for some desktop files Desktop files with non-standard type cause SPARQL warnings. Now we warn in the logs where type is not correct and default to 'Application' tracker-miner-rss: Add RSS D-Bus service file tracker-miner-rss: Link with libtracker-common tracker-miner-fs: Removed unused $(tracker_store_win_libs) from Makefile.am 2010-04-07 Philip Van Hoof <philip@codeminded.be> tests/libtracker-data: Unit test for more than one regex query 2010-04-07 Carlos Garnacho <carlosg@gnome.org> Bug 614722 - Strcasestr is defined on FreeBSD Avoid exif_entry_get_value() wherever it may return translated strings, instead use raw exif values. This also avoids the use of strcasestr(). 2010-04-06 Mario Blättermann <mariobl@gnome.org> Updated German translation 2010-04-06 Jürg Billeter <j@bitron.ch> Update .gitignore 2010-04-06 Javier Jardón <jjardon@gnome.org> Fixes GB#614877 - Remove deprecated Encoding key from desktop files 2010-04-06 Aleksander Morgado <aleksander@lanedo.com> Fixes GB#614560 - Build problems in the gio file monitoring case. Fix 2/2 - Don't link with libinotify if using GIO Fixes GB#614560, Build problems in the gio file monitoring case Fix 1/2 - use same _monitor_move() function for inotify/gio 2010-04-06 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-04-06 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed debian builds, don't use $(builddir) in Makefile.am Revert "tracker-preferences: Turn off no-show-all in .ui file for a frame" This reverts commit 0fe2ac5e7e07e68be0e4cccd920071598d7c2c40. This caused a regression where the start up delay was displayed in the preferences 2010-04-06 Michael Biebl <biebl@debian.org> ifdef is sufficient, so use that 2010-04-06 Martyn Russell <martyn@lanedo.com> Bump version of master to 0.9 2010-04-06 Michael Biebl <biebl@debian.org> Fix evolution plugin build failure with e-d-s 2.28 Let pkg-config do the version check so we don't fail with e-d-s 2.28. See also https://bugzilla.gnome.org/show_bug.cgi?id=613199 2010-04-06 Carlos Garnacho <carlosg@gnome.org> Bug 614722 - Strcasestr is defined on FreeBSD Make sure we are comparing lowercase UTF-8 strings when applying the heuristic to get albumart from the local audio file folder, so only strstr() is needed. 2010-04-06 Philip Van Hoof <philip@codeminded.be> libtracker-data: Fixed bug for SPARQL regex SQLite's sqlite3_set_auxdata doesn't work for bound string values for the regex string. This fix changes the regex from a bound literal to being part of the SQL query string itself. 2010-04-06 Mikael Ottela <mikael.ottela@ixonos.com> Added indices to message ontology for query performance 2010-04-05 Tshepang Lekhonkhobe <tshepang@gmail.com> tracker-preferences: improvements to the ignored_dirs gtkentry UI * removes the separator between text entry and the 2 buttons * OK is the default action when hitting return these were suggested by mitch tracker-preferences: add filechooser button for ignored directories 2010-04-05 Philip Van Hoof <philip@codeminded.be> tracker-preferences: Turn off no-show-all in .ui file for a frame tracker-preferences: Workaround for gtk+ bug setting scalers to max default The scaler type in gtk+ seems to be setting the scaler's value to its max default when the scaler is in a tab, the tab isn't open and gtk_widget_show_all is called for. It also signals when this happens the changed signal. In the signal handler we set the config object. If the tab is never activated that means that we've written the config value with some- thing the user didn't ask for (the default max value). I workaround-fixed this by only setting the config object on apply-click. 2010-04-02 Saleem Abdulrasool <compnerd@compnerd.org> ignore vim swapfiles 2010-04-02 Jürg Billeter <j@bitron.ch> SPARQL: Fix memory leak due to reference cycle 2010-04-01 Martyn Russell <martyn@lanedo.com> NEWS: last minute tweaks Updated NEWS Bumped db version for 0.8 release libtracker-miner: Removed old vapi file Bumped version to 0.8.0 distcheck: Fixed first round of issues 2010-04-01 Jürg Billeter <j@bitron.ch> libtracker-data: Fix typo in test Makefile.am Add some more use cases to Indices.list libtracker-data: Add update error test case libtracker-data: Add ASK test libtracker-data: Remove unused code libtracker-data: Add fourth predicate variable test SPARQL: Fix predicate variables with literal object libtracker-data: Add third predicate variable test libtracker-data: Add second predicate variable test libtracker-data: Add subquery union test SPARQL: Move expression and pattern processing to separate files SPARQL: Fix literal binding in subqueries SPARQL: Fix variable binding with subqueries SPARQL: Move remaining context state to Context class SPARQL: Introduce TripleContext class SPARQL: Introduce Context class libtracker-fts: Backport changes from FTS3 upstream in BestIndex This fixes filtering with both, ID and MATCH constraints, which can happen when joining with unions. 2010-04-01 Mikael Ottela <mikael.ottela@ixonos.com> Added some indices for performance improvement in complex fts:match use cases Added Indices.list file to keep tracker of the use cases behind the indices. 2010-04-01 Jürg Billeter <j@bitron.ch> Update .gitignore 2010-04-01 Amit Jain <ext-amit.1.jain@nokia.com> functional-tests: New test cases added to test definition file functional-tests: Updated test cases for writeback functional-tests: Add test cases to verify setting the localPhoneNumber functional-tests: Add bootup test cases 2010-04-01 Martyn Russell <martyn@lanedo.com> libtracker-miner: Don't install tracker-miner-dbus.h to /usr/include 2010-04-01 Aurimas Černius <aurisc4@gmail.com> Updated Lithuanian translation 2010-03-31 Mario Blättermann <mariobl@gnome.org> Updated German translation 2010-03-31 Martyn Russell <martyn@lanedo.com> Fixes NB#162585, tracker-extract is crashing for mp3s with id3v24 tags tracker-search: Sort results for docs, images, videos, files & folders tracker-extract: Don't use urn:author for nco:Contact as creator tracker-extract: Use urn:contact not urn:artist for nco:Contact URNs tracker-extract: Fixed OGG contact SPARQL generation, use preupdate tracker-extract: Fixed PNG contact SPARQL creation, use preupdate tracker-extract: Fixed TIFF contact SPARQL creation, use preupdate tracker-extract: Cleaned up png, tiff, jpeg and xmp source Fixes NB#161457, nco:creator for JPEGs has multiple dummy contacts shown in CM tracker-extract: Fixed some whitespace issues in JPEG extractor 2010-03-31 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-03-31 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation Updated Polish translation 2010-03-31 Ivan Frade <ivan.frade@nokia.com> Fixes NB#161457 - Images that have a creator create dummy contact items extractors: comment out byline_title parsing. Uses PersonContact due the hasAffiliation property. It is wrong and populates the PersonContact class with useless contacts. Commented out until we decided: to fix the ontology (unlikely) or to drop the support of the property (likely) 2010-03-31 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Fixed nie:contentCreated writeback support 2010-03-31 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed documentation errors and added some Some major sections like tracker-password-provider, tracker-storage and tracker-thumbnailer had no section description. 2010-03-31 Mikael Ottela <mikael.ottela@ixonos.com> Adds a data generator for full content testing 2010-03-31 Martyn Russell <martyn@lanedo.com> Fixes GB#614449 - tracker-extract module directory should be environment configurable 2010-03-31 Sven Herzberg <herzi@gnome-de.org> prefix the dbus related API with "_" This prefix prevents the functions from matching the regular expression of the filter for exported symbols. * data/dbus/tracker-miner.xml, * src/libtracker-miner/Makefile.am, * src/libtracker-miner/tracker-dbus.c, * src/libtracker-miner/tracker-dbus.h, * src/libtracker-miner/tracker-miner-dbus.h, * src/libtracker-miner/tracker-miner-object.c, * src/libtracker-miner/tracker-miner-web-dbus.h, * src/libtracker-miner/tracker-miner-web.c: prefix private API with "_tracker_" 2010-03-31 Martyn Russell <martyn@lanedo.com> Fixes GB#613977, many text mime types are not fully extracted 2010-03-30 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-03-30 Ivan Frade <ivan.frade@nokia.com> Ontology documentation: Brief explanation of conversations Ontology documentation: email mimeparts diagram Ontology doc: diagram and explanation for the Email class Example of variable list in the .xml template NMO: Add link to upstream documentation 2010-03-30 Saleem Abdulrasool <compnerd@compnerd.org> partial revert of 18b10a365e0fa736590dca83fccf4895ae7c8af5 This prevents an extra stat call that should be unnecessary as g_key_file_load_from_file will check for us. In case of an error, the error is just propagated and handled at the appropriate level. 2010-03-30 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fix warning 2010-03-30 Adrien Bustany <abustany@gnome.org> libtracker-client: Fix VAPI file This commits properly makes Tracker.Client a subclass of GLib.Object, which fixes the generated C code. 2010-03-30 Philip Van Hoof <philip@codeminded.be> tracker-store: Bugfix in type usage 2010-03-30 Martyn Russell <martyn@lanedo.com> tracker-control: Improve output when for --start tracker-status: Improve output of command libtracker-miner: Make sure progress is set to 0.0 initially libtracker-miner: Always report *some* progress when crawling 2010-03-30 Philip Van Hoof <philip@codeminded.be> libtracker-data: Bugfix restoring after journal-replay, added unit test for it tracker-store: Improved the set of Idle in tracker-status tracker-store: Default to Idle and 100% for Tracker1.Status 2010-03-30 Michael Natterer <mitch@gimp.org> Bug 613819 - Indexing Limitations section is confusing Redo indexing limitation section according to the discussion in the bug. 2010-03-30 Philip Van Hoof <philip@codeminded.be> tests/libtracker-data: Added failing unit test (but disabled for now) 2010-03-30 Jürg Billeter <j@bitron.ch> Update .gitignore 2010-03-30 Martyn Russell <martyn@lanedo.com> libtracker-miner: Disable monitor test for now Requires symbols not exported 2010-03-30 Philip Van Hoof <philip@codeminded.be> tracker-utils: Fixed compilation issue tracker-store: Renamed TrackerBusyNotifier to TrackerStatus Rename requested by Martyn tracker-store: Use DBus correctly for asynchronousy 2010-03-30 Carlos Garnacho <carlosg@gnome.org> Tracker-status: Also provide info about tracker-store status. 2010-03-30 Philip Van Hoof <philip@codeminded.be> tracker-store: Starting and stopping the DBus service during backup restore tracker-store: Status notifications during backup restore and journal replay libtracker-data: Add busy notification support to journal-replay and restore 2010-03-30 Martyn Russell <martyn@lanedo.com> Merge branch 'license-fixes' 2010-03-29 Roberto Guido <bob4mail@gmail.com> tracker-miner-rss: removed unrequired g_free() 2010-03-29 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2010-03-29 Martyn Russell <martyn@lanedo.com> libtracker-client: Removed old .vapi file libtracker-client: Generate tracker-client-$version.vapi not static 0.7.vapi libtracker-miner: Removed headers that are installed from sources libtracker-miner: Revert exported symbols regex change Previously we had tracker_* to make sure we captured everything with the new miner-web branch, but the original regex should work too. 2010-03-29 Carlos Garnacho <carlosg@gnome.org> TrackerMinerFS: Do not check store for ignored directories. Suggested by Zhenqiang Chen. Now items like hidden dirs in $HOME shouldn't be checked in tracker-store. 2010-03-29 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky 2010-03-29 Martyn Russell <martyn@lanedo.com> tracker-store: Removed mingw-compat.h Meant for Windows but a lot more work will be needed if we ever move to Windows and this is currently unused or included in the Makefile Change all (email) addresses to <email> in copyright Change Urho's contact name for Ivan's Added contact for Nokia copyright Changed all "Mr Jamie McCracken" to "Jamie McCracken" No one else does this. Fixed license issues found with Debian licensecheck.pl script Found here: http://git.debian.org/?p=devscripts/devscripts.git;a=blob;f=scripts/licensecheck.pl;h=62e9fbe94d7b63c671e4239f790b18edd2dfaa6c;hb=HEAD 2010-03-29 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-03-28 Marek Černocký <marek@manet.cz> Update Czech translation 2010-03-28 Gintautas Miliauskas <gintautas@miliauskas.lt> Updated Lithuanian translation. 2010-03-26 Saleem Abdulrasool <compnerd@compnerd.org> only load the keyfile if it exists bonus: fix minor memory leak dbus tests use gio, link against it 2010-03-26 Philip Van Hoof <philip@codeminded.be> libtracker-db: Removed unused symbols libtracker-db: Error reporting for SQLite functions libtracker-db: Performance improvement for SparqlRegex SQLite function libtracker-db: Removed the boxing from the custom SQLite functions 2010-03-26 Adrien Bustany <abustany@gnome.org> libtracker-client: Fix VAPI file 2010-03-26 Carlos Garnacho <carlosg@gnome.org> TrackerMinerFiles: Fix potential crash when cancelling extraction. the GCancellable in use may outlive ProcessFileData, and be also reused. So when cancelled it would also trigger cancelling on no longer valid data. 2010-03-26 Jürg Billeter <j@bitron.ch> NCO: Enable notifications for nco:IMAddress Fixes NB#162394. 2010-03-25 Carlos Garnacho <carlosg@gnome.org> Distcheck fix: set XDG_CACHE_HOME to some dir that can be rm'ed afterwards. 2010-03-25 Martyn Russell <martyn@lanedo.com> deskbar: Remove references from POTFILES.in libtracker-db: Updated DB version Updated NEWS configure: Bumped version 2010-03-25 Philip Van Hoof <philip@codeminded.be> tests/libtracker-data: Make distcheck succeed by removing generated file after unit test ran 2010-03-25 Carlos Garnacho <carlosg@gnome.org> Add missing src/miners/Makefile.am distcheck: fix all conceivable misassumptions on srcdir and builddir. Distcheck fix: Add missing header to SOURCES. Distcheck fix: unconditionally have all .desktop.in files. Move fs/rss miners to src/miners. The number of miners is likely to grow, so it's better to keep them tidy in their own subdir. 2010-03-25 Jürg Billeter <j@bitron.ch> Update .gitignore 2010-03-25 Amit Jain <ext-amit.1.jain@nokia.com> functional-tests: Add performance test scripts 2010-03-25 Adrien Bustany <abustany@gnome.org> libtracker-miner: Remove writeback from VAPI The writeback function was removed from TrackerMiner, this commit updates the VAPI file in consequence. 2010-03-25 Ivan Frade <ivan.frade@nokia.com> MTO: Removed -user- states (predefined instances) Ontology-validator: check Namespace and Ontology re-definition 2010-03-25 Martyn Russell <martyn@lanedo.com> configure: Fixed build warnings when running autogen.sh deskbar: Removed, was unmaintained and out of date tracker-extract: Removed dummy.c which was unused and a bad example libtracker-miner: Added monitor event tests for files 2010-03-25 Amit Jain <ext-amit.1.jain@nokia.com> functional-tests: Writeback test cases updated for changes in sources 2010-03-25 Martyn Russell <martyn@lanedo.com> libtracker-miner: Add missing tracker-monitor-test.c 2010-03-24 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-03-24 Mario Blättermann <mariobl@gnome.org> Updated German translation 2010-03-24 Martyn Russell <martyn@lanedo.com> libtracker-miner: Added initial tracker-monitor test cases Need to add support for events next, basic API is tested 2010-03-24 Carlos Garnacho <carlosg@gnome.org> t-s-t: Use GAppInfo to launch default application. t-s-t: Set ellipsizing to link buttons. This is so window size doesn't change with long paths/filenames. t-s-t: Have insensitive link buttons when no item is selected. Set search entry as mnemonic widget for the label. t-s-t: Do not make main window paintable, it's not necessary. Make search entry grab focus on Ctrl+S Now TrackerEntry implements GtkActivatable, grabbing focus in this case. Since there is no GtkAction interfacing, a new GtkAccelGroup has been added to the main window to deal with this. t-s-t: Make tile gradient use bg color. Base color is only meant to be used together with text color, but the labels in the tile are actually painted with foreground. 2010-03-24 Philip Van Hoof <philip@codeminded.be> tests/libtracker-data: Add coverage for single-value property onto-changes in the tests 2010-03-24 Jürg Billeter <j@bitron.ch> libtracker-data: Create directory in ontology test 2010-03-24 Philip Van Hoof <philip@codeminded.be> tests/libtracker-data: Removed generated file libtracker-data: the max_service_id doesn't have to be cached libtracker-data: Coping with a complete new .ontology file tests/libtracker-data: Added unit tests For coping with ontology changes and journal replaying (and both combined) libtracker-data: Added comments explaining how ontology-change coping works libtracker-data: Bugfixes coping with ontology changes in journal replay libtracker-data: Mark new classes and properties as is_new in journal-replay libtracker-data: Don't forget to pass is_uri libtracker-data: Don't reset the is_new flags too early libtracker-data: Pass the id_uri_map to journal-replayer libtracker-data: Coping with modest ontology changes in journal replay libtracker-data: Added four bytes to the transaction format in the journal These bytes will be used to store the kind of transaction 2010-03-24 Jürg Billeter <j@bitron.ch> libtracker-fts: Separate FTS index from virtual table initialization As we do not use the virtual table layer for updates, the combined initialization of FTS index and virtual table layer causes problems when SQLite decides to disconnect the virtual table. This happens on database schema changes. With this patch the FTS index can still be used even if the virtual table layer is disconnected. Disable old tracker-fts test 2010-03-24 Martyn Russell <martyn@lanedo.com> tracker-miner-rss: Added missing .desktop.in file to po/POTFILES.in 2010-03-24 Carlos Garnacho <carlosg@gnome.org> Update tracker-control manpage. now the extra param to -k and -t is documented. tracker-control: Also control "lt-tracker" prefixed apps. This is usual when testing inside the source code dir. tracker-control: allow to pass optional all/store/miners to -k and -t This also allows passing no additional parameter, in that case it will default to "all", so it will behave as usual. 2010-03-24 Martyn Russell <martyn@lanedo.com> Fixed all documentation breakages libtracker-miner: Various code code consistency fixes 2010-03-24 Adrien Bustany <abustany@gnome.org> Add icons for files and applications miners This commit adds an Icon field to the "files" and "applications" miners, allowing frontends to provide of visual identification for them. Both miners use standard icons, which means they should adapt to the desktop theme. 2010-03-24 Martyn Russell <martyn@lanedo.com> tracker-extract: Don't require Cairo and GDK for libpoppler-glib We don't use these libraries internally, poppler-glib does and pkg-config sorts this out for us so we don't have to explicitly add those deps here. libtracker-miner: Fixed po/POTFILES.in tracker-miner is not tracker-miner-object 2010-03-23 Martyn Russell <martyn@lanedo.com> configure: Improve summary produced 2010-03-23 Ivan Frade <ivan.frade@nokia.com> NMO: Add MMS Message class NMO: Remove redundant subclass definition 2010-03-23 Jürg Billeter <j@bitron.ch> maemo: Add maemo:localPhoneNumber property 2010-03-23 Martyn Russell <martyn@lanedo.com> configure: Fixed ioprio yes/no summary, was blank libtracker-miner: Set monitor limit in all cases libtracker-miner: Use "libinotify" not "inotify", gio supports inotify 2010-03-23 Carlos Garnacho <carlos@lanedo.com> TrackerMonitor: Add back optional support for GFileMonitor. 2010-03-23 Adrien Bustany <abustany@gnome.org> configure.ac: Fix space/tabs mix This commit remove space indents in the end of configure.ac 2010-03-23 Carlos Garnacho <carlosg@gnome.org> TrackerSearchBar: Force scroll to top-left on popup shown. Now the scrolled window in the results window scrolls to top-left (top-right in RTL environments) when popped up. TrackerSearchBar: Hide results window if entry is empty. TrackerSearchBar: Forward visible keystrokes to search entry. Now when typing with the results window shown will have visible keystrokes (plus GDK_Back) forwarded to the search entry so the query may be refined on the fly. TrackerSearchBar: make pixbuf renderer have 24x24. This makes all rows of the same height. TrackerSearchBar: Do not trigger window popup on every key press. We now obey GtkEditable::changed, which will only be triggered on user-visible input. TrackerSearchBar: Add icon for tags and bookmarks. Fix libtracker-miner tests includes Fix @includes in libtracker-miner documentation. Include libtracker-miner/tracker-miner.h 2010-03-22 Ivan Frade <ivan.frade@nokia.com> libtracker-common: complete tracker-type-utils unit tests 2010-03-22 Carlos Garnacho <carlosg@gnome.org> TrackerSearchBar: Make results window behave like popup. Now clicking outside of the results window will pop it down, as in menus and comboboxes. TrackerSearchBar: Show application icons. 2010-03-22 Mikael Ottela <mikael.ottela@ixonos.com> A fix to TRCK handling in mp3 extractor Don't assume TRCK fields are valid. Don't warn on tags we don't process (it is nothing special) 2010-03-22 Martyn Russell <martyn@lanedo.com> Fixes GB#613562, tracker-search displays results for unavailable data This patch also does a number of other things: - Adds --all option to list resources from unavailable media - Changes -u to -m for --music - Changes -a to -b for --music-albums - Show URL before URN in all results - Sort music artists in ascending order - Sort music albums in ascending order - Simplifies some SPARQL in places (use ; instead of .) 2010-03-22 Carlos Garnacho <carlosg@gnome.org> libtracker-miner: Add single tracker-miner.h header. This should be the only include point from now on to libtracker-miner. All code including individual libtracker-miner headers in Tracker has been updated to #include <libtracker-miner/tracker-miner.h>. libtracker-miner: rename tracker-miner.h to tracker-miner-object.h tracker-miner.h will be the single header to include. Remove needless includes. 2010-03-22 Jürg Billeter <j@bitron.ch> NCO: Also remove cardinality restriction from nco:url subproperties NCO: Remove cardinality restriction in nco:url This property refers to, e.g., websites. 2010-03-21 Jürg Billeter <j@bitron.ch> libtracker-data: Fix warnings and errors found by vala master 2010-03-21 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-03-20 Mario Blättermann <mariobl@gnome.org> Updated German translation 2010-03-20 Ivan Frade <ivan.frade@nokia.com> libtracker-common: Tests for tracker-dbus functions Fixing test compilations warnings 2010-03-19 Jürg Billeter <j@bitron.ch> Update .gitignore 2010-03-19 Philip Van Hoof <philip@codeminded.be> tests: libtracker-miner: Fixed build for recent ld versions 2010-03-19 Ivan Frade <ivan.frade@nokia.com> MFO: Re-enable notifications in message Enclosures The enclosure can change without modifying the message (for instance when the enclosure is actually downloaded to the filesystem) libtracker-extract: run xmp tests only in EXEMPI is available 2010-03-19 Martyn Russell <martyn@lanedo.com> Fixed date in NEWS NEWS: fixed whitespace Updated NEWS Fixes GB#613268, missing file in tarball Bumped version 2010-03-19 Ivan Frade <ivan.frade@nokia.com> libtracker-extract test: remove assertion of potentially unset variable 2010-03-18 Ivan Frade <ivan.frade@nokia.com> libtracker-common: Unit tests for the utils functions libtracker-extract: Add and complete unit tests. litracker-extract: Count last word when normalizing Tests: add test to tracker-xmp parsing 2010-03-18 Adrien Bustany <abustany@gnome.org> libtracker-miner: Switch Association property to boolean The former Association property of TrackerMinerWeb is now called Associated, and is of type boolean. 2010-03-18 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-03-18 Martyn Russell <martyn@lanedo.com> Bumped version Updated NEWS 2010-03-18 Carlos Garnacho <carlosg@gnome.org> Fix another distcheck error. Do not leave stale generated files around. Another distcheck fix. Don't tell tests about relative paths. Another distcheck error fix. Added tracker-miner-rss files to POTFILES.in Another distcheck error fix. .h files have to be included to build in order to get to the tarball. Fix another distcheck error. tracker-miner-0.7.vapi wasn't being included in EXTRA_DIST Fix a distcheck error. No generated files at build time can go into $(top_srcdir). 2010-03-18 Jürg Billeter <j@bitron.ch> libtracker-client: Make SparqlBuilder.state public It is used by preconditions of public methods. 2010-03-18 Adrien Bustany <abustany@gnome.org> libtracker-miner: Fix property name in dbus file This commit fixes the names of the "Association" property of the TrackerMinerWeb object in the dbus xml interface file. libtracker-miner: Fix VAPI file 2010-03-18 Jürg Billeter <j@bitron.ch> Update .gitignore 2010-03-18 Amit Jain <ext-amit.1.jain@nokia.com> functional-tests: New test cases for metadata extraction for images 2010-03-18 Adrien Bustany <abustany@gnome.org> libtracker-miner: Fix documentation typo This commit fixes a type where TrackerMinerWebAssociationType woudl be referred as TrackerMinerWebAssociationStatus in tracker-miner-web.h libtracker-miner: Update VAPI file 2010-03-18 Carlos Garnacho <carlosg@gnome.org> Turn "Could not process" warnings into messages. 2010-03-18 Martyn Russell <martyn@lanedo.com> Merge branch 'miner-rss' 2010-03-18 Jürg Billeter <j@bitron.ch> libtracker-miner: Fix parallel build 2010-03-18 Carlos Garnacho <carlosg@gnome.org> Bug #606443 - Help kill libegg. Do not depend on EggAccelerators anymore. Now gtk_accel* is used. 2010-03-18 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fix lock/unlock API for TrackerPasswordProvider libtracker-miner: Document TrackerPasswordProvider and TrackerMinerWeb libtracker-miner: Small clean ups in password-provider.h libtracker-miner: Use GType for TrackerMinerWeb association property 2010-03-18 Adrien Bustany <abustany@gnome.org> libtracker-miner: Remove useless vapi dep file TrackerMinerWeb DBus interface: Improve documentation This commit adds various bits of documentation to the DBus interface. 2010-03-18 Martyn Russell <martyn@lanedo.com> libtracker-miner: General code clean ups libtracker-miner: Removed all "Mode: C; tab-width: 8 ..." instances libtracker-miner: Rename password provider implementations Use -gnome and -keyfile suffix instead of prefix (for grouping) libtracker-miner: Fixed examples Makefile, remove password provider app libtracker-miner: Move password provider test to tests libtracker-miner: tracker_password_provider_store_password() now returns a boolean libtracker-miner: Cleaned up example code for TrackerPasswordProvider libtracker-miner: Fixed include orders libtracker-miner: Fixed #ifndef and #define statements to be consistent 2010-03-18 Adrien Bustany <abustany@gnome.org> libtracker-miner: Add TrackerMinerWeb class The TrackerMinerWeb class is a thin layer above TrackerMiner which adds functions commonly used by miners fetching data from remote services. 2010-03-18 Jürg Billeter <j@bitron.ch> libtracker-data: Add predicate variable test libtracker-data: Add basic/base-prefix-3 test libtracker-db: Remove unused user-defined aggregate SQLite functions Ignore generated tracker-marshal.* files in unit test coverage NCO: Remove inverse function constraint from nco:imID IM addresses of different protocols can use the same IM ID. libtracker-common: Remove unused language functions libtracker-db: Remove unused support for blobs libtracker-data: Remove unused tracker_property_set_data_type libtracker-data: Remove unused tracker_property_type_to_string libtracker-data: Remove unused set_super_ functions libtracker-fts: Remove unused functions libtracker-common: Remove unused string utility functions libtracker-common: Remove unused TurtleWriter libtracker-common: Remove unused file utility functions libtracker-db: Remove unused user-defined SQLite functions libtracker-db: Reenable tracker-db-dbus test libtracker-db: Remove unused functions libtracker-data: Do not register properties with GObject GObject-registered properties in Class, Namespace, Ontology, and Property were never used. 2010-03-18 Carlos Garnacho <carlosg@gnome.org> Bug #612966 - Non-Recursively Indexed Directories behavior Make a diference between strings and directories lists in configuration, and between recursive and non-recursive directories lists. So when getting the IndexSingleDirectories option subdirs aren't filtered out. 2010-03-18 Jürg Billeter <j@bitron.ch> libtracker-data: Add test for anonymous blank nodes libtracker-data: Remove unused property 'filtered' from TrackerProperty libtracker-data: Drop unused volume handling functions libtracker-data: Drop last piece of tracker:uri libtracker-data: Test ontology initialization Test both, first-time initialization and initialization from existing database. libtracker-db: Do not consider end of journal an error libtracker-data: Fix and reenable backup test Backup runs asynchronously, wait for it. libtracker-data: Do not append to invalid journals Truncate invalid journals and ignored journals of test cases. libtracker-data: Journal imported turtle files libtracker-data: Call restore callback directly Call via mainloop not necessary for synchronous operation and problematic for testcase. libtracker-data: Support tests checking journal replay Required for backup/restore test. libtracker-data: Add helper functions for SPARQL transactions libtracker-data: Rename begin_transaction to begin_db_transaction To avoid mixing up SQLite transactions and SPARQL transactions. libtracker-data: Fix field name string leak in deletes libtracker-common: Fix crash with unknown process name 2010-03-18 Michele Tameni <michele@tameni.it> tracker-miner-rss: Resyling, added logging capability, and relative -v (verbosity), added check callbacks when saving contents tracker-miner-rss: Added support for GeoRss 2010-03-18 Michele Tameni <michele@amdplanet.it> Merge miner rss project into tracker tree 2010-03-17 Chris Coulson <chrisccoulson@googlemail.com> libtracker-client: Install vala bindings 2010-03-17 Jürg Billeter <j@bitron.ch> libtracker-miner: Fix and enable tracker-miner-manager test libtracker-miner: Disable tracker-miner-manager test for now 2010-03-17 Ivan Frade <ivan.frade@nokia.com> Add mock miner desktop files 2010-03-17 Philip Van Hoof <philip@codeminded.be> libtracker-data: Keep VmRSS under control during journal replay libtracker-data: Transaction logic in journal-replay 2010-03-17 Jürg Billeter <j@bitron.ch> libtracker-data: Make sure we journal superproperty changes If the insert or delete statement only affects a superproperty, we used to discard the journal entry. libtracker-data: Fix replaying delete statements with ID libtracker-data: Fix journal replay with insert/delete mix 2010-03-17 Philip Van Hoof <philip@codeminded.be> libtracker-data: Fix constraint error warnings during journal replay libtracker-data: Attempt at fixing journal replay, delete 2010-03-17 Jürg Billeter <j@bitron.ch> libtracker-data: Attempt to fix journal replay 2010-03-17 Philip Van Hoof <philip@codeminded.be> libtracker-data: STATEMENT_DELETE_ID journal replay performance improvement 2010-03-17 Jürg Billeter <j@bitron.ch> libtracker-data: Drop another do_callback parameter libtracker-data: Drop do_callback param from cache_delete_resource_type libtracker-data: Consolidate rdf:type lookup in journal replay 2010-03-17 Philip Van Hoof <philip@codeminded.be> libtracker-data: STATEMENT_INSERT_ID journal replay performance improvement libtracker-data: Prepare resource creation for ID values libtracker-data: STATEMENT_DELETE journal replay performance improvement libtracker-data: STATEMENT_INSERT journal replay performance improvement 2010-03-17 Jürg Billeter <j@bitron.ch> libtracker-data: Avoid duplicating subject string in memory libtracker-data: Support graph_id in resource_buffer_switch libtracker-data: Allow calling resource_buffer_switch in journal replay libtracker-data: Introduce resource_buffer_switch helper function Removes duplicated code and also sets tracker:modified when statements are deleted. 2010-03-17 Philip Van Hoof <philip@codeminded.be> libtracker-data: Pass ID->Class and ID->Property map to journal_replay libtracker-data: Move replay_journal to tracker-data-update.c 2010-03-17 Ivan Frade <ivan.frade@nokia.com> Fix miner-manager-test build 2010-03-17 Carlos Garnacho <carlosg@gnome.org> TrackerMinerFS: Fix escaping in some SparQL queries. Using single quotes is prone to escaping errors if the string contains single quotes as well. TrackerMinerFS: Improve performance on move operations. The query to obtain all directory children in item_update_children_uri() now takes ~1s when moving Linux sources, as opposed to >9min with OPTIONAL. 2010-03-17 Amit Aggarwal <amitcs06@gmail.com> Fixes NB#613114, Date string is leaked in MSOffice extractor Fixes totem AUDIO_BITRATE to use nfo:averageBitrate not nmm:averageBitrate 2010-03-17 Jürg Billeter <j@bitron.ch> Update .gitignore libtracker-data: Drop virtual property tracker:uri There were issues when used with journaling and it is no longer used. 2010-03-16 Ivan Frade <ivan.frade@nokia.com> NMM: Notifications enabled for nmm:Photo Add tracker-miner-manager unit test. libtracker-miner: allow to modify miners path in env variable Needed for proper testing Disable backup test by default, until it is fixed 2010-03-16 Martyn Russell <martyn@lanedo.com> Fixes GB#579062, mktime() related error 2010-03-16 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-03-16 Jürg Billeter <j@bitron.ch> libtracker-data: Fix free on shared table_name libtracker-data: Add Property.table_name property and use it 2010-03-16 Gintautas Miliauskas <gintautas@miliauskas.lt> Updated Lithuanian translation. 2010-03-16 Martyn Russell <martyn@lanedo.com> Fixes GB#497671, Clarify indexing options 2010-03-16 Philip Van Hoof <philip@codeminded.be> NFO: Fixed rdfs:range for nfo:codec 2010-03-16 Martyn Russell <martyn@lanedo.com> Fixes GB#497670, Remove "startup delay" hack from the prefs For now this is just hidden in the UI, it can be made visible if it is something people really want. Fixes GB#494438, tracker-preferences title should be "Indexing Preferences" Fixes GB#494441, Lack of icon for "Indexing Preferences" in Launch menu on Solaris 2010-03-15 Jürg Billeter <j@bitron.ch> libtracker-data: Support restore with test schema libtracker-data: Do not check for ontology updates in test schema Ontology update check requires nao:lastModified, which is not available in the limited test ontology set. 2010-03-15 Ivan Frade <ivan.frade@nokia.com> Remove also journals in backup/restore test Unit test for backup/restore (fails) Ignore -glue.h files in unit test coverage 2010-03-15 Philip Van Hoof <philip@codeminded.be> tests: Avoid journal validity test for most unit tests 2010-03-15 Carlos Garnacho <carlosg@gnome.org> Fix compiler warning. Spotted by Philip Van Hoof. 2010-03-15 Philip Van Hoof <philip@codeminded.be> plugins: evolution: Fixed for upstream symbol rename in 2.29.1 Fixes GNOME Bug #612744 2010-03-15 0brahim Özgür <oerisen@metu.edu.tr> Fixes GB#612873, tracker cannot extract oasis files if the filename has spaces in it. 2010-03-15 Michele Tameni <michele@tameni.it> Fixes GB#612749, Fix include of libtracker-client/tracker-client.h in libtracker-miner/tracker-miner.h 2010-03-14 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-03-13 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-03-12 Michael Biebl <biebl@debian.org> Revert "tracker-extract: Don't try to spawn odt2txt if it isn't installed" A configure check is not sufficient to detect if a binary is installed or not as build system != runtime system in the majority of cases. A correct fix would be to check for odt2txt at runtime. This reverts commit 232e3b0190ae538160162c3d5fd14b346b23323a. Conflicts: src/tracker-extract/tracker-extract-oasis.c 2010-03-12 Deji Akingunola <dakingun@gmail.com> Fixes GB#609607 - PATCH: Make tracker build without assuming implicit DSO linking 2010-03-12 Carlos Garnacho <carlos@lanedo.com> Fix build. ontology-graph tool relied on ontology API. 2010-03-12 Jürg Billeter <j@bitron.ch> Update .gitignore Move ontology API from libtracker-common to libtracker-data Do not initialize ontologies module in libtracker-db It is only used in libtracker-data. This commit moves initialization from libtracker-db to libtracker-data. 2010-03-12 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFS: Check recursivity in config when crawling dirs. Now the configured dirs (passed through tracker_miner_fs_directory_add()) are checked whenever a new directory is added, so dir that isn't inside a IndexRecursiveDirectories isn't recursively indexed. Also, now tracker_mine_fs_directory_add_internal() is used in TrackerMinerFS internals, so fs->private->config_directories only contain these passed by the user. TrackerMinerFS: Make DirectoryData refcounted. Also fixed a typo in tracker_miner_fs_directory_remove(). 2010-03-12 Martyn Russell <martyn@lanedo.com> tracker-extract: Cleaned up the oasis code tracker-extract: Don't try to spawn odt2txt if it isn't installed 2010-03-12 Jürg Billeter <j@bitron.ch> NCO: Mark nco:hasIMAddress as subproperty of nco:hasContactMedium 2010-03-11 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2010-03-11 Ivan Frade <ivan.frade@nokia.com> Test tracker-thumbnailer mocking the dbus functions Miner tests: Compile against libtracker-miner to get coverage info 2010-03-11 Martyn Russell <martyn@lanedo.com> libtracker-miner: Renamed tracker_miner_dbus_terminate to _shutdown() For consistency with other init/shutdown APIs Updated NEWS Bumped version Updates NEWS 2010-03-11 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFS: Do recursive index on move ops where whe source isn't known. If a directory being moved didn't have the source indexed, TrackerMinerFS will recursively index it. 2010-03-11 Marek Černocký <marek@manet.cz> Update Czech translation 2010-03-11 Amit Aggarwal <amitcs06@gmail.com> Fixes GB#612171, Adding support for excel extractor to extract the plain text from the excel files 2010-03-11 Philip Van Hoof <philip@codeminded.be> libtracker-data: No strdup for strings that aren't freed libtracker-data: Store graph as int ID instead of strdup 2010-03-11 Jürg Billeter <j@bitron.ch> libtracker-fts: Fix OR search Check token for 'or' before checking minimum word length. 2010-03-11 Amit Jain <ext-amit.1.jain@nokia.com> functional-tests: Update test cases Correction in dates related test scripts and use of macros instead of hardcoded items. 2010-03-11 Carlos Garnacho <carlos@lanedo.com> Remove unused libs from LIBADD in libtracker-miner and tracker-miner-fs. 2010-03-11 Ivan Frade <ivan.frade@nokia.com> Tests: Fixed NIE test (broken due changes in the ontology) 2010-03-11 Mikael Ottela <mikael.ottela@ixonos.com> Correct the sorted order of id3v2 tags. Fixes GB#611919 Tracker-extract-mp3 failed to extract artist name of an id3v2.2 mp3 (generated by itunes) 2010-03-11 Jürg Billeter <j@bitron.ch> libtracker-data: Small refactoring to remove duplicated code 2010-03-11 Christian Kirbach <Christian.Kirbach@googlemail.com> Updated German translation 2010-03-10 Martyn Russell <martyn@lanedo.com> libtracker-extract: Don't forget main include tracker-extract.h libtracker-extract: Removed config.h include, not used anywhere else libtracker-extract: Don't install the mockup example module libtracker-client: TrackerSparqlBuilder documentation update 2010-03-10 Ivan Frade <ivan.frade@nokia.com> NMO: Add reportDelivery flag to messages MLO: Accomodation title with capital letter 2010-03-10 Jürg Billeter <j@bitron.ch> libtracker-data: Revert class counts on rollback Fixes NB#159333. 2010-03-10 Adrien Bustany <abustany@gnome.org> libtracker-client: Add vala bindings 2010-03-10 Philip Van Hoof <philip@codeminded.be> tracker-utils: Fixed compiler warning 2010-03-10 Martyn Russell <martyn@lanedo.com> tracker-sparql: Added --notifies to list classes which notify changes 2010-03-09 Mario Blättermann <mariobl@gnome.org> Updated German translation 2010-03-09 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-03-09 Jürg Billeter <j@bitron.ch> SPARQL: Fix crash on deletes when using blank nodes Update .gitignore 2010-03-09 Martyn Russell <martyn@lanedo.com> libtracker-extract: Improve the documentation and document tracker-utils.[ch] Fixed documentation include references libtracker-extract: Code clean up This involves: - Renaming all tracker_extract_* APIs to tracker_ APIs. We don't do this everywhere and it was completely inconsistent and only for utilities. The structures were not using the same naming either. - Fixed some compiler warnings (for vorbis) - Fixed the includes in libtracker-extract source files. Many were not needed. libtracker-extract: Moved exif section docs out of #ifdef libtracker-extract: Don't include libtracker-common files in example libtracker-extract: Relicense to LGPL from GPL libtracker-client: Relicense to LGPL from GPL libtracker-client: Added tracker-client.h for central inclusion This avoids adding different headers from the same library for 3rd parties and is for compatibility with any new changes made. Note that the sparql-builder.h is not checked and can be included separately still because Vala has no easy way to add #define/#errors. libtracker-common: Added check for inclusion outside Tracker again tracker-extract: Removed ImageMagick extractor, not used for some time tracker-extract: Fixed linking Don't link against libtracker-common for extractors which don't use libtracker-common APIs directly. Also fixed libtracker-extract Makefile because we definitely shouldn't be linking with libtracker-common there. tracker-extract: Fixed type for force-module option tracker-extract: Removed a bunch of unnecessary includes tracker-extract: Removed unused defines libtracker-extract: Added tracker-extract.h to include other files This has been added for compatibility. For now, we have removed the TRACKER_ENABLE_INTERNALS check for libtracker-common so the extractor modules can be built, but ideally those should not need to use libtracker-common. tracker-extract: Added --force-module option This allows developers to force a particular module is used over all the others available. libtracker-extract: Added example to examples/libtracker-extract Moved mockup from src/tracker-extract/ to here. Used MP3 source and added comments to detail what is going on 2010-03-09 Philip Van Hoof <philip@codeminded.be> tracker-store: Fixed the SubjectsAdded signal 2010-03-09 Carlos Garnacho <carlos@lanedo.com> Add TrackerSparqlBuilder docs. These had to be added to tmpl since the object is written in vala. 2010-03-09 Philip Van Hoof <philip@codeminded.be> libtracker-fts: Prefix searches must ignore stop words 2010-03-08 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-03-08 Mario Blättermann <mariobl@gnome.org> Updated German translation 2010-03-08 Carlos Garnacho <carlos@lanedo.com> Add --add-file docs to tracker-miner-fs manpage. tracker-miner-fs: add an --add-file option. This command line paramenter will force the insertion of an specific file into the store, by spawning a config-less TrackerMinerFiles and feeding it the file directly. TrackerMinerFiles: Prepare against missing configuration. tracker-extract-playlist: Don't relate list entries through nie:isStoredAs nie:MediaFileListEntry isn't supposed to be a nie:DataObject, so the use of nie:isStoredAs to relate these with the nfo:MediaList is wrong, plus it ends up in sparql errors that prevent the addition of playlists to the database. 2010-03-08 Jürg Billeter <j@bitron.ch> SPARQL: Support WITH <uri> syntax for updates This has been specified in the current SPARQL 1.1 Update draft. The old DELETE FROM / INSERT INTO syntax remains supported to not break any clients. 2010-03-08 Marek Černocký <marek@manet.cz> Update Czech translation 2010-03-07 Marek Černocký <marek@manet.cz> Update Czech translation 2010-03-07 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-03-06 Christian Kirbach <Christian.Kirbach@googlemail.com> Updated German translation 2010-03-06 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-03-05 Carlos Garnacho <carlosg@gnome.org> Fixes bug #609850 - tracker-store segfault in... unac_string() was passing integers as size_t, corrupting memory. Now strip_word() mimics unac_string() avoiding such issue. 2010-03-05 Martyn Russell <martyn@lanedo.com> Updated NEWS libtracker-common: Fixed documentation breaks libtracker-miner: Fixed documentation breaks 2010-03-05 Carlos Garnacho <carlos@lanedo.com> Remove dirs from EXTRA_DIST, autofoo hates them. 2010-03-05 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Removed all .* file/dir ignores, this is done by default tracker-miner-fs: Fixed build warning 2010-03-05 Carlos Garnacho <carlos@lanedo.com> Fix distcheck in libtracker-miner unit tests. tracker-fts: protect better against invalid UTF-8. Also, remove 2 mistakenly added dbus g_print()s. Reapply change from commit 86cb747. It was accidentally gone in a conflict merge. Added initial libtracker-miner unit tests. At the moment, there are only tests for TrackerCrawler. 2010-03-04 Jürg Billeter <j@bitron.ch> Update .gitignore docs: Fix make distcheck 2010-03-04 Martyn Russell <martyn@lanedo.com> Merge branch 'index-optical-disc' Fix man page for .cfg file tracker-miner-fs: Updated man page for --eligible Updated NEWS Bumped version 2010-03-04 Carlos Garnacho <carlos@lanedo.com> TrackerStorage: Add flag set to determine storage type. now get_device_roots() and get_device_uuids() have a TrackerStorageType parameter to pass (removable|optical) flags. If exact_match is TRUE, only devices that fully match the passed flags are returned. 2010-03-04 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fixed aspect-ratio property in GStreamer tagreadbin extractor Fixes NB#156571 libtracker-miner: Fixed possible memory leak on content_type 2010-03-04 Martyn Russell <martyn@lanedo.com> Fixes GB#611556, Need to support CD/DVD index 2010-03-04 Mikael Ottela <mikael.ottela@ixonos.com> Added check for string validity in fn:string-join. 2010-03-04 Carlos Garnacho <carlos@lanedo.com> Fixes #610812 - Tagging a not indexed file fails silently. Now tracker-tag will report a detailed report for each of the files passed, whether they were sucessfully tagged or not, whether they existed in the store... 2010-03-04 Amit Jain <ext-amit.1.jain@nokia.com> functional-tests: Adapt extraction test cases Extraction test cases adapted as per latest tracker changes. Convention macros defined. 2010-03-04 Ivan Frade <ivan.frade@nokia.com> Ontology doc: Add table with all fts-indexed properties Ontology doc: Show full text index flag in the documentation Show a message in the property description if it is full-text indexed. 2010-03-04 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2010-03-04 Philip Van Hoof <philip@codeminded.be> tracker-writeback: Fixed compilation error in playlist writeback 2010-03-04 Martyn Russell <martyn@lanedo.com> tracker-extract: More MSOffice code cleanups tracker-extract: Cleaned up MSOffice code 2010-03-04 Ivan Frade <ivan.frade@nokia.com> MFO: Disable notifications in Enclosure That shouldn't be necessary 2010-03-04 Jürg Billeter <j@bitron.ch> tracker-store: Fix invalid D-Bus messages in writeback support This bug was introduced by 8531f89. 2010-03-03 Martyn Russell <martyn@lanedo.com> Fixes GB#611152, Adding support for msoffice2007 extraction to extract the data from pptx, xlsx, docx files 2010-03-03 Philip Van Hoof <philip@codeminded.be> nautilus: Fixed up the tags widget for the Nautilus integration 2010-03-03 Carlos Garnacho <carlos@lanedo.com> Avoid invalid memory accesses. When there was a duplicated path in tracker_path_list_filter_duplicates(), the first of both items would be freed, but string operations were still being performed on such freed data. Plug some leaks in libtracker-miner. 2010-03-03 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Added --eligible cmdline option This is used to let people know if the file specified with that option is likely to be: 1. Indexed 2. Monitored for changes This is based on the rules from the config, etc. 2010-03-03 Carlos Garnacho <carlos@lanedo.com> Fixes NB#158450: Tracker doesn't remove song from database when ... Remove too lax check for not monitoring IndexSingleDirectories children, which was also affecting legit dirs in IndexRecursiveDirectories which were a child of the former. TrackerMinerFS should only emit monitor_directory() for directories where both check_directory() and check_directory_contents() have returned TRUE, We're actually interested in monitoring any directory (and children) in IndexRecursiveDirectories where that does happen, and the latter call shouldn't happen for children of IndexSingleDirectories, so it's safe to just return TRUE there. 2010-03-03 Jürg Billeter <j@bitron.ch> libtracker-data: Do not allow updates when low on disk space Fixes NB#158864. 2010-03-03 Philip Van Hoof <philip@codeminded.be> MFO: Added tracker:notify to mfo:Enclosure SPARQL: Add error reporting about nested anonymous blank nodes 2010-03-03 Jürg Billeter <j@bitron.ch> tracker-store: Remove unused statistics signal This avoids regular wakeups without any client activity. 2010-03-03 Carlos Garnacho <carlos@lanedo.com> Fixes NB#155488: After adding a directory under "IgnoredDirectories" key... Add comment about memory usage for priv->directories in TrackerMinerFS. TrackerMinerFiles: Do not trigger multiple rechecks on config file changes. TrackerMinerFiles: Listen to changes in IgnoredDirectories[WithContent]. Any change on these values will force a check on all indexed contents, so all monitors are properly added/removed as necessary. TrackerMinerFS: Add tracker_miner_fs_force_recheck(). This new call forces recheck on any directory previously passed through tracker_miner_fs_directory_add(). In addition, monitors are now also removed during the (re)crawling phase if told by the implementation. TrackerMonitor: Only log removals if the dir was monitored. TrackerMinerFS: Check both directory/contents before adding a monitor. Without this change, monitors would be added on directories excluded by the IgnoredDirectoriesWithContent configuration option. TrackerMinerFS: Keep added directories around. Now data added through tracker_miner_fs_directory_add() is kept around, and the crawler is just handed a const reference to it. 2010-03-02 Martyn Russell <martyn@lanedo.com> Fixes GB#611621, tracker-search should output filenames 2010-03-02 Ivan Frade <ivan.frade@nokia.com> Ontology validator: Handle correctly tracker:Ontology bootstrapping issue: it is used before it is defined. Reenable ontology validator compilation Disabling qname-test and other programs. Compilation broken because they are now under docs/utils RDF: Add comment in tracker:isAnnotation explaining the property NMM: Add signals in Playlist class NAO: Add isRelated property 2010-03-02 Jürg Billeter <j@bitron.ch> libtracker-data: Propagate DB initialization error in data_manager_init libtracker-db: Check disk space when recreating DB due to corruption libtracker-common: Log binary name and version at beginning of log file 2010-03-02 Philip Van Hoof <philip@codeminded.be> libtracker-client: Fixed SPARQL queries for file-open dialogs in GNOME 2010-03-02 Martyn Russell <martyn@lanedo.com> tracker-sparql: Added --search option to find classes/properties This is to make it easier to find ontology classes and properties Fixes: NB#158962, tracker-miner-fs emits criticals for some desktop files 2010-03-02 Carlos Garnacho <carlos@lanedo.com> TrackerDataManager: Avoid double free on error condition. The element will be freed shortly after together with the other list elements. 2010-03-02 Jürg Billeter <j@bitron.ch> SPARQL: Implicitly convert REGEX text to string 2010-03-02 Philip Van Hoof <philip@codeminded.be> tracker-extract: Added support for nmm:composer to MP3 extractor Fixes NB #158626 2010-03-02 Jürg Billeter <j@bitron.ch> libtracker-data: Fix C89 warning tracker-miner-fs: Improve efficiency of tracker:available updates INSERT/DELETE {...} WHERE {...} with many solutions where no change is necessary causes initialization to require more time and memory. libtracker-data: Avoid unnecessary RDF type URI copies on updates This reduces memory usage on updates. libtracker-data: Do not signal or journal unnecessary delete statements libtracker-data: Do not signal or journal duplicate statements This improves performance and memory usage for large updates. libtracker-data: Limit update buffer size INSERT {...} WHERE {...} updates with many solutions to the WHERE clause were causing high memory usage due to the update buffer. 2010-03-02 Carlos Garnacho <carlos@lanedo.com> tracker-miner-fs: Report the correct files/dirs number on miner finished. 2010-03-01 Amit Aggarwal <amit.5.aggarwal@nokia.com> Fixes GB#611455, PPT extractor is not working is not extracting plainText 2010-03-01 Philip Van Hoof <philip@codeminded.be> tracker-preferences: Removed page size, when set the sliders don't go to max 2010-02-26 Martyn Russell <martyn@lanedo.com> Bumped version Updated NEWS 2010-02-26 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fixed another screwup Oh my god tracker-extract: Fixed screwup in last commit tracker-extract: Added extra check for date validity tracker-extract: Fixed memory problem in GStreamer extractor tracker-extract: Check for return value in GStreamer extractor tracker-extract: Fixes for the GStreamer extractor This patch avoids a critical in case of a bug in tagreadbin NB #158636. I also added the rdf:type in case there's no tag cache. 2010-02-26 Mattias Põldaru <mahfiaz gmail com> Estonian translation updated 2010-02-26 Jürg Billeter <j@bitron.ch> tests: Install functional test scripts with executable bit Fixes NB#156562. 2010-02-26 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed crash when starting tracker with CD/DVDs mounted 2010-02-26 Mattias Põldaru <mahfiaz gmail com> Estonian translation updated 2010-02-25 Jamie McCracken <jamie.mccrack@gmail.com> tracker-extract: fixed compilation of mplayer extractor 2010-02-25 Martyn Russell <martyn@lanedo.com> Updates NEWS 2010-02-25 Ivan Frade <ivan.frade@nokia.com> NMM: leadActor and director have cardinality N 2010-02-25 Martyn Russell <martyn@lanedo.com> Updates NEWS libtracker-miner: Fixed signal string _ and - mixing 2010-02-25 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Fix power management with DeviceKit-power libtracker-fts: Add test reference output to EXTRA_DIST 2010-02-25 Martyn Russell <martyn@lanedo.com> Updates NEWS Disabled libunac since it causes corruption and tracker-store crashes Bumped version to 0.7.22 2010-02-25 Philip Van Hoof <philip@codeminded.be> Bugfix, to squash tracker-extract: Fixed various properties for albums in FLAC and Vorbis tracker-extract: Fixed build and indentation 2010-02-25 Carlos Garnacho <carlos@lanedo.com> Add functional test for tracker-miner-fs insert/update behavior. 2010-02-25 Martyn Russell <martyn@lanedo.com> Bumped DB version due to fts-limits branch ontology changes Disable flac extractor by default, needs updating 2010-02-25 Amin Jain <ext-amit.1.jain@nokia.com> Fixes GB#609075, Adding support for pdf extractor to extract the index data from the pdf files 2010-02-25 Jürg Billeter <j@bitron.ch> libtracker-common: Do not install header files of private library NFO: Fix typo Do not link against HAL when using DeviceKit-power Merge branch 'fts-limits' 2010-02-25 Mikael Ottela <mikael.ottela@ixonos.com> Make some properties fulltext indexed without minimum word length libtracker-fts: Add prefix and limit tests libtracker-fts: Do not limit word length in prefix queries Index short words for properties that specify tracker:fulltextNoLimit. Limit the word length in exact match queries but not in prefix ones. Add ontology property tracker:fulltextNoLimit tracker:fulltextNoLimit will allow disabling minimum word length checks for certain properties in the ontology. For instance short family names are crucial even when short. 2010-02-25 Carlos Garnacho <carlos@lanedo.com> libtracker-miner: add explicit tracker_miner_dbus_terminate() call. 2010-02-25 Ivan Frade <ivan.frade@nokia.com> NFO: tableOfContents property for documents NCO: Add default contact for emergency number 2010-02-25 Amit Jain <ext-amit.1.jain@nokia.com> Entries for new functional test cases in Makefile.am and tests.xml 2010-02-25 Philip Van Hoof <philip@codeminded.be> MAEMO: Install the Maemo ontology optionally and default off 2010-02-25 Jürg Billeter <j@bitron.ch> Update .gitignore 2010-02-25 Amit Jain <ext-amit.1.jain@nokia.com> Add functional test cases for virtual files libtracker-data: New functional test cases added New test cases for SPARQL UPDATE queries for insertion and deletion operations. New test cases for dates storage verification as per sprint task MCoFr-406. tracker-writeback: New functional test cases added 2010-02-25 Michael Biebl <biebl@debian.org> hal is only used for ac detection, so don't link against hal-storage tracker-statement-list has been removed from the source so remove the reference from the documentation, too Add all necessary test files to EXTRA_DIST Fixes make dist(check) Export tracker_storage_* symbols in libtracker-miner 2010-02-24 Michael Biebl <biebl@debian.org> Fix broken libtracker_miner_@TRACKER_API_VERSION@_la_LDFLAGS introduced in 5588a7bb7ff7e529b263c0463185dc4b1a509bb1 2010-02-24 Martyn Russell <martyn@lanedo.com> Fixed all the documentation breakages from API changes this week tracker-miner-fs: Provide better logs for removable device state changes Fixes GB#609606, Merge branch 'swap-gio-for-hal' 2010-02-24 Carlos Garnacho <carlos@lanedo.com> Fix typo in debug message. Bug #609004 - Timeout on 1 file during extraction causes 10 to fail . TrackerMinerFS can process paralelly as many files as the ::process-pool-limit property say, but tracker-extract inspects files one by one. So if some file takes longer than the extractor timeout, all the other concurrently processed files will receive a DBus no reply/timeout as well. So, if we get a DBus timeout on any file that's not the first that was added to the processing pool, we retry extraction on that file. 2010-02-24 Jürg Billeter <j@bitron.ch> NCO: Add nco:imAvatar property This allows attaching IM address-specific avatars to contacts. It also deprecates nco:imAccountAvatar as the same can be accomplished by the combination of nco:imAccountAddress and nco:imAvatar. 2010-02-24 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Small optimization 2010-02-24 Jürg Billeter <j@bitron.ch> Add functional tests for named graph support 2010-02-24 Philip Van Hoof <philip@codeminded.be> libtracker-miner: Fixed a few problems after review 2010-02-24 Jürg Billeter <j@bitron.ch> SPARQL: Fix variable separation between multiple updates in a query SPARQL: Report use of undefined variables In certain situations, use of undefined variables could lead to crashes. Fixes GB#610882. 2010-02-24 Carlos Garnacho <carlos@lanedo.com> Merge branch 'miner-separate-dbus' 2010-02-24 Jürg Billeter <j@bitron.ch> libtracker-common: Fix handling of UTC offsets with minutes Fixes NB#157899. 2010-02-24 Akos Pasztory <ext-akos.pasztory@nokia.com> libtracker-client: Fix compilation with c++ compiler 2010-02-23 Martyn Russell <martyn@lanedo.com> libtracker-miner: Don't reverse lists from hash tables 2010-02-23 Jürg Billeter <j@bitron.ch> tracker-extract-gstreamer: Fix handling of album gain properties 2010-02-23 Martyn Russell <martyn@lanedo.com> libtracker-miner: Avoid warnings for CDROMs with no GDrive/GVolume libtracker-miner: Fixed storage memory leak iterating volumes libtracker-miner: Removed storage bogus comment libtracker-miner: Fixed debugging for storage libtracker-miner: Removed unused code in storage module libtracker-miner: Don't add mount points if the UUID is NULL libtracker-miner: Don't repeat the same message when adding volumes libtracker-miner: Reimplemented tracker-store using GIO removing HAL. 2010-02-23 Jürg Billeter <j@bitron.ch> Update .gitignore tracker-store: Reduce amount of memory used for events 2010-02-23 Philip Van Hoof <philip@codeminded.be> libtracker-common, -extract: Improvements to date-time parsing This patch refactors the date-time handling a bit: It moves the functions for date-time formatting from libtracker-common to libtracker-extract, and many extractor modules have been adapted to start using it for proper date-time handling and guessing. 2010-02-23 Carlos Garnacho <carlos@lanedo.com> Ensure the full directory hierarchy is inspected on reindex. On reindex, TrackerMinerFS would stop on a directory hierarchy handed by the crawler if its root folder was marked as to be ignored. Now the miner tries harder to get all data from the directory hierarchy. TrackerMinerFS: Also increment error count on SparQL errors. 2010-02-23 Martyn Russell <martyn@lanedo.com> libtracker-miner: Removed unused storage functions 2010-02-23 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation 2010-02-23 Martyn Russell <martyn@lanedo.com> libtracker-miner: Moved tracker-storage here from libtracker-common 2010-02-22 Saleem Abdulrasool <compnerd@compnerd.org> ignore vim swap files by default include the correct header for the panel applet tracker-search-bar doesnt use any panel_applet_gconf_* functions, it uses panel_applet_* functions, which are provided by panel-applet.h remove GConf from configure.ac Nothing is protected by HAVE_GCONF, it is not a depedency for tracker. 2010-02-22 Philip Van Hoof <philip@codeminded.be> libtracker-data, -common: Error reporting for timezone handling 2010-02-22 Jürg Billeter <j@bitron.ch> libtracker-data: Test deletion of xsd:dateTime values libtracker-data: Fix deletion of xsd:dateTime values 2010-02-22 Philip Van Hoof <philip@codeminded.be> libtracker-data, -common: Fixes after Martyn's review libtracker-data: Nicer debugging messages during alter table libtracker-data: Make the unit tests work libtracker-data: Update the nao:lastModified of the tracker:Ontology libtracker-data: Bugfix coping with modest ontology changes The max_id cache of tracker-data-update.c shouldn't be intermixed with the max_ids of tracker-data-manager.c, or should be reset afterward. I decided to keep it simple and just copy the function, and that way don't have to reset the max_id cache of tracker-data-update.c libtracker-data: Support for modest ontology changes libtracker-common, -data: distinguish between entities that are in_update libtracker-common, libtracker-data: Added ontology validation check libtracker-common, libtracker-data: Introduce TrackerOntology class refactor: renamed tracker-ontology to tracker-ontologies Changed the ontology to have tracker:Ontology and nao:lastModified tracker-writeback, tracker-extract: Fixed various writeback related problems Fixes NB #157813, NB #157429, NB# 157814, NB# 157822 tracker-utils: Case insensitive stopwords Fixes NB #157286 2010-02-20 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-02-19 Martyn Russell <martyn@lanedo.com> Updates NEWS with last minute changes libtracker-db: Bump DB version for localtime/named graph changes 2010-02-19 Philip Van Hoof <philip@codeminded.be> tracker-store: Emit class update signal for each rdf:type 2010-02-19 Jürg Billeter <j@bitron.ch> libtracker-common: Fix C89 warnings 2010-02-19 Carlos Garnacho <carlos@lanedo.com> TrackerMiner: Take DBus initialization away to tracker-dbus.[ch] This way, other miner base object implementation will be able to define extra interfaces by doing initialization themselves, the Miner DBus interface will need to be there in order to have things working though. 2010-02-19 Jürg Billeter <j@bitron.ch> libtracker-data: Test local time support SPARQL: Support fn:*-from-dateTime functions to retrieve local time libtracker-data: Insert and update localDate and localTime columns libtracker-common: Add TrackerDateTime to store time with UTC offset libtracker-data: Add localDate and localTime columns 2010-02-19 Martyn Russell <martyn@lanedo.com> Merge branch 'hierarchical-indexing' libtracker-miner: Fixed finishing message alignments 2010-02-19 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFiles: do not monitor child dirs of IndexSingleDirectories. Direct child dirs were being added a monitor, even if the crawler didn't get in there. TrackerMinerFS: Fix progress reporting It also needed to take into account the items left in the directory trees pending insertion into the items_created list. TrackerCrawler: honor the recurse parameter. 2010-02-19 Martyn Russell <martyn@lanedo.com> Updated NEWS with tracker-tag last minute fix Updated NEWS with translations Updated NEWS 2010-02-18 Mario Blättermann <mariobl@gnome.org> Updated German translation 2010-02-18 Petr Kovar <pknbe@volny.cz> Update Czech translation by Marek Cernocky & Petr Kovar Reviewed by: Lucas Lommer. 2010-02-18 Martyn Russell <martyn@lanedo.com> libtracker-miner: SPARQL performance improvement Also use " not ' to be consistent libtracker-miner: Make queue enum a typedef for type checking libtracker-miner: Free nodes using G_POST_ORDER So we free children before parents libtracker-miner: Use useful #ifdef for tree debugging not #if 0 libtracker-miner: Only set parent after no errors are returned libtracker-miner: Avoid unnecessary cast libtracker-miner: Don't use g_slice_new0 for all EnumeratorData members libtracker-miner: Use a GSList in the crawler for DirectoryProcessingData 2010-02-18 Carlos Garnacho <carlos@lanedo.com> Add missing user_data parameters to TrackerCrawler::finished callbacks. Use correct signature for TrackerCrawler::finished. TrackerMinerFS: Plug small leak. TrackerMiner: Cancel pending async calls on dispose. GSimpleAsyncResult tries to reference the object (the miner in this case), so it likely crashed when trying to ref an object being destroyed. Instead do it on dispose, when the object is still alive, but about to be destroyed. 2010-02-18 Dariusz Wiechecki (EXT-Comarch) <ext-dariusz.2.wiechecki@nokia.com> tracker-extract: Use artist's value in filename when creating new album art 2010-02-18 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-02-18 Jamie McCracken <jamiemcc gnome org> TST- made metadata tile labels category specific added folder display 2010-02-18 Carlos Garnacho <carlos@lanedo.com> TrackerMiner: Cancel pending async calls on dispose. GSimpleAsyncResult tries to reference the object (the miner in this case), so it likely crashed when trying to ref an object being destroyed. Instead do it on dispose, when the object is still alive, but about to be destroyed. TrackerMinerFS: if0'ed out debug code. TrackerMinerFS: Avoid safely ignored root directories. This may happen on reindex. 2010-02-18 Dariusz Wiechecki (EXT-Comarch) <ext-dariusz.2.wiechecki@nokia.com> tracker-extract: Use artist's value in filename when creating new album art 2010-02-18 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFS: Ensure ::check-directory is called on root folders. TrackerMinerFiles: Use TrackerMinerFS API to get URNs. Now both file and parent URNs are taken from TrackerMinerFS if any. In the case a file doesn't exist (i.e. doesn't have an URN yet) an anonymous URN will be used as usual. TrackerMinerFS: Add API to know a file/parent urn. This API allows retrieving the URN for a GFile being processed (to check for file existence in the store), or it's parent's (to set nfo:belongsToContainer relationship). Since files are guaranteed to be processed together with the other files in the same folder, and parent folders are guaranteed to be fully processed before its children, The method to cache the parent folder URN should have little impact on performance. In order to retrieve the URN for the file itself, a extra call to item_query_exists() had to be added, unfortunately, doing so on should_change_index_for_file() is not an option, since it happens on the crawling phase, so all URNs would have to be stored. This is a performance vs memory usage problem. TrackerMinerFS: warn if one file has >1 URNs. TrackerCrawler: Report a GNode with the file hierarchy. TrackerCrawler now provides a GNode with the directory/file hierarchy on ::directory-crawled for each GFile passed at tracker_crawler_start(), all the stats are also reported per directory root. ::finished is now only used to notify about interruption. TrackerMinerFS now takes a copy of each of the GNodes intead of appending directly to items_created. Whenever items_created is empty, the stored GNodes are checked for more contents to inspect. This is done so TrackerMinerFS guarantees that a directory has been already added to the store before processing its children. Tracker-extract: Do not specify subject in embedded insert. TrackerSparqlBuilder: allow embedder to specify the subject. Embedded inserts now only consist of predicate/subject, so the embedder is able to specify the subject the data is applying to. 2010-02-18 Jürg Billeter <j@bitron.ch> libtracker-data: Fix DROP GRAPH after switch to use nie:url 2010-02-18 Mikael Ottela <mikael.ottela@ixonos.com> Add some requested properties to be full-text-indexed. Add fn:concat Add the implementation for the xpath function concat and unit-tests. Add fn:string-join Add the implementation for the xpath function string-join and unit-tests. Support NULL values in functions. 2010-02-18 Martyn Russell <martyn@lanedo.com> Updated NEWS Fixes NB#157277, Not able to search for files based on a particular tag Don't use regex matching for searching by tag name, use exact matching Bumped version to 0.7.21 Updated NEWS tracker-tag: Removed unused code and fixed memory leak when removing tags Fixes GB#610318, Bump GTK+ dep to 2.18 due to gtk_widget_set_can_default() Tests: Restructured data and added metadata extraction test 2010-02-17 Martyn Russell <martyn@lanedo.com> nautilus: Don't show an empty file count when adding new tags Fixes GB#610026, Nautilus Tagging Extension does not work at all. 2010-02-17 Jürg Billeter <j@bitron.ch> libtracker-data: Update tests for named graphs with new syntax SPARQL: Support INSERT { GRAPH <...> { ... } } Syntax specified in SPARQL 1.1 Update draft. libtracker-db: Update journal to support named graphs libtracker-data: Add test for named graphs with properties libtracker-data: Add insert-delete-insert test for named graphs libtracker-data: Test simple named graph insert and query SPARQL: Support simple named graph patterns in queries libtracker-data: Insert and update graph columns libtracker-data: Add graph column next to each property column 2010-02-17 Martyn Russell <martyn@lanedo.com> tracker-extract: Warn if a module doesn't export the required functions 2010-02-17 Michele Tameni <michele@tameni.it> Fixes libtracker-extract documentation example which was incorrect 2010-02-16 Jamie McCracken <jamiemcc gnome org> TST: Fixed display of type and formatted file size in metadata tile cleaned up meatdata tile display 2010-02-15 Martyn Russell <martyn@lanedo.com> tracker-tag: Fix looking up by filename Use g_file_new_for_commandline_arg() and also fixed SPARQL. tracker-search-tool: Fix failure to build with Vala 0.7.6. Was due to commit 6f991e3e3d25d043a9e4048f3b0085d1de467ba9 2010-02-15 Jürg Billeter <j@bitron.ch> tracker-extract: Link all extractors to libtracker-extract Util functions have been moved from libtracker-common to libtracker-extract. tracker-info: Print queried URN 2010-02-15 Jamie McCracken <jamiemcc gnome org> TST: Added gradient effect to Metadata Tile 2010-02-12 Mario Blättermann <mariobl@gnome.org> Updated German translation 2010-02-12 Philip Van Hoof <philip@codeminded.be> tracker-client: Refactored away tracker-statement-list tracker-extract: Moved util functions from libtracker-common to libtracker-extract Fixed compilation warnings, mixing code with variables 2010-02-12 Jürg Billeter <j@bitron.ch> libtracker-common: Fix header filename for TurtleWriter 2010-02-11 Michael Biebl <biebl@debian.org> Link kmail plugin against libtracker-client for tracker-sparql-builder 2010-02-11 Martyn Russell <martyn@lanedo.com> Updates NEWS with last minute changes libtracker-client: Remove dbus requirement for .pc file Fixed some ttl_sgml build warnings Fix various compiler warnings libtracker-client: Don't depend on dbus-glib1 in .pc file 2010-02-11 Michael Biebl <biebl@debian.org> Fix pkg-config file for libtracker-miner Fix pkg-config file for libtracker-extract 2010-02-11 Martyn Russell <martyn@lanedo.com> Updated NEWS 2010-02-11 Michael Biebl <biebl@debian.org> Generate tracker-sparql-builder.h before it is used in libtracker-extract. Link libtracker-extract against libtracker-client for tracker-sparql-builder 2010-02-11 Martyn Russell <martyn@lanedo.com> Moved tracker-sparql-builder to libtracker-client 2010-02-11 Michael Biebl <biebl@debian.org> Refine the list of exported symbols for libtracker-miner Export the symbols matching '^tracker_(miner|thumbnailer|crawler)_.*' Make tracker-{miner-manager,crawler}.h part of the public API tracker-miner-manager is used by tracker-status-icon tracker-crawler is used by tracker-control 2010-02-11 Carlos Garnacho <carlos@lanedo.com> Fix nfo:belongsToContainer This is now set to the parent folder URN, not uri. Fix typo in docs. The wrong function name was being referenced. 2010-02-11 Michael Biebl <biebl@debian.org> Use -export-symbols-regex Use -export-symbols-regex to restrict the list of exported symbols to '^tracker_.*'. For libtracker-miner we will have to fine tune the regex even further. Use the tracker icon for the tracker-search-bar applet 2010-02-11 Philip Van Hoof <philip@codeminded.be> NMM: Bugfix, forgot to add the @prefix for nao 2010-02-11 Martyn Russell <martyn@lanedo.com> Fixed various documentation warnings and missing chapters For: libtracker-client libtracker-common libtracker-miner libtracker-extract 2010-02-11 Philip Van Hoof <philip@codeminded.be> NMM: Made nmm:length deprecated, replaced all usage of it with nfo:duration tracker-extract: Added support for pixel-aspect-ratio to gstreamer extractor Bugfix for NB#156571 2010-02-11 Carlos Garnacho <carlos@lanedo.com> Fix check for processing state in crawl_directories_start(). There could be no idle, but a directory being processed by the crawler, so check first for this before trying to create another idle function. Fix G_IS_OBJECT(file) errors. the ProcessData was being found through g_file_equals(), but under a fast sequence of create/remove/create events for a file (as autofoo likes to do), there could be several ProcessData for different GFiles pointing to the same path. So process_data_find() now checks for pointer equality, since the GFile tracker_miner_fs_notify_file() is being called on should correspond to the GFile passed when emitting ::process-file. 2010-02-11 Jürg Billeter <j@bitron.ch> libtracker-extract: Do not include tracker-statement-list.h tracker-sparql-builder.h is all we need. 2010-02-11 Martyn Russell <martyn@lanedo.com> Bumped version for release later today libtracker-db: Bumped database version with new nco im ontology 2010-02-11 Philip Van Hoof <philip@codeminded.be> tracker-extract: Support for nmm:lyricist in MP3 files 2010-02-11 Jürg Billeter <j@bitron.ch> libtracker-common: Port sparql_builder_object_unvalidated to Vala NCO: Add IMAddress and adapt existing IM classes and properties This commit applies various changes to the ontology for multiple reasons. It increases consistency between email addresses, phone numbers, and IM addresses. This enables the use of anonymous contacts for IM messages. Furthermore, this commit also simplifies queries that involve merged contacts, which improves the performance significantly. Despite all the changes, full backward compatibility is retained during a transition period as this commit does not yet remove the deprecated classes and properties. The class nco:IMAddress and the property nco:hasIMAddress have been added. nco:hasIMAddress can be used by any nco:Contact and represents an instant messaging address consisting of nco:imID and nco:imProtocol. This improves consistency with how email addresses and phone numbers are handled in NCO. nco:IMContact has been deprecated in favor of using nco:PersonContact with nco:hasIMAddress. This avoids special casing IM contacts. The address of a nco:IMAccount is now stored in nco:imAccountAddress, this allows to consolidate the nearly duplicate properties such as nco:imId and nco:imContactId and the other nco:im* and nco:imContact* property pairs. To improve consistency among these properties and ease transition, nco:imContactCapability has been renamed to nco:imCapability. nco:hasIMAccount has been deprecated as it did not provide any information as it was only applicable to a single subject, nco:default-contact-me. nco:fromIMAccount has been deprecated and replaced by nco:hasIMContact, which provides the same information in reversed form, that is, it links IM accounts of the user to IM contacts (buddy list). nco:MetaContact and nco:metaContact have been deprecated in favor of storing merged contacts. Contact details can be linked to the data source with named graphs in future versions of Tracker. This provides vastly simpler and more efficient access to merged contacts. 2010-02-11 Deji Akingunola <dakingun@gmail.com> Fixes GB#609607, Make tracker build without assuming implicit DSO linking 2010-02-11 Jamie McCracken <jamiemcc gnome org> TST - Fixed sparql to explicitly fetch URL 2010-02-10 Martyn Russell <martyn@lanedo.com> Fixes GB#609327, Remove libtracker-gtk 2010-02-10 Jürg Billeter <j@bitron.ch> libtracker-data: Fix error handling when using non-existing class 2010-02-10 Iain Holmes <iain@openedhand.com> Fixes GB#609532, Expand search for album coverart 2010-02-10 Jürg Billeter <j@bitron.ch> docs: Add deprecation notice for properties 2010-02-10 Philip Van Hoof <philip@codeminded.be> Renamed the Writeback() DBus method to IgnoreNextUpdate() 2010-02-10 Kjartan Maraas <kmaraas@gnome.org> Updated Norwegian bokmål translation 2010-02-10 Martyn Russell <martyn@lanedo.com> libtracker-miner: Removed tracker_miner_fs_get_directories() This is no longer needed. tracker-miner-fs: Improved feature to update indexed paths in realtime This does several things: - Avoids the TrackerConfig for the object notify if the list data hasn't actually changed. - Allow tracker_keyfile_object_load_string_list() to return the list instead of use it with g_object_set(). - Don't load defaults into config everytime we reload, only initially. - Directories are removed from list of dirs when indexed, so we now keep a list of config specified directories to index so we have a real list to compare to when the config updates (previously the old list was NULL if indexing was complete leading to a reindex of ALL locations because the list was different). - Don't notify about the index-{recursive|single}-directories twice. This happened because we loaded the config into the GObject and then did post processing on the &DESKTOP and other special values which re-set the value in TrackerConfig. libtracker-common: Added tracker_gslist_with_string_data_equal() libtracker-common: Don't emit the changed signal for one edit This occurred twice for vim edits. 2010-02-08 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fixed memory problems in msoffice extractor 2010-02-08 Jürg Billeter <j@bitron.ch> NMO: Change domain of nmo:isAnswered from nmo:Email to nmo:Message nmo:isAnswered will be used for phone calls as well. DC: Fix range of dc:source 2010-02-08 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2010-02-07 Martyn Russell <martyn@lanedo.com> libtracker-miner: Don't print info message > 1s. tracker-miner-fs: Update indexed countries when config file changes libtracker-miner: Added tracker_miner_fs_get_directories() This also renames the old APIs: tracker_miner_fs_add_directory -> directory_add() tracker_miner_fs_remove_directory -> directory_remove() tracker_miner_fs_add_file -> file_add() tracker_miner_fs_notify_file -> file_notify() tracker-search-bar: Fixed uninitialized variable compiler warning tracker-extract: Fixed incorrect free of const gchar* 2010-02-05 Ivan Frade <ivan.frade@nokia.com> Functional tests for distance function 2010-02-05 Philip Van Hoof <philip@codeminded.be> Always use G_MAXINT as DBus timeout 2010-02-05 Carlos Garnacho <carlos@lanedo.com> tracker-extract: ensure there is something on the sparql builders. when called on the command line, sparql builders length wasn't being checked. 2010-02-05 Philip Van Hoof <philip@codeminded.be> tracker-extract: NB# 155064: width and height of TIFF files not filled in 2010-02-05 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-02-04 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-02-04 amit <amit@esdhcp035176.research.nokia.com> commented dummy class and function makefiles for functional tests added new test cases, subdirs added file for config settings test data dir metadata extraction testcases 2010-02-04 Martyn Russell <martyn@lanedo.com> Bump version Updates NEWS 2010-02-04 Carlos Garnacho <carlos@lanedo.com> TrackerMonitor: Workaround design flaw in libinotify. libinotify keeps a hashtable of watch descriptor/handle, and does removing in an asyncrhonous manner. So when inotify_add_watch() reuses a watch descriptor, removing/adding whithout having libinotify process the events coming from the fd may cause the wrong handle (the just added one) to be removed. TrackerMonitor now adds, and then removes old monitors, when a directory is moved, so there's no opportunity to remove the wrong handle. 2010-02-04 Jürg Billeter <j@bitron.ch> tracker-extract-gstreamer: Handle encrypted streams Also extract metadata from encrypted streams and set nfo:isContentEncrypted to true for these files. Fixes NB#152635. 2010-02-04 Philip Van Hoof <philip@codeminded.be> tracker-extract: Bugfixes for NB#155435 in gstreamer extractor 2010-02-04 Carlos Garnacho <carlos@lanedo.com> Use property functions instead of OPTIONAL in tracker-search queries. This performs quite faster with the current DB backend. 2010-02-04 Aron Xu <aronxu@gnome.org> Update Simplified Chinese translation. 2010-02-03 Carlos Garnacho <carlos@lanedo.com> Free properly all metadata extracted from PDF files. both tracker_coalesce() and write_pdf_data() free the used values, so only keywords in the XMP case must be freed, since it isn't used. Fix compile error in the vorbis extractor. 2010-02-03 Martyn Russell <martyn@lanedo.com> Merge branch 'anonymous-file-nodes' 2010-02-03 Carlos Garnacho <carlos@lanedo.com> Remove unneeded parens. tracker-extract: plug leak. tracker-extract: Nullify out variables before extracting metadata. In case of error, NULL TrackerSparqlBuilders will be returned by get_file_metadata(). tracker-extract: Return statements if LSA is used. Fix typo in libtracker-extract documentation. Align together insert_open/close() in the MP3 and vorbis extractors. This is more readable than having the closing function called inside the next if clause. TrackerWriteback: Fix indenting/readability of a code fragment. Replaced _:foo with _:file A somewhat more descriptive name. Remove mistakenly added g_free() in the MP3 extractor. that variable is freed later after being used for albumart. Plug 2 leaks. Plug some leaks in the PDF extractor. Avoid early g_free(). The variable piece_table is pointing to ctx, so the ctx memory still has to be valid while dealing with piece_table. 2010-02-03 Gabor Kelemen <kelemeng@gnome.hu> Updated Hungarian translation Remove translatable mark from stock GTK buttons 2010-02-03 Jürg Billeter <j@bitron.ch> tracker-extract-pdf: Do not leak pages 2010-02-03 Philip Van Hoof <philip@codeminded.be> tracker-extract: Always favor XMP over IPTC, EXIF or native 2010-02-03 Carlos Garnacho <carlos@lanedo.com> Get all children URIs in a single query when moving a folder. nfo:belongsToContainer isn't used since at the moment the data in there is not actually reliable. Ensure the dest path info is removed before a move operation. Also, now nie:isStoredAs is updated properly. Ensure nie:isStoredAs is set to the object URN. TrackerSearchBar: Fix opening files. Adapt tracker-search-bar to not use URI=ID. Fix tracker-tag so no URI=ID is assumed. Make tracker-search show the item URI if it exists. 2010-02-03 Philip Van Hoof <philip@codeminded.be> DROP GRAPH now uses the value of nie:url instead of subjects 2010-02-03 Carlos Garnacho <carlos@lanedo.com> Make tracker-info work again with URNs besides URIs and paths. Fix typo when creating preupdate queries. the wrong TrackerSparqlBuilder was being used on some calls. Still use URI as graph name. TrackerMinerFiles: Allow late addition of tracker:mountPoint. Since the URNs are now anonymous, we might not know yet the mount point URN, so this data is added when the mount point GFile is processed. Normalize paths so getting the UDI for the mount dir GFile works. Also, a leak in that function was fixed. 2010-02-03 Philip Van Hoof <philip@codeminded.be> Fixed a critical warning on Writeback() Compilation warning fix Fixed the tracker-writeback function to cope with anonymous blank nodes Files now have an anonymous blank node as subject, this means that the subject no longer is the same as nie:url. This commit fixes this situation. Fixed bug with nmm:albumTrackCount being set to different values ... for the same album, which was failing the insert query for the entire song Added support for DELETE to TrackerSparqlBuilder class 2010-02-03 Carlos Garnacho <carlos@lanedo.com> Turn preinserts into more generic preupdate. Now implementations must open/close inserts themselves, since more than just inserts could be added there. Fix commit 07580f1 to use preinserts for affiliation info. Make tracker-info not rely on ID==URI. TrackerMinerFiles: Use new tracker-extract API to compose insertions. The newer tracker-extract DBus API is used and later composed into a single query. Also, some miscellaneous places that didn't rely on ID!=URI have been changed. Modify tracker-extract to return 2 sparql strings. The first argument will be preinserts, which are the necessary insertions that actual file metadata rely on. The second argument is just a collection of data triples so it can be inserted together with the rest of the data in the miner. Add API to TrackerSparqlBuilder to add WHERE clauses. where_open(), where_close() and subject_variable() have been added. Add API to TrackerSparqlBuilder to prepend a raw string. This can be used by miners to compose together any prerequisite insertion (for example, artist/album in audio files) with the actual entity data (the audio file in this case). Add API to TrackerSparqlBuilder to allow embedded insertions. Embedded insertions may take triples so data taken from tracker-extract can be afterwards inserted together with the rest of the data in the miner. 2010-02-03 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation Updated Spanish translation 2010-02-02 Michael Biebl <biebl@debian.org> Add missing '\' for config_noinst Fixes make (dist)check. 2010-02-02 Ivan Frade <ivan.frade@nokia.com> Tests: More asserts and updated comments Functional test for coalesce 2010-02-02 Philip Van Hoof <philip@codeminded.be> tracker-extract: Fixed nmm:composer and nmm:directory reference 2010-02-02 Ivan Frade <ivan.frade@nokia.com> Tests: Functional test for group concat MFO: Added groupDefault property Needed to represent e.g. Yahoos RSS media feed 2010-02-02 Iain Holmes <iain@openedhand.com> Fixes: GB#608395, Flac extractor Add support for Flac files. 2010-02-02 Philip Van Hoof <philip@codeminded.be> Added nao:nummericRating and fixed a few bugs in the EXIF & XMP parsers Using the the right key for EXIF data in PNG extractor Removed debugging printf Fixed a bug in the XMP parser, added EXIF to PNG extractor 2010-02-02 Martyn Russell <martyn@lanedo.com> tracker-control: If using -r and -s together, wait 1s before -s Race conditions were observed without the wait and D-Bus errors about timeouts were being reported. This avoids that. libtracker-miner: Added G_LOG_LEVEL_INFO for estimated remaining time This is only done for >= 1% progress changes and never > 1/sec. This also means that using verbosity=1 we will only get these updates. 2010-02-02 Philip Van Hoof <philip@codeminded.be> Deal with directory renames for thumbnailer Move 2010-02-02 Jürg Billeter <j@bitron.ch> nautilus: Fix crash when calling gtk_dialog_new_with_buttons libtracker-client: Fix crash in tracker_search_metadata* NIE: Create index for nie:url Fixes performance issues such as very slow crawling on startup. 2010-02-01 Martyn Russell <martyn@lanedo.com> libtracker-miner: Don't return an empty GError in pause/resume tracker-status: Fixed logic check for -m without -p or -r tracker-status: Cleaned up status output Less text and also removed the --show-key option. Plus tracker-status didn't have an up to date man page. libtracker-miner: Do alias lookups for pause/resume This means we can use "Files" instead of org.freedesktop... for miner names. libtracker-miner: Don't list Miner.Files.Reindex interface tracker-status: Error if miner is supplied without pause/resume 2010-02-01 Carlos Garnacho <carlos@lanedo.com> TrackerSearchBar: Fix wrong check in pixbuf_get(). a TrackerCategory was being passed, but the function expected a gboolean is_image. pixbuf_get() now uses TrackerCategory, which is more versatile. 2010-02-01 Philip Van Hoof <philip@codeminded.be> Fixed remarks raised by Martyn, fixed mimetype for Remove thumbnails Integrate thumbnailer's Move and Remove with FS miner Added Move and Remove functionality for thumbnails 2010-02-01 Juan A. Suarez Romero <jasuarez@igalia.com> Do not check locks on special files like pipes or sockets. This avoids blocking when opening such kind of files. 2010-02-01 Jürg Billeter <j@bitron.ch> nautilus: Fix tag deletion Fixes GB#607576. 2010-02-01 Martyn Russell <martyn@lanedo.com> plugins/nautilus: Order tags by name 2010-01-29 Philip Van Hoof <philip@codeminded.be> Use album instead of title for the album art Fixed plugin for Evolution's EPlugin API in 2.29 2010-01-29 Jürg Billeter <j@bitron.ch> tracker-search: Fix duration calculation for album listing 2010-01-28 Ivan Frade <ivan.frade@nokia.com> MLO: diagram and more explanations MLO: GeoPoint is subclass of IE and not GeoLocation MLO: Verbose description of the ontology Add deprecation notice (as note) 2010-01-28 Jürg Billeter <j@bitron.ch> Release 0.7.18 docs: Fix make distcheck docs: Fix missing ontology in Makefile Update .gitignore 2010-01-28 Florent Viard <fviard@lacie.com> Fix inconsistency in determining XDG directories 2010-01-28 Ivan Frade <ivan.frade@nokia.com> Create PNG diagrams on compilation Add deprecated in the class definition (not working in gtk-doc) Add .description contents in the docbook xml Author, editors, contributors, Changelog, copyright and upstream link is shown now in the gtk-doc output Update copyright note to be docbook friendly Fixed email addresses in descriptions to be XML friendly 2010-01-28 Jürg Billeter <j@bitron.ch> tracker-search-tool: Fix build in vala master Fixes in the GTK+ bindings require this change. 2010-01-28 Mattias Põldaru <mahfiaz gmail com> Updating Estonian translation 2010-01-28 Jürg Billeter <j@bitron.ch> libtracker-data: Use integers for comparison in location test String representations of doubles may differ on different platforms, so only compare distances after conversion to integers for now. SPARQL: Support constructor functions for type conversion This adds support for xsd:string, xsd:integer, and xsd:double constructor functions. 2010-01-28 Mikael Ottela <mikael.ottela@ixonos.com> Location functions for MLO Add functions needed for location querying. Implements SWP#MCoFr-511. 2010-01-28 Carlos Garnacho <carlos@lanedo.com> TrackerMonitor: Double check for is_directory. at the time the is_directory checks were being done, the file could no longer exist, so double check these cases with the directory monitors hashtable, in case we know about it. 2010-01-28 Jürg Billeter <j@bitron.ch> tracker-search: Display titles when listing albums 2010-01-27 Ivan Frade <ivan.frade@nokia.com> Updated description to contain XML valid copyright notes Still useless in docbook, but at least it generates something XSD: Reformat documentation to docbook An added in the generated documentation. Not much information there, though Section is titled "Overview" and the first subsection "Introduction" NMO: Reformat documentation to docbook NIE: Reformat documentation to docbook MFO: Reformat documentation to docbook NMM: Explanation translated to docbook Replace old HTML template with the new in XML Include diagrams in png in the generated documentation Add notation image to the documentation Generated using dia. Include again the explanation files in the output Now the explanation files will be in docbook (XML) so the new files will be called explanation.xml 2010-01-27 Gabor Kelemen <kelemeng@gnome.hu> Updated Hungarian translation 2010-01-26 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-01-26 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFS: Improve logging of files processed/notified. 2010-01-26 Debarshi Ray <debarshir@src.gnome.org> tracker-writeback: Set manual white-balance value correctly NMM: Fixed spellings of pre-defined instances 2010-01-26 Gabor Kelemen <kelemeng@gnome.hu> Updated Hungarian translation 2010-01-25 Philip Van Hoof <philip@codeminded.be> Reindex files of a specified MIME type This feature is useful when installing a 3th party extractor Fixed nco:hasAffiliation in TIFF and JPEG extractors Fixed compilation warnings in extractors 2010-01-23 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-01-22 Philip Van Hoof <philip@codeminded.be> Replaced the usage of == with = in configure.ac, == is a bash-ism Don't make enca required without configure switches 2010-01-22 Saleem Abdulrasool <compnerd@compnerd.org> create the journal location If the base directory where the journal is being written to does not exist, when trying to create the journal file, the call will fail as the parent directory does not exist. To prevent this failure scenario, first create the directory structure before attempting to create the journal. add explicit option for enca 2010-01-22 Jürg Billeter <j@bitron.ch> libtracker-data: Move Uri column to separate table Fixes NB#153866. 2010-01-22 Philip Van Hoof <philip@codeminded.be> Timed waiting on the GCond in the Evolution plugin, just in case Bugfix for critical messages when using tracker-control 2010-01-21 Martyn Russell <martyn@lanedo.com> Updated NEWS and db version with ontology changes libtracker-common: Use TRACKER_DISABLE_DEPRECATED like other libs 2010-01-21 Jürg Billeter <j@bitron.ch> libtracker-data: Update test result libtracker-data: Update test result NMO: Fix order 2010-01-21 Ivan Frade <ivan.frade@nokia.com> NMO: Add delivery status to messages Updated Location ontology Lots of changes in the class hierarchy and naming. Added predefined instances for standard categories. 2010-01-21 Martyn Russell <martyn@lanedo.com> Bumped version 2010-01-21 Mikael Ottela <mikael.ottela@ixonos.com> Remove default value for title from mp3 extractor Add tests for tracker convience sparql functions. Add a convenience sparql function to get title-like strings out of filenames. 2010-01-21 Martyn Russell <martyn@lanedo.com> Updated NEWS 2010-01-21 Philip Van Hoof <philip@codeminded.be> Delete thumbnailer code, we don't use this anymore 2010-01-21 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Added reindex by mime code to get files to update tracker-miner-fs: Added reindexing by mime type for new extractors This is the initial work only. Nothing actually works yet. Currently there is a D-Bus API in tracker-miner-fs to call and tracker-control has a command line switch (-m) that can be used to call tracker-miner-fs and perform the operation which still needs implementing. Fixes NB#153444, tracker-stats giving incorrect results for contacts after... Classes with multiple inheritance caused multiple decrements to the class count which meant tracker-stats was inaccurate. 2010-01-21 Philip Van Hoof <philip@codeminded.be> Small performance optimization in deleting a statement 2010-01-20 Carlos Garnacho <carlos@lanedo.com> Avoid assuming that uri = resource iri in libtracker-miner. nie:url is now used instead in TrackerMinerFS for matching, tracker:uri is now unused. Avoid dbus-glib crash on NULL GPtrArray. 2010-01-20 Martyn Russell <martyn@lanedo.com> libtracker-extract: Fixed libdir to $prefix/lib and .la to use version This is to remain consistent with other public APIs Merge branch 'libtracker-extract' libtracker-extract: Added documentation 2010-01-20 Tuomas Järvinen <tuomas.jarvinen@ixonos.com> Changed MS document content extractor to use GSF insted of WV2. 2010-01-20 Philip Van Hoof <philip@codeminded.be> Fixed a UI hang in Evolution's plugin 2010-01-20 Martyn Russell <martyn@lanedo.com> libtracker-extract: Added .pc file for 3rd parties to use with pkg-config libtracker-extract: Updated #ifdefs to avoid future conflicts libtracker-extract: Move tracker_get_extract_data to tracker-extract.h Was in tracker-extract/tracker-main.h libtracker-extract: Initial move of files into separate lib 2010-01-19 Jürg Billeter <j@bitron.ch> Do not remove tracker:added or tracker:modified on DROP GRAPH Fixes NB#144725. 2010-01-19 Martyn Russell <martyn@lanedo.com> libtracker-miner: Change name to include version So the .so is now called libtracker-miner-0.7 and is in /usr/lib not in /usr/lib/tracker-0.7. This is because this library is not an internal library but a library that needs to be available to others writing data miners for Tracker libtracker-db: Fixed make distcheck break testing journal 2010-01-18 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-01-18 Michael Biebl <biebl@debian.org> Add m4 directory to git Older versions of libtool fail to create the m4 directory if it does not exist yet. So add m4 to git to make ./autogen.sh work for those cases. 2010-01-18 Martyn Russell <martyn@lanedo.com> tracker-search: Fixed segfault when no search terms are provided 2010-01-18 Jürg Billeter <j@bitron.ch> data-generators: Adapt to NMO changes Use nmo:lastMessageDate, nmo:communicationChannel, and nco:default-contact-me. data-generators: Fix syntax issues 2010-01-18 Martyn Russell <martyn@lanedo.com> data-generators: Include channel/conversation to IM test data data-generators: Updated gossip script to start working with new nco ontology tracker-extract: Fix checks for exif read API and add some for iptc tracker-extract: Cleaned up XMP code tracker-extract: Cleaned up topanalyzer header tracker-extract: Cleaned up EXIF code tracker-extract: Fixed comment typo tracker-extract: Cleaned up IPTC code/API We are going to be exposing this API soon. 2010-01-18 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2010-01-17 Philip Van Hoof <pvanhoof@slorp.home> Build environment fixes 2010-01-15 Jürg Billeter <j@bitron.ch> SPARQL: Fix error propagation 2010-01-15 Martyn Russell <martyn@lanedo.com> tracker-search: Warn about using stopwords as search terms tracker-miner-fs: Reworked 0.6 patch from NB#147027 for 0.7. This adds Windows hidden directory checking by looking at the file attributes. Unfortunately GIO only supports this if we are running on Windows and does it differently too using the GetFileAttributesW() API. See commit c69e69c906eb8c903b515a6782c76efc8aa9f8e6. 2010-01-15 Jürg Billeter <j@bitron.ch> Update .gitignore 2010-01-15 Philip Van Hoof <philip@codeminded.be> NB#153335: List albums with tracker-search -a with no title or length set libtracker-db: Fixed a crash in case reader_init didn't succeed 2010-01-15 Michael Biebl <biebl@debian.org> Use a separate directory m4/ for the m4 macros. While at it, replace the deprecated macro AM_CONFIG_HEADER with AC_CONFIG_HEADERS. Include tracker-kmail-registrar.xml in the dist tarball It is required to generate tracker-kmail-registrar-glue.h 2010-01-14 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-01-14 Martyn Russell <martyn@lanedo.com> Bumped version to 0.7.16 Updated NEWS Merge branch 'clientapi-2' libtracker-client: Free GStrv for activatable clients libtracker-client: Don't return -1 for guints on error libtracker-client: Added check with ListActivatableNames This is to replace the start_service() function we used to have for clients that check they can connect to the service. 2010-01-14 Ivan Frade <ivan.frade@nokia.com> Ontology: Added new predefined instance for text-chat capabilities 2010-01-14 Jürg Billeter <j@bitron.ch> Use gint for resource IDs This fixes deleting Uri values from database as SQLite does not distinguish between signed and unsigned integer. 2010-01-14 Martyn Russell <martyn@lanedo.com> libtracker-client: Removed debugging libtracker-miner: Fixed evolution plugin enable/disable calling exit() This occurred because we didn't release the name when we clean up the dbus data for the miner. Subsequently, disabling and then enabling the plugin would try to re-register the miner's name and find it was in use and so exit() would be called in libtracker-miner. Now this is fixed and Evolution doesn't completely exit. 2010-01-14 Philip Van Hoof <philip@codeminded.be> Dealing with a memory leak for the TrackerMiner of the Evolution plugin Removed several locks from the Evolution plugin and made it cancellable 2010-01-14 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed directory check that was matching file patterns libtracker-client: Fixed crash passing the wrong user_data to async funcs libtracker-client: Added parameter checking for all public API libtracker-client: Fix timeout min range and don't allow 0 Also added g_object_notify() for all properties upon set. libtracker-client: Don't try to start the D-Bus service at all This is done automatically with D-Bus calls anyway. src/plugins/evolution: Give the plugin a better name and description libtracker-client: Make tracker_client_new() use flags libtracker-client: Fixed typedefs in the wrong sections for reference docs libtracker-client: Use tracker_client_new() + remove _no_service_start() libtracker-client: Move D-Bus interface/service/object defs to header libtracker-client: Fixed the warnings about using the deprecated API libtracker-client: Move public struct members to private struct libtracker-client: General code clean up - Use GSlice for reply callbacks - Fix copyright - Group functions properly - Rename some variables/functions libtracker-client: Update documentation with deprecations 2010-01-14 Philip Van Hoof <philip@codeminded.be> Adapted the Evolution plugin to new TrackerClient API Made TrackerClient a GObject 2010-01-14 Jürg Billeter <j@bitron.ch> libtracker-data: Avoid string manipulation in get_property_values libtracker-data: Avoid querying for ID twice when inserting resources libtracker-data: Reuse blank_buffer arrays libtracker-data: Reuse resource_cache and resources in update buffer libtracker-data: Never delete URI <-> ID mapping Deleting URI <-> ID mapping may cause dangling references leading to issues in subsequent queries. Fixes NB#151295. 2010-01-13 Jürg Billeter <j@bitron.ch> tracker-extract-gstreamer: Set nmm:musicAlbum and nmm:performer 2010-01-12 Philip Van Hoof <philip@codeminded.be> libtracker-data: Use same resource time in DB and journal Pass the transaction's time around instead of using time(NULL) in the journal. 2010-01-12 Jürg Billeter <j@bitron.ch> tracker-store: Also sync on BatchCommit tracker-store: Add Sync D-Bus method Sync will fsync the journal. 2010-01-12 Philip Van Hoof <philip@codeminded.be> libtracker-db: Added check that verifies last entry of the journal libtracker-data: Truncate journal to last correct entry if corrupted Reimplemented backup and restore support libtracker-db: Check databases for corruption 2010-01-12 Jürg Billeter <j@bitron.ch> libtracker-data: Add support for journal replay 2010-01-12 Philip Van Hoof <philip@codeminded.be> libtracker-data: Use cached ids instead of lookups 2010-01-12 Jürg Billeter <j@bitron.ch> libtracker-data: Append updates to journal libtracker-db: Check that journal entry size is big enough libtracker-db: Support reading timestamps from journal libtracker-db: Add timestamp to transactions in journal libtracker-db: Add more checks to tracker_db_journal_append_* libtracker-db: Fix CRC check in journal reader libtracker-db: Fix error handling in reader initialization 2010-01-12 Martyn Russell <martyn@lanedo.com> libtracker-db: Use open/close instead of fopen and fclose Also added loop to make sure write writes the whole buffer. libtracker-db: Add tests for journal writer and reader libtracker-db: Improve the journal API Added return values in some cases, and make it clearer that there is an API to iterate the journal and an API to write to it. Don't use global namespace for #defines for local use Move local functions above public functions Improve db journal reader GErrors Use an enum not hardcoded values for journal data formats 2010-01-12 Jürg Billeter <j@bitron.ch> libtracker-db: Implement reader for new binary journal 2010-01-12 Philip Van Hoof <philip@codeminded.be> libtracker-db: Implement writer for new binary journal Fixed a few uint vs. int issues for consistency libtracker-common: Added tracker_{class,property}_{get,set}_id Remove old backup code - Removed periodic backup code - Stubbed DBus API backup code Fixed a crash in evolution plugin when killing tracker-store 2010-01-11 Martyn Russell <martyn@lanedo.com> libtracker-common: Added D-Bus client lookup for logging If verbosity is > 0 for tracker-store, the log will show: <--- [%d|%s] Hello World Where %d is the request ID and %s is the basename of the command that sent the D-Bus request in. For example "tracker-stats". tracker-store: Removed non-existant functions in tracker-dbus.h tracker-search: Improve -a output Don't use uppercase letters for each songs and seconds. Don't prepend "Album" to each album name. 2010-01-11 Ivan Frade <ivan.frade@nokia.com> Added predefined tag for favorite nao:predefined-tag-favorite Updating mlo ontology 2010-01-11 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2010-01-11 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2010-01-11 Philip Van Hoof <philip@codeminded.be> Use proper throttling for the Evolution plugin Throttle 100 Emails per 5 seconds delay This can be improved by implementing real throttling instead 2010-01-11 Jürg Billeter <j@bitron.ch> NMO: Change domain of nmo:isDraft from nmo:Email to nmo:Message NMO: Add nmo:isSent property 2010-01-07 Martyn Russell <martyn@lanedo.com> Updated NEWS with a lightning fast super fix from Juergbi Updated NEWS for release Bumped version to 0.7.15 Fix msword.h and don't wrap libtracker-common/tracker-utils.h for c++ 2010-01-07 Jürg Billeter <j@bitron.ch> SPARQL: Support inserting negative numbers without quotes libtracker-fts: Simplify virtual table creation Specifying property columns is not necessary anymore. libtracker-data: Separate inserting URIs from creating DB schema 2010-01-05 Jürg Billeter <j@bitron.ch> SPARQL: Fix non-ASCII IRIs 2010-01-04 Javier Jardón <jjardon@gnome.org> Fixes GB#572237, Remove deprecated Glib symbols 2010-01-04 Laurent Aguerreche <laurent.aguerreche@free.fr> Fixes GB#604655, Fix detection of ioprio 2010-01-04 Don Pellegrino <don@drexel.edu> Fixed id3lib configure errors and improved README for Debian Sid amd64 2009-12-30 Mario Blättermann <mariobl@gnome.org> Updated German translation 2009-12-30 Jürg Billeter <j@bitron.ch> tracker-extract-gstreamer: Also provide nmm:length for audio files Fixes NB#132761. tracker-extract-gstreamer: Fix nfo:channels and nfo:sampleRate tagreadbin provides these two values as ints, not uints. Fixes part of NB#132761. 2009-12-29 Jürg Billeter <j@bitron.ch> Release 0.7.14 Update .gitignore 2009-12-28 Jürg Billeter <j@bitron.ch> Remove #~| comment lines from .po files Breaks build in some environments. tests: Use g_assert_no_error now that we depend on GLib 2.20 libtracker-common: Readd tracker_uri_printf_escaped This partially reverts commit 202df57, which incorrectly replaced uri escaping by markup escaping. 2009-12-24 Philip Van Hoof <philip@codeminded.be> Indentation fixes in streamanalyzer's support code Memleak fix in VORBIS extractor Added comment about the Artist field in PDF extractor Added comment to OASIS extractor about unlinking meta.xml afterward Corrected the XINE based extractor Improvements in code style of EXIF extractor code Adapted the writeback module for XMP to add CountryName too Apparently is the field called CountryName in IPTC's namespace of XMP 2009-12-23 Philip Van Hoof <philip@codeminded.be> Added fields to IPTC extractors, for example support for locations Improvements to the IPTC extractor 2009-12-23 Martyn Russell <martyn@lanedo.com> NEWS: No bugs were fixes 2009-12-23 Mikael Ottela <mikael.ottela@ixonos.com> Added the missing tests for xpath functions 2009-12-23 Martyn Russell <martyn@lanedo.com> libtracker-db: New db version for coalesce/writeback schema changes More NEWS updates Updated NEWS Bumped version to 0.7.13 2009-12-23 Carlos Garnacho <carlos@lanedo.com> Do not compile the playlist writeback module yet. tracker-extract-playlist: Add nie:IE to nfo:MediaFileListEntry. Also, nie:isStoredAs has been added to nfo:MediaList TrackerWritebackPlaylist: Fix up playlist saving. TotemPlPlaylist isn't (yet) in totem-pl-parser, so the module will not be compiled anyway, at the moment. 2009-12-23 Philip Van Hoof <philip@codeminded.be> Location writeback support for XMP formats Disable MP3 extractor, id3lib apparently corrupts files sometimes Added a few fields to the XMP writeback support Set cardinality of nfo:entryCounter and nfo:listDuration Added skeleton for playlist writeback support 2009-12-22 Philip Van Hoof <philip@codeminded.be> The nie:url property is a string, not a resource. Fixed dup field usage in XMP extractors Merge branch 'coalesce-support' 2009-12-21 Philip Van Hoof <philip@codeminded.be> Removed unneeded debug message 2009-12-21 Mikael Ottela <mikael.ottela@ixonos.com> Add tests for sparql functions Add tracker:coalesce function 2009-12-21 Martyn Russell <martyn@lanedo.com> Bump GLib version requirement to 2.20. and removed dup funcs libtracker-common: Improve TrackerLanguage documentation 2009-12-21 Philip Van Hoof <philip@codeminded.be> Added missing location fields This can be adapted later, in case certain of these added fields aren't the we finally want them. Fixed copypaste error, left-top orientation of XMP Cleanup XMP extractor 2009-12-21 Martyn Russell <martyn@lanedo.com> src/plugins/nautilus: Use g_debug() instead of g_print(). src/plugins/nautilus: Fixed crasher when right clicking on background This was spotted by Debarshi Ray. There is no action for the background now, unless we decide to tag the background at some point, this won't be enabled (for now disabled). If this code is enabled it won't crash, however, we can only list tags, we have no file to apply them to. 2009-12-19 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-12-18 Martyn Russell <martyn@lanedo.com> Fixed last of the make distcheck failures yay! Fixed --disable-nautilus-extension which was broken Disable nautilus extension for make distcheck to work Updated NEWS for release 2009-12-18 Carlos Garnacho <carlos@lanedo.com> Distcheck fixes. 2009-12-18 Martyn Russell <martyn@lanedo.com> Attempting to resolve more make distcheck issues Removed ontology.png since this is generated now Make graphviz a build dependency but only with gtk-doc enabled Bumped version to 0.7.12 libtracker-db: Updated DB version for new schema changes 2009-12-18 Carlos Garnacho <carlos@lanedo.com> Fix distcheck when generating ontology docs. 2009-12-18 Martyn Russell <martyn@lanedo.com> Fixed ontology-graph inserting into an uninitialised GList Fixed make distcheck failure trying to build unused dir 2009-12-18 Carlos Garnacho <carlos@lanedo.com> Add empty ontology-sections.txt. Looks like some gtk-doc versions really like this file, so build breaks if it isn't there. 2009-12-18 Jürg Billeter <j@bitron.ch> NMO: Add some comments NMO: Deprecate nmo:plainTextMessageContent Use nie:plainTextContent instead. NMO: Add indexes for important message properties NMO: Add nmo:lastMessageDate and nmo:hasParticipant properties NMO: Add nmo:Conversation class and nmo:conversation property 2009-12-18 Martyn Russell <martyn@lanedo.com> src/plugins/nautilus: Removed unused code 2009-12-17 Martyn Russell <martyn@lanedo.com> src/plugins/nautilus: Removed add-dialog code, no longer needed src/plugins/nautilus: Fixed up remaining issues - Show item tag count column - Do real time updates and removals - Fixed the toggle state for some cases - Don't use a separate dialog to add tags plugins/nautilus: Code clean up - Fixed memory leaks - Fixed coding style - Removed duplicate code Cleaned up configure.ac for consistency 2009-12-17 Debarshi Ray <debarshir@src.gnome.org> Fixed a couple of memory errors + Plugged a leak. + Ref and unref list elements before copying and freeing. Fixed indentation, braces, etc.. Prevent build failure with -Wformat-nonliteral Moved the Nautilus extension to src/plugins/nautilus Replaced char with gchar Renamed TrackerTagsPlugin to TrackerTagsExtension Added a new Nautilus extension for managing tags. It provides a menu items and a property page for adding or removing tags, and attaching or detaching tags from files. This replaces the older (and broken) extension written in Python, and can be enabled using --enable-nautilus-extension. 2009-12-17 Jürg Billeter <j@bitron.ch> libtracker-data: Improve struct comments in tracker-data-update.c SPARQL: Do not support AS outside of select expressions SPARQL: Support functions with non-prefixed IRI 2009-12-16 Martyn Russell <martyn@lanedo.com> Fixed build errors for clean checkout 2009-12-16 Carlos Garnacho <carlos@lanedo.com> configure.ac: Remove Makefile generation for no longer existing dir. Autogenerate ontology documentation. There is now a new gtk-doc reference for ontology, which is created from data/ontologies/*. docs/tools contains the programs to generate both docbook and graphs, these are dumped on docs/reference/ontology, which is compiled afterwards. Documentation generation happens on make, ontology graphs require graphviz and are only generated on distcheck, A base image is committed, so people don't need graphviz to have a peek. Improve graphviz generation code. 2009-12-16 Martyn Russell <martyn@lanedo.com> Fixed make distcheck failures 2009-12-16 Jürg Billeter <j@bitron.ch> tracker-store: Fix memoy leak on updates Fixes NB#150158. 2009-12-16 Martyn Russell <martyn@lanedo.com> Fixes GB#603054, fails to build on missing tracker-explorer 2009-12-15 Jürg Billeter <j@bitron.ch> Add support for coverage analysis using lcov Update .gitignore 2009-12-15 Martyn Russell <martyn@lanedo.com> Fixed build failure because python/ directory no longer exists Moved python/deskbar-handler to src/plugins/deskbar Removed python/SearchTool, was unused and using 0.6.x API Removed python/nautilus, was unused and using 0.6.x API Moved python/music to utils/lyrics Removed python/FUSE, it was unused and used the 0.6.x API Moved python/rss_reader to examples/ Removed python/applet, unused and uses 0.6.x API Moved gtk-sparql to utils/ Removed first line in all *.[ch] files defining tab width, etc. This removes the following line: /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ This is not needed and editors should work without this anyway. Removed extensions/ hosting firefox/thunderbird legacy code 2009-12-13 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-12-11 Martyn Russell <martyn@lanedo.com> Fixed libwv2 check which was failing linking stage Fixed make distcheck issues Updated NEWS with last minute commits Updated NEWS Bumped version to 0.7.11. 2009-12-11 Carlos Garnacho <carlos@lanedo.com> Add Small application to generate ontologies graph. 2009-12-11 Martyn Russell <martyn@lanedo.com> Added emacs temporary files to .gitignore Revert broken binary files from trailing whitespace changes Fixed make check, python/rss_reader/rss_viewer.ui was not in POTFILES.in Merged whitespace branch 2009-12-11 Philip Van Hoof <philip@codeminded.be> Fixed usage of nie:url This follows what is being discussed here: https://sourceforge.net/apps/trac/oscaf/ticket/46 Swapped the inheritance order between deprecated nmo:Mailbox and nmo:MailAccount 2009-12-11 Ivan Frade <ivan.frade@nokia.com> MFO: FeedElement is now subclass of InformationElement 2009-12-11 Philip Van Hoof <philip@codeminded.be> Renamed nmo:Mailbox to nmo:MailAccount in tools and tests Renamed nmo:Mailbox to nmo:MailAccount 2009-12-10 Jürg Billeter <j@bitron.ch> libtracker-data: Test subqueries SPARQL: Fix type handling of subquery results SPARQL: Only export selected variables from subqueries SPARQL: Add support for scalar subqueries SPARQL: Add support for compositional subqueries SPARQL: Add add_variable_binding method to simplify code 2009-12-10 Ivan Frade <ivan.frade@nokia.com> Quick fixes in gstreamer extractor to produce valid SparQL nmm:setNumber, and nfo:genre where set in the wrong object nmm:performer (a property) was used as class Disabled the performer logic. We need to revamp this sparQL generation anyway. 2009-12-10 Jürg Billeter <j@bitron.ch> SPARQL: Align GROUP BY support with SPARQL 1.1 Draft No implicit ordering, ASC and DESC are not supported for GROUP BY. 2009-12-09 Mikael Ottela <mikael.ottela@ixonos.com> Add test cases for aggregates Add support for DISTINCT in aggregates 2009-12-09 Carlos Garnacho <carlos@lanedo.com> Further docs to libtracker-client. Add a bunch of docs to libtracker-client. Finish libtracker-miner docs. now with 100% coverage again. 2009-12-09 Philip Van Hoof <philip@codeminded.be> Fixed property functions to support resource variables 2009-12-09 Ivan Frade <ivan.frade@nokia.com> Doc: Show in HTML when a class/property is marked as deprecated Mark nie:isStoredAs as deprecated Updated NIE explanation about URI assignations Add nie:url property to Data Objects (already in upstream svn) Marked nfo:fileURL as deprecated . NAO: Adding nao:deprecated to the ontology 2009-12-09 Carlos Garnacho <carlos@lanedo.com> Bug 604152 - tracker-miner-fs crashes after initial startup Allocate event data in TrackerMonitor through GSlice, so alloc/free functions match. 2009-12-09 Mattias Põldaru <mahfiaz gmail com> Updating Estonian translation 2009-12-08 Philip Van Hoof <philip@codeminded.be> Tiny build glitch, added ifdef in case libwv2 ain't available Refactored the MSWord extractor to use libwv2 for content extraction 2009-12-08 Jürg Billeter <j@bitron.ch> SPARQL: Add DataBinding.sql_expression property to simplify code SPARQL: Translate AS ?foo to SQL AS foo SPARQL: Support AS ?foo syntax from SPARQL 1.1 Draft SPARQL: Support bracketted expressions as select expressions SPARQL: Fix type handling in aggregate functions Improves performance when aggregating over resources. 2009-12-07 Philip Van Hoof <philip@codeminded.be> Added support for class signals to nmm:RadioStation 2009-12-07 Jürg Billeter <j@bitron.ch> Update .gitignore libtracker-data: Fix reading inverse functional properties from DB 2009-12-07 Martyn Russell <martyn@lanedo.com> tracker-search-bar: Fixed results window show/hide semantics. - Now the search results window is hidden if the text is NULL or "". - Now the search results window is shown if a previous item is activated in the list and a new search term is typed libtracker-miner: Don't include generated SGML files in git. libtracker-common: Add G_{BEGIN|END}_DECLS to tracker-utils.h 2009-12-07 Vesa Pikki <vesa.pikki@ixonos.com> Added support for msoffice extractor to parse textual content from .ppt Powerpoint Files. 2009-12-04 Martyn Russell <martyn@lanedo.com> NEWS: Updated for release Bumped version to 0.7.10. tracker-search-bar: Improve tooltips/queries & make applications launch tracker-search-bar: Improve querying for bookmarks, apps, websites Added contacts to queries. Added more data to tooltip for search results. 2009-12-04 Philip Van Hoof <philip@codeminded.be> Removed cardinality of previously added property Added property to ontology for multi media team 2009-12-04 Ivar Smolin <okul@linux.ee> Updating Estonian translation 2009-12-03 Carlos Garnacho <carlos@gnome.org> TrackerMonitor: Plug a leak. TrackerMinerFS: Plug 2 leaks. 2009-12-03 Ivan Frade <ivan.frade@nokia.com> maemo:relevance has max cardinality 1 2009-12-03 Carlos Garnacho <carlos@gnome.org> TrackerMinerFS: Don't check for locks in non-existing files. 2009-12-03 Jürg Billeter <j@bitron.ch> NAO: Add nao:numericRating property 2009-12-03 Carlos Garnacho <carlos@gnome.org> Do not generate duplicate entities in test data. 2009-12-02 Martyn Russell <martyn@lanedo.com> data-generators: Don't import random ttl files data-generators: Removed music python script initial output This was causing tracker-import errors data-generate: Make scripts scalable and default to 2000 items data-generators: Cleaned up contact-messages generation data-generators: Use the same filename for the music ttl as the py data-generators: Create more useful information for music generation data-generators: Rename README.tracker to README. data-generators: Updated README 2009-12-02 Carlos Garnacho <carlos@gnome.org> Fix ttl generation. Write contacts ttl into stdout like the other tests. Comment out some dubious parts of the ontology for testing. 2009-12-02 Ivan Frade <ivan.frade@nokia.com> Add new parameters in the CI functional tests description 2009-12-02 Carlos Garnacho <carlos@gnome.org> Fix generated file so FTS fields don't start with numbers. 2009-12-02 Martyn Russell <martyn@lanedo.com> data-generators: Fixed import and generator scripts data-generators: Renamed files to be more consistent 2009-12-02 Carlos Garnacho <carlos@gnome.org> Fix a bunch of compiler warnings. TrackerMiner(Files): Fix some build warnings. 2009-12-02 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed warnings and cleaned up tracker-miner.[ch] Group / name functions more logically and fixed build warnings from new GIO branch merge 2009-12-02 Carlos Garnacho <carlos@gnome.org> TrackerOntology: Use ptr arrays for classes/props/namespaces bookkeeping. The API had to change to return the array length in an out parameter instead of returning NULL-ended arrays. All callers have been modified. TrackerMiner: Remove "terminated" signal, it's unused. 2009-12-01 Martyn Russell <martyn@lanedo.com> libtracker-client: Initial documentation for functions libtracker-client: Added reference pages 2009-12-01 Ivan Frade <ivan.frade@nokia.com> Show the notification flag in the HTML documentation of the classes 2009-12-01 Carlos Garnacho <carlos@gnome.org> TrackerProperty: Plug some leaks. 2009-12-01 Ivan Frade <ivan.frade@nokia.com> Notify changes in nmo:Message Temporal solution. 2009-12-01 Carlos Garnacho <carlos@gnome.org> Plug a bunch of leaks in libtracker-miner and tracker-miner-fs. 2009-12-01 Jürg Billeter <j@bitron.ch> libtracker-data: Fix memory leak on updates with errors 2009-12-01 Martyn Russell <martyn@lanedo.com> docs/ontology: Fixed missing png images data-generators: Fixed python 2.5 requirement tracker-search-bar: List bookmarks and websites tracker-search-bar: Support listing tags 2009-12-01 Jürg Billeter <j@bitron.ch> tracker-writeback: Add missing locale.h include 2009-12-01 Ivan Frade <ivan.frade@nokia.com> NCO: Added capabilities to IMAccount for remote contacts 2009-12-01 Juan A. Suarez Romero <jasuarez@igalia.com> libtracker-data: Do not propagate error if this is NULL 2009-11-30 Martyn Russell <martyn@lanedo.com> tracker-search-bar: Show 10 results not 5 per category tracker-tag: Convert files used using g_file_new_for_commandline_arg() tracker-search-bar: Make application search caseless tracker-search-bar: Better debugging Fixed po/POTFILES.in NEWS: Updated with last minute fix Fixed make distcheck failures 2009-11-30 Rene Stadler <mail@renestadler.de> Fix crash when EXIF focal length value is empty 2009-11-29 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-11-28 Nils-Christoph Fiedler <fiedler@medienkompanie.de> Added LowGerman translation Added LowGerman translation 2009-11-27 Jürg Billeter <j@bitron.ch> libtracker-fts: Fix invalid read in parser 2009-11-27 Carlos Garnacho <carlos@lanedo.com> TrackerWriteback: Add logging infrastructure. There is now a separate config file for tracker-writeback, at the moment it just contains the Verbosity parameter. tracker-writeback now also takes command line parameters for it. 2009-11-27 Martyn Russell <martyn@lanedo.com> configure.ac: Bumped version to 0.7.9. NEWS: Updated for release 2009-11-27 Jürg Billeter <j@bitron.ch> libtracker-data: Fix error handling for anonymous blank nodes Errors occurring in inserts within anonymous blank nodes were not propagated correctly. libtracker-data: Fix build with vala master Update .gitignore 2009-11-26 Martyn Russell <martyn@lanedo.com> tracker-preferences: Fixed a number of UI issues - Title is now "Tracker Preferences", not "tracker-preferences" - Indexing options are now on their own page "Indexing" - Split out the throttle and disk space limit into their own group - Added mnemonics for notification area options - Fixed the notification area spacing for the group. 2009-11-26 Philip Van Hoof <philip@codeminded.be> Post review fixes for configure.ac 2009-11-26 Carlos Garnacho <carlos@lanedo.com> Use a separate thread to dispatch DBus writeback signals. TrackerWritebackDispatcher has been splitted into dispatcher/consumer. The former runs in a separate thread, listening for writeback signals from tracker-store and notifying the main thread about them. The consumer just has these petitions queued and processes them one by one, This way, operations performed by the consumer may be blocking, while the dispatcher will be able to receive DBus signals at any time. 2009-11-26 Philip Van Hoof <philip@codeminded.be> Added some more fields to the XMP writeback module 2009-11-26 Martyn Russell <martyn@lanedo.com> tracker-writeback: Some code clean ups from initial review Added some debugging too, so I could see what was going on. 2009-11-26 Philip Van Hoof <philip@codeminded.be> Clean exit when service already running Refactored content-type check to abstract TrackerWritebackFile 2009-11-26 Carlos Garnacho <carlos@lanedo.com> Make sure the fd isn't closed as long as the lock stays. 2009-11-26 Philip Van Hoof <philip@codeminded.be> Handling writeback in tracker-miner-fs When a writeback takes place, tracker-miner-fs must NOT create a SPARQL Update that contains any predicates that are marked as tracker:notify. For this reason I added a mechanism for marking a subject in tracker-miner-fs's queues: The first next time the subject is to be analyzed it checks whether the subject was marked. If it was marked then instead of doing a full extraction, tracker-miner-fs will only get a few properties (like mime, mtime, size). * MIME because the content-type of a file might have changed by writeback * Size because the size of the file might have changed by writeback * Mtime because the writeback will update the file's mtime, and we want to sync tracker-store with that too Added writeback module for XMP 2009-11-26 Carlos Garnacho <carlos@lanedo.com> TrackerWritebackDispatcher: add sanity check on returned metadata. TrackerWritebackMP3: Make it inherit from TrackerWritebackFile. TrackerWritebackFile: Added base implementation for local files. This object implements file locking for local files, and provides an specialized vmethod as well. tracker-file-utils.c: Add file locking API. This API will be used by the writeback service, so TrackerMinerFS implementations don't obey updates while metadata is being written. 2009-11-26 Philip Van Hoof <philip@codeminded.be> Added filter for the list of rdf:type being passed vs. module to elect Pass the known list of rdf:types to the Writeback signal Only report writeback for default graph Implemented writeback for MP3's Title field using id3lib This is a prototype implementation 2009-11-26 Carlos Garnacho <carlos@lanedo.com> tracker-writeback: Hook writeback modules to the dispatcher. There's still work left to do, the dispatcher should maintain a mimetype/module hashtable, so it can create TrackerWriteback objects for each file, right now the first found module (currently the dummy one) is used. TrackerWriteback: add dummy module. Modules will derive from the TrackerWriteback object, its API has to be devised yet. 2009-11-26 Philip Van Hoof <philip@codeminded.be> Changed from using a method to listening on the Writeback signal Also added a small sample that calls back in on_sparql_result_received that will simply print all the statements that have predicate tracker:writeback set 2009-11-26 Carlos Garnacho <carlos@lanedo.com> Add initial tracker-writeback implementation. It does close to nothing at the moment, but functionality will be added over time. 2009-11-26 Philip Van Hoof <philip@codeminded.be> Signalling Writeback in case a property marked as tracker:writeback is changed All miner SPARQL Update queries need FROM or INTO to avoid writeback When INTO or FROM are passed, graph in tracker_writeback_check wont be NULL. A NULL graph means 'default graph' or 'something that came from the user'. We only want to do writeback for things that came from the user. This is how we distinguish between content from the miner and content from the user. 2009-11-26 Ivan Frade <ivan.frade@nokia.com> Doc: XSD ontology explanation. Not much to say about it. Doc: First draft of NMM doc. Images and Radio. NMM: Restore DLNA profile and uPnP shared properties 2009-11-25 Jürg Billeter <j@bitron.ch> libtracker-common: Consider MMC volumes mounted in /media as removable Fixes NB#135360. libtracker-data: Support NULL as error parameter for update functions libtracker-data: Add blank node test SPARQL: Return generated URIs for inserted blank nodes 2009-11-25 Philip Van Hoof <philip@codeminded.be> Fixed XMP Title's coalesce 2009-11-25 Ivan Frade <ivan.frade@nokia.com> Doc: MFO brief explanation and diagram Added mfo:optional property to the enclosures NMM: Renamed predefined instances to follow the name convention Add notation to the main page. Updated doc-doc 2009-11-24 Adrien Bustany <madcat@mymadcat.com> libtracker-miner: Make TrackerMiner use standard gio callbacks and port TrackerMinerFS TrackerMiner previously used custom callbacks for its async calls tracker_miner_execute_sparql, tracker_miner_execute_update etc. This commit changes the API to make them use the standard GLib callback pattern my_callback (GObject *source, GAsyncResult *result, gpointer user_data) . The API of TrackerMinerFS is not changed, but it's internaly ported to the new functions. The miners using the tracker_miner_* functions have to be ported to use the new API. This patch also ports the existing miners. 2009-11-23 Juan A. Suarez Romero <jasuarez@igalia.com> Fixes GB#598470, Search entry icons grayed out Fixes NB#600973, tracker-control: don't use "-h" to remove thumbnails 2009-11-23 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFS: Critical messages are fine for most impl errors. Miner implementations weren't able to extract metadata, probably for a good reason, so issue critical warnings for all of them, but the "file not found" case. 2009-11-23 Juan A. Suarez Romero <jasuarez@igalia.com> tracker-parser: skip empty strings in parser_next This fixes a crash in tracker-store. 2009-11-23 Ivan Frade <ivan.frade@nokia.com> Doc: Include predefined instances in the class documentation Add all properties in property constructor/destructor Add nmm:alternativeMedia property To link resources that are the same with different encodings and codecs. For instance, resources exposed by a uPnp server Add main page to the documentation Doc: Few presentation improvements in HTML More space between sections (Authors, editors, ...) Dont print contributors if there are none Print "not available" instead of a mock link if there is not upstream equivalent ontology Doc: Real data in NCAL description Doc: Remove mock contributor in MLO Doc: Real data in MFO description Doc: Real data in NMM description Doc: Real data in MTO description Doc: Real data in NAO description Doc: Real data in NFO description Doc: Real data in NCO description Doc: Add the three logos (tracker, maemo, nepomuk) on the generated pages Doc: Added more logos and few CSS fixes to get a nicer header 2009-11-23 Juan A. Suarez Romero <jasuarez@igalia.com> Upgrade Exempi requirement from 1.99.2 to 2.1.0 NS_PDF has been added in Exempi 2.1 2009-11-23 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed redundant code. Spotted by Philip. libtracker-miner: Fixed memory corruption for dir moves Philip spotted this after Tshepang's testing. There are three issues this patch fixes: 1. Inserting a GFile into a hash table without incrementing a reference causes a reference count problem and leads to using memory which is no longer valid. 2. Using the same INotifyHandle* for a different directory name is broken and that's what we were doing when moving directories. 3. We should actually recursively be removing all old monitors and re-adding monitors for the new sub-directory names. tracker-extract: Fixed link errors using binutils-gold's ld libtracker-common: Fixed tests linking errors with binutils-gold's ld tracker-status-icon: Fixed linking errors with binutils-gold's ld tracker-extract: Fix autofoo warnings about unused mockup_SOURCES libtracker-miner: Fixed example linking with binutils-gold's ld libtracker-miner: Moved test/ directory to examples/ I did this because although it does test the API, it also shows it off like tracker-miner-fs. This is mostly a good way to show others how to build their own miners. libtracker-miner: Updated test case to use ::finished not ::terminated Actually, ::terminated is completely unused and should probably be removed at some point. tracker-miner-fs: Removed unused tracker_storage_new() call This was resulting in us listing and iterating all HAL devices twice each time miner-fs was started tracker-miner-fs: Index $HOME one level deep by default 2009-11-21 Michael Tameni <michele@amdplanet.it> Use correct Exception name on import 2009-11-21 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-11-20 Jürg Billeter <j@bitron.ch> Release 0.7.8 Fix qname-test with srcdir != builddir SPARQL: Do not use OPTIONAL optimization when domain does not match The optimization for simple optionals with single-valued properties is only valid if the subject is known to be in the domain of the property. Fixes NB#147606. libtracker-data: Insert properties in topological order Fixes critical warning on second tracker-store startup. libtracker-data: Update test results 2009-11-20 Ivan Frade <ivan.frade@nokia.com> SMS: Added to/from vcard property and default folders Document the documentation SMS message documentation 2009-11-19 Ivan Frade <ivan.frade@nokia.com> Added the Nepomuk LICENSE file to the repository SMS Support in the NMO ontology. First draft. Add real authors and information in NMO description Use nie:DataObject for imContactAvatar instead of nfo:FileDataObject Avoid concrete dependency on NFO Move nmo:isDeleted to the superclass nmo:Message So it can be used for different kind of messages Add new properties to IMAccount To represent my own display-name, if the account is enabled and my own avatar for that account. Add missing gtkbuilder file for rss_reader example Completing description of xsd and nie Add localPrefix in nfo Documentation: get copyright information from .description file Add diagram in NIE documentation 2009-11-19 Jürg Billeter <j@bitron.ch> SPARQL: Limit scope of blank nodes in insert templates Blank nodes should be scoped to the template for each solution. 2009-11-19 Juan A. Suarez Romero <jasuarez@igalia.com> Update manpages. tracker-*: print both version and license information. Print tracker version and its license when using --version/-V option, as it is done with tracker-extract. tracker-*: use -V/--version to show version Instead of using "-v" as an alias for "--version", use "-V". 2009-11-18 Jürg Billeter <j@bitron.ch> tracker-extract-gstreamer: Do not treat 3GPP audio files as videos Fixes NB#130437. tracker-extract-gstreamer: Fix use of tagreadbin 2009-11-18 Aron Xu <aronxu@gnome.org> Updated Simplified Chinese translation. 2009-11-18 Juan A. Suarez Romero <jasuarez@igalia.com> tracker-sparql: add "--version" option tracker-control: add "--version" option tracker-search-tool: add "--version" option tracker-tag: add "--version" option tracker-status-icon: add "--version" option tracker-import: add "--version" option tracker-status: add "--version" option tracker-info: add "--version" option tracker-search: add "--version" option tracker-stats: add "--version" option 2009-11-17 Philip Van Hoof <philip@codeminded.be> Fixed a bunch of XMP problems, changed from nie:keywords to nao:Tag 2009-11-17 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Extract nmm:albumTrackCount if available tracker-miner-fs: Fix SPARQL for files without extracted metadata A call to tracker_sparql_builder_insert_close was missing for files where the extractor does not return any metadata leading to invalid SPARQL being sent to tracker-store. libtracker-common: Check when retrieving SPARQL builder result Warn when retrieving SPARQL builder result in wrong state as, for example, with a missing insert_close call. 2009-11-17 Ivan Frade <ivan.frade@nokia.com> Add IM details to IM Contact IMContact represents a contact coming from an IMAccount. Added id, status, presence properties to this class. We have similar properties for the IMAccount class, but those are the own user details. IMContact represents the 'them', IMAccount represents the 'me'. Ignore InverseFunctionalProperty subclassing in the validator First documentation for NIE Explain how to link classes in the documentation 2009-11-17 Carlos Garnacho <carlos@lanedo.com> configure.ac: rename "push modules" to "miners" 2009-11-16 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Fix debug message for mounted volume Update .gitignore tracker-explorer: Remove unused methods tracker-search-tool: Fix warnings in TrackerUtils Fix return types and error handling in thumbnail retrieval code. tracker-search-tool: Fix warnings in TrackerQuery Fix return type of Search method and error handling in Query method. libinotify: Drop libtool -version-info for convenience library 2009-11-16 Ivan Frade <ivan.frade@nokia.com> Very first example of textual documenation Add support for textual verbose documenation in the ontology web pages Added real authors in NIE Added less false copyright to the new documentation. Still needs to be clarified. Probably needs to be defined in the .description files. Add link to upstream original ontology webpage 2009-11-16 Philip Van Hoof <philip@codeminded.be> Added tracker:notify to nao:Tag for Debarshi Ray's Nautilus tagging support Propagating errors instead of passing parent errors around 2009-11-14 Ivan Frade <ivan.frade@nokia.com> Add link in the ontology page to the git changelog of that file Add description to all ontologies Handle correctly namespaces without '#' at the end (like DC) Add links to classes in different files in the HTML documentation Added required file for the tests cases Support to translate class uris into links inside documentation Handle special DC case in full-uri to prefix:uri translation 2009-11-13 Philip Van Hoof <philip@codeminded.be> Added support for INTO and FROM to SPARQL UPDATE extension This adds support for INTO and FROM to the SPARQL UPDATE extension, it doesn't store the uri being passed. It only passes it as parameter from to all functions involved. This will be used by for example the write-back feature that'll soon be developed. Throw normal errors instead of SparqlError now that stmt.execute () also does Fixed harmless compilation warnings 2009-11-13 Andrej Žnidaršič <andrej.znidarsic@gmail.com> Updated Slovenian translation 2009-11-12 Ivan Frade <ivan.frade@nokia.com> Add some zeitgeist interaction in the RSS-reader example 2009-11-12 Jürg Billeter <j@bitron.ch> NMO: Readd nmo:VOIPCall for backward compatibility 2009-11-12 Juan A. Suarez <jasuarez@igalia.com> Add command line options to tracker-search-tool Author: Juan A. Suarez <jasuarez@igalia.com> 2009-11-12 Ivan Frade <ivan.frade@nokia.com> Added text in RSS example. Updated to lastest tracker API. 2009-11-12 Jürg Billeter <j@bitron.ch> Release 0.7.7 libtracker-data: Propagate SQLite errors in buffer_flush libtracker-data: Simplify inverse functional property check libtracker-data: Add NRL_INVERSE_FUNCTIONAL_PROPERTY constant libtracker-data: Add UNIQUE index for inverse functional properties SPARQL: Optimize simple optionals with inverse functional properties Use subselects to avoid outer joins. NCO: Mark nco:imID and nco:emailAddress as inverse functional properties NCO: Mark nco:phoneNumber as inverse functional property Support nrl:InverseFunctionalProperty in .ontology files 2009-11-11 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFS: Handle errors when moving items recursively. If error is set, result is likely an invalid pointer. 2009-11-11 Jürg Billeter <j@bitron.ch> SPARQL: Do not use unneeded CAST expressions for integers 2009-11-11 Philip Van Hoof <philip@codeminded.be> Bugfixed a critical warning when URN of a removable device is NULL 2009-11-09 Philip Van Hoof <philip@codeminded.be> Return the URI of the property instead of an internal ID for fts:offsets() 2009-11-09 Jürg Billeter <j@bitron.ch> SPARQL: Report syntax error on single ^ in query 2009-11-06 Ivan Frade <ivan.frade@nokia.com> Added tests in the distribution. Removed timeout in description. 2009-11-06 Martyn Russell <martyn@lanedo.com> Fixed initial make distcheck failures 2009-11-06 Juan A. Suarez Romero <jasuarez@igalia.com> libtracker-fts: Fixed compiler warning when using unac_string() tracker-extract: Fix album art call for gstreamer-helix plugin 2009-11-06 Martyn Russell <martyn@lanedo.com> Bumped version to 0.7.6. Also set the API/ABI version to that since we have some libtracker-miner changes to consider this week. Updated NEWS in preparation for a release libtracker-miner: Updated SGML reference docs tracker-search-bar: Fixed a number of issues 1. Made queries descending order again (highest rank first) 2. Use urn for rank sorting 3. Include the rank in the search results for debugging/checking 4. Don't allow separator rows to be selectable 5. Don't use hash table which was changing sort order of results 6. Don't print an additional separator row at end of results 7. Don't add padding to ypadding or get unused urn in cell renderer 8. Turn off model sorting (done by query) 2009-11-06 Carlos Garnacho <carlos@lanedo.com> NCO: remove max cardinality from nco:contributor and nco:creator There can conceivably be several of these. 2009-11-06 Jamie McCracken <jamie.mccrack@gmail.com> TST - Added search delay (patch from Juan A. Suarez Romero) 2009-11-05 Ivan Frade <ivan.frade@nokia.com> Updated fts functional tests and XML description of the suite Fixed functional test for fts:rank Functional test for fts:rank Rename VOIPCall to Call New test with metacontacts Add functional test using metacontact property Insert different contacts sharing a metacontact and check that the information is right. It is not possible to test anything else until more implementation details are decided. 2009-11-05 Martyn Russell <martyn@lanedo.com> tracker-extract: MP3 extractor code clean up libtracker-common: Fixed regression in tracker_coalesce() Don't check !result in the for loop, we still need to free strings unused in there. tracker-extract: Don't use strlen+1 for MP3 id3v20/v22 comments This looks all kinds of wrong. I tested it and it seems to work fine. tracker-extract: Fixed MP3 id3v20/v22 memory corruption Was a select case fall through libtracker-common: Don't return non-stripped strings in tracker_coalesce() We also use tracker_is_blank_string() now so we don't return empty strings either. 2009-11-05 Carlos Garnacho <carlos@lanedo.com> tracker-extract-msoffice.c: Do not use full prefixes for properties. tracker-xmp.c: Use TrackerSparqlBuilder. tracker-extract-playlist.c: Use TrackerSparqlBuilder. tracker-extract-vorbis.c: Use TrackerSparqlBuilder. 2009-11-05 Jürg Billeter <j@bitron.ch> Update .gitignore DC: Remove cardinality restriction in dc:contributor It has multiple subproperties. 2009-11-05 Ivan Frade <ivan.frade@nokia.com> Imported data-generation scripts from old repo Some of them might need an update to the new ontology changes. Add MetaContact concept in the ontology To group contacts coming from local address book and IM Accounts that are the same person in the real world. Changes documented but further explanation in: http://live.gnome.org/Tracker/Documentation/ContactsOntology 2009-11-05 Adrien Bustany <madcat@mymadcat.com> Fix .gitignore in data/ so that we don't ignore .desktop.in files The old version had a line "*.desktop.in", which would make git ignore relevant .desktop.in files in the miners folder. 2009-11-04 Carlos Garnacho <carlos@lanedo.com> tracker-extract-tiff.c: Use TrackerSparqlBuilder. tracker-extract-png.c: Use TrackerSparqlBuilder. tracker-extract-msoffice.c: Use TrackerSparqlBuilder. tracker-extract-oasis.c: Use TrackerSparqlBuilder. tracker-extract-xmp.c: Remove unused includes. tracker-extract-totem.c: Use TrackerSparqlBuilder. tracker-extract-mplayer.c: Use TrackerSparqlBuilder. tracker-extract-libxine.c: Use TrackerSparqlBuilder. 2009-11-04 Martyn Russell <martyn@lanedo.com> libtracker-common: Fixed tracker_is_blank_string() to be UTF8 compliant tracker-extract: Fixed PS extractor to use TrackerSparqlBuilder tracker-extract: Fixed mock up extractor to use TrackerSparqlBuilder tracker-extract: Fixed PDF extractor #includes tracker-extract: Fixed Makefile.am whitespace issue tracker-extract: Fixed PDF extractor to use TrackerSparqlBuilder tracker-extract: Fixed the jpeg extractor to use TrackerSparqlBuilder Fixed some other issues while here: - Don't leak filename if size of file is < 18 bytes - Use proper types not strings for everything sent using SPARQL - Fixed some whitespace issues - Cleaned up the code in places Ontology: Fixed nmm:exposureTime to be a double not an integer tracker-extract: Don't use _object_unvalidated() for 'nfo:Document' 2009-11-04 Carlos Garnacho <carlos@lanedo.com> tracker-extract-imagemagick.c: Use TrackerSparqlBuilder. tracker-extract-abw.c: Use TrackerSparqlBuilder. tracker-extract-gstreamer.c: Use TrackerSparqlBuilder. TrackerSparqlBuilder: add object_double() method. Coalesce nie:comment in jpeg extractor. comment info may come from builtin and exif data. Coalesce both, since nie:comment only allows one value. Don't pick empty strings when coalescing data. configure.ac: Detect the correct libvorbis library. We actually use libvorbisfile in the vorbis extractor. 2009-11-04 Jürg Billeter <j@bitron.ch> SPARQL: Fix fts:rank when fts:match is not first predicate in query 2009-11-04 Philip Van Hoof <philip@codeminded.be> Fixed a big in delete_resource_description about usage of cursors The outer query's cursor's statement was being reused by the inner queries' cursors' statements in some situations (where the outer query was identical to the inner queries). We don't yet support this. You can revert this patch as soon as we do support this. 2009-11-03 Philip Van Hoof <philip@codeminded.be> Bugfix return value of albumart_set 2009-11-03 Martyn Russell <martyn@lanedo.com> tracker-extract: Fixed HTML parser to use TrackerSparqlBuilder 2009-11-03 Piotr Drąg <piotrdrag@gmail.com> Updated Polish translation 2009-11-03 Martyn Russell <martyn@lanedo.com> Ontology: Added more FTS fields Ontology: Added tracker:weight to more ontology properties This is a pretty comprehensive update too. All values range from 2-10. 1 is used for properties which have no tracker:weight defined anyway. tracker-search-bar: Fixed order by to asc and to title from urn 2009-11-03 Philip Van Hoof <philip@codeminded.be> Allowing different image libraries to deal with albumart image formats Split the code that uses pixbuf out of tracker-albumart.c into four files: - tracker-albumart-quill.cpp : C++ code that uses libquill for this - tracker-albumart-pixbuf.c : C code that uses GdkPixbuf forthis - tracker-albumart-dummy.c : C code that does nothing but return FALSE, elected in case both are absent - tracker-albumart-generic.h : Generic API for above 2009-11-03 John Carr <john.carr@unrouted.co.uk> Add AC_CACHE_CHECK magic around ioprio checking. Having the cache check allows the end user to set whether ioprio is available or not. Without this cross-compilation is not possible as there is no way to run the test program. 2009-11-03 Philip Van Hoof <philip@codeminded.be> Bugfix open cursor causing assertion after being used twice 2009-11-03 John Carr <john.carr@unrouted.co.uk> Fix building without gdk-pixbuf 2009-11-02 Martyn Russell <martyn@lanedo.com> tracker-search-bar: Fixed some gobject NULL checking warnings tracker-search-bar: Make window height longer by default tracker-search-bar: Added separator/spacing between categories tracker-search-bar: Fixed both results & no results label shown 2009-11-02 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFiles: provide better errors when initializing volumes. TrackerMiner: Don't try to free invalid pointers. the result GPtrArray might not be a valid pointer if error is set, so only free it if the sparql query was successful. Also, don't try to free it twice, although this was safe due to tracker_dbus_results_ptr_array_free() nullifying the pointer after freeing. 2009-11-02 Martyn Russell <martyn@lanedo.com> tracker-search-bar: Make searching interactive with 300ms delay Fixes GB#600081, Get rid of Bonobo tracker-search-bar: Improved queries to use ranking/limit to 5 Also added applications category 2009-11-02 Carlos Garnacho <carlos@lanedo.com> TrackerMiner: ensure AsyncCallData is removed from the list when it's dispatched Aditionally, a couple of memory leaks have been fixed. 2009-11-02 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed ref docs WS and updated to new APIs tracker-store: Fixed headers This mostly about fixing #define and #include statements which were incorrect or unnecessary. tracker-store: Removed the last of the unused tracker-main.h APIs tracker-store: Removed backup/restore to/from ttl files tracker-store: Small code clean ups libtracker-data: Set defaults for return values in manager_init() libtracker-db: Set defaults for return values in manager_init() tracker-store: Removed unused data_dir/user_data_dir/sys_tmp_dir tracker-status-icon: Small code clean ups 2009-11-02 Carlos Garnacho <carlos@lanedo.com> TrackerMiner: Make SPARQL API fully asynchronous. Callers have been modified in TrackerMinerFS and TrackerMinerFiles. 2009-11-02 Martyn Russell <martyn@lanedo.com> tracker-search-bar: Show ALL documents, not just paginated ones. tracker-search-bar: Fix vertical orientation and make icon transparent b/g 2009-11-02 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-11-02 Jürg Billeter <j@bitron.ch> Update .gitignore 2009-10-30 Martyn Russell <martyn@lanedo.com> Fixed make distcheck errors Updated NEWS again Updated NEWS again Updated NEWS Bumped version in preparation for today's release 2009-10-30 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Generate full date/time value for recording year Fixes NB#120255. 2009-10-30 Martyn Russell <martyn@lanedo.com> tracker-status-icon: Added .cfg man page and mentioned it elsewhere too libtracker-miner: Don't use a timeout for DBus requests 2009-10-29 Jürg Billeter <j@bitron.ch> tracker-search-tool: Fix mimetype query tracker-sparql: Use colon as prefix delimiter to align with SPARQL Fix vapi dependencies in Makefiles 2009-10-29 Philip Van Hoof <philip@codeminded.be> Fixed ClassSignals to compress predicate-values together in a single signal Propagating error at delete_resource_description 2009-10-28 Martyn Russell <martyn@lanedo.com> tracker-control: Updated man page for this command tracker-control: Add option to remove all thumbnails tracker-control: Added option to remove all config files tracker-control: Added missing Makefile.am tracker-control: Make it possible to start miners libtracker-miner: Don't error if .service files are not found This can be the case for some miners like the evolution plugin tracker-processes: Renamed to tracker-control, now in src/tracker-control 2009-10-28 Carlos Garnacho <carlos@lanedo.com> TrackerCrawler: Fix up prototype for ::finished. The ::finished signal changed parameters some time ago, but the function prototype in the class struct didn't. tracker-extract: initialize albumart on standalone mode as well. This was reporting critical warnings from non-initialized caches in there. Plug a bunch of potential leaks. For some cases, word wasn't even used, for others the code would try to fill in the same tag several times, leaking the older values. tracker-extract-mp3.c: Retrieve nmm:trackNumber. Also, track number is dealt everywhere as a integer, so no strings are leaked. tracker-extract-mp3: Add missing break; when parsing id3v20 tags. This could lead to doubly freed memory, since the same string was assigned to genre and copyright. 2009-10-28 Martyn Russell <martyn@lanedo.com> tracker-extract: Add ontology log output line for G_LOG_LEVEL_INFO tracker-extract: Filter all file based ontology from LSA extractor tracker-extract: Don't generate log filename, use value from tracker_log_init() tracker-status: Fixed crash when GValue is NULL 2009-10-28 Jürg Billeter <j@bitron.ch> libtracker-fts: Use tracker:weight for per-property weight 2009-10-27 Martyn Russell <martyn@lanedo.com> tracker-explorer: Improve layout to be more hig like tracker-explorer: Renamed explorer.vala to tracker-explorer.vala tracker-explorer: Rename explorer.ui to tracker-explorer.ui Also cleaned up Makefile.am 2009-10-27 Jürg Billeter <j@bitron.ch> SPARQL: Do not leak variables (reference cycle) 2009-10-27 Martyn Russell <martyn@lanedo.com> tracker-extract: Use G_LOG_LEVEL_INFO for the SPARQL output This allows us to use verbosity=1 to just see the SPARQL output and nothing else. tracker-extract: Removed some logging on start up Based on a patch from 0.6 for NB#126773, trackerd and tracker-extract spam syslog. See commit 65adc16dc0183a1a9b08eb85440312399748262a. libtracker-common: Fixed logging so G_LOG_LEVEL_INFO is verbosity=1 libtracker-common: Added tracker_info() to use G_LOG_LEVEL_INFO 2009-10-27 Jürg Billeter <j@bitron.ch> SPARQL: Support fts:rank and fts:offsets functions in queries libtracker-fts: Fix reading rank and offset information 2009-10-26 Lucian Grijincu <lucian.grijincu@gmail.com> Added Romanian translation 2009-10-26 Martyn Russell <martyn@lanedo.com> tracker-extract: Disable libstreamanalyzer by default tracker-extract: Use content-type from LSA and free memory leak tracker-extract: Make it possible to switch by cmdline use of LSA tracker-extract: clean up libstreamanalyzer integration a bit 2009-10-26 Jürg Billeter <j@bitron.ch> libtracker-data: Use update buffer for deletes as well This fixes handling of FTS updates when deleting or updating property values by reusing the logic written for inserts. libtracker-data: Factor out function string_to_gvalue libtracker-data: Factor out function get_old_property_values SPARQL: Flush update buffer after DROP GRAPH libtracker-data: Add rollback callback This prevents sending events for updates that are rolled back. 2009-10-26 Carlos Garnacho <carlos@gnome.org> TrackerMinerFiles: Don't overwrite throttle settings. Throttle is already being set based on battery status in constructed(), don't overwrite that setting. TrackerMinerFiles: Unify battery state handling. Having on_battery and on_low_battery separated separatedly actually had logic gaps, such as low battery + charging state, and was setting throttling regardless of the AC power state. 2009-10-26 Philip Van Hoof <philip@codeminded.be> Codestyle and indentation for the StreamAnalyzer support 2009-10-26 Jürg Billeter <j@bitron.ch> libtracker-db: Add tracker_db_statement_bind_null 2009-10-23 Martyn Russell <martyn@lanedo.com> Updated NEWS Fixed make distcheck issues Bumped version to 0.7.4. Bumped DB schema version to force reindex 2009-10-23 Philip Van Hoof <philip@codeminded.be> Removed the EvolutionModseq option from the Options table 2009-10-23 Carlos Garnacho <carlos@gnome.org> tracker-search-tool: Make single-instance. 2009-10-23 Jürg Billeter <j@bitron.ch> maemo: Add maemo:relevance property 2009-10-22 Carlos Garnacho <carlos@lanedo.com> tracker-extract: store as many words as the FTS config says. TrackerEvolutionPlugin: Do not spam tracker-status-icon. Now actual processing is reported in miner progress, not walking through every mail folder, which made progress signalling go crazy. TrackerEvolutionPlugin: Send sparql updates without waiting for reply. The number of DBus messages send may be huge, and it may take long for them to be answered, clobbering the pending calls hashtable. This fixes some random OOM observed when sending ~30K messages. TrackerEvolutionPlugin: free error in DBus responses if any. TrackerEvolutionPlugin: plug a leak. 2009-10-22 Jürg Billeter <j@bitron.ch> libtracker-data: Extend update buffer Support multiple resources in the update buffer at the same time to improve performance for certain types of insert statements. 2009-10-22 Carlos Garnacho <carlos@gnome.org> Fix typo in tracker-power-devicekit.c. Low battery was being set from the wrong devicekit function. 2009-10-22 Jürg Billeter <j@bitron.ch> SPARQL: More refactoring to eliminate code duplication 2009-10-21 Jürg Billeter <j@bitron.ch> SPARQL: Small refactoring to avoid code duplication SPARQL: Fix case sensitivity of variables Work around SQLite bug to allow case sensitive variables in SPARQL. Fixes NB#135969. 2009-10-20 Claude Paroz <claude@2xlibre.net> Add omitted files for GB#570608 2009-10-20 Carlos Garnacho <carlos@lanedo.com> Make progress go forward in the Evolution miner. Progress calculation was based on items left, so it actually went backwards for tracker-status-icon. Make the evo plugin use the same DBus name everywhere. This was preventing TrackerMinerManager to keep track of it. 2009-10-19 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFS: Update mtime checking with latest tracker-store requirements. mtimes are now stored with timezone info in tracker-store, TrackerMinerFS should use the same format when checking a file has been modified. TrackerConfigFile: Also make create events trigger reparsing. Create events from the file monitor was being sort of ignored, with this TrackerConfigFile reparses configuration correctly with the technique used by tracker-preferences to rewrite the config. 2009-10-17 Christian Kirbach <Christian.Kirbach@googlemail.com> Updated German translation 2009-10-16 Martyn Russell <martyn@lanedo.com> Bumped version to 0.7.3. Updated NEWS tracker-preferences: Fixed make distcheck error 2009-10-16 John Millikin <jmillikin@gmail.com> Fixes GB#590501, Album art heuristic always fails I added to this patch by making the code cleaner and by not iterating the GDir* more than once. I also added some additional debugging to make it clear what path is taken for each file. 2009-10-16 Carlos Garnacho <carlos@lanedo.com> tracker-status-icon: Add global keybinding for searching. This is currently hardcoded to <Ctrl><Alt>S. 2009-10-16 Jürg Billeter <j@bitron.ch> SPARQL: Do not require AS when using select functions SPARQL: Support multi-valued properties as functions Use GROUP_CONCAT(?,',') to combine multiple values. SPARQL: Support single-valued properties as functions Fixes NB#134107. 2009-10-16 Ivan Frade <ivan.frade@nokia.com> Remove sqlite3 command line dependency It was used in some old tests that don't exist anymore 2009-10-15 Ivan Frade <ivan.frade@nokia.com> Right command in the tests script 2009-10-15 Martyn Russell <martyn@lanedo.com> tracker-status-icon: Set default progress/fraction as 100% We do this because if the status icon is restarted for some reason, it then is usually correct until the next progress update. tracker-status-icon: Make progress menu more visually attractive 2009-10-15 Carlos Garnacho <carlos@lanedo.com> tracker-preferences: Allow configuring status icon visibility. TrackerStatusIcon: Add config to tweak status icon visibility. A new config file has been added for tracker-status-icon. At the moment the only setting is for visibility, possible values are never/always/when active. 2009-10-15 Ivan Frade <ivan.frade@nokia.com> Flag to enable functional tests. Default=no Functional tests are python programs to run once tracker is installed. This flag include/exclude the functional tests from the dist target. 2009-10-15 Martyn Russell <martyn@lanedo.com> tracker-search-tool: Cleaned up UI so things look a bit better 2009-10-15 Ivan Frade <ivan.frade@nokia.com> Include functional-tests in the installation XML describing the functional tests available Functional test to run once tracker is installed Simple test case to try tests in integration. 2009-10-15 Carlos Garnacho <carlos@lanedo.com> tracker-store: Remove all traces of TrackerStorage. This is handled by tracker-miner-fs itself, TrackerStorage callbacks were mere stubs, this is now removed. TrackerMinerFS: Do not loop infinitely when unmounting while processing. 2009-10-14 Jürg Billeter <j@bitron.ch> SPARQL: Fix timezone handling when inserting time_t libtracker-data: Fix transaction handling Make sure to rollback all changes when an error happens during a SPARQL update. libtracker-db: Make sure SQLite statement is reset when using cursors Statement reset is only implicit if all results are read. A missing reset can lock the database, so we need to make sure to always reset unused statements. 2009-10-14 Ivan Frade <ivan.frade@nokia.com> Fixes #141698, List of saved playlist has names of albums too New nmm:Playlist class Album is subclass of MediaList, so using MediaList for a music playlist would show albums and playlists in the query results. 2009-10-14 Jürg Billeter <j@bitron.ch> Require sqlite >= 3.6.16 Not all of our test cases pass with earlier versions. 2009-10-13 Ivan Frade <ivan.frade@nokia.com> make test depends on "all" target So the code is compiled if necessary. T Added nmm:albumArtist property 2009-10-13 Jürg Billeter <j@bitron.ch> Retain resource annotations on file modification Add tracker:isAnnotation property and mark nie:usageCounter and nao:hasTag as annotations. Fixes NB#137046. 2009-10-13 Ivan Frade <ivan.frade@nokia.com> Updated RSS reader example to new tracker API Author: J. A. Suarez <jasuarez@igalia.com> 2009-10-12 Jürg Billeter <j@bitron.ch> NIE: Remove cardinality restriction in nie:informationElementDate It has multiple subproperties. libtracker-data: Remove unused update functions 2009-10-09 Martyn Russell <martyn@lanedo.com> Updated NEWS Bumped version to 0.7.2. Fixed README - inconsistencies with numbering/contents 2009-10-09 Carlos Garnacho <carlos@lanedo.com> Fix tracker_language_stem_word(). the case with stemming disabled was completely broken, not taking into account word_length, and returning a dup'ed string as const gchar*. Made it more consistent by always returning a duplicated string, and taking into account word_length in non-stemmer case. The only caller has been updated as well. Improve docs for libtracker-common. TrackerConfigFile: Turned into an abstract object. 2009-10-09 Martyn Russell <martyn@lanedo.com> Fixed missing dia files for make distcheck tracker-miner-fs: Set pool size to 10 Indexing time is now 73s from 81s for 24k files 2009-10-09 Claude Paroz <claude@2xlibre.net> Fixes GB#570608 - Translation of firefox-extension 2009-10-09 Jürg Billeter <j@bitron.ch> Add gmodule-2.0 to app requirements to fix tracker-preferences gmodule-2.0 is needed when using GtkBuilder with automatic signal connection. 2009-10-09 Laurent Aguerreche <laurent.aguerrechGabor Kelemen kelemeng@gnome.hu> Fixes GB#592400 - String translation issues 2009-10-09 Martyn Russell <martyn@lanedo.com> Removed filters/ no longer used 2009-10-09 Laurent Aguerreche <laurent.aguerreche@free.fr> Fixes GB#589059 - Add option to set evolution plugins directory in configure 2009-10-09 Gabor Kelemen <kelemeng@gnome.hu> Fixes #591814 - Clean up .ui files 2009-10-09 Martyn Russell <martyn@lanedo.com> Fixes GB#581984 - Get rid of deprecated libgnome(ui) 2009-10-08 Bruce Cowan <bcowan@fastmail.co.uk> Fixes GB#595752 - Minor string fixes 2009-10-08 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Don't index duplicate MMC and config paths Previously, if a removable device was mounted on $HOME/foo and $HOME/foo was in tracker-miner-fs.cfg, it would be iterated twice. Now we check for this and drop the .cfg version in favour of the removable device mount point. libtracker-common: Now normalise paths returned in tracker-storage libtracker-common: Fixed inconsistent GSList returns and mem leak The API was inconsistent here. Some API calls returned a GSList with pointers and some returned a GSList with newly allocated pointers. Now everything is newly allocated. The return value in tracker-miner-files.c is now freed when getting removable devices too. Fixed documentation warnings for missing libtracker-common symbols libtracker-common: Use GSList for tracker-storage* API libtracker-common: Removed unnecessary casts and reverse lists prepended 2009-10-08 Carlos Garnacho <carlos@lanedo.com> Make the PDF extractor use tracker_text_normalize(). Add FTS support for MS and ODF document formats. Add tracker_text_normalize() This function is meant for FTS in extractors, receives UTF8 text and tries to strip non-text characters, extra spaces, carriage returns and such, providing a suitable string for nie:plainTextContent. 2009-10-08 Martyn Russell <martyn@lanedo.com> Updated design documents for Tracker infrastructure 2009-10-08 Mattias Põldaru <mahfiaz gmail com> Updating Estonian translation 2009-10-08 Jürg Billeter <j@bitron.ch> SPARQL: Support function calls as select expressions libtracker-data: Pass column data to FTS on updates SPARQL: Allow dot at the end of simple optional SPARQL: Simplify SQL generated for FTS queries SPARQL: Avoid ambiguous column names when using OPTIONAL and FILTER Fixes NB#142257. libtracker-data: Update test result MTP: Let mtp:ScanType subclass nie:InformationElement Allows nie:description on instances. 2009-10-08 Carlos Garnacho <carlos@lanedo.com> Fix up API docs for libtracker-miner. GObject docs weren't being generated due to object and class structs not being added to libtracker-miner-sections.txt, also tracker_miner_fs_notify_file() has been added there. TrackerMinerFS: turn process_file() into a signal. This has been done to fit better with the rest of the API, also tracker_miner_fs_notify_file() has been added to replace the callback parameter, since implementations can do metadata extraction asynchronously, they'll be responsible of calling this function. Applications and files miners have been modified. TrackerMinerFS: make it possible to process files parallelly. Now there is a pool of files being processed, controlled by the TrackerMinerFS::process-pool-limit (default value of 1), which specifies the maximum number of files that can be processed at the same time. Code flow has changed so no new files are processed until there is room in the pool. TrackerMiner: Remove application parameter from tracker_miner_pause(). This is not necessary for internal use, just for the DBus API, it now uses internally either g_get_application_name() or TrackerMiner::name. 2009-10-08 Matej Urbančič <mateju@svn.gnome.org> Updated Slovenian translation 2009-10-08 Martyn Russell <martyn@lanedo.com> tracker-tag: Improve on patch earlier in the week by Saleem Abdulrasool 2009-10-08 Timo Jyrinki <timo.jyrinki@iki.fi> Updated Finnish translation by Jyri Grönroos. 2009-10-07 Martyn Russell <martyn@lanedo.com> tracker-tag: Fixed so you can now remove tags by file Before you could only remove the whole tag for all files that were linked to it. Now you can use: tracker-tag -d <tag> <file1> <file2> <...> 2009-10-07 Carlos Garnacho <carlos@lanedo.com> Fix a couple of typos in latest autofoo changes. 2009-10-06 Saleem Abdulrasool <compnerd@compnerd.org> fix a couple of warnings in tracker-utils tracker-sparql always returned false regardless of success. use AM_SILENT_RULES if present respect HOME over the value in /etc/passwd g_get_homedir does not respect the value of HOME. Explicitly check the value of HOME, and if it is set, it takes precedence over the value in /etc/passwd. If it is unset, we fall back to the value in /etc/passwd. 2009-10-06 Carlos Garnacho <carlos@lanedo.com> Unify dependency version checking for graphical tools. TrackerMinerFS: Delete recursively when a directory is deleted. 2009-10-06 Martyn Russell <martyn@lanedo.com> Updated design documents for tracker-store, removed for trackerd 2009-10-06 Ivan Frade <ivan.frade@nokia.com> Added fourCC and waveformat properties for MTP clients 2009-10-06 Martyn Russell <martyn@lanedo.com> libtracker-common: Fixed tracker-common.h to not include noninst headers libtracker-common: Clean up source This involved: - Copyright updates (dates/email addresses) - Header alignments - Consistent #ifndef statements - Including config.h in .c files. - Adding missing #error statements for single header includes - Adding missing headers to tracker-common.h - Moving common DBUS #defines to tracker-dbus.h 2009-10-06 Ivan Frade <ivan.frade@nokia.com> Added average{audio,video}bitrate properties So a nmm:Video can have different values for the Audio and Video bitrate. New MTP ontology to include MTP protocol related properties. Rename nmm:album to nmm:videoAlbum Consistency with nmm:audioAlbum 2009-10-05 Adrien Bustany <madcat@mymadcat.com> Fixed libtracker-miner.pc.in to include dbus-glib 2009-10-05 Saleem Abdulrasool <compnerd@compnerd.org> fix timezone tests g_date_set_time_t uses the environment variable TZ to convert the time between timezones. If the timezone is not UTC, the tests would fail previously. We now save and restore the TZ value, and set the value to UTC while running the test. 2009-10-05 Ivan Frade <ivan.frade@nokia.com> Added properties in NMM to support MTP nmm:lyrics pointing to a file with the lyrics nmm:skipCounter integer to increase when the song is skipped nmm:isCropped for images nmm:isColorCorrected for images Add prefix in the ontology description Updated comment in property 2009-10-05 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed moving items between monitored dirs, was erroring This was causing the following errors and was commented out: Unable to insert multiple values for subject `<file>' and single valued property `nie:isStoredAs' 2009-10-05 Jürg Billeter <j@bitron.ch> libtracker-data: Fix typo in tracker:uri check 2009-10-05 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fix g_timer_destroy() timer != NULL warning libtracker-miner: Make sure we crawl newly moved directories tracker-miner-fs: Don't print "miners all finished" > 1 2009-10-05 Jürg Billeter <j@bitron.ch> libtracker-data: Fix virtual tracker:uri property 2009-10-05 Carlos Garnacho <carlos@lanedo.com> Fill in missing libtracker-miner docs. TrackerMinerManager: document signals. TrackerMinerFS: Document signals. TrackerMiner: Improve property descriptions. TrackerMiner: document signals. 2009-10-05 Martyn Russell <martyn@lanedo.com> libtracker-miner: Removed commented out code for throttle, no longer needed 2009-10-03 Mattias Põldaru <mahfiaz gmail com> Updating Estonian translation 2009-10-02 Michael Biebl <biebl@debian.org> Drop LIBGNOME_DESKTOP_REQUIRED, no longer used. 2009-10-02 Martyn Russell <martyn@lanedo.com> Don't depend on libgee for tracker-search-bar, it doesn't use it Updated NEWS Mention Vala 0.7.6 in autogen, not 0.7.5 which fails Require libgee >= 0.3 Bump version to 0.7.1 in preparation for a release 2009-10-02 Jürg Billeter <j@bitron.ch> libtracker-data: Initialize single_cursor to make coverity happy libtracker-data: Remove unused variable Do not require dbus-glib 0.80, 0.78 is sufficient libtracker-fts: Drop broken and unused paragraph detection 2009-10-02 Martyn Russell <martyn@lanedo.com> Use g_hash_table_unref() instead of _destroy() libtracker-common: Updated docs and fixed warnings in build 2009-10-02 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFS: Add some API docs. TrackerMinerManager: Add some API docs. TrackerMiner: Add some API docs. Add infrastructure for libtracker-miner docs. 2009-10-02 Jürg Billeter <j@bitron.ch> SPARQL: Avoid unnecessary SQL CAST expressions Also use PropertyType enum instead of separate DataType enum libtracker-common: Clean up TrackerPropertyType enum 2009-10-02 Martyn Russell <martyn@lanedo.com> Fixed make distcheck issues Moved src/tracker-fts to libtracker-fts, it is a library afterall libtracker-data: Cleaned up headers, and add tracker-data.h libtracker-db: Include missing tracker-db.h in Makefile.am libtracker-db: Cleaned up headers, and add tracker-db.h. Did the same thing as libtracker-common here for external use. tracker-fts: Moved tracker-parser here from libtracker-common 2009-10-02 Carlos Garnacho <carlos@lanedo.com> TrackerMiner: Remove GetName and GetDescription DBus methods. These are now handled by desktop files, and are exposed through the TrackerMinerManager API. TrackerMinerManager: Add get_description() method. Move miner DBus path/name #defines to the DBus header. tracker-status: Get display name from TrackerMinerManager. tracker-status: Use TrackerMinerManager API instead of plain DBus calls. TrackerMinerManager: add get_status() and is_paused(). 2009-10-02 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Fix case where $HOME/.config/xdg-dirs.dirs doesn't exist 2009-10-02 Jürg Billeter <j@bitron.ch> libtracker-common: Fix memory leak in tracker_string_to_date Remove .svnignore files 2009-10-02 Jamie McCracken <jamiemcc gnome org> Tracker-Search-Tool: Fix categories, crasher and added smart wildcards Made category selector work properly Fixed crasher when selecting a category Now add wildcard search when last character is not a space 2009-10-01 Martyn Russell <martyn@lanedo.com> libtracker-miner: Fixed warning updating monitor hashtable with files 2009-10-01 Ivan Frade <ivan.frade@nokia.com> Updated scal ontology to cover the ical standard 2009-10-01 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Fixed 2 memory leaks found by valgrind 2009-10-01 Jürg Billeter <j@bitron.ch> NCO: Remove cardinality restriction in nco:hasPostalAddress Fixes NB#141309. 2009-09-30 Jürg Billeter <j@bitron.ch> Turtle: Handle file errors Fixes NB#132655. SPARQL: Support fn:contains and fn:ends-with function in queries 2009-09-30 Carlos Garnacho <carlos@lanedo.com> TrackerResultsWindow: Don't propagate signal up if parent class doesn't implement it. GtkWindow doesn't have any implementation for button_press_event, so going though the parent class implementation crashed. 2009-09-29 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Allow full paths in IgnoredDirectories & IgnoredFiles tracker-miner-fs: Removed unused code 2009-09-29 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Fix double unref in thumbnailer tracker-miner-fs: Fix critical when file could not be processed libtracker-data: Drop unneeded FTS INSERT/DELETE statements tracker-fts: Fix SQLite error after updates 2009-09-29 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Use XDG spec for special user dirs in config This means now the user can specify "&USER_DIRECTORY_DOCUMENTS" and it will point to whatever the XDG config says in /etc/xdg/user-dirs.defaults and use those dynamically. For now saving the config back is not supported so well. This can be improved in the future and it is currently unused in tracker-miner-fs anyway. The preferences need some love after this too. tracker-miner-fs: Don't try to send thumbs if service is disabled tracker-miner-fs: Don't send 0 thumbnail sized queues Also print we are sending the items BEFORE we send them to make logging clearer when the proxy is NULL or we get some errors from the dbus call. tracker-preferences: Make ignored dirs & w/ content more equally spaced 2009-09-29 Jürg Billeter <j@bitron.ch> SPARQL: Do not use JOIN for simple OPTIONAL patterns This improves performance for OPTIONAL { ?v foo:bar ?o } where ?v is an already BOUND variable, foo:bar is a single-valued property, and ?o has not been used before. Update .gitignore tracker-fts: Add fts3ae test tracker-fts: Add FTS test infrastructure and first test 2009-09-29 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-09-28 Tshepang Lekhonkhobe <tshepang@gmail.com> Fix typo in tracker-processes man page 2009-09-28 Ivan Frade <ivan.frade@nokia.com> Add prefix in MLO description Define local prefix in the ontology description Removed stupid debug message 2009-09-28 Carlos Garnacho <carlos@lanedo.com> TrackerExtract: Add custom text extractor for PDFs. The text extractor uses poppler, and will discard anything not looking like a word, already implements word limit, although it's not hooked to any config yet. 2009-09-28 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Re-enable the thumbnailer communication This also improves the thumbnailer API used and is a bit more efficient in places too. tracker-extract: Fixed Ctrl+C not working with -d tracker-extract: Added some debugging to albumart extraction tracker-extract: Don't error on HAL == NULL if run on command line tracker-miner-fs: Removed tracker-utils.[ch], no longer used tracker-miner-fs: Removed tracker-dbus.[ch] no longer used tracker-miner-fs: Actually use the thumbnailer with init/shutdown tracker-miner-fs: Make thumbnailer more useful with return values 2009-09-28 Philip Van Hoof <philip@codeminded.be> Deleting queued batchupdates and commit when client disappears 2009-09-27 Jürg Billeter <j@bitron.ch> Fix dbus-glib checks 2009-09-27 Michael Biebl <mbiebl@gmail.com> Use a recent version of dbus/dbus-glib and remove SUBJECT_TO_CHANGE use Use a realistic version of of libxml 2009-09-25 Martyn Russell <martyn@lanedo.com> Cleaned up tracker-search-tool Makefile.am More NEWS changes More NEWS updates More updates to NEWS Updated the NEWS Bumped version of valac to 0.7.5 Updated the MAINTAINERS and AUTHORS files and credits in applets Updated the README 2009-09-25 Jamie McCracken <jamiemcc gnome org> added copyright statements 2009-09-25 Jürg Billeter <j@bitron.ch> Fix clean rules for Vala parts 2009-09-25 Carlos Garnacho <carlos@lanedo.com> TrackerResultsWindow: use a cell renderer function for categories. 2009-09-25 Martyn Russell <martyn@lanedo.com> tracker-results-window: Fixed a bunch of issues - Fixed the hidden category column issue. - Fixed a crasher from recursively requesting images for files which don't exist (race condition) - Fixed some missing \n from debugging - Fixed not showing the "no results" label if some SQL errors and there are no results. 2009-09-25 Ivan Frade <ivan.frade@nokia.com> Set the correct value in local_uri to generate documentation Adding NFO ontology description ttl2graphviz: attempt to draw ontologies automatically. Initialize GErrors to NULL Notify changes in nmm:Video 2009-09-25 Carlos Garnacho <carlos@lanedo.com> TrackerMinerManager: Fix typo. The hashtable key must be the dbus name for the miner, it was being copied somewhat random memory. libtracker-client: Make it able to cancel individual calls. All async functions return a guint which can be used in tracker_cancel_call() so the call is cancelled, tracker_cancel_last_call() now also uses this infrastructure, although this function should be deprecated/removed at some point. 2009-09-25 Jürg Billeter <j@bitron.ch> Update POTFILES.{in,skip} to fix make distcheck 2009-09-25 Martyn Russell <martyn@lanedo.com> Added missing new man pages to Makefile 2009-09-25 Philip Van Hoof <philip@codeminded.be> Fixed possible memory leak 2009-09-25 Martyn Russell <martyn@lanedo.com> Fixed use of tracker_dngettext(), don't use _("") strings This is of course stupid, it means the string to be translated is first translated :) Updated man pages Added man pages for: tracker-processes tracker-search-bar Updated some old texts left in others. tracker-status-icon: Update --help about one liner 2009-09-25 Philip Van Hoof <philip@codeminded.be> Bugfix in the Evolution push module when using tracker-process -r 2009-09-25 Jürg Billeter <j@bitron.ch> Update .gitignore 2009-09-25 Jamie McCracken <jamiemcc gnome org> tracker-search-tool: Added escaping for sparql tracker-search-tool: Added metadata tile tracker-search-tool: Added drag/drop for search results tracker-search-tool: Made clear button on entry functional tracker-search-tool: Made sure all strings are translatable New tracker search tool - first version 2009-09-25 Jürg Billeter <j@bitron.ch> tracker-fts: Do not report fatal error when closing quote is missing 2009-09-25 Philip Van Hoof <philip@codeminded.be> Removed Insert and Delete DBus APIs Please always use either SparqlUpdate or BatchSparqlUpdate followed by BatchCommit for inserting and removing statements. 2009-09-25 Michael Biebl <biebl@debian.org> Sort file list in POTFILES.{in,skip} alphabetically Update list of translatable / non-translatable files Update POTFILES.{in,skip} after the merge of the evolution branch to fix "make check" Remove duplicate EXTRA_DIST / CLEANFILES EXTRA_DIST and CLEANFILES were specified twice, the second overriding the first. As a result $(desktop_in_files) was not added to the dist tarball. Remove DIST_SUBDIRS automake will handle DIST_SUBDIRS correctly automatically for SUBDIRS which are added conditionally. Specifying them manually actually breaks "make distclean" and subsequently "make distcheck". So simply remove it. 2009-09-24 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Only set nfo:codec and nfo:channels once 2009-09-24 Martyn Russell <martyn@lanedo.com> tracker-tag: Fixed man page up tracker-tag: Fix FILTER which is no longer used for --list tracker-tag: Fix this up to work with new SPARQL tracker-search: Make sure we tracker_disconnect before exiting tracker-search: Use nfo:Document instead of nfo:PaginatedDocument 2009-09-24 Carlos Garnacho <carlos@lanedo.com> Add src/tracker-search-bar to DIST_SUBDIRS. Merge branch 'master' into search-bar Merge branch 'master' into search-bar TrackerResultsWindow: Use asynchronous API to query data. TrackerResultsWindow: show a "no results" label if no results are available. TrackerSearchWindow: Retry grabbing if the window is not viewable yet. 2009-09-24 Philip Van Hoof <philip@codeminded.be> Merge branch 'evolution' Refactoring of the Evolution push plugin 2009-09-24 Carlos Garnacho <carlos@lanedo.com> TrackerResultsWindow: Cache the pixbufs in the model. Getting the icons can be quite expensive, these are now cached in the model. TrackerResultsWindow: Open selected items on row-activated. TrackerResultsWindow: grab pointer/keyboard on popup. This makes the results window behave as expected wrt keyboard handling for the treeview and pressing esc or clicking outside the window to pop it out. Turn TrackerResultsWindow into a GtkWidget. It inherits from TrackerAlignedWindow, and does some things in a more proper way. 2009-09-24 Martyn Russell <martyn@lanedo.com> tracker-status: Fixed typo in --help tracker-search: Now can use FTS with category searching Now when using options like --images the search terms can be used. Previously this only worked with no command line switch. Now added some more categories too, such as: --folders --videos --documents Renamed: --image-files to --images --music-files to --music 2009-09-24 Michael Biebl <biebl@debian.org> Add missing files to POTFILES.in According to 4ddf3304d4c3909ab9ec9cf56edcb495e1d634c3 the miner desktop files should be translatable, so add them to POTFILES.in. Revert "Add missing tracker-applet.desktop.in." This reverts commit 336b0bff94af3e96e1d5722ff1cd2e9cfa559b6c. Add missing "\" 2009-09-23 Michael Biebl <biebl@debian.org> Fix a few typos in the man pages 2009-09-23 Jürg Billeter <j@bitron.ch> libtracker-client: Add convenience API for GTK+ and Nautilus 2009-09-23 Ivan Frade <ivan.frade@nokia.com> Removed cardinality restrinction in isLogicalPart 2009-09-23 Carlos Garnacho <carlos@lanedo.com> TrackerStatusIcon: use tracker_miner_manager_get_display_name(). TrackerMinerManager: Rely on desktop files to get to know miners data. Also, tracker_miner_manager_get_display_name() has been added, it can be used to get a translated display name for the miner, instead of stripping things from the DBus name. Add .desktop files for miners. These are installed in $(datadir)/tracker/miners, and will be used to get to know available miners, translatable display name/comment, DBus name/path, and other relevant data. 2009-09-23 Martyn Russell <martyn@lanedo.com> tracker-search-bar: Make the results window prettier 2009-09-23 Carlos Garnacho <carlos@lanedo.com> TrackerMiner: Listen to tracker-store availability, pause if necessary. 2009-09-22 Michael Biebl <biebl@debian.org> Add missing tracker-applet.desktop.in. Fixes "make check" 2009-09-22 Jürg Billeter <j@bitron.ch> SPARQL: Fix OPTIONAL when used for coalescing 2009-09-22 Martyn Russell <martyn@lanedo.com> tracker-search-bar: Made entry a little wider tracker-search-bar: Moved position of results window tracker-search-bar: Added folders to the list of results tracker-search-bar: Make searching more useful tracker-search-bar: Fixed broken .server $libexecdir tracker-extract: Use filename for nie:title if we have nothing else 2009-09-22 Jürg Billeter <j@bitron.ch> tracker-extract-pdf: Fix opening document tracker-extract-text: Add nfo:PlainTextDocument type 2009-09-21 Martyn Russell <martyn@lanedo.com> tracker-search-bar: Added initial searching results window tracker-search-bar: Moved to C implementation 2009-09-21 Gabor Kelemen <kelemeng@gnome.hu> Updated Hungarian translation 2009-09-21 Martyn Russell <martyn@lanedo.com> Fixes bug 573012, Context needed for a proper translation Fixes bug 594301, Need context for a proper translation Fixes bug 592400, String translation issues 2009-09-21 Gabor Kelemen <kelemeng@gnome.hu> Fixes in part bug 591814, Clean up .ui files 2009-09-21 Martyn Russell <martyn@lanedo.com> Improve error string for translators, related to bug #592400 2009-09-21 Bruce Cowan <bugs@bcowan.fastmail.co.uk> Fixes bug #595752, Minor string fixes 2009-09-21 Gabor Kelemen <kelemeng@gnome.hu> Fixes bug #575733, l10n cleanup in tracker_seconds_to_string Fixes bug #584607, Search does not work for Hungarian 2009-09-21 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2009-09-20 Gabor Kelemen <kelemeng@gnome.hu> Updated Hungarian translation 2009-09-20 Bruce Cowan <bcowan@fastmail.co.uk> Updated British English Translation 2009-09-20 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-09-20 Khaled Hosny <khaledhosny@eglug.org> Updated Arabic translation 2009-09-18 Carlos Garnacho <carlos@lanedo.com> TrackerCrawler: Add throttling in there as well. TrackerMinerFiles: Hook up throttling to config and batt status. TrackerMinerFS: Add back throttle support. throttle is now a [0..1] gdouble, which will increase processing timeouts to up to 1 second. 2009-09-18 Martyn Russell <martyn@lanedo.com> tracker-preferences: Fixed run on battery/first time sensitive toggle tracker-preferences: Merged Monitoring into Indexing section Also added more tooltips and made the Ignore page lists a bit more useful. 2009-09-17 Jürg Billeter <j@bitron.ch> SPARQL: Fix logical `and' and `or' expressions Fixes NB#139316. 2009-09-17 Martyn Russell <martyn@lanedo.com> tracker-search-bar: Added initial framework 2009-09-17 Jürg Billeter <j@bitron.ch> libtracker-common: Vala compatibility fix 2009-09-16 Jürg Billeter <j@bitron.ch> Fix make distcheck SPARQL: Fix filter with datetime literals Fixes NB#139181. 2009-09-16 Philip Van Hoof <philip@codeminded.be> Renamed the .service files for the extractor and store 2009-09-16 Martyn Russell <martyn@lanedo.com> tracker-preferences: Add tooltips to options to describe them better tracker-preferences: Change "Save" button to "Apply". libtracker-miner: Check for NULL before unrefing sparql in item_update... Also, make warning about stat error into a normal message, this is perfectly normal if we add a file to the queue to be processed then it has been removed by the time we get to add it to the database, it is not a problem. 2009-09-16 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Fix crash with invalid extended header 2009-09-16 Philip Van Hoof <philip@codeminded.be> nmm:albumTrackCount must be assigned on the nmm:MusicAlbum instead 2009-09-16 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Also handle deprecated TYER in ID3v2.4 tracker-extract-mp3: s/g_assert_not_reached/g_warn_if_reached/ Extraction should not be aborted if it is reached. 2009-09-16 Philip Van Hoof <philip@codeminded.be> We should never timeout in Tracker itself for these Added tracker-preferences.[ch] to .gitignore 2009-09-15 Philip Van Hoof <philip@codeminded.be> Translatable strings for the preferences UI Reenabled tracker-preferences compilation Small improvements for the tracker-preferences UI Merge branch 'tracker-preferences' Reimplementation of the tracker-preferences user interface 2009-09-15 Jürg Billeter <j@bitron.ch> tracker-explorer: Fix build with vala master 2009-09-14 Martyn Russell <martyn@lanedo.com> Fixes: NB#138860, tracker-miner-fs stops crawling if a directory... This was caused by returning TRUE to silently handle missing directories, the problem is, we then depend on a "finished" signal from the crawler which we never get. As such, we now return FALSE in the _start() function if we don't expect to progress any further. Also, we now don't reset the GCancellable and don't set the crawler into state "running" until the initial checks are done first. libtracker-miner: Fixed double free 2009-09-14 Philip Van Hoof <philip@codeminded.be> Bugfix, g_object_get was forgotten in the save_string_list one 2009-09-14 Jürg Billeter <j@bitron.ch> Drop unused gmime-2.0 requirement libtracker-data: Add tracker:added property tracker:added is only set once, when the resource is inserted into the database, and it will never be changed after that. This property can be used to query for recently added files. 2009-09-14 Martyn Russell <martyn@lanedo.com> tracker-miner-fs: Efficiency improvement when no dir-content config 2009-09-14 Jürg Billeter <j@bitron.ch> libtracker-miner: Fix crash and memory leak in crawler 2009-09-13 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-09-11 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFiles: Hook check-directory-contents to configuration. TrackerMinerFS: Forward the check-directory-contents signals. This way miner implementations may choose whether to index a folder or not based on its contents. TrackerCrawler: Add check-directory-contents signal. This signal contains both the folder and its children (in a GList), the return value will tell TrackerCrawler whether to keep iterating through that folder or discard it. 2009-09-11 Jürg Billeter <j@bitron.ch> SPARQL: Support fn:starts-with function in queries 2009-09-10 Ivan Frade <ivan.frade@nokia.com> Enable signals for mto:Tracker and mto:TransferElement Update gtk-sparql to the new tracker dbus name 2009-09-10 Philip Van Hoof <philip@codeminded.be> Fixed duplicate sending of class-signal SubjectsAdded 2009-09-10 Carlos Garnacho <carlos@lanedo.com> TrackerCrawler: Do not iterate through folders parallelly. Previously to this change, the process_func() idle function would be always running, starting iteration through folders as soon as the could be processed, regardless of having other folders already being iterated. This could lead to an scenario where all file descriptors were used under some conditions. Now, all processing is fully sequential, so process_func() waits until a folder is iterated before going on to the next item. 2009-09-10 Philip Van Hoof <philip@codeminded.be> Ported volume support to libtracker-miner API 2009-09-10 Jürg Billeter <j@bitron.ch> SPARQL: Fix multiple updates with WHERE clause in single query libtracker-data: Flush update buffer before deleting statements 2009-09-09 Martyn Russell <martyn@lanedo.com> Fixes NB#114955, Usage of CPU is about 100% during long time after... 2009-09-09 Carlos Garnacho <carlos@lanedo.com> Plug more leaks. 2009-09-09 Philip Van Hoof <philip@codeminded.be> Add lost+found to ignore list and don't use critical for dir errors Changed critical into a warning in tiff extractor Fixed FTS extractor in case no text is returned Critical warning fixes in gstreamer extractor Fixed trailing empty INSERT {\n} for file resources 2009-09-09 Martyn Russell <martyn@lanedo.com> tracker-sparql: Fix documentation and --help for --update option 2009-09-08 Carlos Garnacho <carlos@lanedo.com> Plug some leaks in libtracker-miner and tracker-miner-fs. TrackerMinerFS: Ensure the timer is created after initial crawling. After initial crawling timer is freed and set to NULL, this ensures that events coming from the monitor will also have a timer enabled for measurements. 2009-09-08 Jürg Billeter <j@bitron.ch> libtracker-data: Fix DROP GRAPH with datetime and boolean properties 2009-09-08 Martyn Russell <martyn@lanedo.com> libtracker-miner: Don't signal status/progress so much & remove dups tracker-miner-fs: Applications miner small code improvements libtracker-miner: Don't disable monitoring during crawling This meant that no monitors were getting added even though the log said the opposite, this was because we added a NULL pointer to the hash table for each GFile. 2009-09-08 Philip Van Hoof <philip@codeminded.be> Fixed potential memory leak Removed nmm:albumTrackerCount (incorrect domain) 2009-09-08 Jürg Billeter <j@bitron.ch> Drop old evolution plugin from configure summary Rename libtracker-gtk.pc to tracker-gtk.pc Rename libtrackerclient to libtracker-client Also update pkg-config name and source diretory. This eliminates inconsistency with other tracker libraries. 2009-09-08 Philip Van Hoof <philip@codeminded.be> Combining Make and Model of image metadata for nmm:camera Ignore strings that are either empty or all spaces for MP3 extraction 2009-09-08 Martyn Russell <martyn@lanedo.com> libtracker-miner: Pause crawler when miner is paused tracker-extract: Removed unused code & handle content == NULL 2009-09-08 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFS: Lower the severity of a warning. Having a hanging cancellable is not warning worthy. Also, make sure it's NULL if process_file() returns FALSE. TrackerMinerApplications: Avoid unnecessary warnings. Now process_file() returns FALSE if the passed file is not a parseable .desktop file, which means the file will be bypassed. Rename tracker-applet manpage. Remove all tracker-applet references from autofoo. Fix POTFILES.* for tracker-status-icon. Rename tracker-applet to tracker-status-icon. TrackerApplet: Remove dead code. Remove tracker-applet from build. Tracker-applet code is now deprecated in favor of tracker-status-icon. TrackerStatusIcon: Remove unused CL switch. 2009-09-08 Martyn Russell <martyn@lanedo.com> tracker-extract: Added FTS support for text files tracker-miner-fs: Fixed monitoring, enabled != config enabled Updated man pages for tracker-search and tracker-sparql tracker-sparql: Use -x to list prefixes 2009-09-08 Philip Van Hoof <philip@codeminded.be> Fixed a crash in init of removable devices The initialize_removable_devices function gets a list of paths which it passed to tracker_miner_fs_add_directory, which in turn wants a GFile instance. The fix converts the path to a GFile before calling the latter function. 2009-09-08 Jürg Billeter <j@bitron.ch> libtracker-common: Drop unneeded allocations in tracker_ontology_get_* Fixes memory leak in SPARQL engine. 2009-09-08 Martyn Russell <martyn@lanedo.com> tracker-search: Fixed some typos in the options --help tracker-search: Added options to get all images and all files Also added order by asc for all files options tracker-search: Fix memory leaks and s/Results/{Albums|Artists|...}/ 2009-09-08 Carlos Garnacho <carlos@lanedo.com> TrackerStatusIcon: implement/comment out the remaining context menu options. Some things, such as "Reindex" don't make sense anymore, so they've been wiped out. TrackerStatusIcon: Update icon according to miners' status. This takes into account idle/paused/active/inactive miners. 2009-09-08 Martyn Russell <martyn@lanedo.com> tracker-sparql: Update -p help mentioing class prefixes can be used tracker-sparql: Added command line options to make using SPARQL easier Added: --list-classes --list-class-prefixes --list-properties This allows people to quickly find out what classes we support, the prefix they can use for them (to make life easier) and the properties associated with a class. The class prefix can be used to get properties too. tracker-sparql: Removed mingw include tracker-sparql: Renamed --path option to --file This in so we can add a --properties (-p) option later and because we are not pointing to a directory but a filename. tracker-sparql: Some small code cleanups 2009-09-07 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2009-09-07 Martyn Russell <martyn@lanedo.com> tracker-search: Add limit warning if more results exist than limit tracker-search: Added some love - Now we have -r to use search terms in OR not AND - Now we have options: - To list all music files - To list all music artists - To list all music albums 2009-09-07 Jürg Billeter <j@bitron.ch> Do not install tracker-status-icon autostart file unconditionally Update .gitignore Update statistics continuously Fixes NB#120451. tracker-store: Drop classes without resources from statistics libtracker-data: Ignore duplicate rdf:type statements 2009-09-07 Carlos Garnacho <carlos@lanedo.com> TrackerStatusIcon: set menu items insensitive for inactive miners. TrackerMinerManager: Add miner-[de]activated signals. These will monitor whether the miner is running and available through DBus. 2009-09-07 Jürg Billeter <j@bitron.ch> Turtle: Fix parsing of anonymous blank nodes Fixes NB#136136. 2009-09-07 Philip Van Hoof <philip@codeminded.be> Unused field in struct, removed Using coalesce for the Vorbis extractor 2009-09-07 Martyn Russell <martyn@lanedo.com> tracker-status-icon: Fixed icon not appearing, called g_thread_init() tracker-status: Fixed crasher tracker-status: Make sure we allocate the GValue we use libtracker-miner: Fixed missing tracker-miner-client.h tracker-status: Added paused/resumed miner manager signal support tracker-status: Implement --detailed using timestamps tracker-status: Add status to -f output 2009-09-07 Jürg Billeter <j@bitron.ch> SPARQL: Fix updates with WHERE clause Fixes NB#137408. 2009-09-07 Carlos Garnacho <carlos@lanedo.com> TrackerStatusIcon: Add hability to pause/resume individual miners. TrackerMinerManager: Add pause() and resume() methods. 2009-09-07 Martyn Russell <martyn@lanedo.com> Moved tracker-module.pc.in to tracker-miner.pc.in Updated this file too so users can start using the new libtracker-miner APIs. Fixed missing POTFILES.{in|skip} entries for make distcheck tracker-miner-fs: Moved tracker-miner-main to tracker-main Removed tracker-miner-fs/tracker-main.c, no longer used Fix initial make distcheck failures 2009-09-07 Philip Van Hoof <philip@codeminded.be> Added missing fields for PNG extractor Using coalesce for PNG extractor 2009-09-07 Martyn Russell <martyn@lanedo.com> Removed tracker-crawler.c, tracker-miner.h, not used here tracker-miner-fs: Fixed #ifdefs in headers to be more specific. I.e. don't use TRACKER_DBUS which can be defined in about 4 other places. Remove libtracker-common header checks from tracker-thumbnailer Added tracker-status-icon desktop file Updated man pages for .cfg files Added tracker-extract.cfg.5 tracker-fts.cfg.5 tracker-miner-fs.cfg.5 tracker-store.cfg.5 Removed tracker.cfg.5 Updated other binary docs to include SEE ALSO links for .cfg files 2009-09-07 Philip Van Hoof <philip@codeminded.be> Moving reused code around for XMP extractors Fixed double mention of a single-value predicate 2009-09-07 Martyn Russell <martyn@lanedo.com> Fixed tests which tried to include files no longer available Added initial man page for tracker-miner-fs Remove tracker-removable-device*, no longer used Fix Makefile by including tracker-{dbus|thumbnailer} Removed tracker-status*, no longer used Removed tracker-module*, no longer used Removed tracker-indexer*, no longer used Removed tracker-miner-fs/modules/*, no longer used 2009-09-07 Jürg Billeter <j@bitron.ch> libtracker-db: Drop common.db Move Options table from common.db to meta.db and drop common.db. Drop unused options from common.db 2009-09-06 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-09-04 Philip Van Hoof <philip@codeminded.be> Change structure of the JPEG, XMP, TIFF and PDF extractors Cleaning up of the Exif, XMP and IPTC extraction in the JPEG, XMP, TIFF and PDF extractors. Added proper usage of tracker_coalesce to merge fields together. 2009-09-04 Carlos Garnacho <carlos@lanedo.com> Merge branch 'master' into libtracker-miner Fix compilation with Devicekit-power. That function should probably be removed altogether, but at least it now compiles. Remove unused raptor libs from compilation. 2009-09-04 Jürg Billeter <j@bitron.ch> SPARQL: Fix crash with unsupported predicate variable query 2009-09-04 Carlos Garnacho <carlos@lanedo.com> TrackerStatusIcon: listen to pause/resume signals from TrackerMinerManager. Now it displays a paused icon for paused miners. TrackerMinerManager: Add pause/resume signals. TrackerMinerDiscover: renamed to TrackerMinerManager. It will include functions for pausing/resuming, plus signals about its state. TrackerMinerDiscover: Fix DBus names so the miner discoverer works again. Bug NB#136770 - Not able to see the pictures captured with camera application Turns out the monitor wasn't replacing the GFile (used as the key) in the monitors hash table after a move operation, so monitoring a newly created folder with the same name would fail silently. Bug NB#136770 - Not able to see the pictures captured with camera application after renaming the current folder. Turns out the monitor wasn't replacing the GFile (used as the key) in the monitors hash table after a move operation, so monitoring a newly created folder with the same name would fail silently. Fix a few glitches in the merge with master. 2009-09-03 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFiles: Create proxy for the right extractor DBus path. Backport 86d953f8b86497974e1fba6c0fbac0e597981ffd to libtracker-miner. Backport a4d9ab3ae7b44ea9f662949b1044206994db9ce5 to libtracker-miner. Fix build after updating with master. Merge branch 'master' into libtracker-miner Conflicts: data/dbus/org.freedesktop.Tracker.Miner.Files.service.in data/dbus/tracker-miner.xml src/Makefile.am src/libtracker-common/Makefile.am src/libtracker-common/tracker-module-config.c src/libtracker-common/tracker-module-config.h src/tracker-miner-fs/Makefile.am src/tracker-miner-fs/modules/evolution-imap.c src/tracker-miner-fs/modules/evolution-pop.c src/tracker-miner-fs/tracker-crawler.c src/tracker-miner-fs/tracker-indexer.c src/tracker-miner-fs/tracker-main.c src/tracker-miner-fs/tracker-miner-applications.c src/tracker-miner-fs/tracker-miner.h src/tracker-utils/tracker-status.c 2009-09-03 Jürg Billeter <j@bitron.ch> libtracker-data: Remove unused function tracker_data_insert_resource 2009-09-02 Carlos Garnacho <carlos@lanedo.com> Added initial version of tracker-status-icon. There are some things missing, the context menu has been ripped from tracker-applet, but doesn mostly nothing. It's also missing code to pause miners and to switch to idle mode after they're all done. TrackerCrawler: Don't starve file crawling if there are higher prio sources. A higher priority source running that often is worrying enough to deserve a close look, this is a quick fix so the crawler doesn't get stuck. 2009-09-02 Philip Van Hoof <philip@codeminded.be> Added fulltext and removed single-value from nie:keyword Compilation warning fixes Moved the coalesce function to libtracker-common 2009-09-02 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Add missing va_end call Noticed by Philip Van Hoof. Remove unused source files 2009-09-01 Jürg Billeter <j@bitron.ch> tracker-parser: Remove unused functions 2009-09-01 Carlos Garnacho <carlos@lanedo.com> Modify tracker-status to listen for miners progress. TrackerMinerDiscover: Add miner-progres signal. With this signal we'll get to know about progress/status in all recognized miners. 2009-09-01 Philip Van Hoof <philip@codeminded.be> Bumped up sqlite version to > 3.6.11 The sqlite_backup API was introduced in minor version .11 of the 3.6 series. The previous 3.6 version bump was therefor not sufficient for all features of sqlite being used currently. Bumped up version of sqlite to 3.6 for sqlite_backup API 2009-09-01 Carlos Garnacho <carlos@lanedo.com> TrackerMinerDiscover: turn into a GObject. 2009-09-01 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Report errors in SPARQL updates libtracker-data: Fix error reporting on inserts 2009-09-01 Philip Van Hoof <philip@codeminded.be> Fixes for softwarecategories 2009-09-01 Carlos Garnacho <carlos@lanedo.com> TrackerMiner: emit Progress signals through DBus. TrackerPower: remove HAVE_HAL ifdef, could not be implemented by HAL. TrackerMinerFiles: Avoid warnings in the no-HAL case. 2009-09-01 Jürg Billeter <j@bitron.ch> libtracker-data: Fix assertion failure on FTS updates libtracker-data: Use int GValues for booleans The tracker_db_*_get_value functions return int GValues for booleans as that is how they are stored in the database. To allow comparing GValue instances, we also need to use int GValues for values that are not yet in the database. 2009-09-01 Philip Van Hoof <philip@codeminded.be> Fixed tracker:available in Evolution IMAP miner module The predicate is already being set by the miner's file module. No need to set it twice for these situations. 2009-09-01 Jürg Billeter <j@bitron.ch> libtracker-data: Fix updating fulltext index on inserts tracker-fts: Add tracker_fts_update_rollback function tracker-parser: Fix text parsing involving numbers and hyphens Setting is_valid to FALSE and start to NULL when finding digits or hyphens results in ignoring all words following that position. 2009-09-01 Philip Van Hoof <philip@codeminded.be> Bugfix, the value can be NULL here, and should then be ignored Putting setting the icon in rigth order Fixed sparql inserts for applications 2009-08-31 Jürg Billeter <j@bitron.ch> libtracker-data: Fix tests to work with new checks libtracker-data: Fix crash when flushing update buffer libtracker-data: Check domain of predicate when inserting statements tracker-extract-jpeg: Use nmm:Photo for images with Exif tags tracker-miner-fs: Fix order of statements in SPARQL 2009-08-31 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFS: Use tracker_miner_commit() explicitly. For initial crawling, it will wait until it's completely done. After that, any sparql additions will trigger a commit. TrackerMiner: Add tracker_miner_commit(). This function also takes pausing into account. 2009-08-31 Philip Van Hoof <philip@codeminded.be> Added error throwing for delete { <uri> pred ?var } where ?var is undefined 2009-08-31 Carlos Garnacho <carlos@lanedo.com> TrackerMiner: Use g_set_error_literal(). TrackerMinerFS: Implement pause() and resume(). TrackerMinerFS: Do not create cancellable on init(). It will be created before processing any file. TrackerMinerFS: Cancellable can be NULL on finalize. tracker-miner-fs: Do not start an already started miner. TrackerMiner: Add tracker_miner_is_started(). TrackerMinerFS: Remove directory and children from all processing queues. Now tracker_miner_fs_remove_directory() also removes any child from processing queues, and cancels the ongoing process_file() call if necessary. 2009-08-31 Philip Van Hoof <philip@codeminded.be> Removed unused function tracker_data_query_resource_exists Ported cache_set_metadata_decomposed to use cursor API Ported tracker_data_update_get_next_modseq to use cursor API Ported tracker_data_update_get_new_service_id to use the cursor API 2009-08-31 Jürg Billeter <j@bitron.ch> C89 fixes tracker-extract-mp3: Fix use of single-valued properties Fixes NB#123379 and NB#125733. libtracker-data: Count inserts of single-valued properties NFO: Drop useless nfo:rate property 2009-08-31 Philip Van Hoof <philip@codeminded.be> Ported tracker_data_query_resource_id to use cursor API Ported tracker_data_query_rdf_type to cursor API Removed unused code Ported DROP GRAPH to use the cursor API Ported db_get_static_data to use cursors Using a cursor for adding super classes and super properties Made TrackerDBStatementSqlite all private 2009-08-31 Jürg Billeter <j@bitron.ch> Fix build with --as-needed 2009-08-30 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-08-28 Martyn Russell <martyn@lanedo.com> Make sure we resume the miner after AC adaptor is in use Make battery percentage a property and notify on when it changes Don't spam "Processing Files" Added battery status messages & get_battery_percentage to libtracker-common Better output to console for tracker-status when no miners are paused Fixed paused signal, we don't have reason there yet Fixed running/paused logic 2009-08-28 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFiles: Hook up to extractor. TrackerMinerFS: make process_file() vmethod asynchronous and possibly cancellable. TrackerMinerFiles and TrackerMinerApplications have changed to implement it in an asynchronous fashion. The cancellable will be used in the future to cancel ongoing operations on removable devices. 2009-08-28 Martyn Russell <martyn@lanedo.com> Don't allow an app to pause with the same reason more than once Align output better for tracker-status Update tracker-status help, we don't need to use --miner with it Finally signal paused/resumed signals Make it possible to get all pause apps/reasons Added battery support to miner-files Call exit() if we can't register the object with dbus 2009-08-28 Jürg Billeter <j@bitron.ch> SPARQL: Revert the dropped rdfs:Resource table This fixes WHERE { ?s a rdfs:Resource } queries. 2009-08-28 Martyn Russell <martyn@lanedo.com> Updated all #ifndefs for headers to use libtrackerminer prefix This is to avoid conflicts with other headers, like for TRACKER_UTILS which is probably used somewhere else too. 2009-08-28 Philip Van Hoof <philip@codeminded.be> Fixed initialization of cursors 2009-08-28 Martyn Russell <martyn@lanedo.com> LGPL for libtracker-miner 2009-08-28 Philip Van Hoof <philip@codeminded.be> Compilation warning fixes Performance improvement for the cursor API 2009-08-28 Jürg Billeter <j@bitron.ch> LGPL for libtracker-common, libtracker-db, and libtracker-data SPARQL: Fix parsing of empty update templates DC: Remove cardinality restriction on dc:date 2009-08-27 Martyn Russell <martyn@lanedo.com> Added disk space checking back Make sure we reload the settings when config file changes Reduce names shown in tracker-status to not show org.freedesktop... Make the dbus functions use a _dbus_ prefix This is so we can internally use pause/resume and other APIs without needing the dbus machinery. 2009-08-27 Philip Van Hoof <philip@codeminded.be> Merge branch 'cursor' Removed unused API Removed an unused private variable from the cursor type API cleanup, allowing to unref the stmt before the cursor's usage Ported the FTS synchronization to the cursor API 2009-08-27 Jürg Billeter <j@bitron.ch> SPARQL: Do not unnecessarily include rdfs:Resource table in query NAO: Add index on nao:hasTag 2009-08-27 Philip Van Hoof <philip@codeminded.be> Unneeded warning message 2009-08-26 Carlos Garnacho <carlos@lanedo.com> Wrap condition in parenthesis. TrackerMinerFS: Use the accumulator for the boolean signals. TrackerMinerFS: Remove unused vars. TrackerMinerFS: No need to disconnect signals, we own these objects. TrackerMinerFS owns both the crawler and the monitor, so these won't survive finalization, so there's no need to disconnect signals before unref'ing. 2009-08-26 Martyn Russell <martyn@lanedo.com> Make sure we call the parent class constructed first Fix TrackerCrawler call now we use GFile instead of path 2009-08-26 Carlos Garnacho <carlos@lanedo.com> TrackerCrawler: Use GFile in the API. 2009-08-26 Martyn Russell <martyn@lanedo.com> Add dir ignore patterns and moved silly crawl dir checks to start 2009-08-26 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFS: Improve checks on whether a file/dir should be indexed. For events coming from the monitor, we just call check-file/directory, since the mtime has changed for sure. For crawling, tell the crawler to inspect all directories, but mark these which mtime hasn't changed so they can be ignored before being added to the processing queue. 2009-08-26 Jürg Billeter <j@bitron.ch> libtracker-common: Improve formatting in SPARQL builder tracker-miner-fs: Fix SPARQL for folders libtracker-data: Fix crash on FTS update It's important that buildTerms is never called more than once with the same iDocid and iColumn arguments. If this condition is not obeyed, asserts may be triggered leading to segmentation faults. 2009-08-26 Philip Van Hoof <philip@codeminded.be> Bugfix Added a TrackerDBCursor API 2009-08-26 Martyn Russell <martyn@lanedo.com> Improved debugging Added status information to miner-fs now visible in tracker-status Fix compile warning const/non-const issue Fixed miner discovery based on crawler signal changes Fixed unrefing GFiles in the queue but not clearing the queue Removed some unused debug 2009-08-26 Ivan Frade <ivan.frade@nokia.com> Add properties in scal ontology 2009-08-26 Carlos Garnacho <carlos@lanedo.com> TrackerMinerApplications: add relevant directories on construction. Also, added back /usr/share/desktop-directories to be handled by this miner. Make tracker_miner_fs_[add|remove]_directory() use GFile. TrackerConfigFile: get rid of "lt-" prefixes in app names. 2009-08-26 Martyn Russell <martyn@lanedo.com> Rework the way we mine the file system data Now we queue all files first then process them. This allows us to get some idea of how many we have for status and progress reports. The tracker-crawler now changed signals from process-file and process-directory to check-file and check-directory. 2009-08-26 Jürg Billeter <j@bitron.ch> libtracker-data: Fix memory leak in updates NMO: Fix nmo:status definition Properties can only have one domain. 2009-08-26 Philip Van Hoof <philip@codeminded.be> Compilation warning fixes 2009-08-26 Jürg Billeter <j@bitron.ch> Fix compile warnings 2009-08-26 Martyn Russell <martyn@lanedo.com> Small code cleanups/realignments 2009-08-25 Martyn Russell <martyn@lanedo.com> Don't stop the timer when printing stats, not need Rename all variable names for TrackerMinerFiles to mf This is to distinguish them from other type variables related to miners. Moved binary name from tracker-miner-fs-new to tracker-miner-fs Fixed all Miner->FS namespace changes Renamed tracker-miner-process to tracker-miner-fs Make sure we ALWAYS force checks on directories and NEVER ignore them Unless they are ignored by the config of course. Added ignore rules and patterns from config Also moved functions around so class functions are organised at the top Fixed config API for ignored patterns s/ignore/ignored/ Function name clean up Clear debugging about the type of path we are processing Don't monitor ALL directories, i.e. make sure we ignore hidden directories Fixed memory leak for GFileInfo and warning when info is NULL Move config options around so they are more logically groupped Renamed the DisableIndexOnBattery options to make more sense Removed Monitor config and merged it into index config Also added a separate option for recursive and non-recursive crawling not just recursive paths. Added missing TrackerConfig APIs for new config options 2009-08-25 Carlos Garnacho <carlos@lanedo.com> Avoid double unref. The directories are already added in TrackerMinerFiles constructor. TrackerMinerProcess: Do not start crawling until the miner is started. TrackerMinerFiles: Remove mount point directory on pre-unmount. TrackerCrawler: use GCancellable to stop GIO operations. 2009-08-25 Philip Van Hoof <philip@codeminded.be> Synchronize fts after restore from backup Squashed commit of the following: commit 65ef93d8e11f03b2d825f40b41a3bccb821abf07 Merge: 08017cb 54e6080 Author: Philip Van Hoof <philip@codeminded.be> Date: Tue Aug 25 14:58:34 2009 +0200 Merge branch 'master' into urho-sync Conflicts: tests/libtracker-data/tracker-ontology-test.c tests/libtracker-data/tracker-sparql-test.c commit 08017cbb8a3e1a373f88c6842fb526e916009025 Author: Philip Van Hoof <philip@codeminded.be> Date: Tue Aug 25 12:45:56 2009 +0200 Limiting the size of the log file commit 2b6623eae4c52c232d05ae01ab77bdaca0f9d1ba Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 16:29:11 2009 +0200 Added some code comments commit 28e0498331c6fe0914528cd17f035339931bfa53 Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 16:14:44 2009 +0200 Start save of backup over DBus after queue's commit commit 4c59007564f1138c01a66e2e45f891d157da03e8 Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 15:57:19 2009 +0200 Fixed restore on startup of meta.db is missing and meta-backup.db isn't commit e43ce2eaadda7759c3e5ca7aa73c8e40543343e2 Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 15:17:37 2009 +0200 Adding kill to soft-reset commit b7866eded285c138673c767e2979342c89fa1b37 Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 14:50:38 2009 +0200 Made DBus's Restore() synchronous commit 70eae9cb2c4747d226e687e10452e6e4054fcd27 Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 14:23:31 2009 +0200 Fixed path of the meta-backup.db file commit bbc39e88fa6affbe570676a304b7eee520e7e8e1 Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 14:21:25 2009 +0200 Fixed restore after tracker-processes -s commit a98ac7a5fcc9c4a6957ba292274a2211913ce06d Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 13:31:08 2009 +0200 Revert changes to INSTALL file commit 0016d9d9a0811abb9a098b49da64db6c1febee86 Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 12:39:22 2009 +0200 Code cleanup commit a10c615c63e35c548d3255cdc93632012ab5ae69 Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 12:24:02 2009 +0200 Code cleanup commit 3de8d7d0a2447840bd4c4168a9993fc78d504ad3 Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 12:02:58 2009 +0200 Added transaction barriers to the journal player commit 6af3250b97b79c4adefa518306081c1e86e42be3 Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 12:00:15 2009 +0200 Improvement for tracker-processes util commit 636d9670bd79ca4f86350acd85818fcd5679527e Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 11:47:16 2009 +0200 Fixed finding location of meta-backup.db commit d487838385db6ec4b3f7d89fc11440be60813a73 Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 24 11:44:40 2009 +0200 Play journal always when meta.db didn't exist commit 013b277d1f3079d228f20a8fc14b11da8d5f8f6e Author: Philip Van Hoof <philip@codeminded.be> Date: Fri Aug 21 17:11:44 2009 +0200 Changed the format of the log, playing it using mmap commit a61dbf091354411c093674105039e1546e7a3151 Author: Philip Van Hoof <philip@codeminded.be> Date: Fri Aug 21 11:19:23 2009 +0200 No need to do an extra fsync of commit causes one already commit e329dbca27a1ee5258757a0ff0c051097ecb93a6 Author: Philip Van Hoof <philip@codeminded.be> Date: Fri Aug 21 11:12:39 2009 +0200 Fixed logic, the timeout is for backup, the max for fsync commit ed462a8126c9a2314d4adb516183340067a96b7b Author: Philip Van Hoof <philip@codeminded.be> Date: Fri Aug 21 11:06:14 2009 +0200 Fixed another glitch commit 67fa0312d568718effb797d77308b5133d3d76e2 Author: Philip Van Hoof <philip@codeminded.be> Date: Fri Aug 21 11:00:46 2009 +0200 Make it exact commit d5ab45435cc1a2e9b56fbafb04a82f150c843e51 Author: Philip Van Hoof <philip@codeminded.be> Date: Fri Aug 21 10:58:04 2009 +0200 Make fsync happen less often on the journal commit 250362370069b56cd0b134fb7db02d9b561c52ef Author: Jürg Billeter <j@bitron.ch> Date: Fri Aug 21 09:37:35 2009 +0200 Remove raptor.h include commit 18048eeda22eb94030a32e6f59e4c5ca0fa53579 Author: Philip Van Hoof <philip@codeminded.be> Date: Thu Aug 20 15:35:30 2009 +0200 Several bugfixes in backup and restore commit 0bdb823b6b13081ff88a98c0e9bc0bb62d655e24 Author: Philip Van Hoof <philip@codeminded.be> Date: Thu Aug 20 15:09:38 2009 +0200 Playing the journal on restore commit b937a201f7588a4f401bc13f51e47a4754e1e3b2 Author: Philip Van Hoof <philip@codeminded.be> Date: Thu Aug 20 14:58:54 2009 +0200 Changed the paths of the meta-backup and the journal commit 142a32f01e4a43275d954e48b1134ba4a7a965db Author: Philip Van Hoof <philip@codeminded.be> Date: Thu Aug 20 12:47:04 2009 +0200 Backup and restore support commit 2ef24a4563c2e6fab6f17b0a1926602135639cb4 Merge: a7a7339 8a66865 Author: Philip Van Hoof <philip@codeminded.be> Date: Thu Aug 20 10:56:00 2009 +0200 Merge branch 'master' into urho-sync commit a7a73398baa8d87ecdb32b0228ffb78c5818a36e Merge: 2c25a57 d8aebcb Author: Philip Van Hoof <philip@codeminded.be> Date: Wed Aug 19 15:39:40 2009 +0200 Merge branch 'master' into urho-sync Conflicts: src/tracker-store/tracker-main.c commit 2c25a572dbadf53ed5d9316d1eb61c0655335e98 Author: Philip Van Hoof <philip@codeminded.be> Date: Wed Aug 19 15:30:58 2009 +0200 Atomic rename and journal load commit a3eec4151daadc9c575edc0174e2e610e50e61e4 Merge: 82003a5 377dc98 Author: Philip Van Hoof <philip@codeminded.be> Date: Wed Aug 19 15:16:18 2009 +0200 Merge branch 'master' into urho-sync commit 82003a5114bb6fd3ee69190be56e251afb7adace Author: Philip Van Hoof <philip@codeminded.be> Date: Wed Aug 5 11:16:47 2009 +0200 Don't perform the check when need_journal isn't passed commit 57e8168e31fcd5322798bd2b66f1f079b100ed76 Author: Philip Van Hoof <philip@codeminded.be> Date: Wed Aug 5 10:43:02 2009 +0200 Refactored the journal code a bit commit b37be6edbf55d3b43960fa87fd3b0322c9ae121a Author: Philip Van Hoof <philip@codeminded.be> Date: Tue Aug 4 16:42:39 2009 +0200 Fixed a critical warning commit 06fee84f767a2363c8eac30ccd424ac1f932d975 Author: Philip Van Hoof <philip@codeminded.be> Date: Tue Aug 4 16:35:55 2009 +0200 Changed the logic about journal playing and meta-backup.db picking commit fab94fb68cc9b044ac84641ab4f80fba387233fd Author: Philip Van Hoof <philip@codeminded.be> Date: Tue Aug 4 14:11:21 2009 +0200 Comment with a warning about the journal in a rare case commit 94ae1fbfa25b6c2faa1e073ec171c5f5bc6cb3d6 Author: Philip Van Hoof <philip@codeminded.be> Date: Mon Aug 3 18:28:36 2009 +0200 Restoring the db using a backup on corruption commit 47e8885909a6b89559788a1f789d2902eedadfb2 Author: Philip Van Hoof <philip@codeminded.be> Date: Fri Jul 31 17:45:19 2009 +0200 Setting sync=off as the journal is being made now commit f697a726b69df2e91b5c5daeb31e9252fa2a3ba2 Author: Philip Van Hoof <philip@codeminded.be> Date: Fri Jul 31 17:43:28 2009 +0200 Added missing files commit 9bcfa4e19b7042c7c315eecb9fb7d7939050bf36 Author: Philip Van Hoof <philip@codeminded.be> Date: Fri Jul 31 17:41:43 2009 +0200 Experiment for journal synchronization mode 2009-08-25 Martyn Russell <martyn@lanedo.com> Rename Miner.FS to Miner.Files so tracker-status finds it Add miners list and start them one after each other not same time Don't use been_started AND process_dir_id and emit finished signal Make sure we call constructed for the parent class first. This is why the FS miner wasn't appearing on dbus Added additional checks from original code for checking file/dirs Use defined attributes for g_file_query_info() instead of strings Use G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN instead of string 2009-08-25 Carlos Garnacho <carlos@lanedo.com> TrackerCrawler: invert meaning of process-file/dir return value once again. Now a custom accumulator is used with inverted logic to g_signal_accumulator_true_handled, TRUE means keeps processing, and FALSE ignore. 2009-08-25 Jürg Billeter <j@bitron.ch> SPARQL: Fix blank nodes in updates 2009-08-25 Martyn Russell <martyn@lanedo.com> Added GetIsPaused miner API and -k to get key used in tracker-status Added Applications miner service file Added miner status and progress to tracker-status 2009-08-25 Jürg Billeter <j@bitron.ch> libtracker-data: Check type only when updating existing resources 2009-08-25 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFiles: Ignore hidden files and directories. TrackerCrawler: Use an accumulator for process-[directory|file]. The meaning of the boolean return value in these signals is now inverted. Returning TRUE will also stop further processing, so the default implementations for these signals won't be able to clobber the result of any added handlers. 2009-08-25 Jürg Billeter <j@bitron.ch> tracker-fts: Flush pending terms after updates 2009-08-24 Jürg Billeter <j@bitron.ch> tracker-fts: Circumvent SQL layer when updating FTS index Improves FTS update performance by factor 3. tracker-fts: Header file cleanup 2009-08-24 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFiles: Set nie:dataSource to all files. 2009-08-24 Ivan Frade <ivan.frade@nokia.com> Added signals to nco:ImAccount class 2009-08-24 Jürg Billeter <j@bitron.ch> Remove #~| comment lines from .po files Breaks build in some environments. 2009-08-22 Mario Blättermann <mariobl@gnome.org> Updated German translation 2009-08-22 Fran Dieguez <fran.dieguez@glug.es> Updated Galician Translation 2009-08-21 Jürg Billeter <j@bitron.ch> Fix make distcheck Use convenience libraries for libtracker-data dependencies There is no need to build and install separate .so files for libstemmer, libtracker-fts, and libtracker-db, convert them to convenience libraries. libtracker-data: Simplify tests now that FTS is not loaded at runtime Link to tracker-fts instead of loading it at runtime 2009-08-21 Martyn Russell <martyn@lanedo.com> Implemented Pause and Resume in tracker-status for miners Don't exit when listing miners 2009-08-21 Carlos Garnacho <carlos@lanedo.com> TrackerMinerFiles: Handle removable devices. TrackerMinerProcess: Refactor directories handling. There's no separation between regular directories and removable devices anymore. The processing is now taken care by an async idle so no recursion problems are possible. 2009-08-21 Martyn Russell <martyn@lanedo.com> Added tracker-status command line options to list running/available miners Add tracker-miner-discover to find DBus miner services This also makes use of tracker-crawler to find .service files in the DBus services directory, the debugging from tracker-crawler was unavoidable so the g_debug and g_message statements have been moved to tracker-miner-process instead so it can decide if it wants to print found/ignored things. Also the tracker-crawler finished signal now includes WAS_INTERRUPTED boolean so we know if it was stopped prematurely. Add missing GetDescription method to DBus xml file 2009-08-20 Daniel Nylander <po@danielnylander.se> Updated Swedish translation Updated Swedish translation 2009-08-20 Carlos Garnacho <carlos@lanedo.com> TrackerMinerProcess: Handle moved files. This has required a small refactor on how moved items are handled. 2009-08-20 Ivan Frade <ivan.frade@nokia.com> Update stress test to new tracker dbus names 2009-08-20 Jürg Billeter <j@bitron.ch> Remove remaining traces of raptor 2009-08-19 Carlos Garnacho <carlos@lanedo.com> Add TrackerMinerFiles to tracker-miner-fs. TrackerMinerApplications: Fix compile warning. 2009-08-19 Jürg Billeter <j@bitron.ch> SPARQL: Fix handling of date time results 2009-08-19 Martyn Russell <martyn@imendio.com> Add some more debug information Add initial pause mechanics Use similar mechanism to gnome-screen-saver with multiple apps able to pause a miner for different reasons. 2009-08-19 Jürg Billeter <j@bitron.ch> Add SCAL ontology to Makefile.am 2009-08-19 Ivan Frade <ivan.frade@nokia.com> Check a property is defined before. No more typos in the ontology! 2009-08-19 Philip Van Hoof <philip@codeminded.be> Added one more Turtle unit test 2009-08-19 Jürg Billeter <j@bitron.ch> libtracker-data: Fix error handling in tracker_data_delete_statement Fixes NB#131853. 2009-08-19 Martyn Russell <martyn@imendio.com> Added default handlers for miner and crawler This avoids us ignoring all files if we have no callbacks set up Fixed finished signal causing app to exit 2009-08-19 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Fix typo in maemo:SoftwareApplet 2009-08-19 Carlos Garnacho <carlos@lanedo.com> TrackerMinerApplications: Remove private data, it's unused. 2009-08-19 Jürg Billeter <j@bitron.ch> SCAL: Fix typos 2009-08-19 Carlos Garnacho <carlos@lanedo.com> TrackerMonitor: Fix compile warning. Force a commit after each update. We definitely need a better policy for committing data, this is going to slow down things. 2009-08-19 Jürg Billeter <j@bitron.ch> Merge branch 'parser' 2009-08-19 Carlos Garnacho <carlos@lanedo.com> TrackerMinerProcess: Handle delete events from TrackerMonitor. 2009-08-19 Ivan Frade <ivan.frade@nokia.com> New Simplified Calendar ontology Simplified version to improve performance on calendar apps. If it works fine, it will replace NCAL. At the moment both ontologies are available. 2009-08-19 Martyn Russell <martyn@imendio.com> Fixed build warning and removed useless --process-all cmd switch Improved DBus API Added miner_stopped() API and miner defines for dbus path/name prefixes 2009-08-19 Philip Van Hoof <philip@codeminded.be> Added unit-test for Turtle parser 2009-08-19 Jürg Billeter <j@bitron.ch> Turtle: Report current location in errors SPARQL: Report current location in errors 2009-08-19 Carlos Garnacho <carlos@lanedo.com> TrackerMonitor: create INotify handles lazily if the monitor is disabled. TrackerMonitor: remove unneeded code. the monitors hashtable is created during init(), so it's always going to be initialized. 2009-08-19 Jürg Billeter <j@bitron.ch> SPARQL: Report error when using undefined prefix Turtle: Report error when using undefined prefix 2009-08-19 Martyn Russell <martyn@imendio.com> Removed libtracker-module Disable old tracker-miner-fs and remove tracker-miner.[ch] Fix link error 2009-08-19 Jürg Billeter <j@bitron.ch> SPARQL: Improve error handling Turtle: Improve error handling 2009-08-19 Carlos Garnacho <carlos@lanedo.com> Move mtime check after check-file/directory signals emission. 2009-08-19 Philip Van Hoof <philip@codeminded.be> Added restore-from-turtle backup support 2009-08-18 Carlos Garnacho <carlos@lanedo.com> Add initial version of tracker-miner-fs using libtracker-miner. The binary is compiled ATM in src/tracker-miner-fs/tracker-miner-fs-new, and just contains the applications miner, more code will be moved over later. TrackerMinerProcess: also check mtimes before processing a file. TrackerMiner: Add tracker_miner_get_client(). This function returns the TrackerClient used to send metadata to tracker-store. 2009-08-18 Jürg Billeter <j@bitron.ch> Replace raptor by hand-written Turtle parser 2009-08-18 Carlos Garnacho <carlos@lanedo.com> TrackerMinerProcess: Push collected data to tracker-store. TrackerMinerProcess: Improve prototype for process_file(). TrackerMiner: add tracker_miner_execute_sparql(). it will take one (or several) sparql queries. so implementations should use this to pass data to tracker-store. 2009-08-18 Philip Van Hoof <philip@codeminded.be> Trivial fix that apparently went wrong during merge 2009-08-18 Ivan Frade <ivan.frade@nokia.com> Check class redefinitions in ontology validator Check if a new class or property has been defined before. Notify changes in Contact and PersonContact Enable change notification for nco:Contact and nco:PersonContact 2009-08-18 Philip Van Hoof <philip@codeminded.be> Versioning the DBus API This patch changes Tracker. into Tracker1. , Tracker/ into Tracker1/ and the Tracker ending of the DBus service name into Tracker1 in all DBus API It follows the guidlines outlined by Lennart here: http://0pointer.de/blog/projects/versioning-dbus.html Various improvements on allowing checking for error message Allow checking for error message too 2009-08-18 Martyn Russell <martyn@imendio.com> Removed tracker-dbus from libtracker-miner The code has been added internally to tracker-miner.c 2009-08-18 Philip Van Hoof <philip@codeminded.be> Added infrastructure for testing SPARQL parser errors SPARQL: Handle some more errors Ontology fixes in MP3 exractor 2009-08-18 Jürg Billeter <j@bitron.ch> libtracker-data: Fix regex/regex-data-01.ttl libtracker-data: Fix algebra/var-scope-join-1 test SPARQL: Fix blank node parsing SPARQL: Support semicolon before dot SPARQL: Parse typed literals SPARQL: Fix number parsing 2009-08-17 Jürg Billeter <j@bitron.ch> mfo: Fix typo SPARQL: Fix parsing of prefixed names followed by a dot 2009-08-17 Martyn Russell <martyn@imendio.com> Cleaned up miner dbus code, removed unused commented out sections Added status and progress to tracker-miner object Removed data/modules/ no longer needed Removed miner-fs legacy config and added module config defaults Removed unused code now re-implemented Removed tracker-{processor|crawler|monitor} from binary Removed tracker-module-config.[ch] Added module config options to normal config Rename config _enable_watches() to _enable_monitors() Also remove functions in header which no longer exist 2009-08-17 Ivan Frade <ivan.frade@nokia.com> Updated NMM ontology Added property to link a video with a subtitle file. Updated few property descriptiong. Add new ontology in Makefile.am The new ontology file was missing in Makefile.am. 2009-08-15 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-08-14 Jürg Billeter <j@bitron.ch> Merge branch 'master' into parser SPARQL: Add support for GROUP_CONCAT 2009-08-14 Gabor Kelemen <kelemeng@gnome.hu> Hungarian translation updated 2009-08-14 Jürg Billeter <j@bitron.ch> libtracker-data: Add optional/q-opt-complex-1 test SPARQL: Fix UNION graph patterns with different variable sets SPARQL: Fix parentheses for BOUND call SPARQL: Fix SQL variable scoping in group graph patterns Fix make distcheck 2009-08-14 Philip Van Hoof <philip@codeminded.be> Various compiler warning fixes Various compiler warning fixes Don't store last modseq, use max(tracker:modified) instead Also changed the ontology to use xsd:integer instead of xsd:datetime. This change requires running tracker-processes -r to restart the ontology initialization. Changed tracker:modified into a modification sequence instead of time() 2009-08-14 Jürg Billeter <j@bitron.ch> libtracker-data: Add algebra/var-scope-join-1 test libtracker-data: Add algebra/filter-scope-1 test libtracker-data: Add algebra/filter-nested-2 test libtracker-data: Add algebra/filter-placement-3 test libtracker-data: Add algebra/filter-placement-2 test libtracker-data: Add algebra/filter-placement-1 test libtracker-data: Add algebra/opt-filter-3 test libtracker-data: Add algebra/two-nested-opt-alt test libtracker-data: Add algebra/two-nested-opt test 2009-08-13 Jürg Billeter <j@bitron.ch> SPARQL: Fix group graph pattern handling 2009-08-13 Philip Van Hoof <philip@codeminded.be> Small performance improvement SPARQL: limited ISBLANK support SPARQL: Fix for isiri(<foo>) 2009-08-12 Philip Van Hoof <philip@codeminded.be> SPARQL: support for ISIRI()/ISURI() (isiri(<foo>) still needs fixing) 2009-08-12 Jürg Billeter <j@bitron.ch> SPARQL: Cleanup code SPARQL: Add type information for variables SPARQL: Cleanup SPARQL: Fix lexing COUNT SPARQL: Support arbitrary expressions in STR SPARQL: Add type information for conditional expressions SPARQL: Fix type information for prefixed names SPARQL: Add type information for relative expressions SPARQL: Add type information for additive expressions SPARQL: Add type information for multiplicative expressions 2009-08-12 Philip Van Hoof <philip@codeminded.be> SPARQL: support for PN_PREFIX and COLON 2009-08-12 Jürg Billeter <j@bitron.ch> SPARQL: Fix aggregate functions SPARQL: Fix propagation of lexer errors SPARQL: Add type information for unary expressions SPARQL: Support unary minus SPARQL: Start collecting type information for expressions 2009-08-12 Philip Van Hoof <philip@codeminded.be> SPARQL: limited support for DATATYPE Indentation fix Fixed SPARQL STR supported SPARQL: support for STR 2009-08-12 Jürg Billeter <j@bitron.ch> SPARQL: Add support for GROUP_CONCAT SPARQL: Simplify SQL for GROUP BY 2009-08-11 Philip Van Hoof <philip@codeminded.be> Handling passing a non-existing variable in a sparql query 2009-08-11 Jürg Billeter <j@bitron.ch> SPARQL: Support aggregate functions and more cleanup SPARQL: Code cleanup SPARQL: Code cleanup SPARQL: Code cleanup SPARQL: Code cleanup SPARQL: Code cleanup SPARQL: Fix variable predicates 2009-08-11 Philip Van Hoof <philip@codeminded.be> Code cleanup Avoid duplicate entries for SubjectsUpdated, performance 2009-08-10 Jürg Billeter <j@bitron.ch> SPARQL: Fix ORDER BY and GROUP BY SPARQL: Fix variables in filters 2009-08-10 Philip Van Hoof <philip@codeminded.be> Replaced a GPtrArray with a GHashTable, constant lookup speed Disabled duplicate check for SubjectsChanged, slows down too much SPARQL: Support for UNION 2009-08-10 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Use g_debug for frequent album art messages 2009-08-10 Philip Van Hoof <philip@codeminded.be> Avoid duplicate items in SubjectsChanged 2009-08-10 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Use g_debug for frequent album art messages SPARQL: Fix IRI literals in updates 2009-08-10 Philip Van Hoof <philip@codeminded.be> Bugfix, swapped object and predicate in delete 2009-08-10 Jürg Billeter <j@bitron.ch> SPARQL: Support DROP GRAPH 2009-08-10 Philip Van Hoof <philip@codeminded.be> Added predicates to the SubjectsChanged signal 2009-08-10 Jürg Billeter <j@bitron.ch> SPARQL: Various fixes for literals SPARQL: Fix build without rasqal SPARQL: Improve group graph pattern handling configure.ac: Remove unnecessary checks for flex and bison SPARQL: Support && and || SPARQL: Fix string literals in triples SPARQL: Fix SELECT * SPARQL: Split ASK query out SPARQL: Add SPARQL Update support 2009-08-10 Philip Van Hoof <philip@codeminded.be> Implementation for SPARQL GROUP BY 2009-08-10 Jürg Billeter <j@bitron.ch> Sparql: Fix parsing `a' 2009-08-10 Philip Van Hoof <philip@codeminded.be> Putting ASK support back in place 2009-08-10 Jürg Billeter <j@bitron.ch> Remove rasqal SPARQL: Use hand-written parser SPARQL: Use parameters in SQL for LIMIT and OFFSET Directly embedding integers in SQL statement enlargens statement cache unnecessarily. SPARQL: Always use parameter in SQL for resource IDs Directly embedding integer in SQL statement enlargens statement cache unnecessarily. Issue found by Tuukka Hastrup. 2009-08-07 Ivan Frade <ivan.frade@nokia.com> Updated transfers ontology Added new status instances. Added property to cache the global status of a transfer pack. Calculate it from the individual transfers was too expensive. Updated details in feeds ontology New Feeds ontology Replaced the old too-simple FeedChannel/FeedMessage class with a more detailed description. Still unstable. 2009-08-06 Philip Van Hoof <philip@codeminded.be> Ported bufferoverflow fix from tracker-0.6 branch Glibbification of INT_MAX 2009-08-05 Martyn Russell <martyn@imendio.com> Fixed Makefile.am, added test/Makefile.am and removed processor.c 2009-08-04 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-08-04 Martyn Russell <martyn@imendio.com> Moved libtracker-miner test to separate directory test/ Renamed tracker-processor to tracker-miner-process Include file clean ups and removed unused files Fix processor so we add newly created directories to the crawl list Fixed a bunch of crashers and monitor issues from the clean up More clean ups to libtracker-miner Removed tracker-utils.[ch] Clean ups to code in tracker-crawler.[ch] and tracker-monitor.[ch] removed unused stuff Added directory for loop machinery to tracker-processor.c Added more useful test cases to tracker-miner-test removed tracker-config and tracker-status Connect all signals up and make test case work 2009-08-04 Jürg Billeter <j@bitron.ch> SPARQL: Report error when selecting undefined variables in updates libtracker-data: Check tracker_data_delete_statement arguments 2009-08-04 Martyn Russell <martyn@imendio.com> tracker-miner clean ups 2009-08-04 Jürg Billeter <j@bitron.ch> Do not use g_assert_no_error to not require GLib 2.20 2009-08-03 Martyn Russell <martyn@imendio.com> Fix processor/crawler so they can include/exclude files/directories Make the crawler work again using one directory argument and a recurse boolean Started removing TrackerConfig Removed module_name from everywhere 2009-08-03 Jürg Billeter <j@bitron.ch> Update POTFILES.in 2009-08-03 Philip Van Hoof <philip@codeminded.be> Handle an invalid datatype filter Added support for SPARQL datatype() 2009-07-31 Martyn Russell <martyn@imendio.com> tracker-miner-fs: removed "disabled-modules" config option 2009-07-31 Carlos Garnacho <carlos@lanedo.com> Implement file queueing from TrackerProcessor. TrackerProcessor::check-file is not implemented yet. Add vmethods for checking/processing a file. * "check-file" will tell TrakerMinerCrawler whether some file should be processed. * "process-file" will do the processing. Add API for specifying which files/dirs should TrackerMinerCrawler process. At the moment there are some empty stubs, depending on the changes to TrackerProcessor. 2009-07-31 Philip Van Hoof <philip@codeminded.be> Added support for SPARQL ASK 2009-07-31 Martyn Russell <martyn@imendio.com> Fix build issues 2009-07-31 Philip Van Hoof <philip@codeminded.be> Indentation fix Throwing an error when an unsupported operation is requested Implementation for SPARQL isIRI() Make isBlank() not fail 2009-07-30 Ivan Frade <ivan.frade@nokia.com> Added gtk-sparql python program Very first version of a gtk ui to run sparql queries in tracker. Basically a UI version of tracker-sparql that allows to save queries. 2009-07-30 Martyn Russell <martyn@imendio.com> More make distcheck fixes Make sure we use the correct path for the tracker_data_manager_init() call as well as the other functions in the libtracker-data ontology and sparql tests. More make distcheck fixes Added tests/libtracker-data/ data which was not included in distributions, subdirectories algebra, bnode-coreference, bound, expr-ops, nie, nmo, regex and sort. Added new environment variables to get test cases to work, these include TRACKER_DB_MODULES_DIR for the tracker-fts.so module, TRACKER_DB_SQL_DIR for the *.sql files we load in libtracker-db and TRACKER_DB_ONTOLOGIES_DIR for the *.ontology files we load in libtracker-data. Updated tracker-store documentation with new environment variables we now use for testing purposes. 2009-07-30 Philip Van Hoof <philip@codeminded.be> Added a case that rasqal does itself, for clarity Initial implementation for SPARQL str() 2009-07-30 Carlos Garnacho <carlos@lanedo.com> Raw port of handy code from tracker-miner-fs that will be needed for TrackerMinerCrawler. Things are broken, and dependency on config, modules config, and possibly status, should be removed all along the code. 2009-07-30 Philip Van Hoof <philip@codeminded.be> An implementation for SPARQL sameTerm() 2009-07-30 Carlos Garnacho <carlos@lanedo.com> Add TrackerMinerCrawler boilerplate, make TrackerMinerTest inherit from it. Add TrackerMiner abstract class, plus TrackerMinerTest impl+app. * tracker-dbus.[ch]: Implements DBus initialization, all this is private to TrackerMiner. * tracker-miner.[ch]: Base class for miners. * tracker-miner-dbus.h: Private header for DBus method declarations. * tracker-miner-test.[ch], tracker-main.c: Test app. 2009-07-29 Mario Blättermann <mariobl@gnome.org> Updated German translation 2009-07-29 Philip Van Hoof <philip@codeminded.be> Fixed a few critical warnings 2009-07-29 Carlos Garnacho <carlos@lanedo.com> Use g_getenv() instead. 2009-07-29 Philip Van Hoof <philip@codeminded.be> Added tracker:available to two more nie:DataObjects 2009-07-29 Carlos Garnacho <carlos@lanedo.com> Make TrackerDBInterfaceSqlite listen to the TRACKER_DB_MODULES_DIR ennvar. This is used to load the tracker-fts.so module from non-common paths. Code cleanup so we can remove a condition. 2009-07-29 Philip Van Hoof <philip@codeminded.be> Added tracker:available to the other nie:DataObjects 2009-07-29 Martyn Russell <martyn@imendio.com> tracker-miner-fs: fixed crash trying to do volume cleanup on startup 2009-07-29 Philip Van Hoof <philip@codeminded.be> Added the volume for the root-fs 2009-07-29 Martyn Russell <martyn@imendio.com> tracker-miner-fs: fixed thumbnailer warnings Moved thumbnailer.[ch] and volume-cleanup.[ch] to tracker-miner-fs Also while doing this, some make distcheck issues were fixed. We no longer require tracker-marshal-main.c to include tracker-marshal.[ch], this is done automatically now. tests/tracker-store/ was created and the tracker-events-test.c was moved here from tests/tracker-miner-fs. This is still broken for some reason so disabled for now. 2009-07-29 Carlos Garnacho <carlos@lanedo.com> Fix parameters order in g_debug() call. Do volumes initialization in a more efficient manner. Now tracker-miner-fs gets a list of mounted volumes, according to both HAL and tracker-store, then does the diff and just updates state of changed volumes. 2009-07-29 Jürg Billeter <j@bitron.ch> libtracker-common: Fix TRACKER_DC_PREFIX definition SPARQL: Ensure that transactions are not left open on errors 2009-07-29 Philip Van Hoof <philip@codeminded.be> Set timeout for tracker-sparql tool 2009-07-28 Carlos Garnacho <carlos@lanedo.com> Enable/disable files availability when volumes are mounted/unmounted. There are lots of dead code to remove with this commit. This also takes into account volumes initialization during tracker-miner-fs startup. 2009-07-28 Philip Van Hoof <philip@codeminded.be> Removing the fulltext values from the FTS store 2009-07-28 Martyn Russell <martyn@imendio.com> tracker-extract: don't try to insert NULL genres in gstreamer module tracker-miner-fs: move albumart extraction to tracker-extract Now we do the processing in tracker-extract and only request the thumbnail for the albumart to be queued from tracker-miner-fs. This saves us sending potentially large album art over dbus Don't print invalid UTF-8 warnings in tracker-statement-list This is of no use. Some things WILL be invalid anyway and printing them doesn't help, all it does is raise concerns. Disabled setrlimit for now, it is causing problems with gstreamer Enable unit tests by default so they are included in make distcheck 2009-07-28 Jürg Billeter <j@bitron.ch> tracker-fts: Fix use of invalid SQL inside DELETE implementation libtracker-data: Fix deleting rows from class table libtracker-common: Fix thumbnailer test 2009-07-27 Martyn Russell <martyn@imendio.com> Fixed make distcheck failures tracker-miner-fs: allow overriding initial-sleep from command line tracker-miner-fs: Make sure the thumbnail queue is actually sent tracker-miner-fs: re-add config check for enabling thumbnailing tracker-extract: don't init thumbnailer, no longer used here libtracker-common: make thumbnailer queue messages debug messages Except for important ones like sending the queue and initialising tracker-miner-fs: fix crash receving album art raw data libtracker-common: fixed weird indentation in keyfile-object Add \n after interrupt signals tracker-miner-fs: albumart messaging clean up tracker-miner-fs: moved in tracker-albumart code from libtracker-common All the code in libtracker-common/tracker-albumart.[ch] which was used from multiple places is only used in miner-fs now so I moved the functions into the tracker-miner-fs/tracker-albumart.[ch] and removed the libtracker-common module. tracker-extract: push all albumart code to tracker-miner-fs Now we signal data that is used to be processed for albumart. This is all handled in the miner-fs now, so the extractors simply say, here is my data and length of data (and some other details like artist), now process it. The miner-fs then uses the code previously tracker-extract-albumart.c to either download the art, use GdkPixbuf or save the data directly to the right filename. The thumbnails are then requested staight after. tracker-extract: renamed tracker-extract-albumart to tracker-albumart This was not an extractor in the first place, just a helper module tracker-extract: Sanitise the albumart code with an init/shutdown function Also added an initial dbus signal for tracker-extract to be able to tell the tracker-miner-fs about new files that need thumbnailing. Renamed config modules to reflect real roles tracker-config-manager is now tracker-config-file tracker-config-utils is now tracker-keyfile-object 2009-07-27 Philip Van Hoof <philip@codeminded.be> Fixed streamanalyzer integration Ported enca encoding detection from 0.6 to master 2009-07-27 John Millikin <jmillikin@gmail.com> Use giosrc instead of filesrc in GStreamer extractor 2009-07-24 Jürg Billeter <j@bitron.ch> tracker-miner-fs: Do not try to access database directly Use SPARQL via D-Bus instead, fixes crash. libtracker-common: Fix build on maemo 2009-07-23 Jürg Billeter <j@bitron.ch> SPARQL: Use SQL UNION ALL instead of just UNION UNION without ALL implies DISTINCT, which can lead to bad performance. 2009-07-23 Benjamin Otte <otte@gnome.org> Improve performance for SparqlBuilder.object_string Don't check characters one-by-one but instead use strcspn to find the next character to escape. This improves performance for this function significantly. 2009-07-22 Jürg Billeter <j@bitron.ch> libtracker-data: Fix tests to work with new TrackerFTSConfig 2009-07-21 Philip Van Hoof <philip@codeminded.be> Fixed a crash when doing CTRL+C where items were still on the queue 2009-07-21 Jürg Billeter <j@bitron.ch> libtracker-data: Fix tracker_data_manager_shutdown libtracker-common: Reenable thumbnailer 2009-07-21 Philip Van Hoof <philip@codeminded.be> Changed cardinality of relationships and hasPart 2009-07-20 Jürg Billeter <j@bitron.ch> libtracker-data: Fix tracker_turtle_reader_object_is_uri Anonymous nodes are resources as well. 2009-07-20 Philip Van Hoof <philip@codeminded.be> Nepomuk NMO changes 2009-07-20 Martyn Russell <martyn@imendio.com> Fixed make distcheck failures tracker-fts: added config module Removed the FTS config options from tracker-store too Moved config functions and modules around Now we have tracker-config-manager which is used to do all file based operations for the config file. We also have tracker-config-utils which does all the GKeyFile<-->GObject work for us. Perhaps these should be renamed at some point to: tracker-config-file tracker-object-keyfile To be more aligned to what they actually do. 2009-07-19 Philip Van Hoof <philip@codeminded.be> Difference found in logic after post-reviewing 2009-07-19 Mario Blättermann <mariobl@gnome.org> Updated German translation 2009-07-18 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-07-17 Philip Van Hoof <philip@codeminded.be> Compilation warning fixes Bugfix column ID in fts should be rowid instead Bugfix error reporting unknown predicates in ttl files UTF-8 validation for Turtle files Input validation for data coming from extractors 2009-07-17 Jürg Billeter <j@bitron.ch> libtracker-db: Remove unused TrackerDBContentType 2009-07-16 Philip Van Hoof <philip@codeminded.be> Never send non-utf8 over DBus, never ever! 2009-07-16 Jürg Billeter <j@bitron.ch> Fix compile warnings rasqal: Fix compile warning 2009-07-16 Martyn Russell <martyn@imendio.com> tracker-fts: Fixed broken build with missing tracker-config include libtracker-common: Removed tracker-config.[ch] This also changes the way tracker-language.[ch] works. tracker-store: Fix tracker-config include tracker-store: Removed local config options which were not applicable libtracker-common: Build log filename automatically from binary name tracker-miner-fs: Removed local config options which were not applicable Moved tracker-config to tracker-global-config, 1st phase This change involves creating a tracker-config in the miner-fs based on the original config module. It will be cut down for miner only config. The global config will have options which don't belong to any specific binary OR apply to all binaries (like verbosity). tracker-store: Removed a bunch of code which applies to the miner-fs 2009-07-16 Jürg Billeter <j@bitron.ch> libtracker-data: Fix deleting rows from FTS tracker-fts: Disable debug code Noticed by Benjamin Otte. 2009-07-16 Philip Van Hoof <philip@codeminded.be> Passing errors for Turtle import to DBus caller 2009-07-15 Philip Van Hoof <philip@codeminded.be> Error reporting for Turtle importer 2009-07-15 Jürg Billeter <j@bitron.ch> libtracker-data: Add error handling infrastructure for inserts 2009-07-15 Philip Van Hoof <philip@codeminded.be> We must return a opened sparqlbuilder instance Fixed the .desktop scanner's SPARQL queries 2009-07-15 Jürg Billeter <j@bitron.ch> libtracker-data: Fix blank node handling libtracker-data: Use critical when blank node was not found Should not happen anymore now that tracker_data_insert_statement has been split into two functions. libtracker-data: Add some checks to insert_statement_* 2009-07-15 Philip Van Hoof <philip@codeminded.be> Split tracker_data_insert_statement Split tracker_data_insert_statement into insert_statement_with_uri and insert_statement_with_string. This fixes string objects that have a ':' character upfront (for example strings that start with a smiley). 2009-07-15 Benjamin Otte <otte@gnome.org> FTS: Initialize glib in module init function With these changes, it is possible to use the tracker-fts module in the sqlite3 command-line tool. 2009-07-14 Benjamin Otte <otte@gnome.org> Make tracker_module_file_get_metadata() out arg more robust - Set the mime_type out argument to NULL in any case. - Always provide a valid mime_type pointer to called vfuncs. rasqal: Include all valid string escape sequences Updated according to spec, paragraph "A.7 Escape sequences in strings" 2009-07-14 Jürg Billeter <j@bitron.ch> NMM: Fix nmm:WhiteBalance Update .gitignore NCAL: Remove cardinality restrictions on ncal:by* Fixes NB#120524. 2009-07-14 Philip Van Hoof <philip@codeminded.be> Timeouts for DBusGProxy connections to Tracker 2009-07-13 Ivan Frade <ivan.frade@gmail.com> Add util to generate real webhistory Added program that reads epiphany web browsing history and print it in turtle format. Check totem-pl-parser before compile util Check if we have totem-pl-parser libs before compiling the tool to translate playlist into turtle format. 2009-07-13 Ivan Frade <ivan.frade@nokia.com> Fixes #125067. nmm:Photo's prop do not have cardinality Added maxCardinality to photo properties 2009-07-13 Philip Van Hoof <philip@codeminded.be> Bugfix forgotton sparql_builder_close in applications.c Using nie:isStoredAs property Documentation fix, problem found by Benjamin Otte 2009-07-13 Jürg Billeter <j@bitron.ch> libtracker: Remove unused variable 2009-07-13 Ivan Frade <ivan.frade@nokia.com> Playlist to TTL translation tool Small program to translate a playlist into turtle format. 2009-07-13 Jürg Billeter <j@bitron.ch> libtracker-common: Always generate UTC time strings libtracker-common: Improve ISO 8601 time parsing Properly support local time and accept milliseconds, fixes NB#125763. NMO: Fix order Do not require libgee Update .gitignore 2009-07-10 Jürg Billeter <j@bitron.ch> NMO: nmo:MimePartContainer should be nie:DataObject 2009-07-10 Martyn Russell <martyn@imendio.com> manpages: include actual link for Nepomuk references libtracker-common: Removed a bunch of config options unused These include: - bucket-count - no-index-file-types - fast-merges The no index file types option will be replaced with the merge of module config and the current config at some point. tracker-miner-fs: Removed TrackerLanguage creation, it was unused tracker-miner-fs: Removed config dump options which don't apply tracker-store: Removed config dump options which don't apply libtracker-common: removed NFS locking config options Removed NFS lock code since This was mostly unused and turned off in the config by default anyway. With the new architecture changes, this shouldn't be necessary. Simplify resource resource registration and fix a memory leak 2009-07-10 Philip Van Hoof <philip@codeminded.be> Reenable default plugins, as agreed at teamlevel 2009-07-08 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-07-08 Martyn Russell <martyn@imendio.com> Fix make distcheck Improve tracker-{info|import|stats} according to man pages Updated man pages and added one for tracker-info 2009-07-08 Daniel Nylander <po@danielnylander.se> Updated Swedish translation 2009-07-07 Rob Taylor <rob.taylor@codethink.co.uk> Comment out debug messages in tracker-explorer 2009-07-07 Jorge González <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-07-06 Rob Taylor <rob.taylor@codethink.co.uk> Disable evo plugin by default so people can install to /usr/local with no configure options. Use $datadir/dbus-services as the services dir to aid installation in /usr/local Some autofoo fixes for tracker-explorer. Add configure option for tracker-explorer. Clean up uri handling in treeviews Make the first column in every listmodel the unmodified url that should be navigated to on select. Hook up forward and back buttons to history Also clean up when the notebook panes get updated. Add class for storing uri history. Fix removal of notebook pages on uri change. Sort out slection of new uri. Showing reverse relationships by type now more-or-less working. make some inroads into displaying reverse relationships by class. Also introduces forwards and back buttons, though these infrastructure for history still needs to be written. Comment out verrry slow precendents pane code for now. Fix in-tree patch for gtkbuilder file for tracker-explorer. Add pane with objects that have a realtionship with the selected object. Fix up the explorer gtkbuilder file for older gtk (2.12 or better) Prettify relationships uris. Fetch prefixes for known namespaces from tracker and subsitute namespaces with prefixes when displaying the relationships. Add relationships pane Switch to useing GtkBuilder for ui layout. Use currently selected object in the search to query for the reltionships of that object, display in a treeview below the search treeview Clean up a bit, remove some debug statments for speed. Initial version of tracker-explorer tracker-explorer has the aim of becoming a tool to navigate your data, using as-you-type searching. This is a very basic initial version that dynamically fills a list of results with RDF objects as you type. 2009-07-06 Martyn Russell <martyn@imendio.com> tracker-store: Removed org.freedesktop.Tracker.Search DBus interface Also cleaned up tracker-search --help Fixed make distcheck failures tracker-store: Changed tracker-daemon to tracker-statistics This also deprecates a lot of the useless daemon DBus API which was unused or completely pointless. tracker-store: Removed a bunch of unused or not working DBus APIs 2009-07-06 Rob Taylor <rob.taylor@codethink.co.uk> Make libinotify non-optional 2009-07-05 Martyn Russell <martyn@imendio.com> Added tracker-sparql man page tracker-miner-fs: Fix memory leak when getting mime type for ALL items 2009-07-04 Martyn Russell <martyn@imendio.com> tracker-store: Fix memory leak when registering dbus namespaces libtracker-db: Fixes memory leak in db statement creation Report errors for unsupported TrackerSearch DBus APIs tracker-store: remove unused tracker-utils.[ch] 2009-07-01 Philip Van Hoof <philip@codeminded.be> Added tracker:notify to nmm:MusicPiece Cleanup of the old backup code, saving isn't yet ported with this, restoring is 2009-06-30 Jorge Gonzalez <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-06-30 Javier Jardón <javierjc1982@gmail.com> Replace SexyIconEntry by GtkEntry icon functionality (Closes GnomeBug:582970) * src/tracker-search-tool/Makefile.am: remove unnecessary files * src/tracker-search-tool/tracker-search-tool-callbacks.c, * src/tracker-search-tool/sexy-icon-entry.h (search_entry_icon_press_cb), (search_entry_text_changed_cb) * src/tracker-search-tool/tracker-search-tool.c (gsearch_app_create) 2009-06-30 Jürg Billeter <j@bitron.ch> SPARQL: Report error on missing WHERE clause Merge branch 'master' into tracker-store libtracker-data: Delete resources from FTS table as well 2009-06-30 Martyn Russell <martyn@imendio.com> Added missing desktop file 2009-06-29 Martyn Russell <martyn@imendio.com> Fixed make distcheck breakages Added pausing back for the miner-fs for the applet 2009-06-29 Javier Jardón <javierjc1982@gmail.com> Migrate from libglade to GtkBuilder (solves GnomeBug:583521) * configure.ac: libglade dependency eliminated * po/POTFILES.in * src/tracker-applet/Makefile.am * src/tracker-applet/tracker-applet-prefs.glade: removed * src/tracker-applet/tracker-applet-prefs.ui: new file * src/tracker-applet/tracker-applet.c (create_prefs) * src/tracker-preferences/Makefile.am * src/tracker-preferences/tracker-preferences.c (tracker_preferences_init), (tracker_preferences_finalize), (model_append_to_list), (model_remove_selected_from_list), (cmd_apply), (cmd_add_index_path), (setup_page_general), (setup_page_performance), (setup_page_files), (setup_page_ignored_files), (setup_page_emails), (create_ui), * src/tracker-preferences/tracker-preferences.glade: removed * src/tracker-preferences/tracker-preferences.ui: new file 2009-06-29 Martyn Russell <martyn@imendio.com> Remove module-config init/shutdown, not needed in tracker-store Renamed DBus service files and desktop files for miner-fs Renamed tracker-indexer to tracker-miner-fs 2009-06-29 Jürg Billeter <j@bitron.ch> SPARQL: Fix queries with triples without variables 2009-06-29 Martyn Russell <martyn@imendio.com> Fixes core dump by double freeing a device in tracker-indexer processor Fixed missing public function declarations and fixed compiler warnings Fixed some really minor build warnings Fix GPtrArray being used instead of TrackerSparqlBuild compiler warning 2009-06-29 Philip Van Hoof <philip@codeminded.be> Added nfo:Audio to nmm:MusicPiece instances, compilation warning fixes 2009-06-29 Martyn Russell <martyn@imendio.com> Fixed evolution plugin 64bit compiler warnings & broken for loop Fixed evolution plugin 64bit compiler warnings & broken for loop Removed unused variable 2009-06-26 Jürg Billeter <j@bitron.ch> tracker-indexer: Remove redundant code from processor No need to keep status in indexer and processor now that they are in the same process. tracker-indexer: Send all items at once Now that processor and indexer are in the same process, it is not necessary anymore to rate limit items sent. tracker-indexer: Query fewer file attributes Small performance improvement. tracker-extract: Remove redundant file stats tracker-extract: Use TrackerSparqlBuilder tracker-extract: Do not scan populated statement list Preparation for switch to SPARQL Update. tracker-store: Improve stats performance 2009-06-25 Jürg Billeter <j@bitron.ch> tracker-indexer: Temporarily disable DB optimization This needs to be moved to tracker-store. tracker-indexer: Do not open DB connection tracker-store: Do not implicitly start indexer tracker-indexer: Remove obsolete RestoreBackup D-Bus method tracker-indexer: Remove obsolete volume handling D-Bus methods 2009-06-25 Philip Van Hoof <philip@codeminded.be> tracker-indexer: Do not shut down automatically 2009-06-25 Jürg Billeter <j@bitron.ch> tracker-indexer: Simplify item_add_or_update Avoid D-Bus call to improve performance libtracker-common: Disable throttle minimum tracker-indexer: Keep mime_type around to improve performance SPARQL: Fix typing error in code tracker-extract: Return metadata as SPARQL Update SPARQL: Fix typing error in code 2009-06-24 Philip Van Hoof <philip@codeminded.be> Compilation error if you don't have GdkPixbuf installed Compilation error if you don't have GdkPixbuf installed 2009-06-24 Jürg Billeter <j@bitron.ch> tracker-indexer: Replace ModuleMetadata by SparqlBuilder tracker-indexer: Avoid unnecessary string duplication tracker-indexer: Port remaining use of TrackerModuleMetadata tracker-indexer: Port evolution module to SparqlBuilder 2009-06-23 Philip Van Hoof <philip@codeminded.be> Some improvements for the push plugins 2009-06-23 Jürg Billeter <j@bitron.ch> tracker-indexer: Port applications module to SparqlBuilder tracker-indexer: Remove unused TrackerModuleMetadata methods tracker-indexer: Make SparqlBuilder in ModuleMetadata accessible tracker-indexer: Simplify TrackerModuleMetadata tracker-indexer: Simplify evolution_common_get_wrapper_metadata Avoids using tracker_module_metadata_foreach, which will be removed. 2009-06-23 Philip Van Hoof <philip@codeminded.be> Temporarily disabled stats cache updating Bugfix in sparql builder usage for Evolution push module 2009-06-23 Jürg Billeter <j@bitron.ch> tracker-indexer: Build SPARQL query continuously tracker-extract: Fix crash with 0-sized files Update .gitignore Fix invalid #ifdef Merge branch 'master' into tracker-store 2009-06-22 Carlos Garnacho <carlosg@gnome.org> Fix typo in logic. 2009-06-22 Martyn Russell <martyn@imendio.com> Fix iterating OVER every other device in the processor's list Fixed trackerd crasher when shutting down if started in readonly mode Check space before creating DBs && disable indexer API when paused The debugging is also a bit clearer when we are below the disk space threshold as set in the config. The frequency of these messages is slightly longer too so we don't fill the logs up so quickly. Ported to master by Philip Monitor cache time now 1s & processor queue time now 0s for < 50 items Now we only wait 1 second before sending files to the processor from the monitor module. The reason for this, is to be more responsive from monitor events. Now a DELETE event is handled within 1 to 2 seconds if the indexer is idle. The processor queue handler is set up using a 2 second timeout per 1000 files. Now when we have finished the initial check of all files, we use g_idle_add() instead to make sure the indexer deals with items much quicker. Rework the processors device and module logic so it is clearer This also cleans up some of the debugging so there is less of it. It is also now less likely we end up in recursive loops because of real time updates from removable devices being inserted and removed (the logic here is much simpler and comprehensible Ported to master by Philip 2009-06-22 Jürg Billeter <j@bitron.ch> Do not fail if DeviceKit-power is not available 2009-06-22 Richard Hughes <hughsient@gmail.com> Add DeviceKit-power backend Add DeviceKit-power backend and prefer it by default over HAL if it's available. 2009-06-22 Jürg Billeter <j@bitron.ch> NFO: Fix typo in ontology definition 2009-06-16 Philip Van Hoof <philip@codeminded.be> Performance improvement when registrar disappears Performance improvement when registrar disappears Apparently will camel_db_clone create a thread, avoiding Evolution plugin, using mail_msg_unordered_push instead Fixed various things about the plugin running in Evolution's process Slowing down the speed of the Evolution plugin pumping its data Apparently will camel_db_clone create a thread, avoiding Using nfo:PaginatedTextDocument for types that use nfo:pageCount Using nfo:PaginatedTextDocument instead of nfo:Document for PDF documents Evolution plugin, using mail_msg_unordered_push instead Fixed various things about the plugin running in Evolution's process 2009-06-15 Philip Van Hoof <philip@codeminded.be> Slowing down the speed of the Evolution plugin pumping its data 2009-06-15 Ivan Frade <ivan.frade@nokia.com> Precalculate duration and track count of playlists Added properties to MediaList to store the duration and track count of the playlists. Updated extractor to populate those data. 2009-06-15 Philip Van Hoof <philip@codeminded.be> Bugfix for Key=Value properties for Evolution push module E-mail items Added proper DBus debugging to the push modules Fixes a silly bug Improved the end_batch time for the push modules. The modseq was a rather bad indicator to commit the batch. Instead is the length of the SetMany() requests now used. Lower amount of items to send per DBus SetMany() call Arbitrary lowering priority of SetMany() items Don't do all the g_idle_add nonsense in the push modules These were causing a GSource source for each 2000 items being pushed using the DBus SetMany() call. Making it actually worse than better. I just removed them for now, we might have to replace it with an internal, but static global for the module, queue (not a queue per SetMany, like what is being removed here). 2009-06-14 Philip Van Hoof <philip@codeminded.be> Fixed push modules, bugfix closing the query Let tracker:transient use temporary tables in sqlite3 2009-06-13 Daniel Nylander <po@danielnylander.se> Updated sv translation (Daniel Nylander) 2009-06-12 Ivan Frade <ivan.frade@nokia.com> Remove cardinality restriction in nfo:hasMediaListFileEntry Use the right URI for the playlist entries Set the correct uri for the playlist entries. Add location ontology in the Makefile.am Added file for instalation and distribution New location ontology Very first draft (dont use cardinal points) 2009-06-12 Philip Van Hoof <philip@codeminded.be> Implemented playlist extractor for fresh Nepomuk-based ontology Fixed state machine so we return to previous state after PAUSED This bug was simulated by setting the LowDiskSpaceLimit in the config to 99 and then starting the daemon. Then setting it to 1 in real time should start sending files to the indexer, but instead it was returned to PENDING state which meant the queue handler returned and didn't do anything since it was expecting IDLE. IDLE was attempted but denied given pause conditions. Bug NB#118578 - Getting metadata with mafw_playlist_get_items_md fails. Make volumes initialization completely sync without running the main loop, so it doesn't process petitions before the DBus interfaces are properly set up. Fixes NB#100123, nie:contentCreated is empty for some of the images Fix not crawling inserted removable media Now we start the processor again when we get new removable media inserted, this bug mainly affects the condition when we have finished processing all files and the removable media state changes again. The statistics we report about files crawled and time taken is now reset and correct each time this occurs. The mount point added and removed callbacks from HAL were removed in TrackerProcessor and now two functions are called FROM tracker-main.c which do the same thing. The reason for this, is that we change state while setting volume states and we can't process removable media in some states. So to control this we do everything AFTER we have set the removable media states correctly. 2009-06-12 Martyn Russell <martyn@imendio.com> Fixes: NB#119230, tracker-extract: memory management shall be improved This is another stab at using setrlimit(). For now we set the memory limit to 80Mb as default and 512Mb for AMD. For some reason, anything less than ~450Mb doesn't even allow tracker-extract to dlopen the modules when we use GStreamer. Doing a quick test with tracker-stats before and after shows it is working on my AMD64 desktop and still indexing the same amount of content. 2009-06-12 Mikael Ottela <mikael.ottela@ixonos.com> Fixes NB#107116, Music:Duration displayed as -:- in library for some clips Fixed mpeg v2 bitrates. 2009-06-11 Ivan Frade <ivan.frade@nokia.com> Print filename it is processing on errors Playlist in the ontology Reusing the nfo:MediaList and MediaListFileEntry classes, and adding few properties 2009-06-10 Carlos Garnacho <carlosg@gnome.org> Add some error logging to the GIO operations in tracker-crawler. 2009-06-10 Philip Van Hoof <philip@codeminded.be> Fixes a critical in tracker-monitor.c Prepared port for 0.6 bugfix for playlist container Fixes the Cleanup() of the push modules 2009-06-08 Philip Van Hoof <philip@codeminded.be> Bugfix for NB#120524, removed maxCardinality from ncal:rrule Merge branch 'master' into tracker-store Conflicts: data/ontologies/35-ncal.ontology docs/manpages/Makefile.am docs/manpages/tracker-thumbnailer.1 po/da.po Fixed memory leak in tagreadbin extractor Various improvements for the tagreadbin extractor Improvements include a memory leak fix and not doing certain predicates in case of nfo:Image, while doing them in case of nmm:MusicPiece and/or the nmm:Video type. 2009-06-05 Philip Van Hoof <philip@codeminded.be> Ported tagreadbin based GStreamer extractor from tracker-0.6 2009-06-04 Ivan Frade <ivan.frade@nokia.com> Local copy of the maemo logo for the documentation Use a local copy of the maemo logo in the documentation instead of the online one. Data validator utility Program to check that all properties and classes referenced in a TTL file are defined in the ontologies. Fixes GB#584809 Remove tracker-thumbnailer manpage Removed tracker-thumbnailer manpage. Added Radio ontology portions In NMM, subclassing NFO elements. Cleaning rdfs:comments Some rdfs:comments in the ontologies were written as python lists ['...','...']. Removed those marks to keep the text clean and readible. 2009-06-03 Philip Van Hoof <philip@codeminded.be> Bugfix for a bug spotted by Jürg, reversed if-logic More relaxed importing of push modules, 100 items per 5 seconds Merge with master 2009-06-02 Philip Van Hoof <philip@codeminded.be> Performance improvements for album-art detection Bug 112133 - trackerd-11-1386.rcore.lzo crashed Normalize mount point paths in TrackerProcessor, so they're removed properly, and the processor doesn't think there are still pending removable media to inspect. Conflicts: src/trackerd/tracker-processor.c Port tracker-hal.c changes from tracker-0.6 to master's tracker-store-hal.c This is a port of Carlos' commit 6045504db570027538ac7fbf03c07c5875289f49 in branch tracker-0.6 on 2009-05-20 16:15:16 (GMT) to master where tracker-hal.c is split into tracker-power-hal.c and tracker-store-hal.c. 2009-06-01 Philip Van Hoof <philip@codeminded.be> Removed the queue_statement API of TrackerStore. Not used anymore Ported the push modules to TrackerSparqlBuilder usage 2009-06-01 Gabor Kelemen <kelemeng@gnome.hu> Correct the utf encoding, fixes bug #584547 2009-05-29 Jürg Billeter <j@bitron.ch> tracker-indexer: Use TrackerSparqlBuilder in TrackerModuleMetadata libtracker-common: Add TrackerSparqlBuilder 2009-05-29 Philip Van Hoof <philip@codeminded.be> The solution to the 2.5s per 10k items: simply lower the priority of the queue This is my analysis about this: It was actually clear when Jürg told me did his tests without letting the store-queue's idle handler run. My first idea was to also disable it for my tests, and then suddenly 10k inserts finished within 0.135s instead of 2.5s (latter was a quite dissapointing result, former is the expected result). My analysis is the following: the queue's GSource had an equal priority as the unix socket's GSource of the GIOChannel. Meaning that if we lower the priority of the queue's GSource, lower than the GSource of the unix socket's GIOChannel, that the latter will run at speed. With this mini-patch test tests/estress/socket_stress_test.c will finish in about 0.135s on an average desktop. The queue will of course have a lot of work afterwards, but any subsequent request on the unix-socket (and probably also on DBus, as also DBus's GSource now runs at a higher priority that the queue's) will get priority. This allows us to queue 10000 INSERT queries in 0.135s instead of 2.5s and yet we don't need to halt or disable the queue itself. I made this rather large analysis because this apparently is what makes the difference in IPC responsiveness for tracker-store's queue design. 2009-05-28 Jürg Billeter <j@bitron.ch> NCAL: Remove cardinality restriction on ncal:rdate Fixes NB#119408. 2009-05-28 Ivan Frade <ivan.frade@nokia.com> Fix playlist duration handling The duration returned after parsing the playlist is just the string in the file. Using totem_pl_parser_parse_duration we get the value in seconds. 2009-05-28 Jürg Billeter <j@bitron.ch> NCAL: Notify on ncal:Event, ncal:Todo, and ncal:Journal updates Fixes NB#119019. 2009-05-27 Philip Van Hoof <philip@codeminded.be> Squashed commit of the following: commit 14c608447fbcb146dfc41fb56d6eaa9960ad1b33 Author: Philip Van Hoof <philip@codeminded.be> Date: Wed May 27 17:44:22 2009 +0200 Merge fix for the push modules Reintroduced tracker_store_queue_insert_statement. We'll replace this API with tracker_store_queue_sparql_update and a query builder component afterwards. commit e6dcb8e8205377dc2925d1612c6e17b2ad2eb1d5 Merge: d07d089 4d9f576 Author: Philip Van Hoof <philip@codeminded.be> Date: Wed May 27 17:04:47 2009 +0200 Merge branch 'tracker-store' into tracker-store-queue Conflicts: src/tracker-indexer/tracker-indexer.c src/tracker-indexer/tracker-indexer.h src/tracker-indexer/tracker-removable-device.c src/tracker-store/Makefile.am src/tracker-store/tracker-resources.c src/tracker-store/tracker-store.c src/tracker-store/tracker-store.h commit 4d9f576d7c1b9189b4006aa4579067f1ed52572e Author: Philip Van Hoof <philip@codeminded.be> Date: Wed May 27 16:55:36 2009 +0200 Ported push modules to TrackerStore API commit d07d0894eb9f0bf6c8558c0d7749635e09ec358e Author: Philip Van Hoof <philip@codeminded.be> Date: Tue May 26 17:21:01 2009 +0200 Removed batch_count from push modules commit eb042c18b501fcc103682a03b8e6a339dd9ccea3 Author: Philip Van Hoof <philip@codeminded.be> Date: Tue May 26 15:22:37 2009 +0200 Silly copypaste bug, fixed commit d9b29d008b8a7b005eaad3b56c38043ba2320b4c Author: Philip Van Hoof <philip@codeminded.be> Date: Tue May 26 15:14:24 2009 +0200 Bugfix setting tags of Evolution E-mail I also added assertions to avoid such bugs in future commit 72ca3a18a9377a5d69564ee05ae3a07dec2f14f0 Author: Jürg Billeter <j@bitron.ch> Date: Tue May 26 13:59:09 2009 +0200 tracker-store: Fix transaction handling for non-batch updates commit 25039e79dab8c0502f48b05595df9d84ec5858f6 Author: Jürg Billeter <j@bitron.ch> Date: Tue May 26 13:48:18 2009 +0200 tracker-resources.c: Fix leak and minimize differences to tracker-store commit cfa7c2506e0f1d1562d9e46e9a3a8aacd3499add Author: Jürg Billeter <j@bitron.ch> Date: Tue May 26 13:45:48 2009 +0200 configure.ac: Remove obsolete reference to rss plugin commit 7a31b5f5fa3bd96bc2693067a024683436d0df97 Author: Philip Van Hoof <philip@codeminded.be> Date: Tue May 26 11:24:48 2009 +0200 Fixed a bug in the idle handlers that distribute work commit 981a3e8ec6ab9e65c26254b831d8b3464b32b299 Author: Jürg Billeter <j@bitron.ch> Date: Mon May 25 18:50:11 2009 +0200 tracker-turtle: Warn when trying to parse multiple files in parallel commit 1661838624637ba2da6a56baf041390f537b62eb Author: Philip Van Hoof <philip@codeminded.be> Date: Mon May 25 18:25:15 2009 +0200 Added Turtle parsing to the queue commit 41db02c063b9a58fa1a4b3674e63df0b4a51d9ac Author: Philip Van Hoof <philip@codeminded.be> Date: Mon May 25 15:25:44 2009 +0200 Cleanup should always be immediate commit 52057dca93e2f7116bb8ac8484c71d0f5a83bbe3 Merge: a954013 4f56a11 Author: Philip Van Hoof <philip@codeminded.be> Date: Mon May 25 15:19:05 2009 +0200 Merge branch 'tracker-store' into tracker-store-queue Conflicts: data/dbus/tracker-indexer.xml commit a9540137ff4cd88586a73c12fc6c6427896fdfcb Author: Philip Van Hoof <philip@codeminded.be> Date: Fri May 22 17:55:34 2009 +0200 Removed support for NULL in tracker_data_delete_statement, not used anymore commit ac1db351fca74ec305c64436b75435a4b0badb92 Author: Philip Van Hoof <philip@codeminded.be> Date: Fri May 22 17:50:43 2009 +0200 Ported support for removable device to tracker-store commit 301ba0330cc2508eb4b984202893274c49daa44d Author: Philip Van Hoof <philip@codeminded.be> Date: Fri May 22 14:52:16 2009 +0200 Jürg had the luminous idea to ask me to change the queue API a bit The changes include: - Rename TrackerStoreQueue to TrackerStore - Rename batch to queue - Don't put single update and single queries on the queue - Handle transaction-max in tracker-store.c, don't make the callers have to care about it This last one implied that I could remove most of the ++priv->batch_count callbacks from tracker-resource.c and that I had to fixup the push modules a bit too. commit d540caa4807ce086fd97b520185c87e87564e918 Author: Philip Van Hoof <philip@codeminded.be> Date: Fri May 22 11:57:18 2009 +0200 Sorting of the queue The updates, statement_insert, statement_delete and queries follow natural order in priority group. The batch_update, batch_statement_insert and batch_commit follow natural order in non-prioritized group. Sample order: query delete_statement query update insert_statement batch_update batch_update batch_insert_statement batch_update batch_commit commit f0db03a33a46665ecebc841251a30a4e2ac59851 Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 21:34:31 2009 +0200 Those commit callbacks where just wrong commit 42b58d6e0ea982879db8788ba691f1774d445feb Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 21:25:05 2009 +0200 Doing the g_object_unref in the GDestroyNotify everywhere commit c3bb2243af0c58116cb89e7241ca493bf9250935 Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 21:21:10 2009 +0200 Fixed the push modules to yield to the GMainLoop while queuing up commit f95f031d4298010d2986ee68eebfbac4b306ce42 Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 18:15:29 2009 +0200 Fixed the TTL loader to yield to the GMainLoop while queuing up commit d73e18a022ac21072cb95f8ba40776c336caf5bd Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 17:28:11 2009 +0200 Using insert_statement and delete_statement I can't use SPARQL's INSERT because it's not possible to reliably know whether object and predicate are either string formatted or URI formatted. Feel free to remove the extra API and replace it back to SPARQL INSERT and DELETE if you know how to quickly know how to format the query correctly. commit 4aa84d992982595db01607858c2bb059405cf0d7 Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 14:55:49 2009 +0200 Unset batch_mode when the TTL file is processed commit 0a0d7610c0b83ced289d5784df9b942e43f3d749 Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 14:48:02 2009 +0200 Removed TTL importer from the indexer commit 4c3040d60aa2438a771e875a081dee947dee4a23 Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 14:44:48 2009 +0200 Untested port of Turtle importer to tracker-store commit 96d0b0145f1137d30ecfa01550ca624f1c3f6336 Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 14:19:24 2009 +0200 Indentation commit 3055f2d8574503ec1462ed706994f099c26f572f Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 14:09:24 2009 +0200 Obvious bugfix commit 7128821b779e2e127b20ccdbd92156672767556f Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 14:00:39 2009 +0200 Wait before shutting down commit eec2f934741a84609a3786deb1ff3745a8d2792a Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 13:52:24 2009 +0200 Added a TODO comment in TrackerStoreQueue commit a3cb7919fe3f7a1c1731bec9b571b96696a4c0b5 Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 13:44:53 2009 +0200 Ported the Push modules to the TrackerStoreQueue API This removes the RSS plugin as this was unused, and in future we probably want to provide a generic Nepomuk based push module, which a future RSS metadata deliverer should use. commit 26359f740c471bb73f9a3c43b421cc32713113f1 Author: Philip Van Hoof <philip@codeminded.be> Date: Thu May 21 10:40:37 2009 +0200 Introduced TrackerStoreQueue, a queue for querying and updating TrackerStoreQueue is or will be the internal API for most data access and storage. This current implementation uses the GMainLoop and a GQueue with no priority sorting whatsoever. At a later point in time we want to implement queue_sorter in a more meaningful way. For example meaning that batch_commits have precedence on all others, that queries get precedence after the batch commits, etcetera. Due to its use of the GMainLoop the API is going to block the mainloop, but it wont block the caller's code. It will instead find a nice slot during the GMainLoop the execute itself on. When finished it'll execute first your callback and then your GDestroyNotify. All parameters that you receive in the callback that aren't user_data must not be freed (they are to be considered read-only in your callback). 2009-05-27 Jürg Billeter <j@bitron.ch> libtracker-common: Remove unused function tracker_escape_string libtracker: Add tracker_sparql_escape libtracker: Add tracker_sparql_escape 2009-05-27 Philip Van Hoof <philip@codeminded.be> Compilation errors for libxine based extractor Moved error variable into less confusing code block 2009-05-27 Jürg Billeter <j@bitron.ch> tracker-indexer: Fix SPARQL escaping Move TTL import from tracker-indexer to tracker-store Merge branch 'master' into tracker-store 2009-05-26 Ask H. Larsen <asklarsen@gmail.com> Updated Danish translation 2009-05-26 Philip Van Hoof <philip@codeminded.be> Introduce TrackerStore, a queue for updating TrackerStoreQueue is or will be the internal API for most data access and storage. This implementation uses the GMainLoop and a GQueue for all batch requests. Due to its use of the GMainLoop the API is going to block the mainloop, but it wont block the caller's code. It will instead find a nice slot during the GMainLoop the execute itself on. When finished it'll execute first your callback and then your GDestroyNotify. All parameters that you receive in the callback that aren't user_data must not be freed (they are to be considered read-only in your callback). libtracker-data: Remove tracker_data_update_replace_service Removable device metadata import will use SPARQL Update. 2009-05-26 Ask H. Larsen <asklarsen@gmail.com> Updated Danish translation 2009-05-25 Jürg Billeter <j@bitron.ch> tracker-turtle: Warn when trying to parse multiple files in parallel 2009-05-25 Philip Van Hoof <philip@codeminded.be> Remove RSS push module This removes the RSS plugin as this was unused, and in future we probably want to provide a generic Nepomuk based push module, which a future RSS metadata deliverer should use. 2009-05-25 Jürg Billeter <j@bitron.ch> Merge branch 'master' into tracker-store Move crawling and monitoring from tracker-store to tracker-indexer 2009-05-25 Philip Van Hoof <philip@codeminded.be> Fixed ontology for old Evolution support and detecting folders.db The file folders.db will be in the account's cache dir when a more recent version of Evolution has upgraded an old Evolution mail cache. In that case we want to ignore the summary files, and instead rely on the push module 2009-05-25 Jürg Billeter <j@bitron.ch> tracker-extract-gstreamer-helix: Update albumart code to fix build 2009-05-22 Mikael Ottela <mikael.ottela@ixonos.com> Mime check fixes to the album art extraction in gstreamer extractor 2009-05-22 Ivan Frade <ivan.frade@nokia.com> Fix folder indexing An empty folder was crawled and monitored but never sent to the indexer. Fixed adding a call to process the item queues after adding a folder. Fixes NB#106085, Tracker DB is not updated when images were removed... 2009-05-22 Mikael Ottela <mikael.ottela@ixonos.com> Some leak fixes Fixed a double free in mp3 extractor. Found by Daniël Heres 2009-05-22 Ivan Frade <ivan.frade@nokia.com> Remove cardinality restriction in nco:belongsToGroup A Contact can belong to more than one group. 2009-05-22 Jürg Billeter <j@bitron.ch> libtracker-data: Fix transaction handling for unknown blank nodes This does not properly fix the handling of blank nodes as objects yet, however, it should work correctly in practically all situations now and especially fix database locking. libtracker-db: Decrease SQLite busy timeout from 10000s to 100s libtracker-db: Drop redundant SQLite busy handling 2009-05-20 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Fix syntax error 2009-05-20 Philip Van Hoof <philip@codeminded.be> Increased the max allowed extraction time to 10 seconds The GStreamer extractor often needs more time than 5 seconds Optimization for embedded album-art extraction 2009-05-20 Jürg Billeter <j@bitron.ch> Merge branch 'master' into tracker-store 2009-05-19 Jürg Billeter <j@bitron.ch> Set max cardinality for tracker properties tracker:notify, tracker:isMounted, tracker:unmountDate, and tracker:mountPoint now have maximum cardinality 1. Add tracker:modified property This property gets implicitly updated when statements about the resource are inserted or deleted. It can be used for synchronization purposes. Log successful D-Bus requests only as debug messages As tracker-indexer now communicates with tracker-store via D-Bus, logging every D-Bus request as a general message is too verbose. tracker-indexer: Use D-Bus to compare file mtime Database may be locked by tracker-store which makes direct access by tracker-indexer deadlock. tracker-indexer: Use D-Bus to query resource existence Database may be locked by tracker-store which makes direct access by tracker-indexer deadlock. tracker-indexer: Use D-Bus to query mime type Database may be locked by tracker-store which makes direct access by tracker-indexer deadlock. 2009-05-17 Ivar Smolin <okul@linux.ee> Updating Estonian translation 2009-05-16 Ivar Smolin <okul@linux.ee> Updating Estonian translation 2009-05-15 Richard Hughes <hughsient@gmail.com> libtracker-common: Refactor properties used by TrackerPower Switch from three overlapping properties in the power backend to on-battery and on-low-battery. 2009-05-15 Gabor Kelemen <kelemeng@gnome.hu> Hungarian translation updated 2009-05-14 Jürg Billeter <j@bitron.ch> tracker-indexer: Remove redundant query in item_remove tracker-indexer: Use new batch methods This will currently cause deadlocks as tracker-indexer still queries the database directly. We should change this to query via D-Bus. libtracker: Add new batch methods trackerd: Add simple batch update support Rename trackerd to tracker-store libtracker-db: Remove unused function 2009-05-13 Philip Van Hoof <philip@codeminded.be> Bugfixes for album art heuristics 2009-05-13 Martyn Russell <martyn@imendio.com> Make sure we call va_end before returning in evolution-imap module Check return value of important GLib calls, found by coverity Removed unused variables from coverity findings Fixed src/libtracker-common/tracker-config coverity failures Fixed src/libstemmer/libstemmer.c coverity failures Fixed tracker-xmp coverity findings 2009-05-13 Jürg Billeter <j@bitron.ch> SPARQL: Support OFFSET without LIMIT Fixes NB#116451. trackerd: Include sys/inotify.h instead of linux/inotify.h docs: Update references to removed tracker-hal Split TrackerHal into TrackerStorage and TrackerPower Split TrackerHal into TrackerStorage and TrackerPower to better split the functionalities for future work. This is needed for future patches to add DeviceKit support. Based on patch by Richard Hughes. 2009-05-12 Jürg Billeter <j@bitron.ch> tracker-indexer: Remove the EventHappened D-Bus signal The signal is not used anymore as the event handling has been moved to trackerd. Merge branch 'master' into tracker-store tracker-extract-mp3: Use nmm:length instead of nmm:duration nmm:duration is not defined in the ontology. 2009-05-12 Ivan Frade <ivan.frade@nokia.com> Add usageCounter property Add usageCounter property in NIE. This property can be used as play counter in music and videos, read counter in RSS and similar semantics in any other content. 2009-05-12 Jürg Billeter <j@bitron.ch> NFO: Notify on nfo:BookmarkFolder updates albumart: Ignore . and .. in directory count 2009-05-12 Philip Van Hoof <philip@codeminded.be> Performance improvement heurstic scan for album art Don't try to open files that aren't PNG files. 2009-05-12 Michael Biebl <biebl@debian.org> Another include path fix libtracker-gtk uses <tracker.h>, so we also need to add $(top_srcdir)/src/libtracker for tracker-search-tool. Fix include path tracker-search-tool-callbacks.c uses <libtracker-gtk/tracker-metadata-tile.h>, so we have to set the correct include path 2009-05-11 Jürg Billeter <j@bitron.ch> SPARQL: Fix critical when using non-existing resources as objects 2009-05-11 Philip Van Hoof <philip@codeminded.be> Further removed the push modules from the indexer 2009-05-11 Ivan Frade <ivan.frade@nokia.com> Check error on dbus connection Check the GError returned by the DBus connect method, and not only if connection != NULL. Fixes NB#115956, Tracker tools core dumps 2009-05-11 Jürg Billeter <j@bitron.ch> SPARQL: Fix identifier conflicts with 'uri' and 'id' variables Fixes NB#115063. tracker-indexer: Emit finished signal after indexing This fixes a regression introduced by the switch to SQLite FTS. 2009-05-11 Philip Van Hoof <philip@codeminded.be> Fixed class signals feature Moved the callbacks of libtracker-data into tracker-resources.c instead of tracker-resource-class.c, the event_sources was not filled in (due to an incomplete port from master), this is now taken from priv->event_sources of the TrackerResources singleton. 2009-05-10 Mario Blättermann <mariobl@gnome.org> Updated German translation 2009-05-09 Mario Blättermann <mariobl@gnome.org> Updated German translation 2009-05-08 Jorge Gonzalez <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-05-08 Martyn Russell <martyn@imendio.com> Fixes: NB#110221, ML: Album Art is not displaying in All Album and... We were not returning strings in lowercase when stripping the names, this means "Bryan Adams" and "bryan adams" produce different MD5 sums which causes duplicates in albumart. 2009-05-08 Jürg Billeter <j@bitron.ch> Install libtracker-gtk headers into tracker-0.7 include dir Update .gitignore albumart-strip: Do not mark strings for translation Use API version for all include directories and pkg-config names Fix build with stricter Vala 0.7.2 2009-05-07 Philip Van Hoof <philip@codeminded.be> Revert "Revert "Added some extra checks for size in mp3 extraction."" This reverts commit e59d80ec31fcd70f62d7f14a73720ba6b43a537a. Fixes for the heuristic scanner Revert "Added some extra checks for size in mp3 extraction." This reverts commit b6a9079cf7ada74e739dbef476df688fda49d88b. 2009-05-07 Mikael Ottela <mikael.ottela@ixonos.com> Added some extra checks for size in mp3 extraction. 2009-05-07 Jürg Billeter <j@bitron.ch> tracker-extract-mp3: Another album name extraction fix tracker-extract-mp3: Prefer ID3v2 tags to ID3v1 tags tracker-extract-mp3: Fix album name extraction from ID3v2 tags Fixes NB#112796. tracker-extract-mp3: Strip whitespace from ID3v2 tags tracker-extract-mp3: Strip whitespace from fixed-size ID3v1 tags Fixes NB#115028. tracker-extract: Print metadata when requested on commandline 2009-05-06 Ivan Frade <ivan.frade@nokia.com> Fix comments in translation files It was breaking compilation in some environments. 2009-05-06 Philip Van Hoof <philip@codeminded.be> Debug-mode option for tracker-extract 2009-05-06 Martyn Russell <martyn@imendio.com> Removed **** from low disk space messages in log Fixed disk_space_check_stop() critical warning on shutdown Fix Valgrind errors / leaks and added public API parameter checks This patch removes a lot of casts which were unnecessary. It also fixes a memory leak and doesn't allocate memory unnecessarily in places. There were also reports from Valgrind about use of uninitiated memory which should be fixed now. Public APIs now have full variable checking on to throw out any erroneous calls. Fixed indexer invalid writes in state_to_string() if string is empty We assumed the string was always > 3 characters long and we always truncated the last 3 characters which had the separator " | " appened. Fixes: NB#114354, trackerd polls This was more work than I expected. I think I fixed another bug with the testing on this one. We now make sure that if we go back to IDLE state after we have finished PENDING/WATCHING states for crawling we correct the state to go straight back to PAUSED if we are paused for any of the reasons we can be paused. The bug here was that we ended up indexing content if we paused based on a full disk if the full disk state occurred BEFORE we finished crawling the file system. Also, we now watch the TrackerConfig low-disk-space-limit notify signal to update in real time. 2009-05-06 Carlos Garnacho <carlosg@gnome.org> Make tracker_hal_path_is_on_removable_device() a bit more performant. 2009-05-06 Ivan Frade <ivan.frade@nokia.com> Add license and explanations Add license to the source code files and explain in comments what the mocks are doing. Test tracker-thumbnailer Add tests to tracker-thumbnailer. Includes a new gobject (MockDBusGProxy) to mock the real DBus GProxy object, and some dbus methods are overloaded to test the object without external dependencies. 2009-05-06 Martyn Russell <martyn@imendio.com> Improve code of evolution push module This patch also fixes the coding style in places and replaces some strchr() calls for the utf8 equivalent. 2009-05-06 Jürg Billeter <j@bitron.ch> SPARQL: Quote variable names in generated SQL query Unquoted variable names can conflict with SQL keywords. 2009-05-06 Dmitry Zelenkovsky <dmitry.zelenkovsky@teleca.com> Update NMO ontology status property applies to folders and accounts added new count properties. Fix typo in error message 2009-05-05 Jürg Billeter <j@bitron.ch> libtracker-data: run sparql test before slow ontology test 2009-05-05 Carlos Garnacho <carlosg@gnome.org> Ensure a transaction is started right after getting metadata/text. 2009-05-05 Philip Van Hoof <philip@codeminded.be> plugins: Do not perform too many statements per transaction plugins: Remove the indexer part of the push modules After the reachitecture the indexer wont do the writes, the daemon wil. This means that we must not proxy the request to the indexer anymore, instead will the daemon perform the write immediately itself. Applied several ontology fixes to the KMail and Evolution push modules 2009-05-05 Jürg Billeter <j@bitron.ch> tracker-indexer: Open database files read-only tracker-indexer: Send SPARQL Update queries via D-Bus tracker-indexer: Do not use database transactions Write access will be moved to trackerd. tracker-indexer: Remove class signals trackerd: Do not pause the indexer trackerd: Fix tracker-events.h include 2009-05-05 Philip Van Hoof <philip@codeminded.be> trackerd: Make class signals work when writes take place in trackerd tracker-indexer: Remove the update methods from the D-Bus interface trackerd: No longer call the indexer for updates 2009-05-04 Jürg Billeter <j@bitron.ch> tracker-indexer: Do not directly modify db in applications module tracker-indexer: Simplify backup restore code tracker-indexer: Use SPARQL for data sources tracker-indexer: Use SPARQL for moved files libtracker-data: Support internal tracker:uri property tracker-indexer: Use SPARQL to delete resources tracker-indexer: Use DROP GRAPH instead of direct libtracker-data access SPARQL: Initial support for DROP GRAPH queries There is currently no real named graph support. DROP GRAPH is handled by deleting the resource description (embedded metadata) but retaining user annotations. rasqal: Support DROP GRAPH queries tracker-indexer: Simplify handling of plain text content tracker-indexer: Experimental move to SPARQL 2009-05-04 Martyn Russell <martyn@imendio.com> Fixed potential leak found in 0.6 branch last week Fixes: GB#572237, Remove deprecated Glib symbols This reworks the find_orig_uri() which was broken. This now uses g_utf8_casefold() instead of g_utf8_up(). The function now oly uses g_utf8_casefold() as a last resort after checking the extensions and file "name" parts found in the directory do not match. This should be more efficient since string creation only occurs as a last step. Also the info and orig_info were not being compared in the first place which is another bug fixed here. 2009-05-04 Jürg Billeter <j@bitron.ch> libtracker-data: Fix missing commits with blank nodes 2009-05-04 Rob Taylor <rob.taylor@codethink.co.uk> Fixes: GB#580908, [PATCH] Make configure error on missing hal and hal-storage a bit clearer. 2009-05-04 Javier Jardón <javierjc1982@gmail.com> Fixes GB#575130, Remove deprecated GTK+ symbols 2009-05-04 Rob Taylor <rob.taylor@codethink.co.uk> Fixes: GB#580905, [PATCH] Clean up help messages in configure 2009-04-30 Jürg Billeter <j@bitron.ch> Check for valac >= 0.7.0 in autogen.sh Fixes GNOME Bug 580863. rasqal: Fix crash with multiple updates in a single query libtracker-data: Support nested transactions NCAL: Merge union classes to improve insertion performance tracker-indexer: Remove unused typedef TrackerModuleMetadataRemove 2009-04-29 Philip Van Hoof <philip@codeminded.be> Memory leak fix, probably caused by merging 2009-04-29 Martyn Russell <martyn@imendio.com> Disabled push modules by default 2009-04-29 Yavor Doganov <yavor@gnu.org> Fixes GB#580586, FTBFS: undefined reference to `sqlite3_enable_load_extension` 2009-04-29 Martyn Russell <martyn@imendio.com> Clean up this Makefile based on patch from 0.6 branch 2009-04-29 Carlos Garnacho <carlosg@gnome.org> Shut trackerd down cleanly, even during initialization. Fixes NB#107962. * src/trackerd/tracker-status.[ch] (tracker_status_is_initialized): New function. * src/trackerd/tracker-main.c (tracker_shutdown): Check whether resources are available before trying to shut them down. (main): Do not enter the main loop if we are already shutting down. Plug several memory leaks. 2009-04-29 Martyn Russell <martyn@imendio.com> Fixed all build warnings and documentation warnings This doesn't fix valac generated source warnings, of which there are only one or two. 2009-04-29 Jürg Billeter <j@bitron.ch> SPARQL: Support multiple updates in single query rasqal: Support multiple updates in single query 2009-04-27 Philip Van Hoof <philip@codeminded.be> Fixed several ontology problems with the push modules 2009-04-27 Jürg Billeter <j@bitron.ch> tracker-indexer: Fix file update check 2009-04-25 Khaled Hosny <khaledhosny@eglug.org> Updated Arabic translation 2009-04-25 Jorge Gonzalez <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-04-25 Ivar Smolin <okul@linux.ee> Updating Estonian translation 2009-04-24 Luca Ferretti <elle.uca@libero.it> Updated Italian translation 2009-04-24 Jürg Billeter <j@bitron.ch> Update .gitignore files 2009-04-24 Mikael Ottela <mikael.ottela@ixonos.com> Add a safeguard to freeing the pipeline in gstreamer extractor A safeguard has been added in gstreamer extractor to check that the pipeline is in NULL state before freeing it. Fixes NB#112393. 2009-04-24 Philip Van Hoof <philip@codeminded.be> Compilation warnings in the push plugins 2009-04-24 Chris Coulson <chrisccoulson@googlemail.com> Do not trigger crawling under any circumstance if EnableIndexing is false. 2009-04-24 Ivan Frade <ivan.frade@nokia.com> Add tracker-albumart tests Added unit tests to the albumart path generation algorythm. Still some cases pending to test. 2009-04-24 Mikael Ottela <mikael.ottela@ixonos.com> Comment out extractor tests that require testdata. The test cases for extraction that require generation of test data are commented out so they won't fail in automated checking. 2009-04-24 Martyn Russell <martyn@imendio.com> Added more information about module use to tracker-extract * src/tracker-extract/tracker-extract.c: Added debugging so we know which modules are loaded on start up and to know which modules are used to extract content on a per file basis to help when we have multiple extractors handling the same mime types. * src/tracker-extract/tracker-main.c: Change logging format when running stand alone and not writing to a log file and don't log everything, only log based on the verbosity setting. 2009-04-24 Ivan Frade <ivan.frade@nokia.com> Add mock test A completely empty unit test file was breaking gtester report tool. Fix gtester report tracker-dbus-test's output was non-utf8 text, and that was breaking the gtester XML parsing. Now tracker-dbus-test catch and verify the output, without printing it. 2009-04-24 Mikael Ottela <mikael.ottela@ixonos.com> Fixes to the mp3 extractor Plugged a leak. Some improvements in the code for the mp3 extractor. 2009-04-24 Carlos Garnacho <carlosg@gnome.org> Avoid reading past the genre names array boundaries. 2009-04-24 Mikael Ottela <mikael.ottela@ixonos.com> Performance improvements to jpeg extraction We now do much less unnecessary formatting using libexif for better performance. Read mp3 files in parts in extraction We now read last 128 bytes for id3v1 metadata separately from mmap of the mp3 file in mp3 extraction for better performance. We now handle large mp3 files without problems. Fixes NB#111560 2009-04-24 Carlos Garnacho <carlosg@gnome.org> Fixes #578159 – Tracker starts to index when removable media is inserted, regardless of user preferences. * src/trackerd/tracker-processor.c (tracker_processor_stop): Set state to IDLE right before sending files over to the indexer, so it isn't left in PENDING state if there isn't actually any files in the queues. 2009-04-24 Martyn Russell <martyn@imendio.com> Changed stats cache timeout to 5m and signal stat diffs then too Fixes: NB#109891, If deleting last music track or last video... The cache expires now after 3 minutes instead of 1 minute which was too short. We now use GetServices every time to fix the case where 0 items for a service type doesn't show up in the SERVICE_STATISTICS_UPDATED signal. 2009-04-24 Mikael Ottela <mikael.ottela@ixonos.com> Adding missing changes to the makefile for the mockup Added an extractor mockup for testing purposes 2009-04-24 Carlos Garnacho <carlosg@gnome.org> Do not make tracker-indexer commit suicide if tracker-extract doesn't get along. If tracker-extract fails to return the PID. extractor_pid is 0, so if tracker-indexer tries to kill it afterwards, it ends up killing itself. Set GError to NULL before passing it to functions. 2009-04-24 Ivan Frade <ivan.frade@nokia.com> Fixes: NB#108361, Tracker crashing if commo.db is corrupt 2009-04-22 Martyn Russell <martyn@imendio.com> Updated albumart strip code to work with utf8 and be clearer * utils/albumart/albumart-strip.c: Added to test these strings out using the libtracker-common API call. 2009-04-22 Philip Van Hoof <philip@codeminded.be> Fixed another bugfix related to extracting keywords Fixed some Image: predicates to use Nepomuk Bugfixes extracting keywords 2009-04-22 Jürg Billeter <j@bitron.ch> Disable evolution push module for distcheck make distcheck does not work when files are installed outside the prefix. docs: Fix references to obsolete files Add generated .pc files to CLEANFILES Add missing \ in Makefile.am libtracker-db: Remove tracker-db-action and tracker-db-file-info The files were not used anywhere. FTS: Add header files to _SOURCES to fix distcheck Remove QDBM support Enable SQLite FTS support by default libtracker-data: Do not add useless columns to FTS table libtracker-data: Remove values from FTS when deleting statements 2009-04-22 Philip Van Hoof <philip@codeminded.be> Adapted album-art name determination to follow new spec rules 2009-04-21 Philip Van Hoof <philip@codeminded.be> Bugfix in Volume support 2009-04-21 Jürg Billeter <j@bitron.ch> FTS: Do not store redundant content in internal table libtracker-data: Fix FTS updates when using multiple tables 2009-04-21 Philip Van Hoof <philip@codeminded.be> Fixed various bugs in the gstreamer extractor 2009-04-20 Daniel Nylander <po@danielnylander.se> Updated sv translation 2009-04-20 Jürg Billeter <j@bitron.ch> Move tracker-fts.so from libdir to pkglibdir Add initial SQLite FTS support libtracker-data: Remove superfluous shutdown calls in ontology test 2009-04-20 Philip Van Hoof <philip@codeminded.be> Transient properties Added support for transient properties. Right now the support for these properties still stores physically. This is done that way because if we'd use TEMPORARY tables in sqlite, the table wouldn't be shared between the processes of trackerd and tracker-indexer. When we refactor to letting trackerd do both writes and reads, we can instead start using TEMPORARY tables. I have added the code for this, but commented out in this commit. 2009-04-18 Jorge Gonzalez <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-04-17 Jürg Billeter <j@bitron.ch> Fix compile warnings 2009-04-17 Philip Van Hoof <philip@codeminded.be> Ontology fix in gstreamer extractor Uninitialized variable bugfix 2009-04-17 Jürg Billeter <j@bitron.ch> SPARQL: Fix compile warnings Update .gitignore files 2009-04-16 Ottela Mikael <mikael.ottela@ixonos.com> Fixes for extractors, ontology usage 2009-04-16 Jorge Gonzalez <jorgegonz@svn.gnome.org> Updated Spanish translation 2009-04-16 Philip Van Hoof <philip@codeminded.be> New volume support didn't allow not having HAL, fixed Fixed the TIFF extractor for the new image ontology Fixed the XMP common extractor code for new image ontology The XMP extractor was using a wrong URI The XMP extractor must find the file for which it plays a sidekick XMP. Then use that file's URI instead of using its own URI. Fixed the JPEG extractor to use the new image ontology Added image ontology Implementation for the streamanalyzer extractor 2009-04-16 Ivan Frade <ifrade@src.gnome.org> Add thumbnail property to bookmarks and two pre-defines instances for web and desktop bookmarks Add Maemo Transfer Ontology 2009-04-16 Philip Van Hoof <philip@codeminded.be> Add Maemo ontology 2009-04-16 Ivan Frade <ifrade@src.gnome.org> Adding demo app Add stress test programs 2009-04-16 Philip Van Hoof <philip@codeminded.be> Add class signals applications: Index .directory files Port extractor tests to Nepomuk 2009-04-16 Ivan Frade <ifrade@src.gnome.org> Add ontology utilities 2009-04-16 Jürg Billeter <j@bitron.ch> Add tracker-import utility to import turtle files libtracker-data: Add SPARQL and ontology tests Add SPARQL query engine rasqal: Support predefining and redefining prefixes rasqal: Fix anonymous blank nodes in SPARQL INSERT templates rasqal: Complete INSERT and DELETE support in SPARQL parser rasqal: Add SUM, AVG, MIN, and MAX aggregate function support rasqal: Fix rasqal_query_add_prefix Do not undeclare first different prefix. rasqal: Fix rasqal_query_get_variable rasqal: Include Makefile.decl in rasqal Makefile.am rasqal: Add .gitignore Import rasqal r14939 into repository 2009-04-16 Philip Van Hoof <philip@codeminded.be> Add Tracker ontology 2009-04-16 Jürg Billeter <j@bitron.ch> Add Nepomuk Multimedia Ontology Add Nepomuk ID3 Ontology Add Nepomuk Calendar Ontology Add Nepomuk Message Ontology Add Nepomuk File Ontology Add Nepomuk Contact Ontology Add Nepomuk Annotation Ontology Add Nepomuk Information Element Core Ontology Add Dublin Core ontology libtracker-db: Remove static stored procedures functionality Replaced by dynamic statement preparation. Switch to decomposed database Remove non-essential services To be replaced by Nepomuk ontologies. 2009-04-16 Martyn Russell <martyn@imendio.com> Added information about Indexer progress and Stats updates to tracker-status 2009-04-16 Jürg Billeter <j@bitron.ch> Do not delay item removals Add threaded turtle pull parser Make raptor mandatory rasqal depends on raptor. libtracker-db: Support dynamic statement preparation Rename TrackerField to TrackerProperty Rename TrackerService to TrackerClass Remove PropertySet and PropertyRemove methods from Indexer libtracker-data: Remove unused functions Remove unused sqlite-user-data.sql Remove unused cache database Remove tracker-files and tracker-services utilities Remove D-Bus interfaces File, Keyword, and Metadata Functionality will be replaced by SPARQL. Drop RDF query support The XML-based RDF query support will be replaced by SPARQL. 2009-04-15 Jasper Lievisse Adriaanse <jasper@humppa.nl> Fixes: #579049, use g_strndup() instead of strndup() Fixes: #579047, fix compilation if RLIMIT_AS isn't defined 2009-04-15 Martyn Russell <martyn@imendio.com> Fixes: NB#109046, Tracker is slow to index all the images in ... Fixes: NB#109891, If deleting last music track or last video... 2009-04-15 Philip Van Hoof <philip@codeminded.be> Removing the database file when it's corrupted, just before we bail out and crash 2009-04-15 Carlos Garnacho <carlosg@gnome.org> Do not make libtracker-module depend on tracker-indexer. * src/tracker-indexer/tracker-dbus.[ch]: Changed not to depend on tracker-indexer. Changed tracker_dbus_register_object() signature so all needed info is passed. * src/tracker-indexer/tracker-main.c: Pass all necessary info to tracker_dbus_register_object() from here. Add a name monitor hook so we stop the indexer if trackerd dissapears from DBus. * src/tracker-indexer/Makefile.am: Add tracker-dbus.c to libtracker-module, so it doesn't have deps on tracker-indexer. 2009-04-15 Jürg Billeter <j@bitron.ch> Remove unused functions tracker_turtle_add_metadata* Remove tracker_file_unlink function It is only used in one place and the encoding conversion is incorrect there. 2009-04-15 Carlos Garnacho <carlosg@gnome.org> Do not puke with paths containing ':' * src/libtracker-common/tracker-albumart.c (tracker_albumart_get_path): Improve a bit this stupid check to distinguish paths from URIs. Listen for NameOwnerChanged signals for the extractor. * src/tracker-indexer/tracker-dbus.[ch] (tracker_dbus_add_name_monitor) (tracker_dbus_remove_name_monitor): Added infrastructure for monitoring owner changes for certain services. * src/tracker-indexer/tracker-module-metadata-utils.c: Listen for changes in ownership of org.freedesktop.Tracker.Extract, request new PID each time the service becomes available. 2009-04-15 Martyn Russell <martyn@imendio.com> Reduce strlen() calls and use g_free() not free() on GLib strings Fixed Sun OS build errors, patch by Xin Lai Simplified --process-all translation in tracker-indexer 2009-04-14 Philip Van Hoof <philip@codeminded.be> Removed the SqlQuery method of the Search DBus object 2009-04-14 Jürg Billeter <j@bitron.ch> Append API version suffix to pkglibdir Append API version suffix to pkg-config files Append API version suffix to client libraries Install libtrackerclient-0.7.so and libtracker-gtk-0.7.so. Define PKGLIBDIR instead of LIBDIR Prepare for versioned libdir Update version to 0.7.0 docs: Remove obsolete references to Xesam 2009-04-14 Philip Van Hoof <philip@codeminded.be> Album art fixes Fixes in tracker-albumart.c for tracker-extract's unit tests (info->hal must support being NULL). 2009-04-14 Jürg Billeter <j@bitron.ch> libtracker: Do not install -glue.h files Add .gitignore files Generate ChangeLog from git log Add gitlog-to-changelog script from gnulib and a dist-hook to generate ChangeLog file when creating tarballs. 2009-04-14 Khaled Hosny <khaledhosny@eglug.org> Updated Arabic translaion 2009-04-12 Gabor Kelemen <kelemeng@gnome.hu> Removed obsolete comment Updated Hungarian translation