2017-08-07 Carlos Garnacho Release 1.99.2 2017-08-03 Carlos Garnacho 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 Updated Czech translation 2017-07-28 Lucas Satabin 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 Updated Spanish translation 2017-07-24 Lubomir Rintel 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 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 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 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 Update Indonesian translation 2017-07-19 Carlos Garnacho 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 Update Friulian translation 2017-07-17 Rico Tzschichholz libtracker-miner: Fix introspection warning due header/source-def mismatch 2017-07-16 Carlos Garnacho 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 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 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 Update Slovak translation 2017-07-12 Carlos Garnacho 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 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 Fix Spanish translation header See https://bugzilla.gnome.org/show_bug.cgi?id=771765 2017-07-10 Kukuh Syafaat Update Indonesian translation 2017-07-10 Carlos Garnacho 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 Update POTFILES.in 2017-07-10 Carlos Garnacho 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 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 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 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 . 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 Use glib preset for i18n https://bugzilla.gnome.org/show_bug.cgi?id=783750 2017-07-03 Carlos Garnacho 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 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 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 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 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 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 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 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 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 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 Fix to Catalan translation Update Catalan translation 2017-06-08 Sam Thursfield 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 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 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 Марко Костић Update Serbian translation (cherry picked from commit bdba71e0313b91ca7d5eea275bd1d559527302c8) 2017-05-23 Carlos Garnacho Release 1.13.0 distcheck fixes Hopefully among the last ones! 2017-05-22 Sam Thursfield 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 Meson build instructions for Tracker See 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 libtracker-common: Whitelist openat() With the same caveats than open(). https://bugzilla.gnome.org/show_bug.cgi?id=782514 2017-05-03 Fabio Tomat Update Friulian translation 2017-05-03 Sam Thursfield 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 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 . 2017-04-12 Sam Thursfield 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 Update Russian translation (cherry picked from commit 267eec992f033b9e7c71a2ab6370828a8c9afe4c) 2017-04-06 Carlos Garnacho 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 Remove unused Vala dep Fix another printf format for gsize, it varies between 32/64 bit 2017-03-29 Fabio Tomat Update Friulian translation (cherry picked from commit 922c213a52859c6ee0a2b9f3f4dee6f5104bfaa7) 2017-03-21 Sam Thursfield 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 Release 1.12.0 2017-03-18 Rūdolfs Mazurs Update Latvian translation 2017-03-14 Kukuh Syafaat Update Indonesian translation 2017-03-13 Milo Casagrande Update Italian translation 2017-03-11 Sam Thursfield 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 Updated Lithuanian translation 2017-03-04 Seong-ho Cho Update Korean translation 2017-03-02 Ask Hjorth Larsen Updated Danish translation 2017-02-28 Carlos Garnacho 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 Update German translation 2017-02-27 Chao-Hsiung Liao Update Chinese (Taiwan) translation 2017-02-26 Мирослав Николић Updated Serbian translation 2017-02-26 Fran Dieguez Updated Galician translations 2017-02-24 Carlos Garnacho 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 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 Updated French translation 2017-02-19 Kjartan Maraas Updated Norwegian bokmål translation. 2017-02-18 Jiri Grönroos Update Finnish translation 2017-02-18 Anders Jonsson Update Swedish translation 2017-02-16 Ask Hjorth Larsen Updated Danish translation 2017-02-13 Inaki Larranaga Murgoitio Update Basque language 2017-02-06 Sam Thursfield 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 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 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 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 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 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 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 Fix translator comments They need to be exactly one line above a string to show up in .po files. 2017-01-27 Carlos Garnacho 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 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 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 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 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 Update Polish translation 2017-01-20 Sam Thursfield 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 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 Update Slovak translation 2017-01-18 Carlos Garnacho Release 1.11.3 2017-01-16 Carlos Garnacho 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 Update Brazilian Portuguese translation 2016-12-22 Daniel Mustieles Updated Spanish translation 2016-12-22 Carlos Garnacho 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 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 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 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 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 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 tracker-extract: Plug FD leak in GIF extractor libtracker-data: Improve error checks on REPLACE implementation 2016-12-08 Carlos Garnacho 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 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 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ó Update Hungarian translation 2016-11-21 Sam Thursfield 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 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 Updated Czech translation 2016-11-20 Carlos Garnacho 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 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 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 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 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 Update Friulian translation 2016-11-03 Carlos Garnacho 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 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 Update Spanish translation 2016-10-30 Aurimas Černius Updated Lithuanian translaton 2016-10-29 Mario Blättermann Update German translation 2016-10-28 Marek Černocký Updated Czech translation 2016-10-26 Marinus Schraal 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 Update Swedish translation 2016-10-23 Gábor Kelemen Update Hungarian translation 2016-10-19 Carlos Garnacho 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 Update Polish translation 2016-10-18 Dz Chen Update zh_CN translation 2016-10-16 Carlos Garnacho libtracker-sparql: Avoid C++ keyword in variable "namespace" is a C++ keyword, better to avoid in public headers, spotted by Christoph Cullmann . https://bugzilla.gnome.org/show_bug.cgi?id=772979 2016-10-13 Fabio Tomat Update Friulian translation (cherry picked from commit 86f17e9fe0446e74051f98095ef7de4b182ad349) 2016-10-12 Fabio Tomat Update Friulian translation (cherry picked from commit 67bbfc1f6331dd844d1638a17100ad8256d9152d) 2016-10-12 Andrew Branson 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 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 Use Unicode in translatable strings See https://developer.gnome.org/hig/stable/typography.html 2016-10-09 Carlos Garnacho 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 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 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 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 Fixes to Catalan translation 2016-09-20 Sam Thursfield functional-tests: Fix brokenness introduced in e4493c677f721193c3e641 2016-09-19 Inaki Larranaga Murgoitio Update Basque language 2016-09-19 Carlos Garnacho Release 1.10.0 2016-09-18 David King Update British English translation 2016-09-17 Ask Hjorth Larsen Updated Danish translation 2016-09-16 Tom Tryfonidis Updated Greek translation 2016-09-14 Carlos Garnacho 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 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 Add more options to XGETTEXT_OPTIONS in po/Makevars 2016-09-11 Baurzhan Muftakhidinov Added Kazakh translation 2016-09-10 Piotr Drąg Updated Polish translation 2016-09-09 Fran Dieguez Updated Galician translations 2016-09-08 Rūdolfs Mazurs Update Latvian translation 2016-09-08 Anders Jonsson Updated Swedish translation 2016-09-08 Trần Ngọc Quân Init Vietnamese translation 2016-09-05 Fabio Tomat Updated Friulian translation Updated Friulian translation Updated Friulian translation Updated Friulian translation Updated Friulian translation Updated Friulian translation 2016-09-04 Charles Monzat Updated French translation 2016-09-03 Debarshi Ray 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 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 Updated Korean translation 2016-09-02 Fabio Tomat Updated Friulian translation Updated Friulian translation Updated Friulian translation 2016-09-01 Fabio Tomat Updated Friulian translation Updated Friulian translation 2016-08-31 Fabio Tomat Updated Friulian translation Updated Friulian translation 2016-08-30 Rafael Fontenelle Updated Brazilian Portuguese translation 2016-08-28 Мирослав Николић Updated Serbian translation 2016-08-26 Fabio Tomat Added Friulian translation 2016-08-26 Ask Hjorth Larsen Updated Danish translation 2016-08-23 Carlos Garnacho Release 1.9.1 tests: Include new libtracker-data tests in dist libtracker-miner: Move to next priority queue segment after deleting tail If the tail element of a segment is being removed, we didn't move on to the next one, so accounting of subsequent segments might get broken if further elements are removed that are the head or the tail of a segment. Also, just do the "jump to next segment" bit generic, so the affected paths just turn on a fetch_segment boolean flag. https://bugzilla.gnome.org/show_bug.cgi?id=769035 2016-08-23 Debarshi Ray libtracker-control: Add convenience API for IndexFileForProcess This mirrors the miner D-Bus API that is already available. https://bugzilla.gnome.org/show_bug.cgi?id=757369 2016-08-22 Piotr Drąg Updated Polish translation 2016-08-20 Balázs Úr Updated Hungarian translation 2016-08-19 Flo H Updated German translation 2016-08-19 Andika Triwidada Updated Indonesian translation 2016-08-17 Marek Černocký Updated Czech translation 2016-08-10 Carlos Garnacho configure: Do not hardcode dep on libpng There is a --enable/disable-png check below. 2016-08-05 Dušan Kazik Updated Slovak translation 2016-08-02 Daniel Mustieles Updated Spanish translation 2016-07-31 Aurimas Černius Updated Lithuanian translation 2016-07-25 Piotr Drąg Add Language headers to po files Future versions of gettext will fail if this header is missing. 2016-07-18 Daniel Mustieles Updated Spanish translation 2016-07-17 Carlos Garnacho libtracker-sparql-backend: Turn failure to initialize direct backend to a warning This usually indicates a wrong environment, we elegantly fallback to using the bus backend so this is for the most part not noticeable by the user. Turn this into a warning so the problem is more visible. tracker: Fix possible warnings with the tracker search -[msivt] subcommands We used to poke a third column when the "no search term given" queries just return 2. This triggers warnings in the bus backend, but doesn't with the direct backend, which just returns NULL. Some people are seeing these warnings, which sounds bad enough because it means tracker is forcing the "bus" backend for some reason. But of all ways to notice this situation, this should not be one. tests: Add tests around DELETE{}INSERT{}WHERE{} syntax several (un)successful replacements of data are tested. tests: Add tests around update syntax So far, test for INSERT DATA, DELETE DATA and DELETE WHERE, which became broken recently. libtracker-data: Fix INSERT/DELETE DATA and DELETE WHERE syntax This was broken with the introduction of DELETE{}INSERT{}WHERE{}. Unbreak it, and check harder for invalid syntax situations, which we should warn about. libtracker-sparql: Make tracker URI GType private We don't expose it anywhere in API, may be hidden as an implementation detail. libtracker-extract: Remove TrackerSparqlBuilder guarantee functions Those are not used anymore, and libtracker-extract is private, so... tests: Update tracker guarantee tests to check the TrackerResource functions Those are the ones used now. 2016-07-16 Carlos Garnacho libtracker-sparql: Add TrackerResource/NamespaceManager to docs And document the missing functions. libtracker-sparql: Fix small typo Quite harmless, but triggers gtk-doc warnings. libtracker-extract: Ensure UTF-8 content in contact/tag helpers Those are created from untrusted data in some places, better to ensure UTF-8 content in those. tracker-extract-tiff: Ensure UTF-8 content in several TIFF fields We can't rely on libtiff to do this. tracker-extract-gif: Ensure UTF-8 content in nie:comment We can't rely on libgif to do this. tracker-extract-jpeg: Ensure UTF-8 content in nie:comment We can't rely on libjpeg to do this. libtracker-extract: Add tracker_guarantee_resource_utf8_string() This is a wrapper to tracker_resource_set_string(), which additionally validates the string to be UTF-8, and inserts only as much text as could be validated. Can be thought of as an internal replacement to tracker_sparql_builder_object_unvalidated(), the fact that we deal with non utf-8 data sources is an implementation detail to extractors, so it doesn't make as much sense to make this a public function in the shiny new TrackerResource API. tracker-extract-mp3: Fix albumArtist coalescing It seems the fix in commit 6dc2c85856 got oddly merged with the TrackerResource work, this fixes coalescing so the performer is used again as a last resort to determining the nmm:albumArtist. 2016-07-15 Sam Thursfield Merge branch 'sam/resource' 2016-07-14 Sam Thursfield Use TrackerResource instead of TrackerSparqlBuilder in all extractors For a long time, all the Tracker extractors have manually constructed a SPARQL update command using TrackerSparqlBuilder to represent their output. This commit changes all of them to use the TrackerResource class instead, which makes the code a lot more concise and readable. This introduces some API breaks in the internal libtracker-extract library. This has been a private library since Tracker 0.16 or earlier, so it's fine. If the extractors only output SPARQL then they are only useful to people who are using a SPARQL store. Now we can output a serialization format like Turtle as well. This will hopefully make the extract modules useful outside of Tracker itself. I've tried to preserve the behaviour of the extractors as much as possible, but there are two things that are now handled differently: * nao:Tag resources are given a fixed URI based on the tag label, such as . Previously they were inserted as blank nodes, so tracker-store would give them unique IDs like * All extractors created nco:Contact resources for content publishers, but previously some would assign fixed URIs based on the name , while others would insert them as blank nodes so they would be assigned unique IDs like . Now, all extractors create nco:Contact resources with fixed URIs based on the content creator's name. https://bugzilla.gnome.org/show_bug.cgi?id=767472 2016-07-14 Sam Thursfield libtracker-extract: Add resource-helpers module This is factoring common code out of the individual extract modules. https://bugzilla.gnome.org/show_bug.cgi?id=767472 2016-07-14 Sam Thursfield libtracker-sparql: Add TrackerResource class This provides a "resource-oriented" API for inserting and updating the database. Rather than having to generate SPARQL queries, you can use the TrackerResource abstraction to prepare information about a set of resources, then generate a SPARQL query automatically. TrackerResource can also serialize to Turtle directly. https://bugzilla.gnome.org/show_bug.cgi?id=767472 2016-07-14 Sam Thursfield libtracker-sparql: Add TrackerNamespaceManager This will keep track of a set of namespaces and their prefixes. Then, when we are serializing a resource, we can use it. This is separate from the Namespace and Ontologies classes in libtracker-data. They may be able to make use of it though. https://bugzilla.gnome.org/show_bug.cgi?id=767472 libtracker-sparql: Add TRACKER_TYPE_URI This is the same as G_TYPE_STRING, but we need to treat strings and URIs differently when generating SPARQL from the TrackerResource class, so we need a separate GType to keep track of which is which when given a GValue. https://bugzilla.gnome.org/show_bug.cgi?id=767472 2016-07-14 Sam Thursfield Bump GLib dependency to 2.44 So I can use G_DECLARE_DERIVABLE_TYPE() instead of writing out everything manually. https://bugzilla.gnome.org/show_bug.cgi?id=767472 2016-07-14 Sam Thursfield tracker-extract: Fix invalid SPARQL used when blacklisting files This issue meant that files that triggered crashes never got blacklisted, as the invalid SPARQL was ignored by the tracker-store. So tracker-extract would spin on invalid files forever in some cases. Clarify SPARQL example in manpage https://bugzilla.gnome.org/show_bug.cgi?id=767246 Merge branch 'sam/extract-command' 2016-07-13 Sam Thursfield functional-tests: Add test case for re-extracting known files This testcase should pass. I did think there was a bug here and opened , but that turned out to be invalid. functional-tests: Fix bug in await_resource_inserted() As a performance optimisation, after the first GraphUpdated signal for a resource, subsequent changes to that resource would be ignored. This is actually dumb, because it means we ignore all the data added by the extractor in some cases. 2016-07-12 Sam Thursfield tracker-extract-gstreamer: Only show GstDateTime message with verbosity=debug I can't see any use for this message myself, maybe it should be removed altogether: GstDateTime was not complete, parts of the date/time were missing (e.g. hours, minutes, seconds) 2016-07-04 Sam Thursfield Add example configuration 'uncrustify' formatting tool This is useful for aligning variables in parameter names. tracker-extract-gstreamer: Fix hash value format on 32-bit systems The gsize type is 32 bits on a 32-bit system, but the hash value we are printing is a guint64 so it's 64 bits on all systems. Note that G_GINT64_MODIFIER is for both signed and unsigned int64 values. 2016-07-03 Adrien Bustany Updated French translation 2016-06-30 Sam Thursfield sandbox: Support Python 3 as well as Python 2 sandbox: Fix MIME hack introduced in 8a758a03afada It seems that new systems don't have this custom 'mime' dir (which is good news), it's just some weird relic that exists on my laptop. The workaround should now not break things in any case. 2016-06-28 Igor Gnatenko tracker-store: use @libexecdir@ in systemd service References: https://bugzilla.gnome.org/show_bug.cgi?id=768127 2016-06-25 Sam Thursfield sandbox: Fix MIME-type detection inside the sandbox It turns out that MIME-type detection depends on various files in $XDG_DATA_HOME/mime, at least on my Fedora 24 system. We need to link to these files in our overridden XDG_DATA_HOME dir if we want extraction to work properly, otherwise everything is detected as text/plain. 2016-06-24 Sam Thursfield libtracker-data: Fix pointer sign warnings 2016-06-22 Tiago Santos Updated Portuguese translation 2016-06-21 Carlos Garnacho 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 Updated Brazilian Portuguese translation 2016-06-14 Sam Thursfield configure.ac: Remove some unused variables 2016-06-14 Sam Thursfield 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 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 Updated Slovak translation 2016-06-11 Sam Thursfield 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 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 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 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 Updated Spanish translation 2016-06-05 Carlos Garnacho 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 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 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 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 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 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 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 Updated Occitan translation 2016-05-28 Carlos Garnacho 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 tracker-extract: Install DjVu rule https://bugzilla.gnome.org/show_bug.cgi?id=754479#c5 2016-05-25 Friedrich Herbst Updated German translation 2016-05-22 Carlos Garnacho 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 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 Updated Portuguese translation 2016-05-16 Daniel Mustieles Updated Spanish translation 2016-05-16 Simon McVittie 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 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 tracker-extract: Add RDF type for DjVu files https://bugzilla.gnome.org/show_bug.cgi?id=754479 2016-05-14 Julien Hémono 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 Updated Occitan translation 2016-05-10 Antoine Jacoutot 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 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 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 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 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 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 extractor: Store albumArtist from TPE2 tag https://bugzilla.gnome.org/show_bug.cgi?id=764143 2016-05-07 Carlos Garnacho 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 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 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 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 Updated Portuguese translation 2016-04-25 Timm Bäder miner-manager: Plug memory leak https://bugzilla.gnome.org/show_bug.cgi?id=765172 2016-04-07 Sam Thursfield 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 Fix build on illumos. https://bugzilla.gnome.org/show_bug.cgi?id=761177 2016-04-02 Carlos Garnacho 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 Adapt to new GKqueue monitor naming. 2016-03-27 Carlos Garnacho 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 configure.ac: Add note about Automake subdir-objects option It seems to break the build because of an Automake bug, see: 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 Release 1.8.0 2016-03-21 fosero 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 Updated Danish translation 2016-03-14 Carlos Garnacho 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 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 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 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 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 Updated Occitan translation 2016-02-26 Marinus Schraal 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 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 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 Release 1.7.3 libtracker-miner: Fix invalid return value warning 2016-02-15 Carlos Garnacho 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 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 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 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 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 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 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 Update Latvian translation 2016-01-28 Carlos Garnacho 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 Update the AppData to spec version 0.7+ 2016-01-21 Carlos Garnacho 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 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 Revert "libtracker-data: Clean up stale URIs on startup" This reverts commit e4a0f7be0c138a733b74413ff7a11a9431c7fe08. 2016-01-11 Carlos Garnacho 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 Fix small memory leak 2016-01-10 Aurimas Černius Updated Lithuanian translation 2015-12-17 Carlos Garnacho 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 Updated Swedish translation 2015-12-13 Matej Urbančič Updated Slovenian translation 2015-12-10 Debarshi Ray 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 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 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 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 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 Us ... instead of … for zh_CN 2015-11-14 liushuyu update zh_CN translation 2015-10-30 Debarshi Ray 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 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 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 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 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 Updated Basque language 2015-10-11 Sam Thursfield 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 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 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 Updated Italian translation 2015-09-25 Bastien Nocera 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 Милош Поповић Updated Serbian Latin translation Updated Serbian translation 2015-09-22 Carlos Garnacho 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 Updated Danish translation 2015-09-20 Rafael Fontenelle Updated Brazilian Portuguese translation 2015-09-20 Kjartan Maraas Updated Norwegian bokmål translation. 2015-09-20 Alexandre Franke Updated French translation 2015-09-18 Bernd Homuth Updated German translation 2015-09-18 Stas Solovey Updated Russian translation 2015-09-13 Muhammet Kara Updated Turkish translation 2015-09-08 Matej Urbančič Updated Slovenian translation 2015-09-05 Seong-ho Cho Updated Korean translation 2015-09-02 Dominique Leuenberger 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 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 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 Updated Indonesian translation 2015-08-28 Tom Tryfonidis Updated Greek translation 2015-08-28 Xavier Claessens 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 Updated German translation 2015-08-26 Anders Jonsson Updated Swedish translation 2015-08-26 Chao-Hsiung Liao Updated Chinese (Taiwan) translation 2015-08-25 Piotr Drąg Updated Polish translation 2015-08-25 Fran Dieguez Updated Galician translations 2015-08-20 Carlos Garnacho Release 1.5.2 2015-08-19 Carlos Garnacho 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 libtracker-miner: Deprecate tracker_miner_fs_add_directory_without_parent This has been unused since commit 74d20884c870c2f54d93d3c01824b0994629c5d3. 2015-08-17 Jordi Mas Update Catalan translation 2015-08-15 Carlos Garnacho 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 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 Updated Turkish translation 2015-08-08 Felipe Braga Updated Brazilian Portuguese translation 2015-08-04 Carlos Garnacho 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 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 Updated Portuguese translation 2015-08-02 Aurimas Černius Updated Lithuanian translation 2015-07-31 Piotr Drąg Updated Polish translation 2015-07-31 Martyn Russell 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 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 tracker: Fixed search with -f or --files , broken expression https://bugzilla.gnome.org/show_bug.cgi?id=752871 2015-07-27 Dušan Kazik Updated Slovak translation 2015-07-26 Carlos Garnacho 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 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 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ý Updated Czech translation 2015-07-24 Carlos Garnacho 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 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 libtracker-data: Fix printf string format Introduced by commit 81135ae19c727df716d0c0945869462e75a53497. https://bugzilla.gnome.org/show_bug.cgi?id=752717 2015-07-21 Carlos Garnacho 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 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 configure: bump required libgrss version to 0.7 and now grss has unversioned pc name 2015-07-18 Carlos Garnacho rss: use tracker_sparql_builder_object_blank_open()/close() Tested-by: Igor Gnatenko 2015-07-18 Igor Gnatenko rss: add extracting additional attrs for persons GrssPerson is introduced in libgrss 0.7 2015-07-18 Carlos Garnacho 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 Updated Portuguese translation 2015-07-17 Balázs Úr Updated Hungarian translation 2015-07-17 Carlos Garnacho 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 Updated Spanish translation 2015-07-16 Carlos Garnacho 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 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 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 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 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 Updated Spanish translation 2015-07-12 Carlos Garnacho 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 build: Fix AM_CONDITIONAL position HAVE_{GSTREAMER,LIBAV} definition https://bugzilla.gnome.org/show_bug.cgi?id=750368 2015-07-06 Carlos Garnacho 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 Updated Portuguese translation 2015-07-06 Philip Withnall 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ä 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 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 Fix tracker-encoding-test After commit ede17cc22b0c6245c030 this was failing to compile. 2015-07-05 Carlos Garnacho 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 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 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 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 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 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 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 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 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 Updated Portuguese translation 2015-06-23 Balázs Úr Updated Hungarian translation 2015-06-20 Ralph Boehme configure: fix conditional AM_CONDITIONAL 2015-06-16 Piotr Drąg Updated Polish translation 2015-05-31 Iain Lane 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 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 Updated Spanish translation 2015-05-26 Daniel Mustieles Updated Spanish translation 2015-05-23 Michael Biebl 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 Updated Slovak translation 2015-05-20 Christian Kirbach Updated German translation 2015-05-18 Jordi Mas Fixes to Catalan translation 2015-05-17 Martin Srebotnjak Updated Slovenian translation 2015-05-09 Alexander Shopov Added Bulgarian translation 2015-04-26 Cheng-Chia Tseng <> Updated Chinese (Taiwan) translation 2015-04-25 Marek Černocký Updated Czech translation 2015-04-24 Philip Withnall 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 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 Slightly improve new strings Updated POTFILES.in 2015-04-01 Kunaal 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 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 openbsd: implement tracker_process_get_uid_for_pid() https://bugzilla.gnome.org/show_bug.cgi?id=697719 2015-03-24 Daniel Mustieles Updated Spanish translation 2015-03-24 Milo Casagrande Updated Italian translation 2015-03-24 Marek Černocký Updated Czech translation 2015-03-24 Piotr Drąg Updated Polish translation 2015-03-24 Enrico Nicoletto Updated Brazilian Portuguese translation 2015-03-23 Kunaal 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 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 Updated Indonesian translation 2015-03-22 Muhammet Kara Updated Turkish translation 2015-03-21 Ting-Wei Lan Fix "void function should not return a value" https://bugzilla.gnome.org/show_bug.cgi?id=746381 2015-03-20 Josef Andersson Updated Swedish translation 2015-03-20 Milo Casagrande Updated Italian translation 2015-03-17 Carlos Garnacho 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č Updated Slovenian translation 2015-03-15 Ask Hjorth Larsen Updated Danish translation 2015-03-15 Matej Urbančič Updated Slovenian translation 2015-03-15 Мирослав Николић Updated Serbian translation 2015-03-13 Samir Ribic Added Bosnian translation 2015-03-12 Carlos Garnacho 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 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 Updated Korean translation 2015-03-06 Carlos Garnacho 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 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 Updated Russian translation 2015-03-04 Alain Lojewski Updated French translation 2015-03-03 Carlos Garnacho Release 1.3.4 2015-03-02 Piotr Drąg Updated Polish translation 2015-02-28 Dušan Kazik Updated Slovak translation 2015-02-27 Andres Gomez 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 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 Updated Chinese (Taiwan) translation 2015-02-15 Dušan Kazik Updated Slovak translation 2015-02-14 Kristjan SCHMIDT Updated Esperanto translation 2015-02-12 Kjartan Maraas Updated Norwegian bokmål translation. 2015-02-09 Aurimas Černius Updated Lithuanian translation 2015-02-07 Inaki Larranaga Murgoitio Updated Basque language 2015-02-05 Martyn Russell 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 tracker-extract: Add width and height information to BMP extractor https://bugzilla.gnome.org/show_bug.cgi?id=741109 2015-01-29 Michael Raitza 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 Mechanically adjust for libmediaart-2.0 https://bugzilla.gnome.org/show_bug.cgi?id=743250 2015-01-17 Dimitris Spingos Updated Greek translation 2015-01-13 Debarshi Ray 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 Updated Galician translations 2015-01-08 Inaki Larranaga Murgoitio Updated Basque language 2015-01-05 Debarshi Ray 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 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 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 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 tracker-needle: Missing accessible label names on tracker-needle widgets https://bugzilla.gnome.org/show_bug.cgi?id=663687 2014-12-27 Sam Thursfield 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 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 Updated German translation 2014-12-22 Philip Withnall 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 functional-tests: Fix bad calls to `tracker daemon` command 2014-12-22 Philip Van Hoof Use crawler's max_depth param of start in file_system_traverse 2014-12-20 Martin Kampas 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 Updated Hungarian translation 2014-12-18 Daniel Mustieles Updated Spanish translation 2014-12-15 Martyn Russell 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ý Updated Czech translation 2014-12-15 Rafael Ferreira Updated Brazilian Portuguese translation 2014-12-12 Martyn Russell 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 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 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 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 Updated Polish translation 2014-12-10 Martyn Russell 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 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 utils/clean-tracker-prefix: Look in 'lib64' as well as 'lib' for libraries 2014-12-03 Martyn Russell 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 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 libtracker-common: Move and fix tracker-parser unit tests from libtracker-fts 2014-12-02 Colin Walters 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 tracker-preferences: Make data reset clearer to users https://bugzilla.gnome.org/show_bug.cgi?id=740268 2014-12-02 David King 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 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 Make --disable-tracker-fts compile again Fix compilation error in case of --disable-tracker-fts 2014-11-30 Balázs Úr Updated Hungarian translation 2014-11-26 Marek Černocký Updated Czech translation 2014-11-19 Kjartan Maraas Updated Norwegian bokmål translation. 2014-11-17 Duarte Loreto Updated Portuguese translation 2014-11-12 Daniel Mustieles Updated Spanish translation 2014-11-06 Martyn Russell Release 1.3.0 2014-11-03 Timo Jyrinki Change Finnish translation team web page to l10n.gnome.org 2014-10-29 Marcus Karlsson 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 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 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 Take ownership of the GFile in the GPtrArray 2014-10-23 Gábor Kelemen Updated Hungarian translation 2014-10-21 Martyn Russell Fix distcheck issues 2014-10-20 Martyn Russell Merge branch 'data-in-binary-dirs' 2014-10-14 Debarshi Ray 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 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 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 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 Updated Italian translation 2014-10-08 Martyn Russell 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 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 Support for nrl:maxCardinality changing from one to many 2014-09-27 Martyn Russell 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 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 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 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 libtracker-miner: Update vala binding 2014-09-22 Martyn Russell Release 1.2.0 2014-09-22 Debarshi Ray tests: Locale fix 2014-09-22 Martyn Russell libtracker-miner: Removed APIs that were never released as stable API 2014-09-22 Debarshi Ray 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 update zh_CN translation 2014-09-20 Carles Ferrando [l10n] Updated Catalan (Valencian) translation 2014-09-20 Gil Forcada [l10n] Update Catalan translation 2014-09-19 Jan Engelhardt tracker-extract-gif: add compatibility with GIFLib 5.1.0 https://bugzilla.gnome.org/show_bug.cgi?id=736328 2014-09-19 Martyn Russell 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 Updated Danish translation 2014-09-16 Richard Hughes 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č Added Slovenian translation 2014-09-14 Dušan Kazik Updated Slovak translation 2014-09-12 Claude Paroz Updated French translation 2014-09-12 Martyn Russell utils: Added script to clean up tracker prefix... clean-tracker-prefix 2014-09-11 Rico Tzschichholz libtracker-miner: Update vala binding Follow up 354fc70f09b9a9a5f26be730a535d323be2f27bb 2014-09-10 Christian Kirbach Updated German translation 2014-09-10 Aurimas Černius Updated Lithuanian translation 2014-09-09 Ville-Pekka Vainio Finnish translation update by Jiri Grönroos 2014-09-09 Seong-ho Cho Updated Korean translation 2014-09-08 Aleksander Morgado doap: update email addresses 2014-09-07 Marek Černocký Updated Czech translation 2014-09-07 Yuri Myasoedov Updated Russian translation 2014-09-07 Piotr Drąg Updated Polish translation 2014-09-06 Piotr Drąg Updated Polish translation 2014-09-05 Martyn Russell 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 Updated Greek translation 2014-09-04 Fran Diéguez Updated Galician translations 2014-09-04 Enrico Nicoletto Updated Brazilian Portuguese translation 2014-09-04 Andika Triwidada Updated Indonesian translation 2014-09-04 Daniel Mustieles Updated Spanish translation 2014-09-04 Martyn Russell 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 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 libtracker-bus: Fix statistics with Vala 0.24+ 2014-09-01 Martyn Russell tracker-extract: Fixed distcheck, missing ebook and comics rules files libtracker-fts: Fixed memory leak for property_names variable 2014-08-31 Bastien Nocera 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 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 libtracker-extract: Fix broken EXIF GPS coordinate extraction This was causing Valgrind to report reading past memory barriers 2014-08-28 Bastien Nocera 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 ontology: Add nfo:EBook for electronic books https://bugzilla.gnome.org/show_bug.cgi?id=735460 2014-08-28 Tim Lunn build: include COPYING*GPL files in tarball https://bugzilla.gnome.org/show_bug.cgi?id=735567 2014-08-27 Nilamdyuti Goswami Added Assamese translation 2014-08-26 Martyn Russell 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 Updated Galician translations 2014-08-25 Martyn Russell 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 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ý Updated Czech translation 2014-08-24 Alexandre Franke Updated French translation 2014-08-23 Yuri Myasoedov Updated Russian translation 2014-08-22 Enrico Nicoletto Updated Brazilian Portuguese translation 2014-08-21 Philip Van Hoof Fix BMP indexing 2014-08-21 Martyn Russell tracker-extract: Added rule for source code files for nfo:SourceCode type 2014-08-21 Andres Gomez libtracker-extract: Only use FallbackRdfTypes from the first matching module https://bugzilla.gnome.org/show_bug.cgi?id=733573 2014-08-21 Giovanni Campagna 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 Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-08-19 Martyn Russell 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 Updated Spanish translation 2014-08-17 Lasse Liehu Finnish translation update 2014-08-17 Tom Tryfonidis Updated Greek translation 2014-08-15 Aurimas Černius Updated Lithuanian translation 2014-08-14 Martyn Russell libtracker-miner: Make sure we return NULL on FileDataProvider begin() errors libtracker-fts: Make private functions static 2014-08-13 Martyn Russell Merge branch 'crash-aware-extractor' 2014-08-13 Carlos Garnacho 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 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 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 tests: Re-write guarantee metadata test to separate tests better 2014-08-08 Tim Lunn 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 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 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 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 Merge branch 'sam/signal-handling' 2014-08-06 Dominique Leuenberger build: update firefox and thunderbird detection 2014-08-04 MarMav Updated Greek translation 2014-08-02 MarMav Updated Greek translation 2014-08-01 Sam Thursfield 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 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 doap: add 2014-07-31 Sam Thursfield 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 doap category core 2014-07-30 Martyn Russell 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 Fix "Non-void function should return a value" https://bugzilla.gnome.org/show_bug.cgi?id=733948 2014-07-29 Yanko Kaneti libtracker-miner: .pc Requires.priv libmediaart 2014-07-29 YunQiang Su update zh_CN translation 2014-07-28 Martyn Russell 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 Updated Brazilian Portuguese translation 2014-07-27 Sam Thursfield Correct typo in comment 2014-07-26 Aurimas Černius Updated Lithuanian translation 2014-07-26 Sam Thursfield 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 Updated Spanish translation 2014-07-22 Piotr Drąg tracker-preferences: Mark new strings as translatable 2014-07-22 Martyn Russell 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 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 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 Updated Brazilian Portuguese translation 2014-07-16 Rico Tzschichholz build: Require gnome-common and build a proper Changelog Includes further fixes for "make distcheck" 2014-07-11 Dominique Leuenberger 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 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 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 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 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 Updated Lithuanian translation 2014-07-02 Martyn Russell 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 Updated Russian translation 2014-07-02 Martyn Russell build: Fixed distcheck failures 2014-06-30 Daniel Mustieles Updated Spanish translation 2014-06-27 Martyn Russell 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 Updated Turkish translation 2014-06-18 Muhammet Kara Added Turkish translation 2014-06-17 Daniel Mustieles Updated Spanish translation 2014-06-13 Aleksander Morgado build: use pkg-config to look for which gdbus-codegen to use 2014-06-10 Martyn Russell tracker-needle, tracker-preferences: Add AppData https://bugzilla.gnome.org/show_bug.cgi?id=730627 2014-06-09 Fran Diéguez Updated Galician translations 2014-06-05 Ralph Boehme 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 tracker-extract: Fix build with libav when libmediaaart is disabled https://bugzilla.gnome.org/show_bug.cgi?id=728370 2014-06-03 Gil Forcada [l10n] Update Catalan translation 2014-06-01 Ralph Boehme 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 Updated Italian translation 2014-05-20 Daniel Mustieles Updated Spanish translation Updated Spanish translation 2014-05-18 Marek Černocký Updated Czech translation 2014-05-14 Marek Černocký Updated Czech translation 2014-05-14 Martyn Russell 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) 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 Мирослав Николић Updated Serbian translation 2014-05-12 Martyn Russell 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 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 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 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 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 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 [l10n] Update Catalan translation 2014-05-07 Martyn Russell 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 Updated German translation 2014-05-06 Roberto Guido tracker-miner-rss: Fixed subclassing from TrackerMinerOnline 2014-05-05 Dimitris Spingos Updated Greek translation 2014-04-30 Piotr Drąg Updated POTFILES.in and POTFILES.skip Updated Polish translation 2014-04-29 Martyn Russell 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 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 Updated Lithuanian translation 2014-04-23 Martyn Russell 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 Updated Ukrainian translation 2014-04-22 Martyn Russell libtracker-miner: Decorator causes crash on _update_array_finish() failures. https://bugzilla.gnome.org/show_bug.cgi?id=728546 2014-04-21 Xavier Claessens Make sure vorbis extractor builds without libmediaart https://bugzilla.gnome.org/show_bug.cgi?id=728370 2014-04-21 Daniel Korostil Updated Ukrainian translation 2014-04-20 marablack3 Updated Greek translation 2014-04-15 Martyn Russell 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 Updated Russian translation 2014-04-06 Piotr Drąg doap: update URLs 2014-04-05 Daniel Korostil Updated Ukrainian translation 2014-03-31 Martyn Russell tracker-extract: Fix BMP compilation warnings 2014-03-29 Inaki Larranaga Murgoitio Added Basque language\nAdded 'eu' (Basque) to LINGUAS 2014-03-29 Seong-ho Cho Updated Korean translation 2014-03-26 YunQiang Su update zh_CN translation 2014-03-25 Martyn Russell Merge branch 'tracker-tag-and-operator-fix' 2014-03-25 Philip Van Hoof 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 Release 1.0.0 2014-03-24 Haithem Ben Ghorbal 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 Updated Portuguese translation 2014-03-23 Ask H. Larsen Updated Danish translation 2014-03-22 Chao-Hsiung Liao Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-03-21 Martyn Russell 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 Updated Hungarian translation 2014-03-21 Dominique Brazziel docs: minor tracker-store man page cleanup https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=675198 2014-03-21 Martyn Russell 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 Updated Indonesian translation 2014-03-20 Martyn Russell 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 Updated Latvian translation 2014-03-19 Ask H. Larsen Updated Danish translation 2014-03-19 Rūdolfs Mazurs Updated Latvian translation 2014-03-19 Marek Černocký Updated Czech translation 2014-03-19 Martyn Russell 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 libtracker-sparql: Fix undefined reference to symbol 'tracker_ipc_bus' Now we link with libtracker-common 2014-03-19 Milo Casagrande Updated Italian translation 2014-03-19 Мирослав Николић Updated Serbian translation 2014-03-18 Martyn Russell Release 0.17.6 2014-03-18 Bastien Nocera 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 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 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 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 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 Updated Lithuanian translation 2014-03-17 Haithem Ben Ghorbal build: Fix typos in configure.ac for fts4 and sqlite_safe 2014-03-17 Dominique Leuenberger 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 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 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 Updated French translation 2014-03-17 Fran Dieguez Updated Galician translation 2014-03-17 Piotr Drąg Updated Polish translation 2014-03-17 Daniel Mustieles Updated Spanish translation 2014-03-17 Antonio Fernandes C. Neto Updated Brazilian Portuguese translation 2014-03-17 Martyn Russell 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 Updated Korean translation 2014-03-16 AlainLojewski Updated French translation 2014-03-16 Marek Černocký Updated Czech translation 2014-03-15 Claude Paroz Updated French translation Forward port of translation in tracker-0.16 branch. 2014-03-14 Rafael Ferreira Updated Brazilian Portuguese translation 2014-03-14 Aurimas Černius Updated Lithuanian translation 2014-03-14 Seong-ho Cho Updated Korean translation 2014-03-14 Fran Diéguez Updated Galician translations 2014-03-14 Piotr Drąg Updated Polish translation Updated POTFILES.in and POTFILES.skip 2014-03-14 Martyn Russell 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 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 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 Updated Russian translation 2014-03-10 Carlos Garnacho 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 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 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 [l10n] Updated Italian translation. 2014-03-09 Rūdolfs Mazurs Updated Latvian translation 2014-03-09 Chao-Hsiung Liao Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-03-08 Marek Černocký Updated Czech translation 2014-03-08 Aurimas Černius Updated Lithuanian translation 2014-03-08 Wylmer Wang Updated Chinese (China) translation 2014-03-07 Daniel Mustieles Updated Spanish translation 2014-03-06 Martyn Russell 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 Updated Polish translation 2014-03-06 Martyn Russell 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 Updated Galician translations 2014-03-06 Rafael Ferreira Updated Brazilian Portuguese translation 2014-03-05 Martyn Russell tracker-sparql: Support properties with --tree and case insensitivity with --search 2014-03-05 Daniel Mustieles Updated Spanish translation 2014-03-04 Martyn Russell Release 0.17.5 2014-03-03 Martyn Russell 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 Updated Galician translations 2014-03-02 Philip Van Hoof Possible use of uninitialized value 2014-03-02 Aurimas Černius Updated Lithuanian translation 2014-03-02 Marek Černocký Updated Czech translation 2014-03-02 Jürg Billeter man-pages: Update paths in tracker-extract.1 Reported by Michael Biebl. 2014-02-28 Carlos Garnacho 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 Updated Brazilian Portuguese translation 2014-02-28 Piotr Drąg Updated Polish translation 2014-02-28 Martyn Russell tracker-miner-fs: Fix documentation for 'low-disk-space-limit', was in MB not % 2014-02-26 Martyn Russell 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 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 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 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 Updated Spanish translation 2014-02-24 Carlos Garnacho 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 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 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 Updated Chinese (China) translation 2014-02-22 Marek Černocký Updated Czech translation 2014-02-22 Piotr Drąg Updated Polish translation 2014-02-21 Carlos Garnacho Release 0.17.4 2014-02-21 Aurimas Černius Updated Lithuanian translation 2014-02-21 Carlos Garnacho rss: Fix compilation with rss miner enabled Missing TRACKER_ prefix in enum value... 2014-02-21 Rafael Ferreira Updated Brazilian Portuguese translation 2014-02-21 Martyn Russell 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 Release 0.17.3 2014-02-20 Martyn Russell 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 libtracker-control: Add missing gio.h include 2014-02-20 Martyn Russell 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 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 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 Merge branch 'api-cleanup' 2014-02-20 Martyn Russell libtracker-miner: Make sure we compile if we don't HAVE_NETWORK_MANAGER 2014-02-20 Carlos Garnacho 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 TrackerDecorator: Add writable "priority-rdf-types" property 2014-02-20 Xavier Claessens 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 Merge branch 'prioritized-crawling' 2014-02-14 Martyn Russell Release 0.17.2 build: Fixed the way locales are included for FireFox and Thunderbird Fixes distcheck 2014-02-13 Martyn Russell 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 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 Added Polish translations of Firefox and Thunderbird extensions 2014-02-11 Carlos Garnacho 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 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 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 Trackerbird: Add fr-FR and es-ES locales 2014-02-10 Michael Lipp 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 [l10n] Updated Italian translation. 2014-02-07 Xavier Claessens 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 Updated Galician translations 2014-02-06 Martyn Russell 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 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 tracker-sandbox: Fix license address See https://bugzilla.gnome.org/show_bug.cgi?id=721455 2014-02-02 Rafael Ferreira Updated Brazilian Portuguese translation 2014-02-01 Andika Triwidada Updated Indonesian translation 2014-02-01 Chao-Hsiung Liao Updated Traditional Chinese translation(Hong Kong and Taiwan) 2014-01-31 Colin Walters Partially revert previous FSF translation commit It broke the "ar" and "el" translations. 2014-01-31 Daniel Mustieles Updated FSF's address 2014-01-26 Marek Černocký Updated Czech translation 2014-01-24 Martyn Russell Release 0.17.1 2014-01-24 Reinout van Schouwen Updated translation by Erwin Poeze 2014-01-23 Jürg Billeter 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 Updated Spanish translation 2014-01-22 Piotr Drąg Updated Polish translation Updated POTFILES.in 2014-01-21 Carlos Garnacho 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 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 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 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 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 { a nie:InformationElement . 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 { 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 { 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 { 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 { 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 { a nie:InformationElement . 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 { 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 { 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 { 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 Updated Galician translations 2014-01-20 Ting-Wei Lan 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 Updated Brazilian Portuguese translation 2014-01-19 Rafael Ferreira Revert "Updated Brazilian Portuguese translation" This reverts commit 6fdbaf57554ffe6d874d56e41b79b5ddc57b0db8. Updated Brazilian Portuguese translation 2014-01-18 Tong Hui Update Chinese simplified translation 2014-01-17 Martyn Russell 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ý Updated Czech translation 2014-01-17 Martyn Russell 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 Remove marshallers Glib >= 2.30 already hard depend on libffi. 2014-01-13 Dimitris Spingos Updated Greek translation 2014-01-12 Daniel Korostil Added uk translation 2014-01-10 Piotr Drąg Updated Polish translation 2014-01-10 Daniel Mustieles Updated Spanish translation 2014-01-10 Milo Casagrande [l10n] Updated Italian translation. 2014-01-09 Sam Thursfield 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 Add the rule file for libav Fixes after review for the libav support 2014-01-09 Andrew den Exter 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 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 Port to Qt5. Save folder media art for ogg files. 2014-01-09 Sam Thursfield functional-tests: Avoid requiring --enable-maemo 2014-01-08 Daniel Mustieles Updated Spanish translation 2014-01-08 Piotr Drąg Updated Polish translation 2014-01-07 Martyn Russell 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 Add strnlen() compat function 2014-01-04 Marek Černocký Updated Czech translation 2014-01-03 Rafael Ferreira Updated Brazilian Portuguese translation 2014-01-02 Christian Kirbach Updated German translation 2013-12-30 Fran Diéguez Updated Galician translations 2013-12-18 Debarshi Ray libtracker-extract: Link against libicu when using it https://bugzilla.gnome.org/show_bug.cgi?id=720686 2013-12-07 甘露(Gan Lu) Update Chinese simplified translation 2013-12-03 Carlos Garnacho 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) 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 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 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 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 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 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 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 Bump for 0.17.1 2013-11-22 Carlos Garnacho 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 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 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 Updated Greek translation 2013-11-13 Colin Walters 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č Updated Slovenian translation 2013-11-01 Martyn Russell tracker-miner-fs: Make sure we get config locally before using it for removable media 2013-10-25 Daniel Mustieles Updated Spanish translation 2013-10-19 Martyn Russell 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 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 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 build: Avoid warnings about use of old INCLUDES in Makefile.am 2013-10-17 Rūdolfs Mazurs Added Latvian translation 2013-10-16 Colin Walters 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 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 [l10n] Updated Catalan (Valencian) translation 2013-10-13 Gil Forcada [l10n] Update Catalan translation 2013-10-11 Anish A Updated Malayalam Translation 2013-10-11 Debarshi Ray tracker-extract: Rename *.rules.in to *.rules https://bugzilla.gnome.org/show_bug.cgi?id=709703 2013-10-11 Aleksander Morgado 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 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 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 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 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 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 Updated slovak translation Updated slovak translation Updated slovak translation 2013-10-03 Martyn Russell 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 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 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 Updated Polish translation 2013-10-02 Sam Thursfield 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 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 Updated Danish translation 2013-10-01 Milo Casagrande [l10n] Updated Italian translation. 2013-10-01 Carlos Garnacho 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 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 Updated Esperanto translation 2013-09-27 Martyn Russell tracker-writeback: Use cancellable for GTask from data 2013-09-27 Carlos Garnacho Fix GValue memory handling 2013-09-27 Martyn Russell 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 Updated Russian translation 2013-09-22 Kenneth Nielsen Updated Danish translation 2013-09-22 Jiro Matsuzawa l10n: Update Japanese translation 2013-09-21 Alexandre Franke Update French translation 2013-09-20 Benjamin Steinwender Updated German translation 2013-09-17 Chao-Hsiung Liao Updated Traditional Chinese translation(Hong Kong and Taiwan) 2013-09-16 Ralph Boehme 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 Updated slovak translation 2013-09-14 Ville-Pekka Vainio Finnish translation update by Jiri Grönroos 2013-09-13 Seong-ho Cho Updated Korean translation 2013-09-13 Martyn Russell 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 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 Updated Lithuanian translation 2013-09-12 Jonatan Pålsson 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 Update French translation 2013-09-12 Gabor Kelemen Updated Hungarian translation 2013-09-12 Sam Thursfield 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 Updated Indonesian translation 2013-09-11 Enrico Nicoletto Updated Brazilian Portuguese translation 2013-09-10 Piotr Drąg Updated Polish translation 2013-09-10 Milo Casagrande [l10n] Updated Italian translation. 2013-09-10 Matej Urbančič Updated Slovenian translation 2013-09-10 Marek Černocký Updated Czech translation 2013-09-10 Ihar Hrachyshka Remove obsolete Belarusian translation. 2013-09-10 Fran Diéguez Updated Galician translations 2013-09-10 Daniel Mustieles Updated Spanish translation 2013-09-10 Martyn Russell 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 Updated Russian translation 2013-09-06 Chao-Hsiung Liao Updated Traditional Chinese translation(Hong Kong and Taiwan) 2013-09-06 Мирослав Николић Updated Serbian translation 2013-09-04 Dušan Kazik Updated slovak translation 2013-09-03 Alexandre Franke Update French translation 2013-09-03 Milo Casagrande [l10n] Updated Italian translation. 2013-09-03 Ralph Boehme 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 Updated Galician translations 2013-08-24 Piotr Drąg Updated Polish translation 2013-08-21 Rafael Ferreira Updated Brazilian Portuguese translation 2013-08-19 Andrej Žnidaršič Updated Slovenian translation 2013-08-17 Matej Urbančič Updated Slovenian translation 2013-08-16 Ralph Boehme build: Update required libgsf version to 1.14.24 Needed for gsf_doc_meta_data_read_from_msole() 2013-08-14 Martyn Russell 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 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 libtracker-common: Use procfs psinfo instead of cmdline on Solaris 2013-08-11 Aurimas Černius Updated Lithuanian translation 2013-08-10 Marek Černocký Updated Czech translation 2013-08-08 Kjartan Maraas Updated Norwegian bokmål translation 2013-08-08 Daniel Mustieles Updated Spanish translation Removed markup from UI files 2013-08-07 Chao-Hsiung Liao Updated Traditional Chinese translation(Hong Kong and Taiwan) 2013-08-05 Rafael Ferreira Updated Brazilian Portuguese translation 2013-08-04 Matthias Clasen 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 Updated Hebrew translation. 2013-08-02 Marek Černocký Updated Czech translation 2013-08-02 Fran Diéguez Updated Galician translations 2013-08-01 Piotr Drąg Updated Polish translation 2013-07-31 Martyn Russell 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 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 tracker-preferences: Mention that TRACKER_USE_CONFIG_FILES has no effect 2013-07-22 Martyn Russell libtracker-common: Small changes to config file logging 2013-07-20 Chao-Hsiung Liao Updated Traditional Chinese translation(Hong Kong and Taiwan) 2013-07-19 Martyn Russell 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 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 Updated Norwegian bokmål translation 2013-07-11 Martyn Russell tracker-extract-gstreamer: Fixed missing const for GstStructure compiler warning 2013-07-11 Arnel A. Borja 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 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 tracker-control: Use procfs psinfo instead of cmdline on Solaris 2013-07-11 Jonatan Pålsson 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 Fix E-mail address in AUTHORS file libtracker-common: Fix indentation of previous patch by contributor 2013-07-11 Ralph Boehme libtracker-common: Add /proc/meminfo replacement for Solaris 2013-07-10 Martyn Russell Don't throw log warnings if GstDateTime has missing information Part Fixes GB#700199 2013-06-27 Philip Van Hoof Updated my own E-mail adress in MAINTAINERS and AUTHORS 2013-06-26 Pierre-Yves Luyten NFO: Add properties nfo:backgroundColor and nfo:xmlContent See NB#701828 2013-06-09 Christian Kirbach Updated German translation 2013-06-03 Kjartan Maraas Updated Norwegian bokmål translation 2013-06-02 Fran Diéguez Updated Galician translations 2013-05-21 Piotr Drąg Updated Polish translation 2013-05-15 Sam Thursfield 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 Updated Russian translation 2013-05-13 Gabor Kelemen Updated Hungarian translation 2013-05-08 Antoine Jacoutot 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 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 Implement get_memory_total() on OpenBSD. https://bugzilla.gnome.org/show_bug.cgi?id=697719 2013-04-28 Žygimantas Beručka Updated Lithuanian translation Updated Lithuanian translation Conflicts: po/lt.po 2013-04-24 Antoine Jacoutot tracker-dbus: add support for OpenBSD Add OS dependant glue for tracker-dbus on OpenBSD using kvm(3). 2013-04-18 Alexandre Franke Update French translation 2013-04-13 Dominique Leuenberger firefox/thunderbird: prefer tracker 0.16 over tracker 0.14 https://bugzilla.gnome.org/show_bug.cgi?id=697809 2013-04-11 Antoine Jacoutot 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 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 Updated Brazilian Portuguese translation 2013-04-08 Carlos Garnacho 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 Updated Greek translation 2013-03-31 Carles Ferrando [l10n] Updated Catalan (Valencian) translation 2013-03-31 Vicent Cubells [l10n] Update Catalan translation 2013-03-30 Matej Urbančič Updated Slovenian translation 2013-03-30 Мирослав Николић Updated Serbian translation 2013-03-27 Marek Černocký Updated Czech translation 2013-03-25 Matej Urbančič Updated Slovenian translation 2013-03-25 Piotr Drąg Updated Polish translation 2013-03-25 Daniel Mustieles Updated Spanish translation 2013-03-25 Martyn Russell 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 Updated Galician translations 2013-03-19 Victor Ibragimov Updated Tajik translation 2013-03-18 Martyn Russell 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 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 Updated Lithuanian translation 2013-03-15 Martyn Russell 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 Merge branch 'media-art-enhancements-2' 2013-03-14 Dominique Leuenberger tracker-extract: Add support for giflib 5. https://bugzilla.gnome.org/show_bug.cgi?id=695769 2013-03-13 Martyn Russell 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 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 Мирослав Николић Updated Serbian translation 2013-03-12 Martyn Russell 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 Updated Greek translation 2013-03-12 Martin Kampas 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 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 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 Updated German translation 2013-03-05 Martyn Russell libtracker-fts: Removed unused variable and superfluous parameter in alter_table func 2013-03-05 Jeremy Bicha tracker-miner-fs, store: Add Unity to desktop files https://bugzilla.gnome.org/show_bug.cgi?id=695061 2013-03-05 Cosimo Cecchi 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 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 libtracker-miner: Fixed vala bindings for TrackerMinerFS It's subclasses Tracker.Miner and GLib.Initable like TrackerMinerWeb 2013-02-26 Dominique Leuenberger 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 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 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č Updated Slovenian translation 2013-02-19 Daniel Mustieles Updated Spanish translation 2013-02-18 Marek Černocký Updated Czech translation 2013-02-18 Alexandre Franke Update French translation 2013-02-17 Piotr Drąg Updated Polish translation 2013-02-17 Enrico Nicoletto Updated Brazilian Portuguese translation 2013-02-16 Piotr Drąg Updated Polish translation 2013-02-15 Martyn Russell 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 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 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 Merge branch 'fts4' 2013-02-08 Carlos Garnacho Bump database version This is needed after the fts4 changes 2013-02-06 Martyn Russell 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 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 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 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 ), and the third one modifies the ellipsis text (defaults to ...) 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 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 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 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 Release 0.15.1 libtracker-miner: Fix libsecret password provider get call using non-NULL GError 2013-01-24 Frank Lahm libtracker-common: Add replacement function for flock() on Solaris 2013-01-21 Cosimo Cecchi miner-manager: plug some memleaks https://bugzilla.gnome.org/show_bug.cgi?id=692210 2013-01-21 Dominique Leuenberger 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 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 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 Updated Brazilian Portuguese Translation 2012-12-14 Martyn Russell tracker-miner-fs, store: Add MeeGo keys to desktop files 2012-12-12 Javier Jardón 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 build: Fixes build error when supplying nautilis extensions directory 2012-11-28 Martyn Russell examples: Update async query example 2012-11-23 Martyn Russell Release 0.15.0 Unstable release 2012-11-23 Jens Georg build: Build against GStreamer 1.0-enabled gupnp-dlna https://bugzilla.gnome.org/show_bug.cgi?id=688802 2012-11-16 Antoine Jacoutot 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ý Updated Czech translation 2012-11-15 Cosimo Cecchi 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 Update German translation 2012-11-04 Michael Biebl Fix XPS configure help string 2012-10-31 Cosimo Cecchi 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 libtracker-extract: Fixed g_data_input_stream_read_upto() return value mem leak Fixes GB#687134 2012-10-30 Martyn Russell tracker-extract-pdf: Avoid leaving Zombie processes around 2012-10-27 Мирослав Николић Updated Serbian translation 2012-10-26 Piotr Drąg Updated Polish translation 2012-10-24 Dominique Leuenberger tracker-miner-rss: Support and require libgrss-0.5 Fixes GB#671751 2012-10-24 Javier Jardón tracker-extract-gstreamer: Port discoverer backend to GStreamer 1.0 Fixes GB#680424 2012-10-24 Julien Cristau 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 build: Add SQLite3 version check and warning for crashes with complex queries 2012-10-20 Fran Diéguez Updated Galician translations 2012-10-19 Aurimas Černius Updated Lithuanian translation 2012-10-18 Matej Urbančič Updated Slovenian translation 2012-10-17 Andika Triwidada Updated Indonesian translation 2012-10-17 Daniel Mustieles Updated Spanish translation 2012-10-17 Martyn Russell 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 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 build: test files should always be included in dist build: include missing tiff files in dist 2012-09-28 Colin Walters build: Note we don't support srcdir != builddir This is presently due to the vapigen tool. 2012-09-20 Martyn Russell 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 Updated British English translation 2012-09-10 Martyn Russell Merge branch 'pdf-timeout-fix' 2012-09-06 Marek Černocký Updated Czech translation 2012-09-04 Piotr Drąg Updated Polish translation 2012-08-25 Aurimas Černius Updated Lithuanian translation 2012-08-23 Kjartan Maraas Updated Norwegian bokmål translation 2012-08-22 Kjartan Maraas Updated Norwegian bokmål translation 2012-08-16 Martyn Russell 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 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 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 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 tracker-needle: Fix double free Fixes GB#680350. 2012-07-21 Alexandre Rostovtsev 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 Updated Galician translations 2012-07-08 Dimitris Spingos Updated Greek translation 2012-07-05 Piotr Drąg Updated Polish translation 2012-07-05 Martyn Russell Merge branch 'miner-fs-no-infinite-loops' 2012-07-03 Martyn Russell 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 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 Updated Indonesian translation 2012-07-01 Andika Triwidada Updated Indonesian translation 2012-06-27 Sam Thursfield 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 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 functional-tests: Fix out-of-tree build 2012-06-16 Matej Urbančič Updated Slovenian translation 2012-06-15 Sam Thursfield 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 Updated Indonesian translation 2012-06-14 Sam Thursfield 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 Updated Spanish translation 2012-06-13 Alexandre Franke Update French translation Change wording to remove ambiguity and ease translation 2012-06-11 Sam Thursfield 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 Added Telugu Translation Updated Telugu Translation 2012-06-02 Luca Ferretti l10n:Updated Italian translation 2012-05-29 Sam Thursfield 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 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 tracker-extract: 'initialized' flag was not being initialized 2012-05-21 William Jon McCann Don't install an item to the nautilus context menu https://bugzilla.gnome.org/show_bug.cgi?id=676514 2012-05-21 Ville Skyttä tracker-sparql, tracker-store: Man page syntax fixes Fixed GB#676213. 2012-05-20 Christian Kirbach Updated German translation 2012-05-17 Sam Thursfield 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 tracker-extract: Fix compile of Qt media art backend 2012-05-11 Fran Diéguez Updated Galician translations Updated Galician translations 2012-05-10 Matej Urbančič Updated Slovenian translation 2012-05-06 Marek Černocký Updated Czech translation Updated Czech translation 2012-05-04 Martyn Russell tracker-preferences: Sort the list contents for ignored patterns Fixes GB#675431. 2012-05-04 Antoine Jacoutot 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č Updated Slovenian translation 2012-05-03 Piotr Drąg Updated Polish translation 2012-05-03 Karl Relton tracker-extract: Simplify text extraction in oasis extractor for ODT files tracker-extract: Support Libreoffice graphic/drawing files (*.odg) 2012-05-01 Daniel Mustieles Updated Spanish translation 2012-05-01 Martyn Russell 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 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 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 Updated Spanish translation 2012-04-24 Alexandre Franke Fix typo (missing 'not') 2012-04-19 Jürg Billeter build: Remove obsolete check for dbus-binding-tool 2012-04-18 Jürg Billeter 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 update Simplified Chinese (zh_CN) translation 2012-04-09 Timo Jyrinki Updated Finnish translation by Jiri Grönroos. 2012-04-03 Martyn Russell 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 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 utils: Add tracker-sandbox to EXTRA_DIST Also, fix whitespace errors. 2012-03-29 Daniel Mustieles Updated Spanish translation 2012-03-22 Jiro Matsuzawa [l10n] Update Japanese translation 2012-03-20 Sam Thursfield 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 Updated Polish translation 2012-03-08 Sam Thursfield autogen.sh: Error gracefully when valac is not installed 2012-03-08 Martyn Russell Release 0.14.0 2012-03-06 Martyn Russell 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 tracker-extract, tracker-writeback: Don't register dbus objects AFTER aquiring service names Fixes GB#671314. 2012-03-04 Fran Diéguez Updated Galician translations 2012-02-22 Martyn Russell 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) tracker-extract: Use ISO volume ID as title for unknown OS Fixes GB#670294 2012-02-17 Martyn Russell tracker-miner-evolution: Doesn't build with Evolution 3.3.5 This is based on the patch from Milan Crha Fixes GB#669646. 2012-02-16 Carlos Garnacho 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 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 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) 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 tracker-extract: Add ISO extractor using libosinfo Fixes GB#666372 2012-02-13 Martyn Russell 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 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 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 tests: Fix compile warning in tracker-file-notifier-test Fixes GB#667786. 2012-02-03 Sam Thursfield 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 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 miners/fs: Fix crash when SIGTERM happens before mainloop is available Fixes NB#296488. 2012-01-18 Mikael Ottela tests/libtracker-extract: Do not use tracker_coalesce_strip on constant strings. 2012-01-11 Jiro Matsuzawa Updated Japanese translation 2012-01-05 Philip Van Hoof 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 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 tracker-extract, msoffice: Add debugging aid for when opening file fails Related: NB#296009. 2011-12-29 Philip Van Hoof 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 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 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 Updated Norwegian bokmål translation 2011-12-16 Aleksander Morgado 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 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 Fix typo in French translation Update French translation miner → collecteur extractor → extracteur 2011-12-15 Martyn Russell Release 0.13.0 2011-12-15 Aleksander Morgado 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 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 docs: additional documentation fixes in libtracker-miner and libtracker-extract 2011-12-15 Martyn Russell 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 build: ignore built files in git build: remove glib-based FTS parser Fixes GB#666232 2011-12-15 Jürg Billeter 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 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 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 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 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 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 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 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 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 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 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 [l10n] Updated German translation 2011-12-08 Matej Urbančič Updated Slovenian translation 2011-12-08 Martyn Russell 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 libtracker-data: Fix crash due to overflow in journal reader Fixes GB#664833. 2011-12-07 Martyn Russell Merge branch 'miner-fs-refactor' build: Don't require miner-rss and miner-flickr to distcheck 2011-12-07 Carlos Garnacho 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 libtracker-miner: indentation and alignment fixes 2011-12-07 Carlos Garnacho 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 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 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 Updated Spanish translation 2011-12-06 Martyn Russell 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 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 libtracker-data: Handle error case when resetting collator Fixes NB#293766. 2011-12-03 Jorge González Updated Spanish translation 2011-12-02 Matej Urbančič Updated Slovenian translation 2011-12-02 Carlos Garnacho 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 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 libtracker-common: Add more checks to gconf-dbus locale handling Fixes NB#289635. 2011-11-29 Martyn Russell 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 [l10n] Updated German translation 2011-11-28 Carlos Garnacho tracker-miner-fs: Fix compilation with --disable-maemo some ifdefs were out of place. 2011-11-27 Lucian Adrian Grijincu Updated Romanian translation 2011-11-27 Jürg Billeter 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ý Updated Czech translation 2011-11-25 Piotr Drąg Updated Polish translation 2011-11-25 Daniel Mustieles Updated Spanish translation 2011-11-25 Matej Urbančič Updated Slovenian translation Updated Slovenian translation 2011-11-25 Martyn Russell tracker-miner-fs: Add userguides miner to POTFILES.in 2011-11-25 Carlos Garnacho 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 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 tracker-miner-fs: Avoid unnecessary string copies 2011-11-25 Martyn Russell 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 tracker-miner-fs: Ignore userguide directory in files miner Userguide miner is responsible for indexing this directory. 2011-11-25 Martyn Russell tracker-miner-fs: Added initial boiler plate for userguide miner This requires --enable-maemo to build. 2011-11-25 Carlos Garnacho 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 libtracker-extract: Use strncmp for region of interest's type Fixes NB#292744. 2011-11-25 Marek Černocký Updated Czech translation 2011-11-24 Mario Blättermann [l10n] Updated German translation 2011-11-24 Piotr Drąg Updated POTFILES.in 2011-11-24 Ivan Frade 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 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 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 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ć Added Serbian translation 2011-11-21 Fran Diéguez Updated Galician translations 2011-11-21 Martyn Russell 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 Merge branch 'subsecond' 2011-11-16 Ivan Frade 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 libtracker-data: Support fractional seconds in xsd:dateTime values Fixes NB#290480. Fix Vala warnings 2011-11-15 Philip Van Hoof tracker-writeback: Add include of math.h for modf 2011-11-15 Jürg Billeter tracker-miner-applications: Do not warn for "Hidden" desktop files 2011-11-15 Philip Van Hoof Writeback N/E/S/W notation for GPS coordinates Fixes NB#291088. 2011-11-14 Philip Van Hoof Use NFKD normalization for album and artist in albumart filename forming Fixes NB#290814. 2011-11-10 Andrej Žnidaršič Updated Slovenian translation 2011-11-10 Jürg Billeter libtracker-data: Do not implicitly replace values when using blank nodes Fixes NB#290249. 2011-11-09 Philip Van Hoof tracker-writeback: Preserve file permissions Fixes NB#289953. tracker-writeback: Check for write permission Fixes NB#289953. 2011-11-08 Jürg Billeter libtracker-common: Fix crash in gconf-dbus locale handling Fixes NB#289635. 2011-11-08 Carlos Garnacho 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 [l10n] Updated German translation 2011-11-01 Ivan Frade 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ý Updated Czech translation Updated Czech translation 2011-10-31 Daniel Mustieles Updated Spanish translation 2011-10-28 Jürg Billeter libtracker-data: Also recreate domain indexes on collation change Fixes NB#286610. 2011-10-28 Ivan Frade 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 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 tracker-extract, png: Fix DLNA profiles Fixes NB#288530. tracker-extract, jpeg: Fix DLNA profiles Fixes NB#288530. 2011-10-28 Ivan Frade 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 Updated Polish translation 2011-10-27 Jürg Billeter tracker-extract-gstreamer: Use global tags returned from discoverer Fixes NB#287529. tests/libtracker-common: Add missing includes 2011-10-27 Takeshi AIHANA Updated Japanese translation. 2011-10-27 Jürg Billeter tracker-extract-gstreamer: Rename flag also in the non-GUPnP-DLNA case 2011-10-27 Ivan Frade 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 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 tracker-utils: Display nameGiven and nameFamily when fullname is empty Fixes NB#287970. 2011-10-25 Martyn Russell ttl2sgml: Fixed memory leak Fixes NB#287972. 2011-10-24 Carlos Garnacho 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 Updated Spanish translation 2011-10-24 Carlos Garnacho 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 Updated Lithuanian translation 2011-10-24 Martyn Russell tracker-search-bar: Don't display the results in a broken fashion Fixes GB#662364. 2011-10-22 Matej Urbančič Updated Slovenian translation 2011-10-21 Carlos Garnacho 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 tests/libtracker-extract: Fix tests when srcdir != builddir 2011-10-20 Piotr Drąg Updated Polish translation Conflicts: po/pl.po 2011-10-20 Jürg Billeter 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 tests/libtracker-extract: unit tests for tracker-iptc 2011-10-19 Gert Michael Kulyk tracker-preferences: Make sure "Recurse" column title is translated Fixes GB#662099. 2011-10-18 Carlos Garnacho 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 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 Updated Spanish translation 2011-10-18 Ivan Frade tests/libtracker-extract: Add LGPL notice to the test code 2011-10-18 Jürg Billeter functional-tests: Increase timeout in application tests 2011-10-18 Gert Michael Kulyk tracker-preferences: Mark tooltips in tracker-preferences.ui for translation 2011-10-17 Ivan Frade 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 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 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 tracker-writeback: Don't own the DBus name before registering the object Fixes NB#286589. 2011-10-13 Jürg Billeter 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 tracker-extract: Use black background for transparant album art Fixes NB#272997. 2011-10-13 Ivan Frade 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 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 tracker-miner-fs: Fix crash in ReindexMimeTypes TrackerDBusRequest and GDBusMethodInvocation were freed twice. Fixes NB#286103. 2011-10-11 Jürg Billeter 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 tracker-writeback: Don't warn in case of unsupported format for writeback Fixes NB#285979. 2011-10-11 Martyn Russell tracker-control: List/control processes for the calling user only Fixes GB#655177. 2011-10-09 Daniel Mustieles Updated Spanish translation 2011-10-07 Aleksander Morgado 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 libtracker-bus: Plug 2 leaks 2011-10-06 Piotr Drąg Updated Polish translation 2011-10-06 Matej Urbančič Updated Slovenian translation 2011-10-06 Piotr Drąg Updated Polish translation 2011-10-06 Martyn Russell 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 miners/fs: Don't let writeback block incoming DBus calls Fixes NB#285251. 2011-10-06 Carlos Garnacho 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 tracker-needle: Have a more inviting message for "no results" view 2011-10-05 Piotr Drąg Updated Polish translation Updated Polish translation 2011-10-05 Martyn Russell 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č Updated Slovenian translation 2011-10-04 Martyn Russell 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 Updated Spanish translation 2011-10-04 Marek Černocký Updated Czech translation 2011-10-03 Jürg Billeter tests/libtracker-common: Add missing include directive 2011-10-03 Aleksander Morgado tracker-extract: include DLNA mimetype in non-gstreamer media extractors Fixes GB#647575. 2011-10-03 Martyn Russell 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 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 Updated Spanish translation 2011-09-30 Carlos Garnacho tracker-extract: Add geolocation to GStreamer extractor Fixes NB#257478. 2011-09-30 Martyn Russell Merge branch 'cuesheets' tracker-extract-gstreamer: Fix cue sheet build error 2011-09-30 Sam Thursfield 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 tracker-extract-gstreamer: Avoid additional NULL check for cuesheet TOC tracker-extract-gstreamer: Small code style/warning clean ups 2011-09-30 Sam Thursfield 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 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 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 NCO: Add nco:gender-other as predefined instance Fixes NB#284711. 2011-09-29 Martyn Russell 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 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 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 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 functional-tests: Remove expected failure annotation from NB#217566 test This bug was fixed in SQLite 3.7.8. 2011-09-27 Marek Černocký Updated Czech translation 2011-09-27 Jürg Billeter 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 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 fix html markup error in German translation 2011-09-26 Matej Urbančič Updated Slovenian translation 2011-09-26 Martyn Russell 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ý Updated Czech translation 2011-09-24 Christian Kirbach [l10n] Updated German translation 2011-09-24 Jorge González Updated Spanish translation 2011-09-23 Wylmer Wang update Simplified Chinese (zh_CN) translation 2011-09-23 Jürg Billeter libtracker-data: Do not consider index recreation failure fatal Tracker can operate with missing indices. Fixes NB#283501. 2011-09-23 Philip Van Hoof 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 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 Updated Polish translation 2011-09-22 Andrej Žnidaršič Updated Slovenian translation 2011-09-22 Philip Van Hoof 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 Merge branch 'roi-png-fix' 2011-09-22 Mikael Ottela Fix the Imagemagick png raw profile magic. 2011-09-22 Martyn Russell 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 [l10n] Updated German translation 2011-09-21 Aleksander Morgado libtracker-miner: improve event queue traces 2011-09-21 Mikael Ottela Fix the Imagemagick png raw profile magic. 2011-09-21 Matej Urbančič Updated Slovenian translation 2011-09-21 Martyn Russell 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 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 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 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 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 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 Updated Spanish translation 2011-09-20 Ivan Frade 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č Updated Slovenian translation 2011-09-19 Ivan Frade tests/functional-tests: update writeback test to new extractors output 2011-09-19 Martyn Russell 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 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 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 Updated Spanish translation 2011-09-18 Mario Blättermann [l10n] Updated German translation 2011-09-18 Jürg Billeter tests/libtracker-extract: Fix build without enca 2011-09-17 Andrej Žnidaršič Updated Slovenian translation 2011-09-17 Marek Černocký Updated Czech translation 2011-09-17 Martyn Russell Merge branch 'tracker-preferences-xdg-dirs' tracker-preferences: Use one list for locations and add XDG toggle buttons 2011-09-16 Jürg Billeter 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 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 libtracker-miner, libtracker-sparql: Update build instructions for 0.12 2011-09-15 Cosimo Cecchi 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 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 libtracker-miner: Add tracker_task_* API to exported symbols Test cases require this to build. 2011-09-15 Sam Thursfield 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 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 Updated Spanish translation 2011-09-14 Ivan Frade 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 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 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 libtracker-miner: if miner still crawling, don't consider it as cleanly shutdown Fixes NB#277052. 2011-09-13 Ivan Frade functional-tests: New parameter (graph) for the new extractor API tests/libtracker-miner: unittest for TrackerTaskPool 2011-09-13 Jürg Billeter Merge branch 'unsupported-ontology-change' 2011-09-13 Philip Van Hoof libtracker-data: Support for removing rdfs:subPropertyOf Fixes NB#281335. libtracker-data: Detect unsupported ontology change rdfs:subPropertyOf 2011-09-13 Jürg Billeter 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 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 tracker-miner-fs, apps: avoid trying to parse directories as desktop files 2011-09-12 Javier Jardón configure.ac: remove dbus-glib dependencies This completes commit 559877e02ab0da358a64e6f19afa743db131ccc4 2011-09-12 Martyn Russell 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 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 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 coverage: Ignore generated .c files 2011-09-09 Ivan Frade 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 Release 0.12.0 2011-09-09 Jürg Billeter functional-tests: Remove expected failure annotation from NB#281201 test The bug was fixed by commit f595906. 2011-09-09 Marek Černocký Updated Czech translation 2011-09-09 Martyn Russell 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 Updated Polish translation 2011-09-08 Jürg Billeter 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 Merge branch 'forced-mtime-check-per-directory' 2011-09-08 Aleksander Morgado 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 libtracker-miner: Add the file to which the symlinks point in don't-remove list Fixes NB#281183. 2011-09-08 Bruce Cowan Updated British English translation 2011-09-07 Philip Van Hoof 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 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 Updated Slovenian translation 2011-09-06 Martyn Russell 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 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 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 Merge branch 'wip/extract-graphs' libtracker-extract: Fixed unit tests which now require a graph parameter 2011-09-06 Jürg Billeter libtracker-common: Do not delete old log Avoid losing information from previous runs. 2011-09-06 Philip Van Hoof 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 libtracker-extract: Fixed missing "Since" in documentation 2011-09-06 Philip Van Hoof 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 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 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 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 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 [l10n] Updated German translation 2011-09-05 Jürg Billeter 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 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 Updated galician translations 2011-09-03 Claude Paroz Updated French translation 2011-09-02 Aleksander Morgado tracker-extract: remove unneeded source file The GUPnP-DLNA extractor was merged into tracker-extract-gstreamer.c 2011-09-01 Daniel Mustieles Updated Spanish translation 2011-09-01 Martyn Russell 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 libtracker-data: Use ontology from database if cache is unavailable Fixes NB#279789. 2011-09-01 Adrien Bustany Firefox plugin: bump compatibility to 6.0.* Thunderbird plugin: bump compatibility to 7.0.* 2011-08-31 Carlos Garnacho 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 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 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 Fix crash in case of error in MeeGo Harmattan locale handling Fixes NB#276830. 2011-08-25 Sam Thursfield 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 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 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 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 { ?p ?v } WHERE { ?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 functional-tests: Print the current test name before running it 2011-08-24 Sam Thursfield functional-tests: Use correct argv in 400-extractor.py 2011-08-24 Ivan Frade 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 tracker-evolution: Fix compile with Evolution 2.9x 2011-08-24 Carlos Garnacho 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 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 tracker-extract: Improve error debugging for album art handling 2011-08-22 Jürg Billeter tests/libtracker-extract: Fix orientation test 2011-08-22 Philip Van Hoof tracker-extract: Fix memory leak on stream 2011-08-22 Martyn Russell Merge branch 'orientation-fix' 2011-08-22 Mikael Ottela libtracker-extract: Fix the orientation handling in xmp Fixes NB#277799 2011-08-21 Philip Van Hoof tracker-extract: Fix memleak after own review, obvious one 2011-08-20 Jürg Billeter 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 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 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 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 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 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 Release 0.11.2 2011-08-17 Sam Thursfield functional-tests: Disable optical & removable indexing for tests functional-tests: Separate out test-runner.sh from Makefile 2011-08-16 Jürg Billeter tracker-needle: Fix build with Vala master 2011-08-16 Yuri Myasoedov Updated Russian translation 2011-08-16 Martyn Russell build: Fixed distcheck issues 2011-08-16 Jürg Billeter NMO: Add nmo:delivery-status-temporarily-failed-offline Fixes NB#247468. 2011-08-15 Philip Van Hoof 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 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 tracker-miner-flickr.desktop.in.in: Remove deprecated Encoding key 2011-08-07 Daniel Nylander Updated Swedish translation 2011-08-07 Daniel Mustieles Updated Spanish translation 2011-08-06 Andrej Žnidaršič Updated Slovenian translation 2011-08-06 Christian Kirbach [l10n] Updated German translation 2011-08-05 Martyn Russell 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 libtracker-miner: make MinerManager GLib.Initable in VAPI file Fixes GB#655987 2011-08-04 Adrien Bustany 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 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 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 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 libtracker-miner: add some introspection annotations to TrackerMinerManager methods 2011-08-02 Martyn Russell 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 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 Merge branch 'gstreamer-with-dlna' tracker-extract: Small coding style clean ups 2011-08-02 Carlos Garnacho 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ý Updated Czech translation Updated Czech translation 2011-08-01 Martyn Russell 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 Firefox, Thunderbird: Fix build system for plugins to work for packaging Fixes GB#655701 2011-08-01 Martyn Russell 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 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č Updated Slovenian translation 2011-07-29 Daniel Mustieles Updated Spanish translation 2011-07-29 Martyn Russell Merge branch 'firefox' .gitignore: Added install.rdf common in Mozilla extensions 2011-07-29 Carlos Garnacho 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 tracker-writeback: Do not unref the GFileInfo too early it is used in the creation of the temporary file. 2011-07-28 Adrien Bustany 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 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ý Updated Czech translation 2011-07-28 Martyn Russell 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 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 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 tracker-writeback: Fixed distcheck breakages thunderbird: Build system and plugin now work properly with TB >= 5.0 2011-07-27 Martyn Russell 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 tracker-writeback: Fix use after free of GFileInfo object 2011-07-27 Martyn Russell 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 queue.js: Keep a reference to the timer to ensure it gets fired 2011-07-26 Martyn Russell 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 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 tracker-writeback: Do not touch unsupported files Fixes NB#274498. 2011-07-26 Carlos Garnacho 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 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 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 libtracker-miner: Ignore EVENT_MOVED during Writeback 2011-07-26 Carlos Garnacho 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 tracker-writeback: Remove IgnoreNextUpdate and file locking from writeback 2011-07-26 Carlos Garnacho libtracker-miner: Use the task pool for ongoing writeback operations 2011-07-26 Philip Van Hoof 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 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 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 Updated Brazilian Portuguese Translation 2011-07-22 Carlos Garnacho 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 UTF-16 strings' length with 3 \0 bytes at the end was calculated wrong Fixes NB#274181. 2011-07-21 Carlos Garnacho 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 libtracker-data: Add support for xsd:date Fixes NB#271747. 2011-07-21 Cosimo Cecchi 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 SPARQL: Add support for COALESCE Implemented as an alias to tracker:coalesce. 2011-07-20 Aleksander Morgado 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 tracker-miner-fs: Plug a leak. libtracker-extract: Plug some leaks 2011-07-20 Jürg Billeter tracker-preferences: Fix apply button 2011-07-19 Carlos Garnacho 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 tracker-extract-playlist: Limit playlists to 1000 entries Fixes NB#269986. 2011-07-18 Kjartan Maraas Updated Norwegian bokmål translation 2011-07-18 Aleksander Morgado 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 Updated Spanish translation 2011-07-15 Philip Van Hoof tracker-extract: Cleaning up code and indentation fixes 2011-07-14 Marek Černocký Updated Czech translation 2011-07-13 Andrej Žnidaršič Updated Slovenian translation 2011-07-13 Carlos Garnacho 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 libtracker-miner: Use tracker_processing_task_unref() instead of _free() to fix build 2011-07-13 Carlos Garnacho 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 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 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 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 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 build: require gstreamer-pbutils when using Discoverer backend tracker-extract,gstreamer: avoid code duplication 2011-07-13 Jürg Billeter SPARQL: Add support for HAVING 2011-07-13 Aleksander Morgado build: treat GUPnP-DLNA as another GStreamer backend tracker-extract,gstreamer: integrate GUPnP-DLNA extractor within the GStreamer one 2011-07-12 Aleksander Morgado 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 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 Updated Spanish translation 2011-07-10 Marek Černocký Updated Czech translation 2011-07-10 Piotr Drąg Updated POTFILES.in 2011-07-05 Philip Van Hoof 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 update Simplified Chinese (zh_CN) translation 2011-07-01 Jürg Billeter tracker-extract-mp3: Use guessed ID3v1 8-bit encoding also for ID3v2 Fixes NB#259942. 2011-06-30 Carlos Garnacho 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 libtracker-extract: Ignore keywords containing invalid UTF-8 Fixes NB#269931. 2011-06-30 Adrien Bustany TrackerStore: Fix date generation 2011-06-29 Jürg Billeter 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 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 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 build: report in configure output whether support for journal is built 2011-06-29 Philip Van Hoof build: Add --disable-journal configure option 2011-06-29 Jürg Billeter 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 libtracker-data: Removed fts restore, not needed anymore libtracker-data: Add tracker-db-backup using SQLite backup API 2011-06-29 Jürg Billeter libtracker-data: Switch to manual WAL checkpointing in a separate thread 2011-06-28 Jürg Billeter 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 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 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 libtracker-data: Make sure we don't leak sql_dir on multiple _init() calls 2011-06-22 Jürg Billeter 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 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 Updated Swedish translation 2011-06-16 Carlos Garnacho 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 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 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 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 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 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 libtracker-data: Use libmeegotouch ICU data if available Fixes NB#261635. 2011-06-13 Martyn Russell 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č Updated Slovenian translation 2011-06-10 Philip Van Hoof 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 libtracker-extract, tracker-extract: Add extraction of image compass direction 2011-06-10 Carlos Garnacho 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 SLO: Update nao:lastModified tracker-writeback: Always clear existing fields 2011-06-10 Carlos Garnacho 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 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 Add extraction of GPS coordinates 2011-06-08 Martyn Russell 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 tracker-needle: Add support for bookmarks 2011-06-08 Olav Vitters Add description to DOAP file 2011-06-08 Adrien Bustany 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 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 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 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ý Updated Czech translation 2011-06-07 Jürg Billeter libtracker-bus: Use lazy initialization for D-Bus proxy objects 2011-06-06 Daniel Mustieles Updated Spanish translation 2011-06-06 Jürg Billeter 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 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 Can list all messages 2011-06-03 Carlos Garnacho 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 libtracker-direct: Fix use_count on failed initialization 2011-06-03 Carlos Garnacho 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 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 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 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 [l10n]Updated Catalan translation 2011-06-01 Kristjan SCHMIDT Add Esperanto translation 2011-06-01 maimishr functional-tests: Support cases with AND without Upstart 2011-05-30 Carlos Garnacho 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 l10n: Updated Greek translation for tracker 2011-05-27 Georgios Stefanakis l10n: Updated Greek translation for tracker 2011-05-26 Martyn Russell 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 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 tracker-miner-fs: Do not shutdown cleanly if ctrl+c is hit during initial sleep 2011-05-24 Philip Van Hoof 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 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 libtracker-miner: Fix builds including this library using g++ 2011-05-23 Carlos Garnacho 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 tracker-store: Reenable signals after failing to load Turtle file 2011-05-20 Lionel Landwerlin libtracker-miner: install missing header 2011-05-20 Jürg Billeter 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 functional-tests: Add UID::user and GID::users to tracker-tests aegis file 2011-05-19 Martyn Russell libtracker-common: Fixed documentation version typo, s/0.10.4/0.10.14/ Merge branch 'miner-check-queues' 2011-05-19 Philip Van Hoof 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 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 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 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 Updated French translation 2011-05-13 Carlos Garnacho 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 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 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 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 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 Updated zh_CN translation. 2011-05-09 Andrej Žnidaršič Updated Slovenian translation 2011-05-09 Jürg Billeter 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 [l10n] Updated German translation 2011-05-07 Daniel Mustieles Updated Spanish translation 2011-05-06 Jürg Billeter tracker-store: Use lazy initialization for statistics This reduces startup time of tracker-store. 2011-05-06 Carlos Garnacho 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 Merge branch 'gtk3' 2011-05-06 Marek Černocký Updated Czech translation 2011-05-05 Carlos Garnacho 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 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 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 tracker-store: Do not export internal methods via D-Bus 2011-05-03 Martyn Russell 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 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 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 Updated Spanish translation 2011-04-29 Claude Paroz Replace string concatenation by printf syntax (Fixes #648892) 2011-04-29 Carlos Garnacho tracker-needle: Update result list icons on icon theme change Fixes GB#397205, reported by Luca Ferretti. 2011-04-29 Mario Blättermann [l10n] Updated German translation 2011-04-29 Marek Černocký Added message flag for gettext Updated Czech translation 2011-04-28 Daniel Mustieles Updated Spanish translation 2011-04-28 Andrej Žnidaršič Updated Slovenian translation 2011-04-28 Philip Van Hoof tracker-store: Improve error reporting in restore libtracker-data, tracker-store: Improve error reporting for backup 2011-04-28 Martyn Russell 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 libtracker-data, miners/fs: Indentation fixes tracker-store: Indentation fixes tracker-extract, epub: Indentation fixes 2011-04-28 Carlos Garnacho tracker-needle: Fix date strings wrt i18n Fixes GB#520670 - Timestring not internationalized, reported by Yang Zhang. 2011-04-28 Martyn Russell 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 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 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 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 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 Merge branch 'meegotouch' 2011-04-26 Philip Van Hoof libtracker-common: Reading locale from gconf-dbus is only for meegotouch 2011-04-21 Jürg Billeter Move tracker-encoding from libtracker-common to libtracker-extract Fixes NB#249787. 2011-04-20 Martyn Russell maemo: Added timestamp change for maemo:PostalAddress 2011-04-20 Jürg Billeter 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 build: Require rest 0.7, Fedora and Ubuntu don't have 0.6 anymore 2011-04-19 Aleksander Morgado 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 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 tracker-extract: Fix critical about locale in case of standalone mode 2011-04-17 Mario Blättermann [l10n] Updated German translation 2011-04-16 Andrej Žnidaršič Updated Slovenian translation 2011-04-16 Marek Černocký Updated Czech translation 2011-04-15 Daniel Mustieles Updated Spanish translation 2011-04-15 Philip Van Hoof 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 needle: Fix emails query There was no second argument for the tracker:coalesce() call 2011-04-14 Martyn Russell 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 tracker-info: Support Turtle as an output format Fixes GB#646834 2011-04-14 Jürg Billeter 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 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 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 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 libtracker-sparql: Fix deadlock when tracker is not available If a connection attempt failed, subsequent connection attempts deadlocked. 2011-04-12 Jürg Billeter libtracker-sparql: Fix fallback from direct access to D-Bus Fixes NB#238770. 2011-04-12 Philip Van Hoof tracker-writeback: Fix crash when not possible to get D-Bus connection Fixes NB#245998. 2011-04-12 Aleksander Morgado 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 Add README and COPYRIGHT Fix summary Add French and Spanish locales Cleanup unneeded code 2011-04-11 Philip Van Hoof tests/functional-tests: Use "true" and "false" for ASK 2011-04-11 Aleksander Morgado libtracker-extract: Process only record-2 tags in libiptcdata Fixes NB#244267 2011-04-11 Martyn Russell libtracker-sparql: Build typelib and so introspection works 2011-04-11 Jürg Billeter 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 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 SPARQL: Test GRAPH template followed by DOT SPARQL: Accept DOT after GRAPH template Fixes NB#245373. 2011-04-10 Andrej Žnidaršič Updated Slovenian translation 2011-04-08 Michael Biebl build: add missing "\" to libtracker_sparql_LDFLAGS 2011-04-08 Jürg Billeter 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 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 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 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 tracker-miner-fs: resolve $HOME in config paths correctly 2011-04-07 Jürg Billeter 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 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 Merge branch 'miner-fs-initial-sleep' tracker-miner-fs: Update man page given --no-daemon / --initial-sleep exclusivity 2011-04-07 Aleksander Morgado tracker-miner-fs: Perform initial-sleep in all miners as given by the config Fixes GB#644997 2011-04-07 Martyn Russell 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 Update .gitignore 2011-04-07 Philip Van Hoof libtracker-common: Remove all pop_thread_default occurrences 2011-04-07 Jürg Billeter 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 libtracker-sparql: Fix single header include check mismatch 2011-04-07 Jürg Billeter 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 Updated Spanish translation Updated Spanish translation 2011-04-06 Carlos Garnacho 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 tracker-extract: Also find small albumart, however only as secondary choice Fixes NB#242253. 2011-04-06 Martyn Russell 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 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 libtracker-common: A warning is sufficient here, no need for critical 2011-04-05 Jürg Billeter 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 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 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 libtracker-miner: Add introspection annotation to docs. libtracker-extract: run introspection with --warn-all 2011-04-05 Ivan Frade 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 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 Bookmarks: add an observer for live saving/deletion in Tracker Bookmarks: Fix itemId/identifier confusion 2011-04-04 Markus Schley [l10n] Updated German translation 2011-04-04 Jürg Billeter tests/libtracker-sparql: Fix cancellation error check tests/tracker-steroids: Test with the D-Bus backend 2011-04-04 Martyn Russell 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 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 needle: Cancel operations on hidden views. 2011-04-04 Ivan Frade 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 Plugin: remove dead code Bookmarks: add missing cursor unref Initial commit 2011-04-03 Daniel Nylander Updated Swedish translation 2011-04-02 Martyn Russell 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 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 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 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ý Updated Czech translation 2011-03-30 Martyn Russell 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 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 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 build: Support build with evolution 2.91.6 and later Fixes GB#645934. 2011-03-30 Philip Van Hoof tracker-extract, mp3: Length of elements in this table is 3, not 4 Fixes NB#241206. 2011-03-29 Andrej Žnidaršič Updated Slovenian translation 2011-03-29 Jürg Billeter 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 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 functional-tests: Fix contacts queries in benchmark 2011-03-29 Philip Van Hoof 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 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 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 tracker-extract: Support extra string for WHERE patterns in GetMetadata 2011-03-28 Philip Van Hoof 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 SPARQL: Handle double and dateTime typed string literals Fixes NB#240582. 2011-03-27 Adrien Bustany tracker-miner-web: Fix GVariant signature for "Associated" property 2011-03-26 Marek Černocký Updated Czech translation 2011-03-25 Jürg Billeter tracker-needle: Fix C warnings on 64-bit platforms 2011-03-25 Yinghua Wang Update Simplified Chinese translation. 2011-03-25 Carlos Garnacho 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 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 NFO: Update nao:lastModified for Ivan's latest changes 2011-03-24 Ivan Frade 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 tracker-needle: Set proper application icon 2011-03-23 Jürg Billeter Update .gitignore 2011-03-23 Ivan Frade functional-tests: Remove test dconf db only when it exists 2011-03-23 Jürg Billeter build: Remove test-configurations from configure.ac 2011-03-22 Ivan Frade 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 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 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 tracker-control: Fixed some whitespace issues 2011-03-22 Aleksander Morgado 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 libtracker-data: Skip subclass query when deleting whole resource This improves resource deletion performance. 2011-03-22 Philip Van Hoof libtracker-sparql, -common: GConfClient's get_default isn't thread-safe, workaround this issue Fixes NB#238447. 2011-03-21 Daniel Mustieles Updated Spanish translation 2011-03-21 Lionel Landwerlin libtracker-extract: Improve extraction of title from filenames with multiple dots Fixes GB#645052 2011-03-21 Jürg Billeter 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 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 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 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 functional-tests: Update expectations now that bug has been fixed. Reported by Jean-Luc Lamadon 2011-03-21 Philip Van Hoof 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č Updated Slovenian translation 2011-03-18 Martyn Russell 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 Update .gitignore 2011-03-18 Philip Van Hoof tracker-extract: Add parameter to QApplication to allow running without X11 2011-03-17 Carlos Garnacho libtracker-extract: plug 2 memleaks in module manager. Spotted by Aleksander. 2011-03-17 Philip Van Hoof libtracker-extract: free of a pointer that got offset by strchr Fixes NB#237582. 2011-03-17 Martyn Russell 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 tracker-extract: Fixed make distdir issue (playlist vs playlists) 2011-03-16 Jürg Billeter 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 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 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 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 libtracker-data: Do not share anonymous blank nodes between graphs Fixes NB#236387. 2011-03-15 Carlos Garnacho 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 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 libtracker-miner: Remove unneeded methods from processing pool doc: Add missing libtracker-miner API methods to documentation 2011-03-14 Daniel Mustieles Updated Spanish translation 2011-03-14 Jürg Billeter functional-tests: Fix XDG dir handling 2011-03-14 Aleksander Morgado 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 Updated Danish translation 2011-03-13 Daniel Mustieles Updated Spanish translation 2011-03-12 Andrej Žnidaršič Updated Slovenian translation 2011-03-12 Marek Černocký Updated Czech translation 2011-03-11 Carlos Garnacho 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 libtracker-bus: Let get_string return null for unbound values Fixes GB#642868. 2011-03-10 Martyn Russell 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 Updated Polish translation 2011-03-10 Aleksander Morgado tracker-miner-fs,applications: If locale change detected always do mtime checks during crawling Fixes NB#235118 2011-03-10 Tshepang Lekhonkhobe 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 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 ontologies (NFO): new Note class to store Tomboy-alike notes 2011-03-09 Martyn Russell Merge branch 'grouped-deletes' 2011-03-09 Carlos Garnacho 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 Adjust to API change in libpanel-applet 2011-03-09 Martyn Russell build: Remove .cfg man page documentation now we use gsettings 2011-03-09 Aleksander Morgado libtracker-miner: Avoid use of already disposed memory 2011-03-08 Martyn Russell 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 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 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 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 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 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 tracker-preferences: Enable gettext translations While at it, clean up unused defines. 2011-03-04 Ivan Frade functional-tests: Fix expectations for audio extractions Template values where still in the file making the test fail 2011-03-03 Philip Van Hoof libtracker-data: Fix tracker_ namespace use for non-publ. function 2011-03-03 Vincent Untz 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 tracker-extract: Don't use unsupported C++ constructors Fixes NB#232981. 2011-03-03 Dan Williams 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 libtracker-miner: Simplify provider inclusion in Makefile.am 2011-03-03 Philip Van Hoof 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 tracker-miner-flickr: Remove --includedir=libtracker-client Didn't seem to have any effect 2011-03-02 Ivan Frade Removing libtracker-client related files 2011-03-02 Martyn Russell tracker-miner-fs: Include tracker-miner-applications-meego.h in SOURCES tracker-extract,pdf: Updated copyright 2011-03-02 Aleksander Morgado 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 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 examples: Don't forget to free structure in async-connection 2011-03-02 Philip Van Hoof libtracker-data: Lock data-manager-init for concurrent async init 2011-03-02 Martyn Russell 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 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 Updated Brazilian Portuguese translation 2011-02-28 Lionel Landwerling libtracker-miner: Add mount-name to tracker:Volume as nie:title Author: Lionel Landwerling 2011-02-26 Joe Hansen Updated Danish translation 2011-02-25 Aleksander Morgado tracker-control: let --detailed imply --follow 2011-02-24 Philip Van Hoof libtracker-common: Missing glib includes for G_BEGIN_DECLS 2011-02-24 Aleksander Morgado 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 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 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 libtracker-miner: When reporting progress, ensure items processed <= total items Fixes GB#642581 2011-02-23 Cosimo Cecchi 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 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 Updated Hungarian translation 2011-02-22 Philip Van Hoof 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 libtracker-common: Fix comment, date specs is ISO 8601 2011-02-22 Mikael Ottela data-generators:Add slo scripts to data generators 2011-02-21 Aleksander Morgado tracker-miner-fs,applications: Chain up parent's finalize 2011-02-21 Philip Van Hoof 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 Updated Spanish translation 2011-02-19 Andrej Žnidaršič Updated Slovenian translation 2011-02-17 Martyn Russell Release 0.10.0 2011-02-17 Aleksander Morgado tracker-extract,flac: Fix several memory handling issues libtracker-miner,storage: Skip mount points without mount path 2011-02-17 Martyn Russell Merge branch 'evolution-plugin' 2011-02-17 Philip Van Hoof plugins/evolution: Making it work with current jhbuild of Evolution 2011-02-17 Aleksander Morgado libtracker-miner,storage: Improve logging 2011-02-17 Lionel Landwerlin 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 Merge branch 'gtk3' 2011-02-17 Philip Van Hoof plugins/evolution: Fixes for making it work on latest master 2011-02-17 Martyn Russell build: Fix error message when evolution requirements are missing 2011-02-16 Marek Černocký Updated Czech translation 2011-02-16 Philip Van Hoof 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 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 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 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 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 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 libtracker-miner,storage: Fix indentation/alignment 2011-02-15 Carlos Garnacho 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 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 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 [l10n] Updated German doc translation 2011-02-12 Andrej Žnidaršič Updated Slovenian translation 2011-02-11 Jürg Billeter tracker-search-bar: Port to GTK+ 3 2011-02-11 Martyn Russell tracker-search-bar: Update to use libtracker-sparql not libtracker-client 2011-02-10 Jürg Billeter 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 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 Release 0.9.38 2011-02-10 Aleksander Morgado tracker-extract,gstreamer: Improve error logging 2011-02-10 Jürg Billeter 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 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 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 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 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 tracker-extract,gstreamer: Fix check for minimum gstreamer required version 2011-02-09 Martyn Russell Merge branch 'unique-nie-url' Merge branch '0.10-documentation-review' Merge branch 'nautilus-extension-update' 2011-02-09 Aleksander Morgado 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 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 libtracker-data: Handle error when WAL journaling can't be set 2011-02-08 Aleksander Morgado 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 functional-tests: Add test for NB#223536 Mp3 without artist or album. It make tracker-extract crash. 2011-02-08 Aleksander Morgado 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 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 tracker-extract: Compare mtime of source file with albumart cache's file Fixes NB#221340. 2011-02-07 Daniel Mustieles Updated Spanish translation 2011-02-07 Aleksander Morgado 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 ontologies: Remove default-emergency-contact predefined instance Fixes NB#180770 - Unusable emergency contact is found... 2011-02-07 Philip Van Hoof tracker-extract: Multiple double spaces in albumart filename determining Fixes NB#217610. 2011-02-07 Ivan Frade functional-tests: Added audio+DRM file to the extraction test cases 2011-02-07 Jürg Billeter 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 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 Updated Arabic translation 2011-02-05 Marek Černocký Updated Czech translation 2011-02-04 Ivan Frade 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 plugins/nautilus: Update to use libtracker-sparql not libtracker-client 2011-02-04 Ivan Frade 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 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 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 tests: Add unit test for IN with >20 elements 2011-02-04 Jürg Billeter 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 Updated Swedish translation 2011-02-03 Martyn Russell Release 0.9.37 2011-02-03 Jürg Billeter 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 libtracker-data: Don't use variable binding after a max for IN support Fixes NB#224760. 2011-02-03 Martyn Russell Merge branch 'no-mtime-checks-on-start' build: Don't depend on tracker-explorer dependencies to pass configure 2011-02-03 Aleksander Morgado 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 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 build: Include tracker-control.h so that it gets distributed 2011-02-03 Jürg Billeter 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 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 build: Include 'applications' subdir in test-configurations 2011-02-03 Philip Van Hoof libtracker-miner: Fix for two g_variant_new calls Fixes NB#224763. 2011-02-03 Aleksander Morgado 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 [l10n] Updated Estonian translation 2011-02-02 Aleksander Morgado 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 Merge branch 'miner-fs-initable-iface' 2011-02-02 Jürg Billeter libtracker-data: Fix fn:starts-with for libunistring and glib collators Fixes GB#636074. 2011-02-02 Martyn Russell 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 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 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 tracker-status: fully removed tracker-control: Merge actions from tracker-status 2011-02-01 Aleksander Morgado 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 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 tracker-extract-mp3: Extract track number from ID3v2.2 frames Fixes NB#185309. 2011-01-31 Ivan Frade functional-tests: Add option -m to start the tracker processes manually 2011-01-31 Jürg Billeter 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 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 functional-tests: Update tests.xml to stop tracker using upstart functional-tests: Include new files in the EXTRA_DIST 2011-01-31 Aleksander Morgado libtracker-data: Update mtime of db-version.txt after a backup restoration Fixes NB#223622 2011-01-31 Jürg Billeter tracker-extract-png: Fix guaranteed metadata Fixes NB#223282. 2011-01-29 Daniel Mustieles Updated Spanish translation 2011-01-29 Bruno Brouard Updated French Translation Bruno Brouard and Alain Lojewski 2011-01-29 Andrej Žnidaršič Updated Slovenian translation 2011-01-28 Marek Černocký Updated Czech translation 2011-01-28 Aleksander Morgado 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 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 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 MAINTAINERS: Fix userid 2011-01-28 Jürg Billeter libtracker-data: Wrap date errors in SPARQL errors for D-Bus replies Fixes NB#223133. 2011-01-28 Aleksander Morgado functional tests, applications: Remove unneeded sleeps functional tests, applications: No need to flock() in the tests 2011-01-28 Ivan Frade 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 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 tracker-extract: Fix crash in albumart support Fixes NB#223148. miner-fs: Fix error freeing Fixes NB#223161. 2011-01-28 Ivan Frade functional-tests: Added test for NB#222645 2011-01-28 Philip Van Hoof 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 Updated Spanish translation 2011-01-27 Jürg Billeter 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 tracker-writeback: Add member= to the signal's subscription Fixes NB#222578. 2011-01-27 Jürg Billeter 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 miner-fs: silent compiler warning on declared but not defined functions 2011-01-27 Philip Van Hoof 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ý Updated Czech translation 2011-01-26 Khaled Hosny Updated Arabic translation Remove deleted file 2011-01-26 Jürg Billeter 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 tracker-explorer: don't remove sources on maintainer-clean build: filename typo in ontology docs Makefile.am 2011-01-25 Jürg Billeter 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 Some versions of totem-pl-parser's pc file require manually adding glib-2.0 2011-01-25 Aleksander Morgado 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 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 tracker-needle: Use accessor functions instead direct access Fixes https://bugzilla.gnome.org/show_bug.cgi?id=640231 2011-01-21 Martyn Russell 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 Fix Vala warnings 2011-01-20 Jürg Billeter SPARQL: Fix SQL generated for predicate variables and deleted subjects 2011-01-20 Martyn Russell Release 0.9.35 2011-01-20 Jürg Billeter NMO: Move nmo:sentDate above nmo:Call nmo:Call refers to nmo:sentDate via tracker:domainIndex. 2011-01-20 Dominique Leuenberger 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 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 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 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 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 tracker-extract: Don't guess nie:contentCreated for songs Fixes NB#220373. 2011-01-19 Martyn Russell 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 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 tracker-extract: Cleaned up the gupnp-dlna module coding style 2011-01-18 Arun Raghavan 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 NCO: Fix cyclic dependency with NFO 2011-01-18 Aleksander Morgado tracker-extract,mp3: Fix bitrate table usage tracker-extract,mp3: Fix sample rate table usage 2011-01-18 Philip Van Hoof tracker-extract: MP3: Cope with sample_rate = 0 Fixes NB#218332. 2011-01-18 Ivan Frade 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 NCO: Fix range of nco:photo and nco:video, fix maxCardinality of nco:video Fixes NB#218125 2011-01-18 Jürg Billeter Merge branch 'gdbus' 2011-01-18 Philip Van Hoof 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 miner-fs: Use g_free as GMemoryOutputStream destroy function 2011-01-18 Philip Van Hoof 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 tracker-control: on -rs, ensure the 1s wait between stop and start 2011-01-18 Philip Van Hoof 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 miner-fs: Fix GDBusMessage leak in get_metadata_fast_async 2011-01-18 Philip Van Hoof 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 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 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 libtracker-common: Fix tracker_dbus_send_and_splice_async() so GSimpleAsyncResult has a source_tag 2011-01-18 Philip Van Hoof libtracker-miner: Memleak fix 2011-01-18 Martyn Russell 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 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 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 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 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 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 functional-tests: New test suite for problematic sparql 2011-01-17 Jürg Billeter 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 Added Indonesian translation Added id to LINGUAS 2011-01-16 Martyn Russell tracker-needle: List folders in first/initial view Fixes GB#639556, Tracker does not find folders 2011-01-15 Martyn Russell 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 Ontology: draft the NCO documentation page Ontology: add county and district to postal address 2011-01-14 Aleksander Morgado 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 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 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 libtracker-data: When new class created, propagate previous property values to domain indexes, if any Fixes NB#211147 2011-01-11 Ivan Frade 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 Updated Brazilian Portuguese translation 2011-01-11 Philip Van Hoof 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 tracker-store: Sort classes on startup instead of in Statistics.Get libtracker-data: Fix tracker_ontologies_get_classes 2011-01-10 Jürg Billeter 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 libtracker-miner: If we cannot get a proper SPARQL connection, log error and abort Fixes NB#198003 2011-01-10 Jürg Billeter libtracker-data: Fix double free in ontology cache code Fixes NB#216350. 2011-01-07 Andrej Žnidaršič Updated Slovenian translation 2011-01-07 Jürg Billeter tracker-store: Remove unused function initialize_directories 2011-01-07 Martyn Russell libtracker-miner: Use G_LOG_LEVEL_INFO for status and stats 2011-01-07 Jürg Billeter tracker-store: Remove unused ttl_backup_file field tracker-store: Remove unused reindex_on_shutdown support 2011-01-06 Jürg Billeter build: Target GLib 2.26 for Vala code generation 2011-01-05 Jürg Billeter 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 Update Czech translation by Marek Cernocky Reviewed by Petr Kovar. 2011-01-01 Mario Blättermann [l10n] Updated German translation 2010-12-31 Martyn Russell 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č Updated Slovenian translation Updated Slovenian translation 2010-12-30 Daniel Nylander Updated Swedish translation 2010-12-29 Petr Kovar Update Czech translation by Marek Cernocky Reviewed by Petr Kovar. 2010-12-29 Jürg Billeter 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 Updated Swedish translation 2010-12-29 Martyn Russell 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 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č Updated Slovenian translation 2010-12-28 Aron Xu Update Simplified Chinese translation. 2010-12-28 Jürg Billeter 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 Update Czech translation by Marek Cernocky 2010-12-27 Martyn Russell 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 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 Updated Spanish translation 2010-12-26 Gabor Kelemen 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č Updated Slovenian translation 2010-12-23 Philip Van Hoof tracker-writeback: XMP: Take into account mlo:asPostalAddress Fixed NB#214163 2010-12-23 Jürg Billeter 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 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 libtracker-data: Fix memory leak in cursor_next_async Fixes NB#214478. SPARQL: Fix WITH support 2010-12-22 Aleksander Morgado libtracker-miner: Set proper nfo:belongsToContainer on file move operations Fixes NB#214413 2010-12-22 Jürg Billeter 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 libtracker-data: Add ontology cache Import gvdb 2010-12-21 Aleksander Morgado 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 tests,libtracker-miner: Fix expected results on directory move operations 2010-12-20 Mario Blättermann [l10n] Updated German translation 2010-12-20 Mattias Põldaru [l10n] Updated Estonian translation 2010-12-20 Aleksander Morgado libtracker-miner: New IRI cache traces 2010-12-20 Philip Van Hoof libtracker-miner: Fixed Makefile.am, oeps 2010-12-20 Jürg Billeter SPARQL: Implicitly convert fn:concat arguments to string Fixes NB#213419. 2010-12-20 Philip Van Hoof 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 Updated Spanish translation 2010-12-17 Aleksander Morgado 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 tracker-extract-gstreamer: Fix undefined references 2010-12-17 Philip Van Hoof 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 Ontology: Change URI for URL in the documentation which was wrong 2010-12-17 Jürg Billeter 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 tracker-extract,txt: Support text files encoded in UTF-16 if BOM available Fixes NB#212116 [NEWS] 2010-12-16 Martyn Russell 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 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 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 Update Czech translation by Marek Cernocky 2010-12-14 Philip Van Hoof tracker-extract: gstreamer: use nfo:VectorImage for image/svg+xml Fixes NB#211926 2010-12-14 Martyn Russell 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 libtracker-sparql: Wait for tracker-store before loading plugins 2010-12-13 Philip Van Hoof Fix GStreamer extractor, genre can be NULL too Fix GuPNP-DLNA extractor, genre can be NULL too 2010-12-13 Jürg Billeter 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 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 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 tracker-extract: New windows icon extractor (image/vnd.microsoft.icon) Fixes NB#207918 [NEWS] 2010-12-09 Philip Van Hoof 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 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 Remove deprecated GTK+ symbols Fixes GB#624041 So we can compile against GTK+3. No GTK+ bump required 2010-12-07 Deji Akingunola build: Fix linking errors in tests/ and utils/ Fixes GB#636604 2010-12-06 Ivan Frade data-generators: do not include .pyc in the tarball Documentation: updated structural diagrams of tracker and Content FW 2010-12-06 Philip Van Hoof libtracker-direct: Fix compilation warning in vala code 2010-12-06 Martyn Russell libtracker-data: Include libtracker-data.vapi in tarball Fixes GB#635756 2010-12-06 James Hunt 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 build: Removed INSTALL file, it is generated automatically 2010-12-06 Javier Jardón 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 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 libtracker-sparql, libtracker-bus: Fix compilation warning in vala code 2010-12-06 Martyn Russell functional-tests: Require Python >= 2.6 with --enable-functional-test 2010-12-06 Adrien Bustany 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 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 Release 0.9.30 2010-12-02 Mikael Ottela Update the modification date for the nfo ontology. 2010-12-02 Aleksander Morgado tests: fix distcheck 2010-12-01 Mikael Ottela Add domainIndex on nie:contentCreated to nfo:Visual 2010-12-01 Mateus Zenaide Updated Brazilian Portuguese translation 2010-12-01 Mikael Ottela 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 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 tracker-extract, albumart: Don't assume that g_file_get_parent() returns non-NULL 2010-12-01 Martyn Russell docs/tools: Fixed linking error for tracker_locale_*(), missing libtracker-common 2010-12-01 Aleksander Morgado tracker-miner-fs: Use tracker_file_is_hidden() libtracker-common: New tracker_file_is_hidden() file utility 2010-11-30 Aleksander Morgado 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 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 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 docs: Document the TRACKER_PRAGMAS_FILE environment variable 2010-11-28 Martyn Russell Fixes GB#635757, missing test file in tarball 2010-11-26 Jürg Billeter libtracker-direct: Make singleton connection thread-safe Fixes NB#203538. 2010-11-25 Bruno Brouard Updated French translation 2010-11-25 Philip Van Hoof libtracker-data: Fixed compilation warning SLO: Add tracker:notify to some classes Fixes NB#204706 2010-11-24 Jürg Billeter Release 0.9.29 tracker-store: Fix crash on client exit and task without destroy notify 2010-11-24 Aleksander Morgado Fixes NB#197067: tracker-miner-fs crawls open files 2010-11-24 Philip Van Hoof 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 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 Fixes GB#630244: Use MaxBytes from tracker-extract.cfg for plainText content optimization in msoffice 2007 files 2010-11-24 Jürg Billeter 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 Fixes GB#635652: Correction in the --enable-tracker-search-tool configuration flag management 2010-11-23 Mario Blättermann [l10n] Updated German translation 2010-11-23 Aleksander Morgado tracker-extract, mp3: Remove memory leak Fixes NB#203540: Composer label not extracted in ID3v2.3 mp3 files 2010-11-22 Aleksander Morgado libtracker-data: Improve error reporting when trying to set WAL journal mode fails 2010-11-22 Jürg Billeter Add index on tracker:added 2010-11-21 Petr Kovar Update Czech translation by Marek Cernocky 2010-11-20 Andrej Žnidaršič Updated Slovenian translation 2010-11-19 Daniel Mustieles Updated Spanish translation 2010-11-19 Philip Van Hoof libtracker-data: Make it more easy to test the PRAGMAs for SQLite 2010-11-17 Aleksander Morgado 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 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 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 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 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 Updated Hungarian translation 2010-11-13 Adrien Bustany 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č Updated Slovenian translation 2010-11-12 Jürg Billeter SPARQL: Support \u escape sequence in string literals 2010-11-12 Martyn Russell Fixes GB#634669, missing test file in tarball 2010-11-11 Djavan Fagundes Updated Brazilian Portuguese translation Updated Brazilian Portuguese translation 2010-11-11 Martyn Russell 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 functional-test: Add backslash so make functional-test works 2010-11-11 Philip Van Hoof libtracker-data: Indentation fix 2010-11-11 Martyn Russell 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 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 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 libtracker-data: Combine INSERT and UPDATE into single INSERT Remove unneeded --header and --vapi VALAFLAGS Remove generated files 2010-11-10 Rob Taylor 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 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 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 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 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 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 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 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 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 functional-tests: Conditional compilation of the extraction tests Distribute extraction tests only when the required libraries are present 2010-11-08 Martyn Russell Ontology: Updated indicies file explaining changes in this branch 2010-11-08 Ivan Frade 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 Remove unnecessary gio include from albumart-qt Added tracker-sql util to run sql directly for testing 2010-11-06 Mario Blättermann [l10n] Updated German translation 2010-11-04 Aleksander Morgado tracker-store: Fix valid callback check 2010-11-04 Philip Van Hoof 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 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 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 libtracker-data: Fix a critical on ontology change tracker:domainIndex 2010-11-03 Ivan Frade 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 Include GB#633118 file in the automated extraction tests 2010-10-31 Petr Kovar Update Czech translation by Marek Cernocky 2010-10-31 A S Alam Add Punjabi Translation: started 2010-10-30 Andrej Žnidaršič Updated Slovenian translation 2010-10-30 Carles Ferrando Added Catalan (Valencian) translation 2010-10-29 Martyn Russell 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 Update .gitignore 2010-10-29 Martyn Russell Revert "Properly indent MeeGo configure result" This reverts commit bf1c1a8c8c4f4ccfc0b2de9017c73b62d780b796. 2010-10-29 Deji Akingunola tracker-preferences: Fixed check which used "text" not "test" 2010-10-29 Jorge González Updated Spanish translation 2010-10-28 Michael Biebl Properly indent MeeGo configure result 2010-10-28 Bruno Brouard Updated French translation 2010-10-28 Martyn Russell 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 build: Fix --disable-tracker-miner-flickr 2010-10-27 Aleksander Morgado flickr miner: Don't clear vala stamp in CLEANFILES libtracker-client: Don't clear vala stamp in CLEANFILES 2010-10-27 Martyn Russell 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 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 Fixes NB#200310: BMP files should also be registered as nmm:Photo 2010-10-26 Philip Van Hoof libtracker-extract: Fixed naive unit test check 2010-10-26 Jürg Billeter libtracker-data: Fix uninitialized variable 2010-10-25 Mario Blättermann [l10n] Updated German translation 2010-10-25 Aleksander Morgado Fixes GB#633118: Read comments embedded in GIF files tracker-extract, gif: Plug small memleak 2010-10-25 Philip Van Hoof 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 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 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 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 Updated French translation 2010-10-22 Andrej Žnidaršič Updated Slovenian translation 2010-10-22 Philip Van Hoof 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 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 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 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 tracker-extract: gstreamer: Don't extract nmm:albumArtist until we have a better solution Partly fixes NB#194908 2010-10-21 Martyn Russell Updated NEWS 2010-10-21 Aleksander Morgado distcheck fix: distribute the .in.in files as they will need variable substitution depending on prefix during configure 2010-10-21 Philip Van Hoof tracker-extract: Port QuillImageFilter usage to QImage 2010-10-21 Aleksander Morgado libtracker-bus: Handle error properly in array_update_finish() 2010-10-20 Takayuki KUSANO Updated Japanese translation 2010-10-20 Ivan Frade functional-tests: Testing addition/removal of domainIndexes in the ontology 2010-10-20 Jürg Billeter 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 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 ontologies: Make sure all regular classes derive from rdfs:Resource 2010-10-19 Ivan Frade 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 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 Fixes: Bug 629850 - Undefined reference errors during build 2010-10-18 Martyn Russell 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 libtracker-bus: plug memleak when updating, GAsyncResult should always be unref-ed 2010-10-18 Jorge González Updated Spanish translation 2010-10-17 Mattias Põldaru [l10n] Updated Estonian translation 2010-10-16 Kjartan Maraas Updated Norwegian bokmål translation Fix POTFILES.in 2010-10-15 Aleksander Morgado 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 Release 0.9.25 2010-10-14 Aleksander Morgado Updated NEWS 2010-10-14 Martyn Russell 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 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 libtracker-bus: Fix build with Vala < 0.11 libtracker-sparql: Allow update_array_async to throw errors 2010-10-14 Philip Van Hoof 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 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 Fixes: NB#186096, X-MeeGo-logical-id not extracted from application .desktop files 2010-10-14 Aleksander Morgado functional-tests: ignore tracker-tests.aegis file generated during tests 2010-10-14 Ivan Frade 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 Fix the gupnp-dlna extractor to use the tracker_sparql_escape_uri_printf 2010-10-13 Kjartan Maraas libtracker-data: Fixed test cases on Fedora 14 2010-10-13 Jürg Billeter 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 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 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 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 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 libtracker-data: Force reindex on unsupported ontology change Fixes NB#197546. 2010-10-11 Mikael Ottela Notify changes in nco:ContactGroup. 2010-10-11 Philip Van Hoof tracker-extract: Don't use quill headers, only quillimagefilter Replace quill with quillimagefilter 2010-10-11 Jürg Billeter SPARQL: Fix build with Vala < 0.11 2010-10-11 Ivan Frade functional-tests: Fix extraction expectations for GIF with XMP Removed invalid key=values in the .expected file. 2010-10-11 Jean-Luc Lamadon functional-tests: add closing slash in aegis manifest file generator 2010-10-08 Jürg Billeter 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 utils, mtp-dummy: Implemented renaming of all files after batch copy finishes 2010-10-08 Philip Van Hoof tracker-store: Fix status reporting 2010-10-07 Martyn Russell 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 functional-tests: Fixed tokens names in the AEGIS file 2010-10-07 Philip Van Hoof libtracker-miner: Make vapi compatible with Vala 0.11.0 2010-10-07 Aleksander Morgado unit tests, tracker-sparql: include locale header 2010-10-06 Aleksander Morgado unit tests, tracker-sparql: Assume en_US.utf8 locale for a proper collation 2010-10-06 Ivan Frade 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 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 Depend on automake 1.11 for Vala support 2010-10-06 Jürg Billeter libtracker-data: Update test results for NMO ontology update NMO: Fix predefined phone message folders 2010-10-06 Aleksander Morgado configure.ac: Make sure sqlite is compiled thread-safe 2010-10-05 Jürg Billeter 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 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 configure.ac: removed the message regarding fd-passing support from the configure report 2010-10-05 Martyn Russell Fixes NB#196143, tracker-info core dumps with NULL cursor getting prefixes 2010-10-04 Vincent Untz plugins: Evolution: Fixed build error with updated tracker_sparql_connection*() API 2010-10-01 Adrien Bustany configure.ac: Don't fail if evolution headers are absent 2010-10-01 Jürg Billeter 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 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 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 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 functional-test: Remove expected failure from functional test libtracker-data: Fix db corruption test Fixes NB#195547 2010-09-30 Ivan Frade 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 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 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 tracker-store: Fixed corruption in FD passing support 2010-09-29 Aleksander Morgado tracker-extract-mp3: fix memory leak in albumart data 2010-09-29 Jürg Billeter 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 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 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 albumart: stop looking for cover if we find already a JPEG Use correctly retval to stop the iteration 2010-09-28 Jamie McCracken TST - Fixed compile error with latest vala 2010-09-27 Aleksander Morgado 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 SPARQL: Fix SQL for GRAPH with predicate variable and empty database Fixes NB#194746. 2010-09-25 Piotr Drąg Updated Polish translation 2010-09-24 Philip Van Hoof plugins/evolution: Fixed the UID format of the URL 2010-09-24 Ivan Frade functional-tests: Fix type in autotools 2010-09-24 Jürg Billeter tracker-extract-mp3: Fix string handling in comment and picture tags Fixes NB#193061. 2010-09-23 Ivan Frade 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 Release 0.9.22 Updated NEWS 2010-09-23 Aleksander Morgado 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 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 libtracker-data: Code comments about the LRU cache 2010-09-23 Aleksander Morgado libtracker-data: make compiler happy 2010-09-23 Jürg Billeter libtracker-data: Fix crash on concurrent use of the same query 2010-09-23 Martyn Russell 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 libtracker-data: Bugfix in the LRU cache 2010-09-23 Aleksander Morgado tracker-extract: remove unneeded call to tracker_topanalyzer_shutdown() 2010-09-23 Philip Van Hoof libtracker-data, tracker-store: Make statement cache sizes configurable with env var 2010-09-23 Jürg Billeter 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 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 SPARQL: Rework variable name support to fix regression libtracker-data: Add test case for ORDER BY select variable 2010-09-22 Ivan Frade functional-tests: set exec permissions to stats test 2010-09-21 Andre Klapper Make tracker build with GTK 2.90.7. Fixes bug #630176. 2010-09-21 Philip Van Hoof libtracker-common: Fixed compiler warning 2010-09-20 Martyn Russell 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 tracker-extract: Fix QUILLimagefilter support 2010-09-19 Mattias Põldaru [l10n] Updated Estonian translation 2010-09-17 Jürg Billeter 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 Release 0.9.21 2010-09-16 Aleksander Morgado libtracker-sparql tests: do not require a prior installation 2010-09-16 Martyn Russell 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 docs: Various codestyle fixes 2010-09-16 Adrien Bustany 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 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 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 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 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 libtracker-bus, libtracker-client: Fixed offset calculation libtracker-common: Avoid a malloc 2010-09-15 Ivan Frade functional-tests: new tests for the stats API functional-tests: add stats iface in the convenience wrapper 2010-09-15 Aleksander Morgado tracker-extract: if requested max 0 bytes, don't even start extracting content 2010-09-15 Martyn Russell 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 tracker-extract: fix use of g_strreverse() 2010-09-15 Jürg Billeter 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 functional-tests: update to the signals API Failing randomly... possible spotting a bug 2010-09-15 Aleksander Morgado Fixes NB#192326: tracker-store default log level set to critical logs only 2010-09-15 Philip Van Hoof 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 libtracker-data: Fix variable name support 2010-09-15 Philip Van Hoof 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 is not included). But beware! By default the glibc version of includes 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 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 libtracker-sparql, -bus, -data: Added ValueTypes and variable-names APIs to cursor 2010-09-15 Aleksander Morgado 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 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 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 libtracker-miner: Use DBus arg0 filtering for NameOwnerChanged Fixes NB#188031 2010-09-14 Jürg Billeter 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 Updated Hungarian translation 2010-09-14 Aleksander Morgado tracker-status: plug a leak 2010-09-13 Jürg Billeter 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 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 Ontology: NFO - Add HelpDocument class to the Document hierarchy 2010-09-11 Mikael Ottela Remove pango requirement in tracker-miner.pc 2010-09-09 Martyn Russell Release 0.9.20 Updated NEWS 2010-09-09 Aleksander Morgado libtracker-sparql: git-ignore vala-generated file 2010-09-09 Martyn Russell 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 Added slo:categoryIconUrl for category icons in the location ontology 2010-09-09 Martyn Russell Fixes GB#628872, tracker-control -t or -k shouldn't kill tracker-status-icon 2010-09-08 Ivan Frade Doc: updated doc to use plainTextContent instead of plainTextMessageContent 2010-09-08 Aleksander Morgado 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 Added slo:iconUrl for landmark icons in the location ontology 2010-09-08 Adrien Bustany Flickr miner: fix critical on photos with no tags 2010-09-07 Martyn Russell 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 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 Fixes GB#628859: Ship examples/rss-reader/initial-data.ttl in tarballs 2010-09-03 Christian Kirbach [i18n] Updated German translation 2010-09-03 Jürg Billeter 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 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 tracker-store: Send D-Bus replies for BatchCommit Fixes NB#189896. 2010-09-03 Daniel Nylander Updated Swedish translation 2010-09-02 Martyn Russell Release 0.9.19 Updated NEWS 2010-09-02 Aleksander Morgado configure: avoid glib unicode support in auto mode 2010-09-02 Murugappan Nataraj Fixes GB#628090: Tracker plugin for PPSX files 2010-09-02 Aleksander Morgado Fixes GB#628536: Don't install ui files for example utils 2010-09-02 Martyn Russell 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 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 libtracker-data: Update test results due to collation change 2010-09-02 Aleksander Morgado 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č Updated Slovenian translation 2010-09-01 Jürg Billeter tracker-writeback: Fix distcheck 2010-09-01 Philip Van Hoof 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 SPARQL: Change tracker:uri() to be the exact inverse of tracker:id() 2010-09-01 Philip Van Hoof 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 tracker-writeback: Fix cursor leak 2010-09-01 Philip Van Hoof 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 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 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 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 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 NMO: Add nmo:isEmergency property 2010-08-31 Carlos Garnacho 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 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ý Update Czech translation 2010-08-27 Jean-Luc Lamadon Revert "Use python instead of specific python2.6" This reverts commit b9a6ef52a03a7f646768a58168d5ebd808d3e7fc 2010-08-26 Aleksander Morgado 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 Release 0.9.18 2010-08-26 Aleksander Morgado data/dbus: fix distcheck 2010-08-26 Martyn Russell 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 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 Merge branch 'direct-wait' libtracker-sparql: Add debugging to know what SPARQL is used with direct-access 2010-08-26 Mikael Ottela Small fixes to the location ontology. 2010-08-26 Bruno Brouard Updated French translation 2010-08-26 Aleksander Morgado functional-tests: corrupted-image extraction test is no longer an expected failure, as bug was fixed 2010-08-25 Martyn Russell 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 Updated Spanish translation 2010-08-24 Martyn Russell 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 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 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 Update Czech translation by Marek Cernocky 2010-08-23 Aleksander Morgado 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 tracker-store: Fixed commit e718d703 for non FD passing users 2010-08-23 Aleksander Morgado tracker-store: avoid unregister_g_object() criticals functional-tests, fts: remove rdfs:Resource, not rdf:Resource 2010-08-23 Martyn Russell libtracker-bus: Make sure we link with libtracker-sparql 2010-08-21 Bruno Brouard Updated French translation 2010-08-20 Andrej Žnidaršič Updated Slovenian translation 2010-08-20 Mario Blättermann [i18n] Updated German translation 2010-08-20 Carlos Garnacho TrackerMinerFS: Do not index dirs inconditionally when adding monitors. 2010-08-20 Martyn Russell 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 Use python instead of specific python2.6 2010-08-20 Adrien Bustany libtracker-sparql: put util functions in Tracker.Sparql namespace 2010-08-20 Jürg Billeter libtracker-bus: Call BatchUpdate for low priority requests Update .gitignore 2010-08-19 Adrien Bustany Add deps file for tracker-sparql.vapi 2010-08-19 Martyn Russell Release 0.9.17 Updated NEWS 2010-08-19 Aleksander Morgado 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 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 FT: Fixed make check failure 2010-08-18 Ivan Frade 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 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) Adapt to gupnp-dlna API change 2010-08-17 Jürg Billeter libtracker-data: Merge DataError into SparqlError 2010-08-17 Aleksander Morgado OASIS extractor: minor indentation fixes 2010-08-17 Murugappan Nataraj Fixes GB#623005: Tracker plugin for odt, odp, ods files 2010-08-17 Jürg Billeter 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 libtracker-sparql: add dbus-glib-1 dep when compiling vala sources 2010-08-17 Carlos Garnacho NB#185950 - Crash in gif extractor. Check for the first char before assuming the second is valid memory. 2010-08-17 Jürg Billeter 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 TrackerMinerFiles: Fix wrong cast in query callback. 2010-08-17 Ivan Frade Add GCOV_LIBS to the libtracker-direct compilation 2010-08-17 Aleksander Morgado 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 Updated Spanish translation 2010-08-16 Martyn Russell tracker-search: Fixed typo 2010-08-16 Philip Van Hoof functional-tests: Add direct-query-test and default-update-test 2010-08-16 Aleksander Morgado distcheck fixes: vala generated sources are in srcdir in dist 2010-08-16 Jürg Billeter libtracker-direct: Handle initialization failure Move SparqlError from libtracker-data to libtracker-sparql libtracker-direct: Use dedicated module directory 2010-08-16 Martyn Russell libtracker-direct: Provide plugin API 2010-08-16 Philip Van Hoof libtracker-direct: Keep connection alive for longer than cursor libtracker-direct: Create tracker-direct.vapi 2010-08-16 Jürg Billeter libtracker-direct: Add initial implementation 2010-08-16 Martyn Russell 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 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 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 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 functional-tests: Fixed warnings from unhandled throws 2010-08-16 Jürg Billeter libtracker-bus: Fix cancellation Adapt to libtracker-sparql changes libtracker-miner: Drop update_commit calls 2010-08-16 Philip Van Hoof 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 Port steroids tests to libtracker-sparql 2010-08-16 Martyn Russell 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 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 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 tests/tracker-miner-fs: Fix build 2010-08-16 Jürg Billeter tracker-control: Fix build utils: Fix build 2010-08-16 Martyn Russell 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 tracker-extract: Drop use of libtracker-client function 2010-08-16 Martyn Russell 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 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 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 tracker-utils: Port tracker-status to libtracker-sparql 2010-08-16 Martyn Russell libtracker-extract: Move to libtracker-sparql from libtracker-client 2010-08-16 Philip Van Hoof tracker-writeback: NB#185070: Loop over all subjects in the Writeback signal's array 2010-08-16 Martyn Russell libtracker-data: Plugged a leak in journal 2010-08-16 Ivan Frade 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 build: Fix VPATH builds 2010-08-16 Philip Van Hoof tracker-writeback: Don't just process the first row of results for file writebacks 2010-08-16 Ivan Frade Add GCOV_LIBS to the new libraries Otherwise the compilation is broken with --enable-gcov 2010-08-16 Philip Van Hoof tracker-writeback: XMP: NB#182948: Added nao:hasTag for keywords writeback plugins/evolution: GB#623207: Fix compilation problems 2010-08-16 Aleksander Morgado Fixes NB#184882: tracker-extract is getting crashed for malformed gif files 2010-08-13 Martyn Russell 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 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 Fix distcheck issues 2010-08-13 Philip Van Hoof libtracker-bus: Add updateblank support with functional test 2010-08-13 Martyn Russell 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 libtracker-bus: Added skeleton for update_blank and update_blank_async 2010-08-13 Aleksander Morgado 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 tests/functional-tests: Refactoring the query test 2010-08-13 Aleksander Morgado tests/functional-tests: Fix distcheck 2010-08-13 Philip Van Hoof tests/functional-tests: Refactored the tests a bit more 2010-08-13 Jürg Billeter 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 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 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 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 libtracker-bus: Implement import{_async}() tracker-import: Use new libtracker-sparql API 2010-08-13 Jürg Billeter libtracker-bus: Use dedicated module directory 2010-08-13 Martyn Russell libtracker-bus: Implement D-Bus version of statistics API 2010-08-13 Jürg Billeter 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 libtracker-bus: Make sure current_row is set to -1 and next() is always required 2010-08-13 Philip Van Hoof 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 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 tracker-store: Remove unused push plugin support libtracker-data: Remove unused Options table Remove unmaintained kmail plugin 2010-08-13 Martyn Russell tracker-store: Plug some leaks in dbus shutdown 2010-08-13 Jürg Billeter libtracker-common: Make sure libtracker-sparql inherits verbosity 2010-08-12 Philip Van Hoof 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 Release 0.9.16 Updated NEWS libtracker-data: Fixed algebra test Makefile, typo for filter-in-3 2010-08-12 Philip Van Hoof 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 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 libtracker-common: Fix tracker_log_shutdown 2010-08-11 Philip Van Hoof 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 Update Simplified Chinese translation. 2010-08-11 Philip Van Hoof libtracker-data: Fixed support for IN, NOT IN with 2010-08-10 Jürg Billeter libtracker-sparql: Fix distcheck libtracker-sparql: Use TRACKER_VERBOSITY environment variable libtracker-common: Support TRACKER_VERBOSITY environment variable 2010-08-10 Martyn Russell libtracker-sparql: Renamed 'import' method to 'load' 2010-08-10 Jürg Billeter 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 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 libtracker-sparql, libtracker-bus: Fix default update-blank method 2010-08-10 Jürg Billeter libtracker-sparql: Fix signature of Connection.update_async libtracker-sparql: Add SparqlError error domain 2010-08-10 Martyn Russell 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 libtracker-sparql: Use dedicated module directory 2010-08-10 Martyn Russell 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 libtracker-sparql: Only create single PluginLoader 2010-08-10 Martyn Russell libtracker-sparql: Don't return const gchar* for escape functions 2010-08-10 Philip Van Hoof libtracker-sparql: Allow Cursor.get_string to return null 2010-08-10 Jürg Billeter libtracker-sparql: Convert update and embedded_insert to constructors libtracker-sparql: Add Connection.get and Connection.get_direct 2010-08-10 Martyn Russell 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 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 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 libtracker-sparql: Add connection property to Cursor class 2010-08-09 Jürg Billeter libtracker-sparql: Add Sparql.Connection, use abstract classes 2010-08-09 Martyn Russell 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 Updated LowGerman translation 2010-08-05 Aleksander Morgado 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 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 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 tracker-store: Fixed regression for class-signals caused by busy-handling 2010-08-04 Philip Van Hoof 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 Added LowGerman translation 2010-08-03 Andrej Žnidaršič Updated Slovenian translation 2010-08-03 Jürg Billeter tests/functional-tests: Allow build of busy-handling test with old vala 2010-08-03 Philip Van Hoof tracker-extract: NB#172390, Tracker doesn't return any content from m3u playlists 2010-08-02 Aleksander Morgado 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 build: Do not use obsolete --enable-unac option in distcheck 2010-08-02 Aleksander Morgado VPATH build issues fixed 2010-08-02 Philip Van Hoof 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 SPARQL: Fix NOT IN parsing 2010-08-02 Aleksander Morgado 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 Updated Hungarian translation 2010-07-30 Philip Van Hoof 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 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 First version of fts functional test cases 2010-07-26 Daniel Nylander Updated Swedish translation 2010-07-23 Martyn Russell Release 0.9.14 Updated NEWS 2010-07-22 Aleksander Morgado Fixes NB#181538: Assume tar program is in $PATH 2010-07-22 Jürg Billeter SPARQL: Fix generated SQL when not retrieving actual data SPARQL: Add support for EXISTS and NOT EXISTS 2010-07-22 Aleksander Morgado libtracker-miner: file may not have parent libtracker-db tests moved to libtracker-data 2010-07-22 Jürg Billeter maemo: Add contactGroup{Audio,Video,Vibration}Ringtone 2010-07-21 Aleksander Morgado 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 NAO: Set maximum cardinality of propertyName and propertyValue to 1 2010-07-20 Aleksander Morgado 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 tracker-extract: Fix crash in albumart when pixbuf cannot be created 2010-07-20 Aleksander Morgado 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 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 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 libtracker-common: If error splicing, let user callback free it 2010-07-19 Aleksander Morgado 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 Update Simplified Chinese translation. 2010-07-18 Jorge González Updated Spanish translation 2010-07-17 Andrej Žnidaršič Updated Slovenian translation 2010-07-16 Aleksander Morgado libtracker-miner: Fix memleak in item_move() libtracker-miner, storage: Fix memleak, GUnixMountEntry was not being disposed 2010-07-16 Martyn Russell Release 0.9.13 Updated NEWS 2010-07-16 Aleksander Morgado 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 libtracker-data: Set default journal-chunk size to 50MB 2010-07-16 Jürg Billeter tracker-store: Fix journal rotating support Revert "Require GLib 2.24 for GZlibDecompressor" This reverts commit 426b1443ef9b5e4ab6428095351a243358fccccb. 2010-07-16 Philip Van Hoof 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 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 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 Update Czech translation by Marek Cernocky 2010-07-15 Aleksander Morgado 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 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 [i18n] Updated German translation 2010-07-12 Aleksander Morgado libtracker-data: abort if getting max ID fails 2010-07-12 Philip Van Hoof libtracker-data: NB#178599, extra checks for finding the problem 2010-07-12 Aleksander Morgado 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 Updated Portuguese translation Updated Portuguese translation 2010-07-11 Petr Kovar Update Czech translation by Marek Cernocky 2010-07-09 Jürg Billeter 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 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 Release 0.9.12 Updated NEWS 2010-07-08 Aleksander Morgado 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 Merge branch 'drop-inotify' 2010-07-08 Adrien Bustany libtracker-client: Fix object_date proto in vapi 2010-07-08 Aleksander Morgado 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 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 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 libtracker-db: Silence compiler for a no-problem compilation warning tracker-store: Silence compiler for no-problem warnings 2010-07-07 Aleksander Morgado libtracker-miner: avoid dead code in mount_guess_content_type() 2010-07-07 Adrien Bustany 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 libtracker-fts tests: Remove unused variable 2010-07-06 Martyn Russell Merge branch 'dbus-performance' 2010-07-05 Jürg Billeter build: Drop unused PKGLIBDIR defines 2010-07-05 Mario Blättermann [i18n] Updated German translation [i18n] Updated German translation 2010-07-04 Andrej Žnidaršič Updated Slovenian translation 2010-07-02 Jürg Billeter 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 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 function-tests : added mass storage mode test cases 2010-07-01 Martyn Russell Merge branch 'cpuaffinity' tracker-store: Protect non-portable GNU functions from compilation error 2010-07-01 Aleksander Morgado 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 tracker-store: Avoid CPU hopping of main threads This improves update performance on SMP systems. 2010-07-01 Aleksander Morgado libtracker-miner: small alignment fixes Fixes GB#623203: Fix segfault when guessing content type in mounts without path 2010-07-01 Jorge González Updated Spanish translation 2010-06-30 Aleksander Morgado tracker-store: always reset interrupt before any query/update 2010-06-30 Adrien Bustany 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 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 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 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 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 tracker-steroids: Fix batch updates 2010-06-29 Carlos Garnacho Bug 622734 - too many open files error / possible file descriptor leak Free up resources on GStreamer error. 2010-06-29 Martyn Russell tracker-control: Fixed typo in --help 2010-06-29 Philip Van Hoof 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 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č Updated Slovenian translation 2010-06-28 Aleksander Morgado 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 [l10n] Updated Estonian translation 2010-06-27 Mario Blättermann [i18n] Updated German translation 2010-06-26 Jorge González Updated Spanish translation Updated Spanish translation 2010-06-25 Aleksander Morgado 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 Evolution: Don't fail to add mails with spaces in the folder name. 2010-06-25 Aleksander Morgado Fixes GB#511474: Remove the option to index remote mounted directories 2010-06-25 Martyn Russell 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 Release 0.9.10 Small update to NEWS Updated NEWS 2010-06-24 Adrien Bustany 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 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 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 libtracker-client: pass proper callback user data libtracker-client: remove trailing whitespaces 2010-06-24 Jürg Billeter 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 Fixes GB#621987, Correctly handle applications in results Improves Application category support in tracker-search-tool 2010-06-24 Tshepang Lekhonkhobe fixes GB#620354 make TST history persistent 2010-06-24 Martyn Russell 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 Fix typo. Wrong user_data was being passed, making things crash in the async response. 2010-06-23 Aleksander Morgado 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 Merge branch 'dbus-fd-experiment' 2010-06-23 Carlos Garnacho 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 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 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 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 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 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 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 libtracker-client: Drop tracker_result_iterator_has_next Merged into tracker_result_iterator_next to simplify API. 2010-06-22 Martyn Russell 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 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 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 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 Steroids-client: Code cleanup, phase 1 - examples/ and libtracker-client/ 2010-06-22 Adrien Bustany 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 squash libtracker-client, tracker-store: Handling D-Bus errors right 2010-06-22 Jürg Billeter 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 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 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 Fixes NB#175957: Properly setup non-removable mounts at startup 2010-06-21 Carlos Garnacho 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 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 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 Remote stale file tracker-miner-0.7.deps 2010-06-17 Carlos Garnacho 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 Release 0.9.9 Bump database version Updated NEWS 2010-06-17 Aleksander Morgado Merge remote branch 'origin/removable-opticals' 2010-06-17 Martyn Russell NMO: Fixed Ivan's commit by updating lastChanged change in commit ded355 2010-06-17 Aleksander Morgado 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 libtracker-miner: Indentation fixes 2010-06-16 Martyn Russell 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 tracker-miner-fs: Fix compilation when no upower and no hal 2010-06-16 Carlos Garnacho Bug 621547 - inconsistent messages on hard-reset Make message about storage files deletion more generic. 2010-06-16 Jürg Billeter 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 configure: Fix report messages when disabling miners 2010-06-15 Carlos Garnacho TrackerStatusIcon: Query initial state for active miners. 2010-06-15 Ivan Frade NCO: remove cardinality restrictions on nco:hasAffiliation 2010-06-15 Carlos Garnacho 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 Merge branch 'drop-unac' 2010-06-15 Aleksander Morgado 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 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 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 libtracker-data: Fixes NB#174591, Throw error on undefined variable in expressions 2010-06-15 Martyn Russell 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 Fixes NB#173673, SMS validity period property needed in nmo ontology 2010-06-15 Aleksander Morgado libtracker-miner: support GMounts without GVolume in mount_guess_content_type() libtracker-miner, miner-fs: remove trailing whitespaces 2010-06-15 Martyn Russell 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 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 libtracker-miner: Queue deleted items instead of removing in a tight loop. 2010-06-15 Aleksander Morgado 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 libtracker-data: Fixes NB#174248, type conversions for boolean using ^^ notation 2010-06-11 Philip Van Hoof 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 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 FTS libicu parser: memleak fixed 2010-06-10 Martyn Russell Released 0.9.8 Updated NEWS 2010-06-10 Jürg Billeter 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 Updated generator scripts to include dataobjects for emails. 2010-06-09 Martyn Russell 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 --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 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 tracker-extract: Fixes NB#172414, check for empty string 2010-06-08 Philip Van Hoof 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 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 Fixes NB#173206, use nfo:device and merge make and model correct for videos 2010-06-07 Philip Van Hoof tests: Add 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č Updated Slovenian translation 2010-06-07 Jürg Billeter 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 libtracker-common: remove public gtk-doc documentation 2010-06-05 Gabor Kelemen Updated Hungarian translation Updated Hungarian translation 2010-06-04 Ivan Frade Functional tests: BatchCommit + kill the daemon Fixes NB#171657, Device manufacturer and model XMP data not extracted mp4 2010-06-03 Jorge González Updated Spanish translation 2010-06-03 Martyn Russell Released 0.9.7 Updated NEWS 2010-06-03 Jürg Billeter 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 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 Functional tests: Experimental rtcom query improvements 2010-06-02 Martyn Russell 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 Fix _DATA to include maemo ontologies 2010-06-02 Mikael Ottela 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 Updated German translation 2010-06-01 Martyn Russell tracker-miner-fs: Set crawling interval to everytime started 2010-06-01 Carlos Garnacho 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 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 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 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 NMO: Represent the read-report status for messages. Updated structural diagram 2010-05-28 Aleksander Morgado 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 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 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 FTS parsers: refactor & cleanup API 2010-05-27 Takeshi AIHANA Updated Japanese translation. 2010-05-27 Martyn Russell 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 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 libtracker-data: Update test result libtracker-fts: Make sure to not keep table locked after queries 2010-05-27 Mikael Ottela Add the simplified location ontology for testing 2010-05-27 Philip Van Hoof tracker-extract: PDF: g_timer_start isn't needed here libtracker-extract: Add docs for public API 2010-05-27 Martyn Russell 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 FTS Parsers: new README file explaining benefits of each one 2010-05-26 Philip Van Hoof libtracker-db: Compilation warning tracker-extract: PDF: Don't let the PDF extractor work for more than 5s 2010-05-26 Claude Paroz Updated French translation Contributed by Claude Paroz and Bruno Brouard 2010-05-26 Philip Van Hoof 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 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 FTS tests: small fix in test data 2010-05-26 Philip Van Hoof tracker-extract, libtracker-extract: Bugfix NB#170142: avoid duplicate tags 2010-05-26 Aleksander Morgado 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 tracker-extract: TIFF: Bugfix NB#168740, uri used as fullname for artists in tiff 2010-05-25 Aleksander Morgado libtracker-data: minor improvement in error reporting 2010-05-25 Jürg Billeter 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 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 Fixes GB#616540: Add missing conversion to UTF-8 for directory names 2010-05-25 Ivan Frade Fixes NB#164822, property to link contact with video 2010-05-25 Aleksander Morgado 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 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 Fixes GB#619487: re-enable search with terms that got _underscores 2010-05-24 Philip Van Hoof libtracker-extract: text_len is unsigned, made it signed 2010-05-21 Frederic Crozat 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 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 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 Release 0.9.5 Updated NEWS documentation: Fixed various issues with new APIs missing 2010-05-20 Aleksander Morgado 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 tracker-extract: albumart-quill: Bugfix NB#163155 2010-05-20 Carlos Garnacho 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 Fixed distcheck since commit 6d65134ff27b35adbf56cbf190e5c9dc1c435e48 2010-05-20 Ivan Frade Maemo: properties to link contact with ringtones MLO: Added landmark categories IDs Coming from the landmark exchange format spec. 2010-05-20 Carlos Garnacho 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 Fixes GB#619061, add history and auto-completion to t-s-t 2010-05-20 Frederic Crozat Fix tracker-miner-fs exiting on non-UTF8 locale (GNOME bug #616535) 2010-05-19 Johannes Buchner 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 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 configure.ac: fix HAVE_TRACKER_* define values in auto mode 2010-05-19 Jürg Billeter 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 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 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 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 tracker-extract: Some code clean ups from review 2010-05-18 Aleksander Morgado 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 TST: fix segfault 2010-05-18 Philip Van Hoof tracker-extract: albumart: Bugfix NB#169254, critical when album is passed as null 2010-05-18 Martyn Russell Fixes GB#618822 - c&p error for tracker-miner-rss autostart file 2010-05-17 Aleksander Morgado Fixes GB#618707: tracker preferences shows notification area options even when status icon isn't built 2010-05-17 Philip Van Hoof tracker-extract: jpeg: Bugfix for NB#169105, critical when IPTC data isn't available 2010-05-17 Martyn Russell Fixes GB#618821 - Wrong X-GNOME-Bugzilla-Components for desktop files 2010-05-17 Koop Mast Fixes GB#618544: Only install tracker-search-bar man page when enabled 2010-05-17 Philip Van Hoof tracker-extract: gstreamer: Bugfix for NB#169119, critical about unref of an object 2010-05-17 Petr Kovar Update Czech translation by Marek Cernocky 2010-05-16 Aleksander Morgado Missing AC_DEFINEs added to fix GB#618011 2010-05-15 Mario Blättermann Updated German translation 2010-05-14 Andrej Žnidaršič Updated Slovenian translation 2010-05-14 Adrien Bustany 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 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 tracker-store: Check idle-handler after removing tasks 2010-05-14 Carlos Garnacho 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 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 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 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 TrackerStatistics: Do not use DBusGMethodInvocation after freeing it. 2010-05-13 Philip Van Hoof tracker-extract: PDF extractor, fixed memory problem tracker-extract: PDF extractor. Bugfix for NB#168742 (invalid date strings) 2010-05-13 Carlos Garnacho tracker-extract-gstreamer: Set nmm:albumArtist to nmm:MusicAlbum 2010-05-12 Carlos Garnacho Bug 166638 - Some of the metadata details of " avi " files are not extracted by tracker. Extract "keywords" Gst tag. 2010-05-12 Ivan Frade Data generators: move old scripts to 'deprecated' folder Functional tests: use autotools to choose locations 2010-05-12 Carlos Garnacho TrackerMinerFS: Plug some memory leaks. TrackerMinerFS: Use nfo:belongsToContainer when filling in the IRI cache. 2010-05-11 Kjartan Maraas Updated Norwegian bokmål translation 2010-05-11 Jorge González Updated Spanish translation 2010-05-11 Martyn Russell 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 SPARQL: Allow aggregate expressions as subexpressions Fixes GB#617515. 2010-05-11 Martyn Russell 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 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 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 tests/libtracker-extract: Fix failing unix test 2010-05-10 Ivan Frade 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 libtracker-common: NB#167616, Improve error message for invalid xsd:dateTime 2010-05-10 Aleksander Morgado pkg-config should look for rest-0.6, not rest 2010-05-09 Mikael Ottela Add mp4 and 3gpp video files to the writeback xmp module. 2010-05-07 Aleksander Morgado Remove unused variable 2010-05-07 Ivan Frade Functional test to force sqlite-misused while importing data-generators: Check if the cfg file has been actually loaded 2010-05-06 Aleksander Morgado Fix compilation 2010-05-06 Carlos Garnacho 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 libtracker-db: Remove unushed hashtable and move FTS shutdown lower 2010-05-06 Amit Jain functional-tests: journal replay tests added 2010-05-06 Martyn Russell 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 libtracker-common: Compilation error fix in validating ints libtracker-db: Close journal in case of error 2010-05-06 Ivan Frade NCO: contactLocalUID is a string, new presenceLastModified prop. 2010-05-05 Carlos Garnacho 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 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 functional-tests: added test cases for backup-restore feature 2010-05-05 Carlos Garnacho 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 tracker-extract: Bugfix for NB#166767, spaces aren't keyword separators 2010-05-04 Carlos Garnacho 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 tracker-info: Show results in shortened form and add -f for long form namespaces 2010-05-04 Tshepang Lekhonkhobe 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 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 tracker-extract: NB#166717 Combine multiple keywords together for IPTC 2010-05-04 Mikael Ottela Small fix to the pdf extractor Add tracker:notify to some requested fields. 2010-05-03 Philip Van Hoof 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 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 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 Update Czech translation by Marek Cernocky 2010-05-02 Mario Blättermann Updated German translation 2010-05-01 Adrien Bustany 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 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 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 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 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 libtracker-extract: Use proper types for tracker_getline() 2010-04-29 Martyn Russell Updated NEWS Merge branch 'miner-flickr-review' Bump version 2010-04-29 Philip Van Hoof tracker-extract: Add tracker_getline() docs 2010-04-29 Aleksander Morgado Fix compilation warning 2010-04-29 Adrien Bustany Add Flickr miner Add writeback for nao:hasTag and nao:prefLabel 2010-04-29 Ivan Frade 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 functional-tests: Fixed metadata query for images 2010-04-29 Jean-Luc Lamadon functional-tests: Fix signal handling in miner file operations test suite 2010-04-29 Mikael Ottela 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 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 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 Tests: initial test to libtracker-client 2010-04-28 Philip Van Hoof 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 Added updated contacts-related performance queries. Added queries and fixed some issues in the data-generators. 2010-04-27 Ivan Frade Doc: tracker structural diagram in graphviz 2010-04-27 Philip Van Hoof tracker-extract: Fixed compilation warning 2010-04-27 Mikael Ottela Added updated message-related performance queries. Added queries and fixed some issues in the data-generators. 2010-04-27 Aleksander Morgado Fixes GB#616493 - Remove dependency of unzip from the OASIS extractor 2010-04-27 Amit Jain functional-tests: wirteback testing support extended for .png , .tif , .mp4 2010-04-27 Tshepang Lekhonkhobe tracker-extract: fixed desciption of -d in manpage 2010-04-27 Martyn Russell tracker-search-tool: Removed --service and updated man page 2010-04-27 Ken Schmedding tracker-search-tool: Accept command line search terms 2010-04-26 Philip Van Hoof tracker-store: Moved the iter over the cursor to the thread that prepared the query 2010-04-26 Adrien Bustany tracker-writeback: Fix double free in taglib module 2010-04-26 Carlos Garnacho 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 Port from libdevkit-power-gobject to libupower-glib 2010-04-26 Philip Van Hoof libtracker-data: Added support for fn:lower-case 2010-04-26 Akos PASZTORY increasing coherency by putting the template near the functions that fill them performance enhancements for the datagenerator 2010-04-25 Philip Van Hoof tracker-store: Fixed memory corruption 2010-04-25 Andrej Žnidaršič Updated Slovenian translation 2010-04-23 Philip Van Hoof 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 Update Czech translation by Marek Cernocky 2010-04-22 Martyn Russell Updated NEWS tracker-extract: Fixed double free in Vorbis extractor 2010-04-22 Carlos Garnacho TrackerMinerFS: always set current_parent in ensure_mtime_cache() 2010-04-22 Philip Van Hoof 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 Bumped version 2010-04-22 Amit Jain Functional Tests: Updated to allow writeback completion before extracting Functional Tests: Operations of files in multilevel subfolders added 2010-04-22 Martyn Russell Updated NEWS 2010-04-22 Carlos Garnacho 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 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 Updated Spanish translation 2010-04-21 Aleksander Morgado 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 Merge branch 'async-queries-due' 2010-04-21 Aleksander Morgado 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 libtracker-miner: Don't translate statuses This also adds a tracker-status -s to list common statuses 2010-04-20 Aleksander Morgado 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 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 Move nfo:isContentEncrypted to be defined in 33-nfo.ontology. tracker-extract-pdf: set nfo:isContentEncrypted for encrypted docs. 2010-04-20 Aleksander Morgado 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 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 tracker-extract-html: Improve