2009-04-09 Martyn Russell * Release 0.6.93. 2009-04-09 Martyn Russell * configure.ac: Updated in preparation for release 0.6.93. 2009-04-09 Martyn Russell * src/tracker-applet/tracker-applet.c: (about_menu_activated): Updated Copyright years. Patch by Michele Mattioni. 2009-04-09 Martyn Russell * src/tracker-extract/tracker-main.c: (main): Don't keep the tracker-extract command running if DBus says it is already running. 2009-04-08 Carlos Garnacho * src/tracker-preferences/tracker-preferences.c (cmd_apply): Make the "Index mounted directories" option also manage removable devices. 2009-04-08 Carlos Garnacho * src/libtracker-common/tracker-config.c: Fix a typo. 2009-04-07 Carlos Garnacho * src/tracker-indexer.c (index_flushing_notify_cb): Do not try to enter into finished state after flushing in the cleanup task, since it closes the indexes. 2009-04-07 Martyn Russell * src/tracker-extract/tracker-main.c: (main): Make sure we send the thumbnailer queue to the thumbnailer daemon when we shutdown after 30 seconds of inactivity in the extractor. 2009-04-07 Martyn Russell * src/trackerd/tracker-main.c: * src/trackerd/tracker-status.c: Only set nice() to 19 when crawling the file system, for all other times, we use the value as set when the process is started (which is controlled by outside influence of course). 2009-04-07 Martyn Russell * src/libtracker-common/tracker-thumbnailer.h: * src/libtracker-common/tracker-albumart.h: Added preprocessor checks for __LIBTRACKER_COMMON_INSIDE__ which were missing. * src/libtracker-common/tracker-albumart.[ch]: * src/tracker-extract/tracker-extract-mp3.c: Fixed coding style issues. * src/libtracker-common/tracker-albumart.[ch]: * src/tracker-extract/tracker-extract-albumart.c: * src/tracker-extract/tracker-main.[ch]: Only create one TrackerHal object during the life time of tracker-extract instead of for EVERY file which has album art (which is quite a lot). This seems to be showing an increase of 2x the speed now for tracker-extract. * src/tracker-indexer/tracker-main.c: (main): Added print statement like we have in the daemon so we know when the process is finished and returning to the cmd line. * tests/tracker-extract/tracker-extract-test-utils.c: (tracker_test_extract_file_access): Added tracker_main_get_hal() fixes to ensure the tests build. 2009-04-07 Carlos Garnacho Propagate index errors up to the GUI, so the user has the opportunity to trigger a reindex. * src/libtracker-db/tracker-db-index.[ch]: Add an "error-received" signal. Emit it when QDBM fails to store a word. * data/dbus/tracker-indexer.xml: * src/tracker-indexer/tracker-marshal.list: * src/tracker-indexer/tracker-indexer.[ch]: Add an "IndexingError" DBus signal. Propagate up index errors. * data/dbus/tracker-daemon.xml: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-marshal.list: Add an "IndexingError" signal. Listen to that signal from the indexer in order to propagate it up the stack. src/tracker-applet/tracker-applet.[ch]: Listen for the new signal, and display an error notification with an option to reindex from scratch. 2009-04-07 Mikael Ottela * tests/tracker-extract/tracker-extract-png-test.c * tests/tracker-extract/tracker-extract-jpeg-test.c * tests/tracker-extract/tracker-extract-testsuite-generic.c * tests/tracker-extract/tracker-extract-tiff-test.c * tests/tracker-extract/tracker-extract-gstreamer-test.c * tests/tracker-extract/tracker-extract-testsuite-generic.h * tests/tracker-extract/tracker-extract-mp3-test.c * tests/tracker-extract/tracker-extract-test-utils.c * tests/tracker-extract/tracker-extract-test-utils.h * tests/tracker-extract/Makefile.am: Load the extractors modules for tests instead of directly linking as before. 2009-04-06 Carlos Garnacho * src/tracker-applet/tracker-marshal.list: * src/tracker-applet/tracker-applet.c: Generate the right marshaller for the IndexStateChange signal. 2009-04-06 Carlos Garnacho * src/tracker-applet/tracker-applet-marshallers.[ch]: Do not keep generated code. * src/tracker-applet/tracker-marshal.list: * src/tracker-applet/tracker-marshal-main.c: * src/tracker-applet/Makefile.am: Instead use the right tools. * src/tracker-applet/tracker-applet.c: Adapt to name changes. 2009-04-06 Martyn Russell * src/tracker-extract/tracker-main.c: * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: Use #ifdef __linux__ before including /usr/include/linux/ files. Fixes bug #577656 (Jasper Lievisse Adriaanse). 2009-04-06 Martyn Russell * src/libtracker-common/tracker-os-dependant-unix.c: (tracker_memory_setrlimits): Disabled by default to stop us getting SIGSEGV just because we reach the memory limits (which are small), instead we shouldn't be crashing, we should be investigating said issues. This should fix several launchpad issues that were reported since 0.6.91. 2009-04-06 Mikael Ottela * src/tracker-extract/tracker-iptc.c * src/tracker-extract/tracker-xmp.c: Fixes to the way multiple values are handled in some special cases in extraction. Fixes NB#108793. 2009-04-06 Martyn Russell * src/libtracker-data/tracker-turtle.[ch]: Fixed crasher in tracker_turtle_close() by checking if ->file is set before doing anything with it. Also now use tracker_file_{open|close} instead so we use posix_fadvise(). Fixes LP#355982. 2009-04-05 Ivan Frade * src/tracker-indexer/tracker-indexer.c: Surround hal code with ifdefs to fix compilation without hal. Fixes bug #577655. 2009-04-04 Ivan Frade * configure.ac: raptor >= 1.4.17. Tracker uses in the code RAPTOR_FEATURE_WRITE_BASE_URI that is available only since that version. 2009-04-03 Martyn Russell * src/libtracker-common/tracker-albumart.c: * src/libtracker-common/tracker-thumbnailer.[ch]: * src/tracker-extract/tracker-extract-albumart.c: * src/tracker-extract/tracker-main.c: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: Updated thumbnailer code so we only send thumbnails to the thumbnailer daemon AFTER we have finished indexing to improve performance. 2009-04-03 Carlos Garnacho * src/tracker-extract/tracker-extract-gstreamer.c (add_tags) (tracker_extract_gstreamer): Plug more leaks. 2009-04-03 Carlos Garnacho * src/libtracker-common/tracker-hal.c (tracker_hal_init) (tracker_hal_finalize): Keep a pointer to the DBusConnection in order to unref it. Also, shut the libhal context down before destroying it, Fixes NB#107570. 2009-04-03 Carlos Garnacho * src/libtracker-common/tracker-albumart.c (tracker_albumart_queue_cb): do not strcmp the GError message, use error->code instead. Do not access() NULL paths. (tracker_albumart_get_path): Improve memory management if the function exits prematurely. * src/tracker-extract/tracker-extract-albumart.c (tracker_process_albumart): bail out if it couldn't get art_path. 2009-04-02 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c: Watch for DURATION messages and stop extraction when we receive one. Needed for elements/formats where several buffers needed for obtaining a valid duration. Plugged a leak, we never freed the audio- and videotags. 2009-04-02 Carlos Garnacho * src/tracker-extract/tracker-extract-gstreamer.c (tracker_extract_gstreamer): Fix a leak and a possible memory corruption. * src/tracker-extract/tracker-extract-mp3.c (extract_mp3): Do not make id3 tags parsers read invalid memory if file size is above MAX_FILE_READ. * src/tracker-extract/tracker-extract-png.c (extract_png): Free correctly the ending info pointer. * src/tracker-extract/tracker-extract.c (get_file_metadata): Plug a leak, caused when no extractor was found. * src/tracker-extract/tracker-main.c: Initialize the quit timeout ID to 0, so we don't try to remove nonexistent sources. 2009-04-02 Michael Biebl * src/plugins/evolution/Makefile.am, src/plugins/kmail/Makefile.am, src/plugins/rss/Makefile.am: Do not include BUILT_SOURCES in EXTRA_DIST. 2009-04-02 Martyn Russell * src/tracker-utils/tracker-info.c: (main): Fixed translations to use plural forms where needed. Spotted by Luca Ferretti. 2009-04-02 Martyn Russell * src/trackerd/tracker-monitor.c: (get_queue_from_gfile): Improve performance here, don't create/free a new list and iterate the hash table twice. This operation should be faster. Patch from Philip Van Hoof. 2009-04-01 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: More checks for unknown genre values. Fixes NB#106639. 2009-04-01 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c: Improvements to the stream info extraction using gstreamer. Fixes NB#107122. 2009-04-01 Mikael Ottela * src/tracker-extract/tracker-xmp.c: Handle existance of invalid dates correctly. Fixes NB#108793. 2009-04-01 Martyn Russell * src/tracker-utils/tracker-info.c: Added command line switches to faciliate the _get() and _get_multiple() APIs for Metadata. Now we can request multiple specific metadata types for multiple files using tracker-info. * data/dbus/tracker-metadata.xml: * src/libtracker/tracker.[ch]: * src/trackerd/tracker-metadata.[ch]: Added tracker_metadata_get_multiple() so we can get multiple metadata types for multiple files. This is quite a bit faster than requesting multiple metadata types for one file at a time. Fixes NB#108543. 2009-04-01 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (mount_pre_unmount_cb): Check that there's actually a current item before checking whether it's inside the mount. 2009-03-31 Carlos Garnacho * src/tracker-indexer/tracker-module-metadata-utils.c (metadata_utils_get_embedded): Check for NULL context, since it can potentially happen, noticed by Philip Van Hoof. Prevents Bug NB#108819. (extractor_context_create): Raise severity of error message. 2009-03-31 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c: Fixed a memory leak * src/tracker-extract/tracker-iptc.c: Use location instead of sublocation for iptc-sublocation. Fixes NB#108331. 2009-03-31 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c * src/tracker-extract/tracker-extract-jpeg.c * src/tracker-extract/tracker-extract.c * src/tracker-extract/tracker-iptc.c: Some minor leak and other fixes 2009-03-31 Carlos Garnacho * src/libtracker-data/tracker-rdf-query.c (append_where_header): Filter out disabled elements in the Services table. Fixes NB#106085. 2009-03-30 Martyn Russell * src/libtracker-common/tracker-file-utils.[ch]: Make tracker_file_open() return a FILE*. Added tracker_file_close(). Don't use open() and fdopen() everywhere, just fopen() instead. Add NOATIME retrspectively with fcntl(). * configure.ac: * src/tracker-extract/Makefile.am: * src/tracker-extract/tracker-extract-vorbis.c: Added vorbis checks and cleaned up vorbis code. This is a backup, we use GStreamer normally and this is disabled by default. * src/tracker-extract/tracker-extract-abw.c: * src/tracker-extract/tracker-extract-jpeg.c: * src/tracker-extract/tracker-extract-mp3.c: * src/tracker-extract/tracker-extract-png.c: * src/tracker-extract/tracker-extract-ps.c: * src/tracker-indexer/modules/evolution-imap.[ch]: Use tracker_file_() functions to open/close files with posix_fadvise(). * src/tracker-extract/tracker-extract.c: Fixed 2 memory leaks. 2009-03-30 Martyn Russell * src/tracker-indexer/tracker-removable-device.c: Code clean up. Don't allocate memory for AddMetadataInfo and then return on some failure without cleaning it up. Use tracker_file_() APIs so we use posix_fadvise(). 2009-03-30 Martyn Russell * utils/tracker-fts/tracker-fts-test.c: Fixed missing include warning. 2009-03-30 Martyn Russell * src/tracker-utils/tracker-tag.c: (main): Fixed remove sys function confusion with static variable, was stopping tracker-tag from building. Not sure why this has started happening now? 2009-03-30 Carlos Garnacho * src/libtracker-db/tracker-db-index-manager.[ch]: * src/trackerd/tracker-main.c: Remove all references to the old file-index-update.db file, which isn't used anymore. 2009-03-27 Martyn Russell * Release 0.6.92. 2009-03-27 Carlos Garnacho * src/tracker-indexer/tracker-push.c (load_modules): Close the dir. 2009-03-27 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (indexer_update_word): Do not try to memmove() past array boundaries when removing an element. 2009-03-27 Carlos Garnacho * src/libtracker-data/tracker-data-query.c (result_set_to_metadata): Do not leak GValues contents. 2009-03-27 Carlos Garnacho * src/libtracker-data/tracker-data-metadata.c (tracker_data_metadata_insert_values): Create a copy of the list before freeing the old values, since the new list could be constructed from these old values. Fixes NB#100642. 2009-03-26 Mikael Ottela * src/libtracker-data/tracker-data-search.c: Added the missing order-type join conditions. 2009-03-26 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c * src/tracker-extract/tracker-iptc.c: Fixed a small ontology mistake in the image extractors. 2009-03-25 Carlos Garnacho Make GVolumeMonitor::mount-pre-unmount cancel any ongoing operation in the indexer on the removable media. This isn't available yet due to GLib not emitting such signal, but it will soon. * src/tracker-indexer/tracker-module-file.[ch] (tracker_module_file_cancel) (tracker_module_file_is_cancelled): Added new API. * src/tracker-indexer/tracker-module-metadata-utils.[ch]: Reworked to have child processes async+killable. (tracker_module_metadata_utils_cancel): New function to kill all external processes on a GFile. * src/tracker-indexer/modules/files.c: Use new metadata utils function to immediately cancel an operation. * src/tracker-indexer/tracker-indexer.c (check_mount_removal) (mount_pre_unmount_cb) (tracker_indexer_finalize) (tracker_indexer_init): Hook to GVolumeMonitor::mount-pre-unmount, so any ongoing+future operations on the removable media are cancelled. (item_add_or_update) (item_move) (item_process) (process_file): Reworked to have a single point of cancellation. 2009-03-25 Mikael Ottela * src/libtracker-data/tracker-data-schema.c: * src/libtracker-data/tracker-rdf-query.c: Fixed a missing condition for join. 2009-03-25 Martyn Russell * src/trackerd/tracker-daemon.c: (tracker_daemon_get_stats): Fixed comparison with unset variable. 2009-03-25 Jürg Billeter * configure.ac: Disable static libraries by default. 2009-03-25 Jürg Billeter * configure.ac: Update help strings for the configure options of the mail push modules. 2009-03-25 Mikael Ottela * data/db/sqlite-service.sql: Added key collations to Services table. Additional indices. * data/services/default.service: * src/libtracker-db/tracker-db-manager.c * src/libtracker-common/tracker-ontology.c * src/libtracker-common/tracker-ontology.h * src/libtracker-data/tracker-data-schema.c * src/libtracker-data/tracker-data-search.c * src/libtracker-data/tracker-rdf-query.c * src/libtracker-data/tracker-data-update.c * src/libtracker-data/tracker-field-data.c * src/libtracker-data/tracker-field-data.h: Use key collations in queries and updates. Performance improvements to the queries. 2009-03-25 Carlos Garnacho * src/libtracker-data/tracker-data-update.c (tracker_data_update_replace_service): Refactored not to have duplicated code, do not compare file mtimes with the Accessed column in the Services table, instead use the GetServiceID stored procedure and compare against the IndexTime column. 2009-03-24 Martyn Russell * src/tracker-applet/tracker-applet-prefs.glade: * src/tracker-applet/tracker-applet.c: Removed all "merge" options since they no longer apply. Added more state information so the user isn't left wondering what is going on. Now we report states: watching, crawling, optimising and shutting down. 2009-03-24 Martyn Russell * src/tracker-utils/tracker-processes.c: Fixed build warnings. 2009-03-23 Martyn Russell * src/trackerd/tracker-processor.c: (get_remote_roots), (process_module_files_add_removable_media), (crawler_finished_cb), (mount_point_added_cb), (mount_point_removed_cb): Make use of g_strcmp0() so we don't crash with NULL strings as reported in LP#347352. 2009-03-23 Martyn Russell * src/libtracker-db/tracker-db-index-manager.[ch]: * src/libtracker-db/tracker-db-manager.[ch]: Make it possible to initialise these managers JUST for removing databases and resetting. * src/tracker-utils/Makefile.am: * src/tracker-utils/tracker-processes.c: Added options --hard-reset to kill all processes AND remove all databases. Also updated all output messages so they are translated. Added --terminate to use SIGTERM on all tracker processes and added --kill to use SIGKILL on all tracker processes. 2009-03-23 Martyn Russell * src/tracker-utils/tracker-processes.c: Only include basename in list and exclude ourselves from the list of running processes. Also remove the ":" between the "PID" and value for mouse copy and paste ease. 2009-03-23 Martyn Russell * data/dbus/tracker-extract.xml: * src/tracker-extract/tracker-extract.[ch]: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-module-metadata-utils.c: Added GetPid API call to extractor. We now call this furst so we know what process to kill when the extractor misbehaves. The old solution would kill EVERY tracker-extract process on the system which (if the user has permissions) is potentially quite bad for multiple users using Tracker. This should be quicker than the old solution too. 2009-03-23 Philip Van Hoof * src/tracker-indexer/modules/evolution.c: fixed undefined symbol compilation error 2009-03-23 Martyn Russell * src/tracker-applet/tracker-applet.c: Revert turning on debugging. 2009-03-23 Martyn Russell * src/trackerd/tracker-status.c: Make sure we change the throttling when the battery is in use or not. Changed battery charge debugging to show even when it is charging, not just discharging. 2009-03-23 Martyn Russell * src/libtracker-common/tracker-hal.c: Improved add/remove/found devices debug messages. * src/trackerd/tracker-status.c: (battery_percentage_cb): Fixed message for battery percentage left so we don't always print 0%. 2009-03-23 Martyn Russell * src/tracker-extract/tracker-main.c: (signal_handler): * src/tracker-indexer/tracker-main.c: (signal_handler): * src/trackerd/tracker-main.c: (signal_handler): Fixes NB#102800, uses _exit() instead of exit() when receiving termination signals more than once (like Ctrl+C). 2009-03-20 Martyn Russell * src/tracker-indexer/tracker-module-metadata-utils.c: Used code from tracker-processes utility to find tracker-extract when we get a dbus timed out (and other type) messages and kill it with SIGKILL. This should fix the problems we were seeing with the extractor locking up for long periods of time on the device. * src/tracker-utils/Makefile.am: * src/tracker-utils/tracker-processes.c: Added utility to get all tracker processes running on the system. 2009-03-20 Martyn Russell * data/db/sqlite-service-types.sql: * data/db/sqlite-service.sql: * data/db/sqlite-stored-procs.sql: * src/libtracker-db/tracker-db-manager.c: * src/trackerd/tracker-daemon.c: Added ParentID and 2 indexes to improve GetStats performance. Removed erroneous indexes which were creating warnings when creating the databases. Added stored proc to get all parent service type statistics (like Files, Emails, Conversations, etc). * src/tracker-applet/tracker-applet.c: Fixed stats order. This was broken recently with the change to the stored procs. * src/trackerd/tracker-main.c: Don't try to reset the stats in the database when we reindex, we don't hold stats in the same place in the same way now. 2009-03-20 Philip Van Hoof * src/tracker-indexer/modules/evolution.c: * src/tracker-indexer/modules/Makefile.am: * configure.ac: * src/tracker-indexer/modules/evolution-imap-db.h: * src/tracker-indexer/modules/evolution-imap-db.c: Removed support for the sqlite based pull indexer module for Evolution Enabled by defualt the support for the push indexing module for Evolution (Evolution pushes data into Tracker's storage) This fixes https://qa.mandriva.com/show_bug.cgi?id=48977 2009-03-20 Philip Van Hoof * src/libtracker-common/tracker-thumbnailer.c: Using an int instead of an int64 for this dbus call 2009-03-20 Martyn Russell * data/services/image.metadata: Fixed errors stopping file from being loaded. * src/libtracker-db/tracker-db-manager.c: Improve debugging so we see exactly what each .metadata file loads and also added GError to g_key_file_load* functions for metadata and service files so if they don't load we know why in the logs. 2009-03-19 Mikael Ottela * data/services/image.metadata: Added missing field type definition. 2009-03-19 Mikael Ottela * data/services/default.service * data/db/sqlite-service.sql * src/libtracker-data/tracker-data-search.c: Use the collation for sorting correctly. First phase of improving the unique values queries performance. * src/libtracker-data/tracker-data-update.c: Make sure no empty strings are added to the database. 2009-03-19 Martyn Russell * configure.ac: * src/libinotify/Makefile.am: * src/libstemmer/Makefile.am: * src/libtracker-common/Makefile.am: * src/libtracker-data/Makefile.am: * src/libtracker-db/Makefile.am: * src/libtracker-gtk/Makefile.am: * src/libtracker/Makefile.am: Added libtool library versioning so libraries are not all named .so.0.0.0. 2009-03-17 Mikael Ottela * data/services/image.metadata: Added sublocation property to images. * src/tracker-extract/tracker-iptc.c: * src/tracker-extract/tracker-xmp.c: Extract information for the sublocation. Fixes NB#90455. 2009-03-17 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Minor fixes to id3v2 extraction. Fixes NB#106424. 2009-03-17 Carlos Garnacho * src/libtracker-data/tracker-data-update.c (tracker_data_update_delete_service_by_path): Fail gracefully if the rdf type doesn't exist in the ontology. 2009-03-17 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (flush_data): Fixed wrong logic when signalling status. 2009-03-17 Martyn Russell * src/tracker-indexer/tracker-indexer.c: (should_change_index_for_file): Make sure we check the mtime in the db and on the disk are the same here before returning, don't assume if the file is older it means the same thing. 2009-03-17 Martyn Russell * configure.ac: Provide information about if GStreamer helix is being built in the summary. 2009-03-17 Martyn Russell * configure.ac: * src/tracker-extract/Makefile.am: Fixed GStreamer helix bin checks in configure and renamed variables. 2009-03-17 Carlos Garnacho * src/tracker-extract/tracker-main.c: Transform filenames passed through the -f parameter to full paths. 2009-03-17 Carlos Garnacho * src/tracker-extract/tracker-escape.c (tracker_escape_metadata): Handle NULL strings. Fixes NB#106201. 2009-03-16 Martyn Russell * src/tracker-applet/tracker-applet.c: (filter_x_events): * src/trackerd/tracker-main.c: (main): * src/trackerd/tracker-processor.c: (item_queue_handlers_set_up): Use g_timeout_add_seconds() in preference to g_timeout_add(). Fixes bug #573834 (Marcel Stimberg). 2009-03-16 Martyn Russell * configure.ac: Fix confusion and error with deskbar-applet module dir detection. Fixes bug #575271 (Deji Akingunola). 2009-03-16 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (handle_metadata_add): Make sure that we allocate enough space for the tags that are going to be set, and that no empty places are left in between. This fixes both memory corruption and strange behavior when saving tags. 2009-03-16 Martyn Russell * src/libtracker-db/tracker-db-dbus.c: Don't check each string for utf8 validity in tracker_dbus_query_result_to_ptr_array() since we call tracker_dbus_slist_to_strv() which does this for us anyway. * src/tracker-applet/tracker-applet.c: Fixed crasher here and added a refresh button so the user can request updates more frequently than they are signalled to us. Fixes bug #575332. * src/trackerd/tracker-daemon.c: Fixed the "service-statistics-updated" signal here so we actually send the GType that is expected based on the dbus XML introspection file. 2009-03-16 Carlos Garnacho * src/libtracker-db/tracker-db-manager.c (db_exec_proc): Removed dead code. * src/tracker-extract/tracker-extract-pdf.c: Added missing include. 2009-03-16 Carlos Garnacho * data/db/sqlite-tracker.sql: Set primary key on the Options table, so the 'Replace' statement in the SetOption stored procedure actually replaces the setting value. Fixes #570232 2009-03-13 Mikael Ottela * src/libtracker-data/tracker-rdf-query.c: Return undefined integer values with empty field in rdf (as with strings) 2009-03-13 Philip Van Hoof * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: * src/tracker-extract/tracker-main.c: Reverting SCHED_IDLE and setting the extractor to nice(). We don't want to go into SCHED_IDLE else will any app with a bug like "while(1);" make us strave. This is really a bad idea. Apps that want to have a prio over tracker's processes should simply use SCHED_FIFO themselves. Don't require apps to run at a lower prio, run at a higher prio yourself if you are indeed realtime. Keeping the nice() value so that for a normal desktop we run at a level that is lower-than-everybody-else. 2009-03-13 Martyn Russell * Release 0.6.91. 2009-03-13 Martyn Russell * NEWS: * configure.ac: * python/deskbar-handler/tracker-module.py: Prepare for release 0.6.91. 2009-03-13 Martyn Russell * src/libtracker-data/tracker-data-update.c: (tracker_data_update_reset_volume): Make sure we convert the volume id into a string before using it in the stored procedure, was crashing. * src/trackerd/tracker-volume-cleanup.c: (check_for_volumes_to_cleanup): Small clean ups trying to find a crash. 2009-03-13 Philip Van Hoof * src/libtracker-data/tracker-data-update.c: * src/libtracker-data/tracker-data-update.h: * src/trackerd/tracker-volume-cleanup.c: * data/db/sqlite-stored-procs.sql: fixes a bug in cleaning up thumbnails from removed devices 2009-03-13 Philip Van Hoof * src/trackerd/tracker-main.c: Don't use SCHED_IDLE for the daemon 2009-03-13 Martyn Russell * src/trackerd/tracker-volume-cleanup.c: (check_for_volumes_to_cleanup): Fixed blunder on my part, reusing variable name. Seems to work nicely. 2009-03-13 Jürg Billeter * src/tracker-indexer/tracker-indexer.c: (process_file): Remove unused path variable. 2009-03-13 Martyn Russell * src/trackerd/tracker-volume-cleanup.c: (check_for_volumes_to_cleanup), (tracker_volume_cleanup_init): Added some messaging so we can see what is going on here. 2009-03-13 Martyn Russell * src/trackerd/Makefile.am: * src/trackerd/tracker-cleanup.[ch]: * src/trackerd/tracker-main.c: * src/trackerd/tracker-volume-cleanup.[ch]: Renamed tracker-cleanup to tracker-volume-cleanup so the name makes more sense. 2009-03-13 Martyn Russell * src/trackerd/tracker-cleanup.c: (check_for_volumes_to_cleanup), (tracker_cleanup_init): Code clean ups. 2009-03-13 Philip Van Hoof * src/trackerd/tracker-cleanup.c: * data/db/sqlite-stored-procs.sql: Cleaning up removable devices' thumbnails after a long period of the device not having been mounted 2009-03-12 Philip Van Hoof * src/libtracker-data/tracker-data-update.c: Cope with the insanity of the current ontology 2009-03-12 Martyn Russell * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-main.c: Put statistics update signal in a separate public function. Fixed not signalling stats when we remove a MMC. Now clients will get updates not only when an MMC is inserted. * src/trackerd/tracker-daemon.h: Removed tracker_daemon_backup(), function no longer exists. 2009-03-12 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (flush_data): Do not emit status if the indexer is not indexing. 2009-03-12 Carlos Garnacho * src/tracker-indexer/tracker-module-metadata.c (tracker_module_metadata_add_take_string): Be more permissive about NULL metadata values. 2009-03-12 Martyn Russell * src/trackerd/tracker-daemon.c: (tracker_daemon_init): Removed dead code left around causing GObject warnings. 2009-03-12 Martyn Russell * src/trackerd/tracker-crawler.c: (tracker_crawler_start): * src/trackerd/tracker-daemon.c: (indexer_finished_cb): Fixed 3 memory leaks and a bug in the statistics signalling code rewrite. 2009-03-12 Martyn Russell * src/trackerd/tracker-daemon.c: Fixed the "ServiceStatisticsUpdated" signal we emit so we don't send empty GStrvs over DBus. Now we accurately tell clients what service types changed when we get the "Finished" signal from the indexer. Also, we now don't get stats when initialising the daemon, only when we get our first "Finished" signal. Fixes NB#105133. 2009-03-12 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (generate_item_thumbnail) (item_add_or_update): Generate thumbnails here, so we can access configuration and actually respect the EnableThumbnails option. Fixes bug #503595. * src/tracker-indexer/tracker-module-metadata-utils.c (tracker_module_metadata_utils_get_data): Remove thumbnail generation from here. 2009-03-12 Philip Van Hoof * src/tracker-indexer/tracker-removable-device.c: Fixed a crash when removing a resource from a removable device 2009-03-11 Carlos Garnacho * src/tracker-extract/tracker-extract-pdf.c (extract_pdf): Also include Doc:Created in the metadata. Fixes bug #489876. 2009-03-11 Martyn Russell * src/libtracker-common/tracker-hal.c: Reduce the amount of debugging when starting up and detecting HAL devices. * src/trackerd/tracker-main.c: Fixed debugging. 2009-03-11 Martyn Russell * tests/tracker-extract/tracker-extract-test-utils.[ch]: * tests/tracker-extract/tracker-extract-testsuite-avi.c: * tests/tracker-extract/tracker-extract-testsuite-jpeg.c: * tests/tracker-extract/tracker-extract-testsuite-mp3.c: * tests/tracker-extract/tracker-extract-testsuite-png.c: * tests/tracker-extract/tracker-extract-testsuite-tiff.c: Use proper name spacing for public functions and cleaned up the code a little. Also added test mp3s so make check doesn't fail. 2009-03-11 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (indexer_update_word): Ensure weights are correct before inserting hits for a new word. 2009-03-11 Carlos Garnacho * src/libtracker-common/tracker-hal.c (tracker_hal_init): Ensure daemons do not exit if the system bus is shut down. Partly fixes bug #519222. 2009-03-11 Carlos Garnacho * src/tracker-indexer/tracker-module-metadata-utils.c (process_context_invalidate) (process_context_destroy): Merged together. (process_context_child_watch_cb): Removed obsolete code. (process_context_create): Set a 10 seconds timeout to extract text. Fixes bug #455588. 2009-03-11 Martyn Russell * tests/libtracker-db/tracker-index-writer-test.c: Code clean ups. 2009-03-11 Philip Van Hoof * src/tracker-indexer/tracker-indexer.c: * src/libtracker-data/tracker-data-update.c: * src/libtracker-data/tracker-data-update.h: * data/db/sqlite-cache.sql: * data/db/sqlite-stored-procs.sql: * tests/scripts/data/xesam.sql: Removed some more Xesam traces that were burried deeper 2009-03-11 Philip Van Hoof * src/libtracker-data/tracker-data-schema.c: * src/libtracker-data/tracker-data-live-search.c: * src/libtracker-data/tracker-data-schema.h: * src/libtracker-data/tracker-data-live-search.h: * src/libtracker-data/tracker-xesam-query.c: * src/libtracker-data/tracker-xesam-query.h: * src/libtracker-data/tracker-data-update.h: * src/libtracker-data/Makefile.am: * src/trackerd/tracker-search.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-xesam-session.c: * src/trackerd/tracker-xesam-session.h: * src/trackerd/tracker-xesam.c: * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-xesam.h: * src/trackerd/tracker-xesam-live-search.h: * src/trackerd/tracker-xesam-manager.c: * src/trackerd/tracker-xesam-manager.h: * src/trackerd/tracker-dbus.c: * src/trackerd/Makefile.am: * src/trackerd/tracker-utils.c: * src/libtracker-db/tracker-db-manager.c: * src/libtracker-db/tracker-db-index-manager.c: * src/libtracker-db/tracker-db-manager.h: * src/libtracker-common/tracker-service.h: * src/libtracker-common/tracker-config.c: * src/libtracker-common/tracker-ontology.c: * src/libtracker-common/tracker-config.h: * src/libtracker-common/tracker-service.c: * tests/trackerd: * tests/trackerd/tracker-xesam-test.c: * tests/trackerd/tracker-xesam-session-test.c: * tests/trackerd/tracker-xesam-hit-test.c: * tests/trackerd/Makefile.am: * tests/trackerd/tracker-xesam-hits-test.c: * tests/trackerd/tracker-xesam-test.h: * tests/trackerd/tracker-xesam-session-test.h: * tests/trackerd/tracker-xesam-hit-test.h: * tests/trackerd/xesam: * tests/trackerd/xesam/xesam-g-globals-private.h: * tests/trackerd/xesam/xesam-g-testsearcher.h: * tests/trackerd/xesam/xesam-g-debug-private.h: * tests/trackerd/xesam/xesam-g-utils.h: * tests/trackerd/xesam/xesam-g-test-query-builder.c: * tests/trackerd/xesam/gtestextensions.c: * tests/trackerd/xesam/Makefile.am: * tests/trackerd/xesam/xesam-g-test-query-builder.h: * tests/trackerd/xesam/gtestextensions.h: * tests/trackerd/xesam/xesam-g-testsearcher.c: * tests/trackerd/xesam/README: * tests/trackerd/README: * tests/trackerd/tracker-xesam-hits-test.h: * tests/libtracker-db/tracker-db-manager-test-attach.c: * tests/libtracker-db/union-performance.c: * tests/libtracker-db/Makefile.am: * tests/libtracker-db/tracker-db-manager-test-unattach.c: * tests/libtracker-db/tracker-db-manager-test-custom.c: * tests/scripts/dummy_data_start.sh.in: * tests/Makefile.am: * configure.ac: * data/services/xesam-virtual.metadata: * data/services/xesam-convenience.metadata: * data/services/xesam-service.smapping: * data/services/xesam.metadata: * data/services/xesam-metadata.mmapping: * data/services/xesam-convenience.service: * data/services/Makefile.am: * data/services/xesam.service: * data/db/sqlite-stored-procs.sql: * data/db/Makefile.am: * data/db/sqlite-xesam.sql: * data/dbus/tracker-xesam.xml: * data/dbus/Makefile.am: Trivial mini commit that removes the Xesam support. We decided to remove this because Xesam 1.0 was never fully supported, and Xesam 2.0 will most like be a very different DBus API, will probably use SPARQL as query language, and will probably use Nepomuk as ontology. Which means that none of Xesam 1.0's support code will really be usable anymore. Perhaps keep this revision number in mind so that we can bring the code back to live later? 2009-03-11 Philip Van Hoof * src/libtracker-common/tracker-albumart.c: Don't continue trying to request album art if no service provides album-art downloading 2009-03-10 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer-helix.c: Removed the reference to images that broke build. 2009-03-10 Mikael Ottela * src/tracker-extract/tracker-main.h * src/tracker-extract/tracker-extract-gstreamer-helix.c * src/tracker-extract/tracker-extract-mp3.c: Remove the last dummy empty strings as they are no longer needed. 2009-03-10 Mikael Ottela * data/services/default.service * data/services/image.metadata: Add Image:HasKeywords field for performance reasons. * src/tracker-extract/tracker-iptc.c: * src/tracker-extract/tracker-xmp.c: Fill it in the extractors. 2009-03-10 Martyn Russell * src/tracker-extract/tracker-main.c: * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: Use SCHED_IDLE and define it if it isn't defined (in older kernels). 2009-03-10 Martyn Russell * src/tracker-preferences/tracker-preferences.c: * src/tracker-preferences/tracker-preferences.glade: Removed deprecated widgets. Used "+" and "-" buttons without text so there is more space for paths, etc. Fixed spin button warnings in the terminal due to deprecated glade calls. Make step increment for maximum bytes to index in text files increments of 1024. Fixed throttle range to be 0->20 not 0->99 which is not valid. Removed email options which have no effect. Fixes bug #571331 . 2009-03-10 Martyn Russell * src/libtracker-common/tracker-config.c: Make sure once we have loaded the config, we check there are no fundamental keys missing and make sure any new keys added which didn't exist before have comments too. 2009-03-10 Philip Van Hoof * src/libtracker-common/tracker-thumbnailer.c: Using no_reply calls for the DBus methods 2009-03-10 Carlos Garnacho * src/tracker-indexer/tracker-removable-device.c (get_uri_with_trailing_slash) (consume_triple_storer) (tracker_removable_device_load) (tracker_removable_device_add_metadata) (tracker_removable_device_add_removal) (tracker_removable_device_add_move): Generate URIs with trailing slash where appropriate, since raptor likes them. 2009-03-09 Carlos Garnacho * src/tracker-extract/tracker-extract-ps.c (extract_ps_gz): * src/trackerd/tracker-main.c (check_runtime_level): Do not leak file descriptors. 2009-03-09 Martyn Russell * TODO: * docs/manpages/trackerd.1: Fixed documentation, patch from Tshepang Lekhonkhobe. 2009-03-09 Mikael Ottela * src/tracker-extract/tracker-iptc.c * src/tracker-extract/tracker-xmp.c: Added simple filtering for repeated values in multivalued extracting. The same value can be embedded in several places to avoid conflicts. Fixes NB#96314. 2009-03-09 Carlos Garnacho * src/libtracker-db/tracker-db-index-item.c (tracker_db_index_item_calc_amalgamated): Also clamp big negative values to fit into a gint16, so we don't possibly underflow. * src/tracker-indexer/tracker-indexer.c (item_erase): Schedule a flush after an item has been removed. 2009-03-09 Martyn Russell * MAINTAINERS: Updated to reflect the current offenders :) 2009-03-09 Martyn Russell * src/tracker-extract/tracker-main.c: * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: Remove copyright and version information on startup. There were reports of .xsession-errors being populated with this information. Now version information is available with -V. Removed copyright because it was solely to Jamie which it no longer is. 2009-03-09 Martyn Russell * src/tracker-indexer/tracker-module-metadata-utils.c: (get_file_content): Fixed potential buffer overflow. Reported in https://bugs.launchpad.net/ubuntu/+source/tracker/+bug/339560. 2009-03-06 Michael Biebl * python/deskbar-handler/tracker-module.py: * python/deskbar-handler/tracker-handler.py: Starting with version 2.23.6, deskbar-applet no longer ships the deskbar.core.gnomedeskop python module so we use gnomedesktop directly (requires python-gnome-desktop). Not only fix the imports but also the code, so the desktop file support keeps working. Patch pulled from Ubuntu. * python/deskbar-handler/tracker-module.py: Bump version to 0.6.90. 2009-03-06 Martyn Russell * src/libtracker-common/tracker-dbus.[ch]: Added tracker_dbus_str_to_strv() since it is pretty common. * src/libtracker-db/tracker-db-dbus.c: Some code clean ups. * src/libtracker-common/tracker-thumbnailer.c: When we get an error from the thumbnailer, include the context so we know where the error came from. * src/libtracker-db/tracker-db-manager.c: (function_group_concat_step): Fixed my g_return_if_fail() change for the g_assert() which ottela added initially, logic was wrong way round. 2009-03-06 Carlos Garnacho * src/tracker-indexer/tracker-main.c: * src/tracker-extract/tracker-main.c: Initialize DBus before log subsystem, so a second instance being run doesn't wipe the current instance logs. 2009-03-06 Philip Van Hoof * src/tracker-indexer/tracker-push.c: * src/trackerd/tracker-push.c: These directories not existing ain't real errors that are worth reporting 2009-03-06 Carlos Garnacho Clean up deleted elements from dbs/index on tracker-indexer idle time. This is the equivalent to dud hits removal, which trackerd can't perform since it opens the index files as readonly. Now services are just marked as disabled on deletion. So the indexer cleans them up slowly, after all elements have been processed, and before it shuts down. * data/db/sqlite-service.sql: Create the new table for deleted elements. * data/db/sqlite-stored-procs.sql: Add stored procedures for disabling services and dealing with the DeletedServices table. * src/libtracker-data/tracker-data-query.[ch] (tracker_data_query_metadata_fields): Do not have service ID as a string argument. (tracker_data_query_first_removed_service): New function to retrieve a deleted file. * src/trackerd/tracker-metadata.c (tracker_metadata_get): Adapt to API change in tracker-data-query.[ch] * src/libtracker-data/tracker-data-search.c (tracker_data_search_text): Remove code to clean up dud hits. * src/libtracker-data/tracker-data-update.[ch] (tracker_data_update_disable_service): Add function to disable a service. (tracker_data_update_delete_service): Also remove the service from the DeletedServices table. * src/libtracker-db/tracker-db-index.[ch] (tracker_db_index_finalize): Ensure the index is opened before flushing. (tracker_db_index_remove_dud_hits): Removed. * src/tracker-indexer/tracker-indexer.[ch] (cleanup_task_func) (cleanup_task_start) (cleanup_task_stop) (state_check): Add "cleanup" state (check_started): Also ensure the cleanup task is stopped. (check_finished): Launch the cleanup task from here. (item_remove): Renamed to item_mark_for_removal(). No longer delete things from the databases, just mark them as disabled. Queue children to be removed in the file queue. (item_erase): Added, actually delete the item from databases and index. (item_move): Erase immediately in case the dest path already exists. (tracker_indexer_get_running) (tracker_indexer_get_stoppable): Separate these a bit since the indexer now also must be paused during cleanup. * src/tracker-indexer/tracker-main.c (quit_timeout_cb): Use tracker_indexer_get_stoppable() to get to know whether the indexer should be stopped. * src/trackerd/tracker-dbus.c (indexer_name_owner_changed) (initialize_indexer_presence) (dbus_register_names): Listen for changes in the tracker-indexer presence... (dbus_request_new_cb): ... in order to pause it here if necessary, since now it should always be paused. 2009-03-06 Ivan Frade * python/deskbar-handler/tracker-module.py: Update import to use gnomedesktop instead of deskbar.code.gnomedesktop. Patch by Michel Alexandre Salim. Fixes bug #571573 (Michel Alexandre Salim). 2009-03-06 Michael Biebl * python/deskbar-handler/tracker-module.py: Update deskbar module to the new D-Bus API, fix a small typo (recieve->receive) while at it. 2009-03-06 Martyn Russell * src/tracker-fts/tracker-fts.c: Merged some of the non-code changes (i.e. alignments, comment updates) back into our FTS version from upstream to make comparing easier with future changes in SQLite. 2009-03-06 Carlos Garnacho * src/tracker-indexer/tracker-removable-device.c: Do not use string contatenation tricks to get URIs, use GFile instead. Fixed also wrong code formatting and some incorrectly freed/leaked variables as well. 2009-03-05 Carlos Garnacho Merge together the GetFileChildren and SelectFileChild stored procedures. * data/db/sqlite-stored-procs.sql: Only one can stand. * src/libtracker-data/tracker-data-query.c (tracker_data_query_service_children): * src/libtracker-data/tracker-data-search.c (tracker_data_search_files_get): Adapt to stored procedures change. 2009-03-04 Martyn Russell * src/tracker-indexer/tracker-indexer.c: (tracker_indexer_files_check): Added indexer fix using Carlos' patch now that we only send top level directories which are deleted from the daemon not all files. 2009-03-04 Martyn Russell * src/tracker-extract/tracker-extract-exif.c: * src/tracker-extract/tracker-extract-gstreamer-playbin.c: Removed no longer used extractors. 2009-03-04 Mikael Ottela * src/tracker-extract/tracker-iptc.c: Fixed a memory leak. * src/tracker-extract/tracker-extract-mp3.c: Added un-unsynch support to mp3 extractor. Fixes NB#99823 2009-03-04 Martyn Russell * src/libtracker-db/tracker-db-index.c: (tracker_db_index_get_word_hits), (tracker_db_index_add_word), (tracker_db_index_remove_dud_hits): Make sure we check the priv->readonly property before trying to add or remove words from the QDBM index. As you may see from now on, this indicates that the only time we remove duds and words from the index is when the trackerd process finds them and it *ONLY* opens the index as readonly. We need to fix this removing dud issue ASAP - bring on FTS support! 2009-03-04 Martyn Russell * src/trackerd/tracker-monitor.c: Now we cache DELETE events. This way, when recursively deleting a directory, we ONLY send the top level directory that was removed to the indexer instead of EVERY file and subdirectory under it. 2009-03-04 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (index_flush_item) (tracker_db_index_flush): Prevent against cur_cache being possibly NULL. * src/tracker-indexer/tracker-indexer.c (check_finished) (check_stopped): Call check_finished() in any case, not just after the cache has been flushed. 2009-03-03 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Fixed frame size calculation. 2009-03-03 Martyn Russell * data/db/sqlite-service.sql: * src/libtracker-db/tracker-db-manager.c: Remove collation from Services table. 2009-03-03 Carlos Garnacho * src/tracker-indexer/tracker-indexer.[ch]: Make the indexer decide the flush timeout dynamically based on the number of elements left. 2009-03-03 Carlos Garnacho Make flushing to index asynchronous. * src/libtracker-db/tracker-db-index.[ch]: Make asynchronous, so the information is committed in batches, and the cache is layered. Add boolean properties to indicate whether it's currently flushing or saturated (i.e.: too many cache layers left to flush) * src/tracker-indexer/tracker-indexer.c: Update to these changes. Listen for changes in these new properties in order to pause the indexer or waiting for the index to be flushed before finishing. 2009-03-03 Carlos Garnacho Do not wipe out/overwrite existing logs if there's a running instance. * src/libtracker-common/tracker-log.c (tracker_log_init): Remove old log file here, prior to creating the new one. * src/trackerd/tracker-main.c (initialize_directories): Do not remove the old log file here. (main): Check whether there's a running instance before initializing the logs subsystem. 2009-03-03 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (restore_backup_cb): Iterate the main loop while processing the turtle records to restore. 2009-03-03 Martyn Russell * src/libtracker-db/tracker-db-manager.c: Removed TRACKER_DB_PAGE_SIZE_DEFAULT, use TRACKER_DB_PAGE_SIZE_DONT_SET instead because this allows SQLite to decide what to use based on the file system block size. Tests with 40k items show a 2 minute speed improvement (was 13.5 minutes in total). 2009-03-03 Martyn Russell * src/libtracker-db/tracker-db-manager.c: (tracker_db_manager_init): Add new DB versions so users are forced to reindex when updating from svn or to the next version 0.6.91 planned for next week. NOTE: Updating to this version *WILL* require you reindex your data. 2009-03-03 Martyn Russell * src/tracker-extract/tracker-escape.c: * src/tracker-extract/tracker-extract-gstreamer-playbin.c: * src/tracker-extract/tracker-extract-gstreamer.c: * src/tracker-extract/tracker-extract-jpeg.c: * src/tracker-extract/tracker-extract-mp3.c: * src/tracker-extract/tracker-extract.c: * tests/tracker-extract/tracker-extract-test-utils.c: Don't use g_strstrip() before calling tracker_escape_metadata() which calls g_strstrip() for us. 2009-03-02 Mikael Ottela * src/tracker-extract/tracker-escape.c * src/tracker-extract/tracker-escape.h: Strip the whitespaces from extracted metadata. Fixes NB#102246, NB#103260 2009-03-02 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c * src/tracker-extract/tracker-extract-gstreamer.c: Treat the Unknown genre like other unknown/missing values. Fixes NB#103198 2009-03-02 Mikael Ottela * src/libtracker-db/tracker-db-interface-sqlite.c * src/libtracker-db/tracker-db-manager.c: More proper handling of NULLs in aggregates. 2009-03-02 Mikael Ottela * src/trackerd/tracker-search.c * src/libtracker-data/tracker-rdf-query.c: Use group_concat for multivalued queries instead of combining entries in code. Fixes NB#102210. 2009-03-02 Carlos Garnacho * src/tracker-extract/tracker-extract-jpeg.c (extract_jpeg): Use correct ifdef to cover otherwise unused variables. 2009-02-27 Mikael Ottela * src/tracker-extract/tracker-extract-jpeg.c: Put back variables needed for exif extraction. 2009-02-27 Carlos Garnacho * src/tracker-indexer/tracker-module-metadata-utils.c (metadata_utils_get_embedded): Plug a leak. 2009-02-27 Carlos Garnacho * src/trackerd/tracker-main.c (shutdown_indexer) (main): Do not explicitly shutdown the indexer, it will shutdown by itself then trackerd disappears from the session bus, and it could respawn a indexer instance if it wasn't there. 2009-02-27 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (check_stopped): Do not report spurious elapsed times if check_stopped is called when the indexer is in stopped state. 2009-02-27 Carlos Garnacho * src/tracker-extract/tracker-extract-jpeg.c (extract_jpeg): * src/tracker-extract/tracker-extract-ps.c (extract_ps_gz): * src/tracker-utils/tracker-search.c (main): * src/tracker-utils/tracker-services.c (main): Fix compiler warnings. 2009-02-26 Mikael Ottela * src/libtracker-data/tracker-data-backup.c: Fixed some compilation errors. * src/libtracker-data/tracker-data-search.c: Minor fix to concatenation dbus method. * src/libtracker-db/tracker-db-interface-sqlite.c * src/libtracker-db/tracker-db-interface-sqlite.h: Added abstraction layer to sqlite aggregate function creation. * src/libtracker-db/tracker-db-manager.c: Added a redefined version of GROUP_CONCAT aggregate function. 2009-02-26 Carlos Garnacho * src/trackerd/tracker-daemon.c (tracker_daemon_get_status): Do not use all the tracker_dbus_request machinery, so asking for the status doesn't actually change it. 2009-02-26 Carlos Garnacho * src/trackerd/tracker-xesam-live-search.c (get_hit_data): Do not use deprecated functions. Fixes bug #572237. 2009-02-26 Andre Klapper * src/tracker-search-tool/tracker-search-tool-support.c: Replace a call to libart with a GDK equivalent. Patch by Cosimo Cecchi copied from gnome-utils. Fixes bug #571736. 2009-02-26 Carlos Garnacho Refactor Backups to turtle files support out to a org.freedesktop.Tracker.Backup interface. * data/dbus/tracker-backup.xml: Definition for the new interface. * data/dbus/tracker-daemon.xml: Remove Backup method. * src/libtracker-data/Makefile.am: * src/libtracker-data/tracker-data-backup.[ch]: New files, contain the actual saving/restoring to/from turtle files, this was spread before in tracker-indexer and trackerd. * src/tracker-indexer/tracker-indexer.c (tracker_indexer_restore_backup) (restore_backup_cb): Use new functions in libtracker-data. * src/trackerd/tracker-backup.[ch]: Now they contain TrackerBackup, the object that's going to handle petitions from DBus. * src/trackerd/tracker-dbus.c: Hook the new object into trackerd. * src/trackerd/tracker-daemon.c: Remove implementation for Backup method. * src/trackerd/tracker-main.c: * src/trackerd/Makefile.am: Miscellaneous changes. 2009-02-26 Carlos Garnacho * src/libtracker-db/tracker-db-manager.c: Added CollateKey sqlite function to let it handle collate key changes. Check locale on startup and regenerate collate keys if necessary. * src/libtracker-data/tracker-data-update.c: Remove collate key generation from code, since now it will be handled by the database. * data/db/sqlite-stored-procs.sql: Updated to use the CollateKey function, added getter/setter for locale config option, stored in Options (common.db) 2009-02-26 Philip Van Hoof * src/plugins/evolution/Makefile.am * src/plugins/rss/Makefile.am * src/plugins/kmail/Makefile.am * src/qdbm/Makefile.am * src/libtracker-data/Makefile.am * src/libtracker-gtk/Makefile.am * src/tracker-applet/Makefile.am: Added support for coverage reporting to targets that I missed last commit for this feature 2009-02-25 Mikael Ottela * data/dbus/tracker-metadata.xml: * src/libtracker/tracker.h: * src/libtracker/tracker.c: * src/tracker-utils/tracker-unique.c: * src/libtracker-data/tracker-data-search.c: * src/libtracker-data/tracker-rdf-query.c: * src/libtracker-data/tracker-data-search.h: * src/trackerd/tracker-metadata.c * src/trackerd/tracker-metadata.h: Added a new function to metadata dbus API to get concatenated group fields. * data/db/sqlite-service.sql: * src/libtracker-data/tracker-data-schema.c: * src/libtracker-data/tracker-data-search.c: * src/libtracker-data/tracker-rdf-query.c: Fixed problems in joining of order fields. 2009-02-25 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (struct PathInfo) (path_info_new): Contain info about whether it should recurse or not, instead of passing specific parameters in the affected functions. (item_move) (item_remove) (process_directory) (process_module) (process_func) (tracker_indexer_files_check) (tracker_indexer_file_move): Update all callers accordingly. (remove_stale_children): Recurse explicitly when deleting stale items in DB that were deleted between executions. Fixes NB#99827. 2009-02-25 Philip Van Hoof * src/libtracker/Makefile.am: * src/tracker-fts/Makefile.am: * src/tracker-indexer/modules/Makefile.am: * src/tracker-indexer/Makefile.am: * src/tracker-utils/Makefile.am: * src/tracker-preferences/Makefile.am: * src/trackerd/Makefile.am: * src/tracker-extract/Makefile.am: * src/libstemmer/Makefile.am: * src/libtracker-db/Makefile.am: * src/libtracker-common/Makefile.am: * src/libinotify/Makefile.am: * src/tracker-search-tool/Makefile.am: * tests/trackerd/Makefile.am: * tests/tracker-extract/Makefile.am: * tests/libtracker-db/Makefile.am: * tests/tracker-indexer/Makefile.am: * tests/common/Makefile.am: * tests/libtracker-common/Makefile.am: * configure.ac: Added support for coverage reporting 2009-02-25 Philip Van Hoof * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-daemon.h: * data/dbus/tracker-daemon.xml: Added a Backup method to the Daemon object on DBus 2009-02-24 Mikael Ottela * data/db/sqlite-stored-procs.sql: Fixed an issue with integer to string conversion. 2009-02-24 Martyn Russell * python/deskbar-handler/Makefile.am: Fixed make distcheck issue. 2009-02-24 Martyn Russell * configure.ac: Improve configure switch help. 2009-02-24 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Handle id3v2 tags split into several frames. * tests/tracker-extract/tracker-extract-mp3-test.c: Fix the test-cases. Fixes NB#102606 2009-02-24 Carlos Garnacho * src/tracker-extract/tracker-extract.c: * src/tracker-extract/tracker-main.c: call alarm() prior to processing a file, so the extractor dies if it gets stuck. 2009-02-24 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (tracker_db_index_add_word): Do not remove words with negative weight from the cache, so they make it to the actual index. 2009-02-24 Martyn Russell * src/tracker-indexer/tracker-indexer.c: If we don't get an mtime for a file, don't then just return, make sure it is removed from the DB. Reduced debugging so we don't print twice that we aren't changing the DB for each file. Improved function names and debugging to make more sense. Fixes NB#98297 too. 2009-02-24 Martyn Russell * data/db/sqlite-stored-procs.sql: * data/db/sqlite-tracker.sql: * src/libtracker-data/tracker-data-update.[ch]: * src/tracker-indexer/tracker-indexer.c: Add $home as the first volume in the Volumes table with an id of 1 (has to be non-zero) and make sure all new items not related to a volume that are indexed use a default id of 1 instead of 0. Removed incstat and decstat stored procedures, they are not needed now. Updated the GetStats function call to get a real time count of the data, not a pre-calculated number from a table. Fixes NB#98297. 2009-02-24 Martyn Russell * src/tracker-extract/tracker-main.c: * src/tracker-indexer/tracker-main.c: * src/tracker-utils/tracker-status.c: * src/trackerd/tracker-main.c: Don't handle signals SIGSEGV, SIGBUS, SIGILL, SIGFPE, SIGABRT, instead let a core file be generated for those. We only handle SIGINT, SIGTERM and SIGHUP. Fixes NB#102800. 2009-02-24 Martyn Russell * configure.ac: Make tracker-preferences, tracker-applet, tracker-search-tool and libtrackergtk all "auto" so we don't error for people that just want Tracker without a user interface. 2009-02-23 Martyn Russell * data/db/sqlite-stored-procs.sql: Updated ServiceMetadata queries to use "Display" field instead of "Value" field where it makes sense. * src/libtracker-data/tracker-data-update.c: Write ServiceMetadata collation data to the table. 2009-02-23 Martyn Russell * configure.ac: * data/Makefile.am: * docs/manpages/Makefile.am: * python/deskbar-handler/Makefile.am: * python/deskbar-handler/tracker-module.py: * src/Makefile.am: Fixed tracker-search-tool, tracker-preferences, tracker-applet and the deskbar-applet enable/disable switches in configure. Also fixed the deskbar-applet so it actually errors when using --enable-deskbar-applet instead of doing nothing when we don't have it available. 2009-02-23 Mikael Ottela * src/tracker-utils/tracker-query.c * src/libtracker-data/tracker-data-search.c * src/libtracker-data/tracker-rdf-query.c: Use the MetadataCollation for sorting rather than the display field. 2009-02-23 Martyn Russell * python/deskbar-handler/README: Removed. Was 0 bytes. 2009-02-20 Mikael Ottela * src/libtracker-data/tracker-data-schema.c * src/libtracker-data/tracker-field-data.c * src/libtracker-data/tracker-field-data.h: Added support for order-fields. 2009-02-20 Mikael Ottela * data/db/sqlite-stored-procs.sql: * data/db/sqlite-service.sql: Added collation column to ServiceMetadata for future development. 2009-02-20 Mikael Ottela * configure.ac: * src/tracker-extract/tracker-extract-jpeg.c: * src/tracker-extract/tracker-iptc.c: * src/tracker-extract/Makefile.am: * src/tracker-extract/tracker-extract-tiff.c: * src/tracker-extract/tracker-iptc.h: Added iptc support for tiff and jpeg. Fixes NB#101954 2009-02-20 Martyn Russell * src/libtracker-common/tracker-dbus.[ch]: * src/libtracker-common/tracker-field.h: * src/libtracker-common/tracker-ontology.h: * src/libtracker-common/tracker-parser.h: * src/libtracker-common/tracker-service.h: Fixed the #defines for these headers so they don't possibly conflict with same name headers in the future. 2009-02-19 Mikael Ottela * src/tracker-extract/tracker-extract-jpeg.c: Error handling changed not to abort anymore in jpeg extraction in case of failures. 2009-02-19 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer-playbin.c * src/tracker-extract/tracker-extract-gstreamer-tagreadbin.c * src/tracker-extract/tracker-extract-gstreamer.c: Switched gstreamer extractor implementation to use decodebin/tagreadbin. 2009-02-18 Martyn Russell * src/libtracker-db/tracker-db-manager.c: Don't optimize the database(s) unless there have been changes committed to them. This fixes NB#101296. 2009-02-18 Martyn Russell * src/tracker-indexer/tracker-indexer.c: Reset stats after we issue finished signal. * src/trackerd/tracker-processor.c: Small code cleanup. 2009-02-18 Martyn Russell * src/libtracker-common/tracker-file-utils.[ch]: Removed unused functions. * src/libtracker-db/tracker-db-file-info.c: * src/tracker-extract/tracker-extract-gstreamer.c: * src/tracker-extract/tracker-extract-jpeg.c: * src/tracker-extract/tracker-extract-png.c: * src/tracker-extract/tracker-extract-tiff.c: * src/tracker-indexer/tracker-indexer.c: Use tracker_file_get_mtime() instead of using g_lstat() everywhere. 2009-02-18 Martyn Russell * docs/reference/libtracker-common/Makefile.am: * docs/reference/libtracker-module/Makefile.am: * src/libinotify/Makefile.am: * src/libstemmer/Makefile.am: * src/libtracker-common/Makefile.am: * src/libtracker-data/Makefile.am: * src/libtracker-db/Makefile.am: * src/libtracker-gtk/Makefile.am: * src/plugins/evolution/Makefile.am: * src/plugins/kmail/Makefile.am: * src/plugins/rss/Makefile.am: * src/tracker-applet/Makefile.am: * src/tracker-extract/Makefile.am: * src/tracker-fts/Makefile.am: * src/tracker-indexer/Makefile.am: * src/tracker-indexer/modules/Makefile.am: * src/tracker-preferences/Makefile.am: * src/tracker-search-tool/Makefile.am: * src/tracker-utils/Makefile.am: * src/trackerd/Makefile.am: * tests/common/Makefile.am: * tests/libtracker-common/Makefile.am: * tests/libtracker-db/Makefile.am: * tests/tracker-extract/Makefile.am: * tests/tracker-indexer/Makefile.am: * tests/trackerd/Makefile.am: * tests/trackerd/xesam/Makefile.am: * utils/qdbm/Makefile.am: * utils/tracker-fts/Makefile.am: Fixed Makefiles so we include WARN_CFLAGS in all files. Some files were missing this. * src/libtracker-common/tracker-albumart.[ch]: * src/libtracker-common/tracker-thumbnailer.h: Fixed #define statements so they are not the same as the extractor header files. * src/libtracker-common/tracker-config.c: * src/tracker-extract/tracker-dbus.[ch]: * src/tracker-extract/tracker-extract-albumart.c: * src/tracker-extract/tracker-extract-gstreamer.c: * src/tracker-extract/tracker-main.[ch]: * src/trackerd/tracker-cleanup.c: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-processor.c: * src/trackerd/tracker-status.c: * tests/tracker-extract/tracker-extract-gstreamer-test.c: * tests/tracker-extract/tracker-extract-jpeg-test.c: * tests/tracker-extract/tracker-extract-mp3-test.c: * tests/tracker-extract/tracker-extract-png-test.c: * tests/tracker-extract/tracker-extract-test-utils.c: * tests/tracker-extract/tracker-extract-testsuite-avi.c: * tests/tracker-extract/tracker-extract-testsuite-jpeg.c: * tests/tracker-extract/tracker-extract-testsuite-jpeg.h: * tests/tracker-extract/tracker-extract-testsuite-mp3.c: * tests/tracker-extract/tracker-extract-testsuite-mp3.h: * tests/tracker-extract/tracker-extract-testsuite-png.c: * tests/tracker-extract/tracker-extract-testsuite-png.h: * tests/tracker-extract/tracker-extract-testsuite-tiff.c: * tests/tracker-extract/tracker-extract-testsuite-tiff.h: * tests/tracker-extract/tracker-extract-tiff-test.c: Fixed all the warnings produced by adding WARN_CFLAGS to the Makefile.am files. 2009-02-18 Martyn Russell * src/libtracker-common/tracker-config.c: (config_create_with_defaults): Use g_strv_length() to make the patching here easier for Maemo. 2009-02-17 Martyn Russell * src/tracker-utils/tracker-status.c: Fixed missing include. 2009-02-17 Martyn Russell * src/tracker-indexer/tracker-indexer.c: Make timeout for flushing data to the database 30 seconds instead of 60 seconds to try and improve responsiveness for new data. * src/trackerd/tracker-dbus.c: Make timeout between receiving a DBus request from the user and continuing to index data 5 seconds instead of 10 seconds. 2009-02-17 Martyn Russell * data/dbus/tracker-indexer.xml: * src/tracker-indexer/tracker-indexer.c: Removed the "Reason" from the Paused signal since we don't have a reason any more. We are paused when we are told. All battery monitoring and disk space monitoring has been moved to the daemon status module and removed from the indexer so state is more centrally observed. * src/tracker-utils/tracker-status.c: Added a couple of command line options to "follow" the status of Tracker using --follow (instead of just returning to the command line after the initial query) and also to get more details using --detailed. * src/trackerd/tracker-main.[ch]: Added API to get data dir for the disk space monitoring which uses the database directory location for disk space checking. * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-status.[ch]: Added APIs to deal with pausing during DBus calls. Fixed a bunch of issues found here where we just weren't returning to the correct state after being paused due to DBus requests from apps or pausing manually from the user. 2009-02-17 Martyn Russell * src/tracker-utils/tracker-status.c: Handle Ctrl+C more gracefully. 2009-02-17 Martyn Russell * src/tracker-utils/tracker-status.c: Add options to track changes in real time instead of repeatedly asking the daemon. 2009-02-17 Philip Van Hoof * src/tracker-extract/tracker-extract-mp3.c * src/tracker-extract/tracker-extract-gstreamer-helix.c * src/tracker-extract/tracker-extract-gstreamer.c * src/tracker-extract/tracker-extract-albumart.c * src/libtracker-common/tracker-albumart.c: Don't add the artist-name to the album-art request. 2009-02-17 Martyn Russell * src/libtracker-common/tracker-albumart.c: (tracker_albumart_queue_cb): Fixed warning from missing include. * src/libtracker-common/tracker-utils.[ch]: Added g_dngettext() which is in GLib 2.18 but we don't depend on it. Now all the utils use tracker_dngettext() instead. * src/tracker-utils/Makefile.am: * src/tracker-utils/tracker-files.c: * src/tracker-utils/tracker-info.c: * src/tracker-utils/tracker-meta-folder.c: * src/tracker-utils/tracker-query.c: * src/tracker-utils/tracker-search.c: * src/tracker-utils/tracker-tag.c: * src/tracker-utils/tracker-unique.c: Include libtracker-common and use new function for translations with plural entities using imported function g_dngettext() from Glib 2.18. 2009-02-16 Martyn Russell * src/trackerd/tracker-status.c: Make sure we *ALWAYS* log state changes. The recent status code updates broke that. 2009-02-16 Martyn Russell * src/tracker-utils/tracker-services.c: Also sorted all properties returned by tracker-services. * src/tracker-utils/tracker-files.c: * src/tracker-utils/tracker-info.c: * src/tracker-utils/tracker-meta-folder.c: * src/tracker-utils/tracker-query.c: * src/tracker-utils/tracker-search.c: * src/tracker-utils/tracker-tag.c: * src/tracker-utils/tracker-unique.c: Added extra warning to all utils which have a --limit option so the user knows that there are more results if the limit is reached and not listed to stdout. Fixed the singular/plural issues with "Results". 2009-02-16 Philip Van Hoof * src/tracker-extract/tracker-extract-ps.c * configure.ac: Added option to disable uncompressing ps.gz files to /tmp, which is a bad idea on certain mobile devices 2009-02-12 Mikael Ottela * src/tracker-extract/tracker-extract-png.c: data/services/default.service: Handle also sketch/png mime correctly. Fixes NB #101593 2009-02-12 Philip Van Hoof * src/plugins/evolution/tracker-evolution-indexer.h * src/plugins/evolution/tracker-evolution-registrar.h * src/plugins/evolution/tracker-evolution-plugin.xml * src/plugins/evolution/Makefile.am * src/plugins/evolution/tracker-evolution-indexer.c * src/plugins/evolution/tracker-evolution-registrar.xml * src/plugins/evolution/tracker-evolution-registrar.c * src/plugins/Makefile.am * src/tracker-indexer/tracker-main.c * src/tracker-indexer/Makefile.am * src/trackerd/tracker-main.c * src/trackerd/Makefile.am * configure.ac * data/db/sqlite-tracker.sql * src/plugins/rss * src/plugins/rss/tracker-rss-registrar.xml * src/plugins/rss/tracker-rss-registrar.c * src/plugins/rss/tracker-rss-indexer.h * src/plugins/rss/tracker-rss-registrar.h * src/plugins/rss/Makefile.am * src/plugins/rss/tracker-rss-common.h * src/plugins/rss/tracker-rss-indexer.c * src/plugins/kmail * src/plugins/kmail/tracker-kmail-common.h * src/plugins/kmail/tracker-kmail-indexer.c * src/plugins/kmail/tracker-kmail-registrar.xml * src/plugins/kmail/tracker-kmail-registrar.c * src/plugins/kmail/tracker-kmail-indexer.h * src/plugins/kmail/Makefile.am * src/plugins/kmail/tracker-kmail-registrar.h * src/tracker-indexer/tracker-push.c * src/tracker-indexer/tracker-push.h * src/trackerd/tracker-push-registrar.c * src/trackerd/tracker-push.c * src/trackerd/tracker-push-registrar.h * src/trackerd/tracker-push.h * src/plugins/evolution/tracker-evolution.h * src/plugins/evolution/tracker-evolution.c: New infrastructure for so-called Push modules, these include the new support for Evolution 2009-02-12 Philip Van Hoof * src/libtracker-common/tracker-albumart.c: Bugfix for local mediaart 2009-02-12 Martyn Russell * src/libtracker-common/tracker-ioprio.c: * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: Use SCHED_IDLE for the process scheduling to improve responsiveness of phone calls and other real time applications. Fixes NB#95573. 2009-02-12 Mikael Ottela * src/tracker-extract/tracker-main.c * src/tracker-extract/tracker-extract-jpeg.c * src/tracker-extract/tracker-extract-png.c: Added checks for minimum file size and access. Fixes NB #101096. 2009-02-11 Mikael Ottela * src/libtracker-data/tracker-data-schema.c * src/libtracker-data/tracker-rdf-query.c * src/libtracker-data/tracker-field-data.c * src/libtracker-data/tracker-field-data.h: For equality condition against an empty string in queries use outer join to include nulls. 2009-02-11 Carlos Garnacho Add option for modules to discard a directory based on its contents. * src/libtracker-common/tracker-module-config.[ch] (tracker_module_config_get_ignored_directories_with_content): Added function for new module configuration option. * src/trackerd/tracker-crawler.c: Modified to obey the new configuration option, now it must retrieve all contents for a directory before processing them in order to know whether it's filtered or not. * data/modules/*.module: Add default values for this option. 2009-02-11 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (item_move): And add back that recurse boolean parameter to the function, looks like commit r2892 to tracker-indexer.c wiped out the previous commit. 2009-02-11 Mikael Ottela * data/services/default.service * data/db/sqlite-service.sql: Turned some KeyMetadata6-8 into Integer affinity so the sorting should works correctly. Fixes NB #101142 2009-02-11 Philip Van Hoof * src/tracker-extract/tracker-extract-mp3.c * src/tracker-extract/tracker-extract-gstreamer-helix.c * src/tracker-extract/tracker-extract-gstreamer.c * src/tracker-extract/Makefile.am * src/libtracker-common/Makefile.am * src/tracker-extract/tracker-extract-albumart.c * src/tracker-extract/tracker-extract-albumart.h * src/libtracker-common/tracker-albumart.c * src/libtracker-common/tracker-albumart.h * src/tracker-extract/tracker-albumart.c * src/tracker-extract/tracker-albumart.h: Made a library for the album-art code, because other processes (tracker-indexer and trackerd) will soon have to perform album-art use-cases and requests too (not only the tracker-extract will have to do it anymore) 2009-02-11 Mikael Ottela * src/trackerd/tracker-main.c: Crash fix for error freeing. 2009-02-10 Martyn Russell * src/trackerd/tracker-main.c: (crawling_finished_cb): Make sure we initialise GError to NULL. Also use the error in the print statement if it is set and make sure we also free it. If we do fail (i.e. error != NULL) we now don't try to rename the ttl file. 2009-02-10 Mikael Ottela * src/libtracker-common/tracker-type-utils.c: Handle ISO 8601 that has fractions of a second. Fixes NB #100123 2009-02-10 Martyn Russell * src/tracker-extract/tracker-extract.c: Check file size is non-zero before trying to extract metadata from it. This saves us time and warnings in the log. * src/tracker-extract/tracker-main.c: Added GOption based command line argument handling. Also added -m for mime -f for filename and -v to set the verbosity to something other than the default config. 2009-02-09 Martyn Russell * Release 0.6.90. 2009-02-09 Martyn Russell * src/libtracker-db/tracker-db-manager.c: (db_set_params): Revert Jamie's change to use FULL synchronicity with SQLite. There was a speed issue with it. 2009-02-09 Martyn Russell * src/libtracker-common/tracker-dbus.[ch]: Added a debug function which uses g_debug() instead of g_message(). * src/tracker-extract/tracker-escape.[ch]: Make it possible to UTF8 validate all strings escaped. For now we are turning this off. * src/tracker-extract/tracker-extract.c: Use the new DBus debug function so we don't spam the logs in EVERY log verbosity mode. This makes quite an impact on indexing time with verbosity set to 3. 2008-02-09 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (item_remove): Add back once again deleting content from removed services. 2009-02-08 Jamie McCracken * src/libtracker-db/tracker-db-manager.c: Use full synchronous in sqlite to minimize corruption 2009-02-06 Martyn Russell * tests/tracker-extract/tracker-extract-gstreamer-test.c: (main): Fixed test cases missing namespace change for TrackerExtractor. 2009-02-06 Martyn Russell * src/tracker-extract/dummy.c: * src/tracker-extract/tracker-extract-exif.c: * src/tracker-extract/tracker-extract-gstreamer-helix.c: * src/tracker-extract/tracker-extract-gstreamer-tagreadbin.c: * src/tracker-extract/tracker-extract-gstreamer.c: * src/tracker-extract/tracker-extract-imagemagick.c: * src/tracker-extract/tracker-extract-libxine.c: Fixed broken names after renaming TrackerExtractor to TrackerExtract to be consistent with the namespace. 2009-02-06 Martyn Russell * docs/reference/libtracker-common/Makefile.am: Fixed make distcheck issues. 2009-02-06 Martyn Russell * src/tracker-extract/tracker-escape.c: Make sure we check for UTF8 validation before sending over dbus. * src/tracker-extract/tracker-extract.c: Fixed some warnings related to NULL hash tables. 2009-02-06 Martyn Russell * src/tracker-extract/tracker-escape.[ch]: Make the escape functions simply duplicate the functions with g_strdup() and g_strdup_printf(). * src/tracker-extract/dummy.c: * src/tracker-extract/tracker-extract-abw.c: * src/tracker-extract/tracker-extract-exif.c: * src/tracker-extract/tracker-extract-gstreamer-helix.c: * src/tracker-extract/tracker-extract-gstreamer-tagreadbin.c: * src/tracker-extract/tracker-extract-gstreamer.c: * src/tracker-extract/tracker-extract-html.c: * src/tracker-extract/tracker-extract-imagemagick.c: * src/tracker-extract/tracker-extract-jpeg.c: * src/tracker-extract/tracker-extract-libxine.c: * src/tracker-extract/tracker-extract-mp3.c: * src/tracker-extract/tracker-extract-mplayer.c: * src/tracker-extract/tracker-extract-msoffice.c: * src/tracker-extract/tracker-extract-oasis.c: * src/tracker-extract/tracker-extract-pdf.c: * src/tracker-extract/tracker-extract-playlist.c: * src/tracker-extract/tracker-extract-png.c: * src/tracker-extract/tracker-extract-ps.c: * src/tracker-extract/tracker-extract-tiff.c: * src/tracker-extract/tracker-extract-totem.c: * src/tracker-extract/tracker-extract-vorbis.c: * src/tracker-extract/tracker-extract-xmp.c: * src/tracker-extract/tracker-xmp.c: Renamed 'Extractor' to 'Extract' * data/dbus/Makefile.am: * data/dbus/org.freedesktop.Tracker.Extract.service.in: * data/dbus/tracker-extract.xml: * src/tracker-extract/Makefile.am: * src/tracker-extract/tracker-extract.[ch]: New DBus object with introspection to request metadata for a file and mime type. * src/tracker-extract/tracker-main.[ch]: Use logging and now log all messages to tracker-extract.log. * src/tracker-indexer/Makefile.am: * src/tracker-indexer/tracker-dbus.h: * src/tracker-indexer/tracker-module-metadata-utils.c: Call the new extracter over DBus. * tests/tracker-extract/tracker-extract-jpeg-test.c: * tests/tracker-extract/tracker-extract-mp3-test.c: * tests/tracker-extract/tracker-extract-png-test.c: * tests/tracker-extract/tracker-extract-test-utils.c: * tests/tracker-extract/tracker-extract-test-utils.h: * tests/tracker-extract/tracker-extract-testsuite-avi.c: * tests/tracker-extract/tracker-extract-testsuite-generic.[ch]: * tests/tracker-extract/tracker-extract-testsuite-jpeg.c: * tests/tracker-extract/tracker-extract-testsuite-mp3.c: * tests/tracker-extract/tracker-extract-testsuite-png.c: * tests/tracker-extract/tracker-extract-testsuite-tiff.c: * tests/tracker-extract/tracker-extract-tiff-test.c: Updated tests accordingly. 2009-02-06 Carlos Garnacho Pass also the amount of processed items over to trackerd, use this number in the IndexProgress DBus signal to improve feedback, this also fixes the bug where the total items was being reduced down to 0. * data/dbus/tracker-indexer.xml: Include processed items count in both Status and Finished signals. * src/tracker-indexer/tracker-marshal.list: * src/tracker-indexer/tracker-indexer.[ch]: include processed items count in ::status and ::finished. Also increase the processed items count when an item is being skipped. * src/trackerd/tracker-marshal.list: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-processor.c: * src/trackerd/tracker-xesam-manager.c: Adapt to tracker-indexers DBus API change. Report processed items count in IndexProgress. 2009-02-06 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (item_remove): Add a boolean param to specify whether we should recurse when deleting or not. Also make it delete content from the database again, since this is still needed. (item_move) (process_file): Update callers as appropriate. 2009-02-06 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c: Do not give images Video:Framerate value. Fixes NB #100816. 2009-02-06 Ivan Frade * src/tracker-indexer/tracker-indexer.c * src/trackerd/tracker-metadata.c: Removed asserts disabling the set of embedded properties. Now tracker will accept it and it is a responsability of the application developers to use carefully this. * src/tracker-extract/tracker-extract-playlist.c: Added new default value for the property ValidDuration * data/services/playlist.metadata * data/services/default.service Renamed TotalLength to Duration Added ValidDuration property. When tracker is unable to calculate the duration of a playlist, the applications can try to calculate it and write the value. Then they will set this property to something != 0. 2009-02-06 Mikael Ottela * src/tracker-indexer/tracker-module-metadata-utils.c * src/libtracker-common/tracker-os-dependant-unix.c: Removed a timeout from the tracker-extractor spawning. 2009-02-06 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (item_remove): #ifdef out the code that removed metadata from the index. No longer existing items will be removed at query time. 2009-02-06 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (indexer_update_word): Fixed yet another glitch in the binary search... the right pivot was being set past the last element in the array. 2009-02-05 Mikael Ottela * src/libtracker-data/tracker-data-search.c * data/services/default.service: Some query speed improvements 2009-02-05 Martyn Russell * src/tracker-applet/tracker-applet.c: (set_status_hint), (can_auto_pause), (index_state_changed): Added new state (PAUSED) and add to the tooltip when paused so it is known that it can also be because of heave disk IO OR low disk space. Also uncommented the code for the tooltip when we are paused due to low battery. * src/tracker-indexer/tracker-indexer.c: Make low disk space warning a g_message() instead. Also added a state_to_string() function so we can see state changes a bit more clearly in the logs. * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-monitor.c: * src/trackerd/tracker-processor.c: * src/trackerd/tracker-status.[ch]: Moved all indexer state monitoring (paused/continued) to the tracker-status module. Now when we use APIs like tracker_status_set_is_paused_manually() it will now: - Tell the indexer to pause/continue - Signal the applet that we are in a new state - Set the state internally. All pausing/continuing is now handled collectively in the same places and some bugs were fixed here. We now don't send queued files to the indexer when we are paused for *ANY* reason (before it was just when paused for IO or manually). 2009-02-05 Martyn Russell * src/libinotify/inotify-monitor.c: (inotify_watch_func), Add main context iteration in the tight loop that is the event processing for libinotify. Attila's bug shows how spamming NOTIFY events means the libinotify code never returns back to the comfort of the main event loop. This means we never handle any timeouts or other event loop sources. I added an event loop iteration in there to make sure we always submit to the event loop in such conditions. Fixes NB#98896. For REAL. 2009-02-05 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c * data/services/video.metadata: Extract the Video:Source tag 2009-02-05 Philip Van Hoof * src/libtracker-data/tracker-turtle.c * src/tracker-extract/tracker-albumart.c * src/libtracker-common/tracker-thumbnailer.c: Using g_filename_to_uri instead of doing filename to uri conversion wrong 2009-02-05 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (indexer_update_word): Fix glitch in binary search. (tracker_db_index_flush): Break flushing when paused, so it doesn't try to modify the closed index. 2009-02-05 Carlos Garnacho Let the indexer perform recursive move operations, so all files inside get the path changed in the index. This also makes the whole move operation asynchronous, so tracker-indexer can be paused in between. * data/db/sqlite-stored-procs.sql (GetFileChilden): new stored procedure to get the immediate children for a given path. * src/libtracker-data/tracker-data-query.[ch] (tracker_data_query_service_children): New function to wrap that stored procedure. * src/libtracker-data/tracker-data-update.c (tracker_data_update_move_service): Do not move service children, this is done now by the indexer itself. * src/tracker-indexer/tracker-indexer.c (filter_invalid_after_move_properties): Code legibility improvements. (update_moved_item_thumbnail) (update_moved_item_removable_device) (update_moved_item_index): Refactored out from item_move(). (item_move): Append move operations for all children in the indexer queue. 2009-02-05 Martyn Russell * acinclude.m4: Added "maximum" to the arguments that can be used in --with-compile-warnings. This was always available, just not mentioned. It is the same as "error", just without -Werror. Also make "maximum" the default not "error" (only for builds with autogen.sh). * configure.ac: Add a status string in the summary with the compile warnings setting. 2009-02-05 Mikael Ottela * data/db/sqlite-service.sql * src/libtracker-data/tracker-data-search.c: First part of the database index scheme rewrite. 2009-02-02 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Leak fix 2009-02-03 Martyn Russell * data/modules/applications.module: * data/modules/evolution.module: * data/modules/files.module: * data/modules/gaim-conversations.module: * src/libtracker-common/tracker-module-config.[ch]: (load_file), (tracker_module_config_get_scan_timeout): Added scan_timeout option to modules and the module config. This means that if we are downloading a file for 10 minutes, we can set the option to make sure we get a signal up the stack *at least* every n seconds. * src/trackerd/tracker-monitor.c: Serious improvements to the cache here and how it is used. Now the NOTIFY event is used in the cache too. This fixes NB#98896. 2009-02-03 Martyn Russell * src/trackerd/tracker-processor.c: (process_module_next), (crawler_finished_cb): Make sure we stop processing modules if the removable devices is less than the number of removable devices we have completed - i.e. there is some miscalculation somewhere. Also, make sure we don't add removable devices into the completed list AGAIN if we get the "finished" signal from the crawler (because we added a new directory). This was causing some serious lock ups. 2009-02-02 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Bugfix for album-art thumbnail request 2009-02-02 Martyn Russell * src/trackerd/tracker-main.c: (initialize_databases): Remove the set_db_option_int() call for IntegrityCheck and InitialIndex. These options are not used anywhere for anything. 2009-02-02 Martyn Russell * src/libtracker-data/tracker-data-manager.c: (tracker_data_manager_set_db_option_int): Make sure we pass the parameters the right way round to the SetOption stored procedure. This fixes bug #570209 (TJ). 2009-01-30 Philip Van Hoof * src/tracker-indexer/tracker-main.c * src/trackerd/tracker-main.c * src/tracker-extract/tracker-extract.c * src/libtracker-common/tracker-thumbnailer.c * src/libtracker-common/tracker-thumbnailer.h: No timeout to wait for for tracker-extract 2009-01-30 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Bugfix when album art was extracted from an embedded MP3, the copy to .mediaartlocal was not requested in case of removable media. 2009-01-29 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Don't fail if we can't access a file with O_NOATIME, try without it. Fixes NB #99281 2009-01-29 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c: Added a default to Image:Date. 2009-01-29 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c: Fixed a typo that gave wrong image widths. Fixes NB #91312 2009-01-29 Mikael Ottela * src/libtracker-data/tracker-rdf-query.c: Fixed filtering for multiple tags. 2009-01-29 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (remove_stale_children) (item_add_or_update): Delete children that no longer exist in folders, this check is needed if a file is deleted between tracker executions. (tracker_indexer_file_move): Plug a leak. 2009-01-29 Carlos Garnacho * src/libtracker-data/tracker-data-update.c (tracker_data_update_set_metadata): Also update IndexTime in the Services table if necessary, so the indexer doesn't check against outdated mtimes afterwards. 2009-01-29 Carlos Garnacho * src/tracker-indexer/tracker-module-file.c (tracker_module_file_get_metadata): Set File:Modified to the current time() if the module didn't provide any. 2009-01-29 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (should_index_file): Always check item (not parent's) mtime, since mtime will only change for dir if a file is added/deleted in there. Get rid of the mtime cache, since it's not useful anymore. 2009-01-29 Martyn Russell * NEWS: * README: * TODO: Updated these based on a patch from Tshepang Lekhonkhobe. All updated to include things missing on the top of my head. The NEWS is mostly ready for release now. 2009-01-29 Martyn Russell * configure.ac: * src/Makefile.am: Bumped GLib dependency up from 2.15 to 2.16, so we require the stable version. Clean up configure a bit in relation to QDBM and also don't have a separate check for glib unit tests since they come for free with GLib 2.16. 2009-01-28 Philip Van Hoof * src/plugins/evolution/tracker-evolution-indexer.h * src/plugins/evolution/tracker-evolution-plugin.h * src/plugins/evolution/tracker-evolution-registrar.h * src/plugins/evolution/tracker-evolution-plugin.xml * src/plugins/evolution/tracker-evolution-common.h * src/plugins/evolution/tracker-evolution-indexer.c * src/plugins/evolution/tracker-evolution-plugin.c * src/plugins/evolution/tracker-evolution-registrar.xml * src/plugins/evolution/tracker-evolution-registrar.c * src/plugins/evolution/tracker-evolution.c * data/db/sqlite-tracker.sql: Made the D-Bus API of the E-mail metadata infrastructure less Evolution specific 2009-01-28 Mikael Ottela * src/libtracker-data/tracker-rdf-query.c: Performance improved way of including tags in queries. 2009-01-28 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer-tagreadbin.c: Added an initial tagreadbin extractor. 2009-01-28 Mikael Ottela * src/libtracker-data/tracker-rdf-query.c: Added a missing sql escape. Fixes NB #95227 2009-01-27 Mikael Ottela * tests/tracker-extract/data/jpeg/create_jpeg_testdata * tests/tracker-extract/tracker-extract-testsuite-mp3.h * tests/tracker-extract/tracker-extract-mp3-test.c * tests/tracker-extract/tracker-extract-test-utils.c * tests/tracker-extract/tracker-extract-test-utils.h * tests/tracker-extract/tracker-extract-testsuite-mp3.c * tests/tracker-extract/data/mp3/create_mp3_testdata: Added file access testing. 2009-01-27 Martyn Russell * src/trackerd/tracker-monitor.c: (get_module_name_from_gfile): Changed warnings to debug messages when we can't find a module from a GFile. 2009-01-27 Mikael Ottela * tests/tracker-extract/tracker-extract-png-test.c * tests/tracker-extract/tracker-extract-jpeg-test.c * tests/tracker-extract/tracker-extract-tiff-test.c * tests/tracker-extract/tracker-extract-testsuite-png.c * tests/tracker-extract/tracker-extract-testsuite-jpeg.c * tests/tracker-extract/tracker-extract-test-utils.c * tests/tracker-extract/tracker-extract-testsuite-tiff.c * tests/tracker-extract/tracker-extract-testsuite-png.h * tests/tracker-extract/tracker-extract-testsuite-jpeg.h * tests/tracker-extract/tracker-extract-testsuite-tiff.h * tests/tracker-extract/data/png/create_png_perfdata * tests/tracker-extract/data/jpeg/create_jpeg_perfdata * tests/tracker-extract/data/tiff/create_tiff_perfdata: Added performance tests for image extraction. 2009-01-27 Carlos Garnacho * src/trackerd/tracker-monitor.c (tracker_monitor_init) (libinotify_monitor_event_cb): Make cached events hash table keep a reference as the key, so it doesn't get destroyed if the value is replaced. (get_module_name_from_gfile): Do not possibly use already freed memory. (libinotify_cached_events_timeout_cb): Discard cached events for deleted items. 2009-01-27 Martyn Russell * src/trackerd/tracker-cleanup.c: (check_for_volumes_to_cleanup): Commented out code which causes assertion warnings but doesn't function properly. MMC thumbnail cleanup is disabled using preprocessor statements now and wasn't working properly in the first place. 2009-01-27 Carlos Garnacho * src/libtracker-data/tracker-data-update.[ch] (tracker_data_update_move_service): Make if return FALSE if the operation failed. * src/tracker-indexer/tracker-indexer.c (item_move): Handle move operations that overwrite the dest file. 2009-01-27 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (item_move): If a file is created and then immediately moved to another location. There's a chance that the indexer hasn't yet processed the origin file, so the move operation fails. In this case, the destination file is indexed from scratch (Fixes NB #99035) 2009-01-27 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (struct PathInfo): replace other_file with source_file, and make file point to the destination, so we can map PathInfo for move operations into create/delete operations. 2009-01-27 Carlos Garnacho * src/trackerd/tracker-monitor.c: Remove blacklist, since the events cache already prevents spamming tracker-indexer with too frequent update events. 2009-01-26 Mikael Ottela * tests/tracker-extract/Makefile.am * tests/tracker-extract/tracker-extract-png-test.c * tests/tracker-extract/tracker-extract-gstreamer-test.c * tests/tracker-extract/tracker-extract-testsuite-avi.c * tests/tracker-extract/tracker-extract-testsuite-png.c * tests/tracker-extract/tracker-extract-testsuite-avi.h * tests/tracker-extract/tracker-extract-testsuite-png.h: Added tests for png and avi extraction * tests/tracker-extract/data/avi * tests/tracker-extract/data/avi/*.data * tests/tracker-extract/data/avi/create_avi_testdata: Avi test data * tests/tracker-extract/data/png * tests/tracker-extract/data/png/create_png_testdata * tests/tracker-extract/data/png/*.data: Png test data 2009-01-26 Mikael Ottela * src/tracker-extract/tracker-extract-jpeg.c * src/tracker-extract/tracker-xmp.c * data/services/default.service * data/services/image.metadata: Changed Image:Orientation to integer for consistency and updated the extractors. Orientation is now a KeyMetadata. * tests/tracker-extract/tracker-extract-jpeg-test.c * tests/tracker-extract/tracker-extract-tiff-test.c * tests/tracker-extract/tracker-extract-testsuite-jpeg.c * tests/tracker-extract/tracker-extract-testsuite-tiff.c * tests/tracker-extract/tracker-extract-testsuite-tiff.h * tests/tracker-extract/Makefile.am * tests/tracker-extract/data/exif/*.data * tests/tracker-extract/data/jpeg/*.data: Added the testcases and testdata for tiffs and orientation in jpegs. 2009-01-26 Philip Van Hoof * utils/services/rdfxml2unittest_data.xsl: added a sample xsl that generates a libtracker-data unit test's data.ttl file * utils/services/rdfxml2unittest_query.xsl: added a sample xsl that generates a libtracker-data unit test's query file 2009-01-23 Mikael Ottela * data/services/default.service: Small correction to the playlist mimes. 2009-01-23 Martyn Russell * configure.ac: Make unit tests disabled by default. They now have to be enabled with --enable-unit-tests. 2009-01-23 Mikael Ottela * src/tracker-extract/tracker-xmp.c: Added more date fields to be extracted and implemented a simple priority checking between tags. 2009-01-23 Carlos Garnacho Actually implement Gaim/Pidgin logs indexing. * data/services/conversation.metadata: Add basic metadata definitions for IM conversations. * data/services/Makefile.am: Install that file. * data/modules/gaim-conversation.module: Specify service type, and set 10 min timeout so the log isn't reindexed after each sent/received phrase. * src/tracker-indexer/modules/gaim-conversations.c: Extract metadata/text from Gaim/Pidgin logs. 2009-01-23 Carlos Garnacho * src/trackerd/tracker-processor.c (item_queue_handlers_cb): Only set state to "indexing" if there are actually items to be sent to the indexer, This fixes spurious "indexing" state when indexing new elements, etc... Fixes NB #98516. 2009-01-23 Philip Van Hoof * src/libtracker-common/tracker-thumbnailer.c: Don't print debugging messages when not compiled with -DDEBUG * utils/services/rdfxmltoservice.xsl * utils/services/rdfxml2metadatasample.xsl * utils/services/service2rdf-xml.py * utils/services/rdfxmlsample.xsl: rdf:Property was not with rfds as namespace (fixed) 2009-01-22 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Added additional regex for TCON to id3v1 genre code mapping. * tests/tracker-extract/tracker-extract-testsuite-mp3.c * tests/tracker-extract/data/mp3/id3v23_tcon_?.data * tests/tracker-extract/data/mp3/create_mp3_testdata * tests/tracker-extract/tracker-extract-testsuite-mp3.h * tests/tracker-extract/tracker-extract-mp3-test.c: Added appropriate testcases. Fixes NB #91165 2009-01-22 Philip Van Hoof * utils/services/rdfxml2metadatasample.xsl: added one more sample that attempts to convert a rdf:xml file to our current ontology .ini format 2009-01-21 Mikael Ottela * data/services/default.service: Added audio/x-pn-realaudio-plugin mimetype to the playlists. 2009-01-21 Mikael Ottela * src/tracker-extract/tracker-extract-tiff.c: A bugfix to tiff ascii field handling. 2009-01-21 Carlos Garnacho * src/tracker-indexer/tracker-module-metadata.c (tracker_module_metadata_add_date): Cast time_t to avoid compiler warnings. 2009-01-21 Carlos Garnacho * src/tracker-indexer/tracker-module-metadata-utils.c (metadata_utils_add_embedded_data): Refactored out, transform ISO 8601 dates into unix times if we're adding a date field. (metadata_utils_get_embedded): Use the function above to add metadata. 2009-01-21 Carlos Garnacho * data/modules/files.module: * data/modules/gaim-conversations.module: * data/modules/applications.module: Add default ScanTimeout to modules. 2009-01-21 Carlos Garnacho * src/libtracker-common/tracker-module-config.[ch]: Add support for ScanTimeout option, which forces such timeout (in seconds) after a file pertaining to the module has changed before being sent to the indexer. * src/trackerd/tracker-monitor.c (libinotify_cached_events_timeout_cb): Wait for the specified timeout before sending files to the indexer. * data/modules/evolution.module: Schedule reindexing of mails to 1h after the files change. 2009-01-21 Carlos Garnacho * src/libtracker-common/tracker-module-config.c (load_boolean) (load_string) (load_string_list): Do not free the key file on error, it will be done afterwards anyway. (tracker_module_config_get_monitor_directories) (tracker_module_config_get_monitor_recurse_directories) (tracker_module_config_get_ignored_directories) (tracker_module_config_get_ignored_files) (tracker_module_config_get_index_mime_types) (tracker_module_config_get_index_files): Return correct types if one of the preconditions fails. 2009-01-21 Philip Van Hoof * utils/services/rdfsample.xsl: Added a small code generator that uses rdf:xml as input and outputs a hypothetical simple OO language 2009-01-21 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Correction for album-art that has one-character long album-names. * utils/services/service2rdf-xml.py: Bugfix 2009-01-20 Mikael Ottela * tests/tracker-extract/data/jpeg/*.data * tests/tracker-extract/data/jpeg/create_jpeg_testdata * tests/tracker-extract/Makefile.am * tests/tracker-extract/tracker-extract-test-utils.c * tests/tracker-extract/tracker-extract-test-utils.h * tests/tracker-extract/tracker-extract-testsuite-generic.c * tests/tracker-extract/tracker-extract-gstreamer-test.c * tests/tracker-extract/tracker-extract-testsuite-mp3.c * tests/tracker-extract/tracker-extract-jpeg-test.c * tests/tracker-extract/tracker-extract-testsuite-jpeg.c * tests/tracker-extract/tracker-extract-testsuite-jpeg.h: Added some jpeg extraction tests. * src/tracker-extract/tracker-extract-jpeg.c * src/tracker-extract/tracker-xmp.c: Fixed and unified jpeg and image metadata extraction. Fixes NB #96018 2009-01-20 Martyn Russell * src/plugins/evolution/tracker-evolution.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-processor.c: Make sure we check the module config AND the config for disabled modules and do that EVERYWHERE. Don't recusively process the "files" module for removable devices if the "files" module is disabled in the config or module config. 2009-01-20 Philip Van Hoof * utils/services/service2rdf-xml.py: added a tool that spews out something that looks (or is) rdf:xml, if you let it eat some .service and .metadata cookies. Usage: python service2rdf-xml.py --metadata=ONTOLOGY.metadata \ --service=ONTOLOGY.service 2009-01-20 Carlos Garnacho * src/tracker-extract/tracker-escape.c (tracker_escape_metadata): * src/libtracker-common/tracker-utils.c (tracker_escape_string): Accept NULL strings. (Fixes NB98170) * src/libtracker-common/tracker-type-utils.c (tracker_date_format_to_iso8601): Do not memset a stack allocated variable. 2009-01-20 Philip Van Hoof * utils/services/service2xml.py: A tool to convert a .service file to an XML file. Usage: * utils/services/sample.xsl: added a sample XSLT * utils/services/README.example: Added a sample XSLT python utils/services/service2xml.py < data/services/service.service 2009-01-19 Martyn Russell * src/trackerd/tracker-processor.c: Fixed a nasty bug where inserting a MMC would cause ALL MMCs to be re-crawled and sent to the indexer. Now we just index the MMC that changed. This fixes NB#97049. 2009-01-06 Carlos Garnacho * src/libtracker-db/tracker-db-manager.c (load_metadata_file): Warn on invalid/unparseable data types. * src/tracker-indexer/tracker-module-metadata.c (tracker_module_metadata_add_date): Convert time_t to string directly instead of dates. * src/libtracker-data/tracker-data-update.c (tracker_data_update_create_service): So we don't have to convert them back to unix times here. * data/services/email.metadata: * data/services/image.metadata: Fix invalid data types so Tracker now recognizes them. 2009-01-16 Martyn Russell * src/plugins/Makefile.am: * src/plugins/evolution/Makefile.am: Added glib test Makefile.decl includes to these new Makefiles so make distcheck doesn't fail. * tests/tracker-extract/Makefile.am: Include .h files needed in TEST_UTILS_SOURCES so they are not left out of the tarball and don't fail make distcheck. * tests/tracker-extract/tracker-extract-mp3-test.c: * tests/tracker-extract/tracker-extract-testsuite-generic.c: Some code clean ups. 2009-01-16 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (indexer_update_word): Define pivots as gint, as we can potentially underflow the right pivot with guint. 2009-01-16 Mikael Ottela * src/libtracker-data/tracker-data-search.c: Switched back to using INNER JOINs because of performance issues. 2009-01-15 Mikael Ottela * src/libtracker-data/tracker-data-search.c: Added proper NULL handling to queries. Fixes NB #97029 2009-01-15 Martyn Russell * docs/reference/libtracker-common/libtracker-common-docs.sgml: * docs/reference/libtracker-common/libtracker-common.types: Removed tracker-data-field.[ch] now that it is in libtracker-data, fixes documentation build. * src/tracker-extract/tracker-escape.[ch]: Fixed include order. * src/tracker-extract/tracker-xmp.c: Small code clean up and fixed 3 warnings from missing include. * src/tracker-indexer/Makefile.am: * src/trackerd/Makefile.am: Don't link with libtracker-evolution-plugin if we don't have support for it enabled. * tests/tracker-extract/Makefile.am: Don't try to build gstreamer test cases if we don't have gstreamer support enabled. 2009-01-15 Ivan Frade * data/services/default.service: Added some Image properties in the Services tables. Fixes NB #97765 2009-01-15 Martyn Russell * configure.ac: * src/plugins/evolution/Makefile.am: Change EVOPLUG_{CFLAGS|LDFLAGS} to EVOLUTION_PLUGIN_*. Also make the evolution plugin a build time option so we error if it is expicitly enabled but not available. This is disabled by default for the up and coming release. 2009-01-15 Philip Van Hoof * src/tracker-indexer/modules/Makefile.am * src/tracker-indexer/modules/evolution.c: Selecting between the old and the new Evolution support, depending on availability of the right version of EDS * data/services/email.metadata: * data/db/sqlite-tracker.sql: * configure.ac * src/tracker-indexer/Makefile.am * src/trackerd/Makefile.am * src/Makefile.am * src/tracker-evolution-plugin/tracker-evolution-plugin.h * src/tracker-evolution-plugin/tracker-evolution-indexer.h * src/tracker-evolution-plugin/tracker-evolution.h * src/tracker-evolution-plugin/tracker-evolution-registrar.h * src/tracker-evolution-plugin/tracker-evolution-plugin.xml * src/tracker-evolution-plugin/org-freedesktop-Tracker-evolution-plugin.eplug.xml * src/tracker-evolution-plugin/tracker-evolution-common.h * src/tracker-evolution-plugin/Makefile.am * src/tracker-evolution-plugin/tracker-evolution-plugin.c * src/tracker-evolution-plugin/tracker-evolution-indexer.c * src/tracker-evolution-plugin/tracker-evolution-registrar.xml * src/tracker-evolution-plugin/tracker-evolution.c * src/tracker-evolution-plugin/tracker-evolution-registrar.c: Implementation of the new Evolution support * src/trackerd/tracker-main.c 2009-01-14 Mikael Ottela * tests/tracker-extract/data/mp3/*.data: Added data files for testing * tests/tracker-extract/data/mp3/create_mp3_perfdata: Script for creating performance test data for mp3. * tests/tracker-extract/Makefile.am * tests/tracker-extract/tracker-extract-testsuite-generic.h * tests/tracker-extract/tracker-extract-testsuite-mp3.h * tests/tracker-extract/tracker-extract-mp3-test.c * tests/tracker-extract/tracker-extract-test-utils.c * tests/tracker-extract/tracker-extract-test-utils.h * tests/tracker-extract/tracker-extract-testsuite-generic.c * tests/tracker-extract/tracker-extract-gstreamer-test.c * tests/tracker-extract/tracker-extract-testsuite-mp3.c: Added more mp3 tests and test cases for gstreamer mp3 extraction. * src/tracker-extract/tracker-extract-mp3.c: Fixed genre handling in id3v2 tags. Fixed frame size and count calculations for MPEG-2 and MPEG-25. Fixes NB #97125 2009-01-14 Philip Van Hoof * src/tracker-extract/tracker-extract.c: Fixed too early shutdown of the thumbnailer support code in tracker-extract 2009-01-14 Carlos Garnacho * src/tracker-indexer/modules/evolution-imap-db.c (tracker_evolution_imap_db_file_finalize): finalize the query before closing the database. 2009-01-14 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (indexer_update_word): Perform binary search correctly, so it's able to find all items in the array. (Fixes bug #441739) * src/tracker-indexer/tracker-indexer.c (item_remove): Pass big enough weight to have elements removed from the index. 2009-01-13 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (process_module): Do not spew a critical warning if the module has no dirs configured. Do not emit module-finished/started signals for misconfigured modules. 2009-01-13 Carlos Garnacho * src/tracker-indexer/modules/evolution-pop.c (get_message_flags): Fix potential crasher. 2009-01-13 Martyn Russell * .svnignore: * docs/.svnignore: Added these files for use with: svn -R propset svn:ignore -F .svnignore ./ and also added special additions for unique cases using: svn propedit svn:ignore ./ in specific locations (like po/ and docs/reference/*). Now svn st reports much less about files not in the repository. 2009-01-13 Jürg Billeter * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-common.h: * src/libtracker-data/Makefile.am: * src/libtracker-data/tracker-data-manager.h: * src/libtracker-data/tracker-data-query.h: * src/libtracker-data/tracker-data-schema.h: * src/libtracker-data/tracker-data-search.h: * src/libtracker-data/tracker-field-data.c: * src/libtracker-data/tracker-field-data.h: * src/libtracker-data/tracker-rdf-query.c: * src/libtracker-data/tracker-xesam-query.c: * src/trackerd/tracker-metadata.c: Move tracker-field-data.[ch] from libtracker-common to libtracker-data as TrackerFieldData contains data specific to the storage backend 2009-01-12 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: BOM from UCS-2 encoded data was not removed correctly by all iconv versions. Removed an incorrect TIME tag. Fixes NB #97610. 2009-01-12 Ivan Frade * src/tracker-extract/tracker-extract-playlist.c: (extract-playlist): Handling correctly the results of totem-plparser to avoid crashing the extractor. Fixes NB #95754 2009-01-09 Ivan Frade * data/services/default.service: Added application/vnd.rn-realmedia to Video mimes. Fixes NB #97512 2009-01-09 Carlos Garnacho * src/tracker-indexer/tracker-main.c (indexer_finished_cb): Obey -f even if it's interrupted by trackerd shutting down. 2009-01-09 Martyn Russell * tests/Makefile.am: * tests/tracker-extract/tracker-extract-mp3-test.c: Disabled tests which fail and don't disable tracker-extract from the Makefile.am, this breaks make distcheck. 2009-01-09 Carlos Garnacho * src/tracker-indexer/modules/files.c (tracker_regular_file_get_service_type): Do not sniff mimetype and return NULL service type if the file doesn't exist. 2009-01-09 Carlos Garnacho * src/libtracker-data/tracker-data-query.c (tracker_data_query_service_exists): Dates are already stored as unix times, and stored in the databases as integers. 2009-01-08 Carlos Garnacho * src/trackerd/tracker-status.c (tracker_status_signal): Set the paused_on_battery parameter to the current state, not the configuration setting. 2009-01-08 Carlos Garnacho * src/tracker-indexer/modules/evolution-imap-db.c: Handle databases with no parseable folders. 2009-01-08 Mikael Ottela * configure.ac * tests/Makefile.am * tests/tracker-extract * tests/tracker-extract/Makefile.am * tests/tracker-extract/tracker-extract-mp3-test.c: Added some initial unit tests for mp3 extraction. * tests/tracker-extract/data * tests/tracker-extract/data/mp3 * tests/tracker-extract/data/mp3/*.data * tests/tracker-extract/data/mp3/create_mp3_testdata: Test data for the mp3 extraction unit tests and a script for creating the files. * src/tracker-extract/tracker-extract-mp3.c: Added some missing pieces of track number and release data extraction. 2009-01-08 Carlos Garnacho * src/libtracker-data/tracker-data-update.c (tracker_data_update_create_service) (tracker_data_update_set_metadata): Store all dates in the DB as unix times. 2009-01-08 Carlos Garnacho * src/tracker-indexer/tracker-module-file.[ch]: Add get_flags() method. TrackerModuleFlags at the moment contains TRACKER_FILE_CONTENTS_STATIC, used for contents that are not prone to change. * src/tracker-indexer/tracker-indexer.c: Do not try to update static items in the database, since all the metadata comparison is going to be expensive and useless if the data isn't changing. * src/tracker-indexer/modules/evolution-pop.c: * src/tracker-indexer/modules/evolution-imap.c: * src/tracker-indexer/modules/evolution-imap-db.c: Implement get_flags(). 2009-01-07 Carlos Garnacho * src/tracker-indexer/modules/evolution-imap-db.[ch]: Implement get_count() taking into account all folders. * src/tracker-indexer/tracker-module-iteratable.c (tracker_module_iteratable_get_count): Return by default 1 element. * src/tracker-indexer/tracker-indexer.c: Modified to keep track of the number of processed/indexed elements, not just files. This also improves feedback in the status signal (not treating the whole mbox as one file, etc...) 2009-01-07 Carlos Garnacho Several improvements to the evolution module. * src/tracker-indexer/modules/evolution-imap-db.c (tracker_evolution_imap_db_file_initialize): Do not try to extract data from a busy database. (extract_message_text): Handle g_convert() failures gracefully. (get_message_metadata): Do not try to index the email if it doesn't contain the essential information. (tracker_evolution_imap_db_file_iter_contents): Make cur_message_uid actuallly point to the current message. * src/tracker-indexer/modules/evolution-imap.c (get_message_metadata): Do not try to index the email if it doesn't contain the essential information. 2009-01-07 Carlos Garnacho * src/libtracker-data/tracker-data-update.c (tracker_data_update_create_service): Do not set Enabled=0 in any case, since it fails for non-local files, again. 2009-01-07 Ivan Frade * src/tracker-utils/tracker-files.c: Updated command line options help. Applied patch by Luca Ferretti. Fixes bug #563909 (Luca Ferretti). 2009-01-07 Ivan Frade * src/tracker-preferences/tracker-preferences.desktop: Added X-GNOME-PersonalSettings category. Fixes bug #557979. 2009-01-05 Carlos Garnacho * src/tracker-indexer/modules/evolution.c: Use the correct TrackerDBFile for the new database format. * src/tracker-indexer/modules/evolution-imap-db.[ch]: Also iterate through folders, and parse appropriate paths for mail contents. 2009-01-05 Ivan Frade * src/trackerd/tracker-main.c: Updated one more time the backup save/restore logic. We must try to restore backup even when the force_reindex flag is set to false. This is the case when call reindex from tracker-preferences. 2009-01-05 Ivan Frade * src/tracker-preferences/tracker-preferences.glade: Removed white space at the end of "Index delay: " label. Fixes bug #493049 2009-01-02 Ivan Frade * data/services/default.service: Added application/x-rpm in the list of playlists mimetypes. Fixes NB #95151 2009-01-02 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Corrected comment buffer size. Fixes NB #96999 2009-01-02 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Fixed header seeking bug in mp3 extraction. Fixes NB #95873. 2009-01-02 Ivan Frade * src/tracker-applet/tracker-applet.c: (set_status_hint): Fixed string and added comments for translators. Patch from Gabor Kelemen. Fixes bug #565725. Compilation warning fixes. 2009-01-02 Ivan Frade * python/nautilus/tracker-tags-tab.py: Updated to use the new dbus namespaces. Patch from Thomas. Fixes bug #566221 (Thomas). 2008-12-31 Philip Van Hoof * src/trackerd/tracker-cleanup.c: Bugfix when mount_point is NULL 2008-12-30 Philip Van Hoof * src/libtracker/tracker.h * src/libtracker/tracker.c * src/tracker-indexer/tracker-dbus.c * src/tracker-indexer/modules/evolution.c * src/tracker-indexer/modules/evolution-imap-db.c * src/tracker-indexer/tracker-indexer.c * src/tracker-indexer/tracker-module-metadata-utils.c * src/tracker-utils/tracker-meta-folder.c * src/libtracker-data/tracker-data-schema.c * src/libtracker-data/tracker-data-search.c * src/libtracker-data/tracker-data-query.c * src/libtracker-data/tracker-rdf-query.c * src/libtracker-data/tracker-turtle.c * src/libtracker-data/tracker-xesam-query.c * src/libtracker-data/tracker-data-update.c * src/libtracker-data/tracker-query-tree.c * src/trackerd/tracker-keywords.c * src/trackerd/tracker-processor.c * src/trackerd/tracker-main.c * src/trackerd/tracker-backup.c * src/trackerd/tracker-monitor.c * src/trackerd/tracker-cleanup.c * src/trackerd/tracker-dbus.c * src/tracker-extract/tracker-albumart.c * src/tracker-extract/tracker-extract-mp3.c * src/tracker-extract/tracker-extract-oasis.c * src/tracker-extract/tracker-extract-ps.c * src/tracker-extract/tracker-extract-png.c * src/tracker-extract/tracker-extract-gstreamer.c * src/libtracker-gtk/tracker-metadata-tile.c * src/libtracker-db/tracker-db-dbus.c * src/libtracker-db/tracker-db-interface-sqlite.c * src/libtracker-db/tracker-db-manager.c * src/libtracker-db/tracker-db-index-manager.c * src/libtracker-common/tracker-thumbnailer.c * src/libtracker-common/tracker-file-utils.c * src/libtracker-common/tracker-dbus.h * src/libinotify/inotify-log.h * src/libinotify/inotify-monitor.c: Compilation warning fixes 2008-12-29 Ivan Frade Fixed (some) compilation warnings in ultra-strict mode in libtracker-db. * src/libtracker-db/tracker-db-manager.c (tracker_db_manager_get_db_interface_by_type) (tracker_db_manager_get_db_interface_by_service) (db_interface_create): Added missing/default cases in switchs. * src/libtracker-db/tracker-db-index.c: Renamed local variable "index" as "indez" to avoid collision with string.h 2008-12-29 Ivan Frade Fixed compilation warnings in ultra-strict mode in libtracker-common. * src/libtracker-common/tracker-language.[ch] (tracker_language_get_all_by_name): Removed (unused) Fixed const pointer. * src/libtracker-common/tracker-hal.c: Removed prototypes of init functions. * src/libtracker-common/tracker-parser.c (tracker_parser_is_stop_word): Define and initialize variable in different lines. (analyze_text) (parser_next): Added missing case options. * src/libtracker-common/tracker-module-config.c (changed_cb): Added missing case options, renamed local variable to avoid collision with global var. * src/libtracker-common/tracker-config.[ch] (tracker_config_add_disabled_modules): Use const gchar * const * for the modules lists. (config_changed_cb): Added missing case options. * src/libtracker-common/tracker-log.c (log_output): Added missing case options. * src/libtracker-common/tracker-os-dependant-unix.c (tracker_create_permission_string): Added default case in switch. 2008-12-29 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.h: Cleanup of duplicate prototype in include header 2008-12-29 Ivan Frade * data/services/playlist.metadata: Define Playlist:TotalLenght as non-embedded. The applications can set a more refined value. 2008-12-29 Ivan Frade * src/libtracker-data/tracker-rdf-query.c * src/libtracker-gtk/tracker-keyword-store.h * src/libtracker-common/tracker-os-dependant-win.c * src/libtracker-common/tracker-os-dependant-unix.c * src/tracker-search-tool/sexy-icon-entry.h * src/tracker-search-tool/tracker-search-tool-support.c * src/tracker-search-tool/tracker-search-tool.c * src/tracker-applet/tracker-applet.h * tests/trackerd/tracker-xesam-test.c * tests/trackerd/tracker-xesam-session-test.c * tests/trackerd/tracker-xesam-hit-test.c * tests/trackerd/tracker-xesam-hits-test.c * tests/libtracker-db/tracker-db-manager-test-attach.c * tests/libtracker-db/tracker-db-dbus-test.c * tests/libtracker-db/tracker-index-writer-test.c * tests/libtracker-db/union-performance.c * tests/libtracker-db/tracker-db-manager-test-unattach.c * tests/libtracker-db/tracker-db-manager-test-custom.c * tests/libtracker-db/tracker-index-reader-test.c * tests/libtracker-common/tracker-ontology-test.c * tests/libtracker-common/tracker-parser-test.c * tests/libtracker-common/tracker-dbus-test.c * tests/libtracker-common/tracker-file-utils-test.c * tests/libtracker-common/tracker-type-utils-test.c * tests/libtracker-common/tracker-field-test.c Gnome Goal: Cleaned up gtk and glib includes. Applied patch from Luis Menina. Fixes bug #565218 (Luis Menina). 2008-12-29 Ivan Frade * src/libtracker-data/tracker-data-update.c Replaced g_basename with g_path_get_basename Gnome Goal: Remove deprecated glib symbols. Code taken from patch provided by Luis Menina. Fixes bug #565218 (Luis Menina, Ivan Frade). 2008-12-29 Ivan Frade * src/tracker-search-tool/tracker-search-tool.c: Marked some strings for translation. Applied patch from Gabor Kelemen. Fixes bug #565932. 2008-12-29 Ivan Frade * src/tracker-applet/tracker-applet.c: Fixed translation of --help output. Applied patch from Gabor Kelemen. Fixes #565928. 2008-12-23 Carlos Garnacho Support new Evolution database storage. Based on a patch by Philip Van Hoof * src/tracker-indexer/modules/evolution-imap-db.[ch]: New TrackerModuleFile implementations which get messages information for the new Evolution sqlite storage. * src/tracker-indexer/modules/Makefile.am: Build evo modulewith sqlite3 libs/cflags, add the new files. * src/tracker-indexer/modules/evolution.c: Use the new implementation if folders.db is found. 2008-12-22 Mikael Ottela * src/libtracker-data/tracker-data-update.c: Added escaping to metadata strings for SQL. Fixes NB #95227. 2008-12-22 Martyn Russell * configure.ac: * src/libtracker-common/Makefile.am: * src/tracker-indexer/Makefile.am: * src/trackerd/Makefile.am: * tests/common/Makefile.am: * tests/tracker-indexer/Makefile.am: Patch from Michael Biebl to NOT use symbolic links for test cases and to clean up some of the unnecessary EXTRA_DIST lines in Makefiles. 2008-12-19 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (item_remove): Inconditionally check the service type in the database for deleted files, since files could not end always with the service type specified by the module definition file, and there's no way to requery it for a deleted file. This for example allows setting the correct services in the ServiceStatisticsUpdated signal for any special (image, music, ...) file that was indexed through the files module. Fixes NB #95215. 2008-12-19 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Fixed two spaces vs once space filename issue 2008-12-19 Mikael Ottela * src/tracker-extract/tracker-escape.c: Fixed a small bug in metadata escaping. 2008-12-18 Carlos Garnacho * src/tracker-extract/tracker-escape.[ch]: New methods to escape metadata properly, so we don't barf on new lines, metadata separators, etc... * src/tracker-extract/Makefile.am: Add new files. * src/tracker-extract/tracker-extract.h: Include header for modules. * src/tracker-extract/tracker-extract-*.c: * src/tracker-extract/tracker-xmp.c: Escape metadata properly in the right places. 2008-12-18 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Some optimizations to reading mp3 frames. 2008-12-18 Martyn Russell * src/libtracker-db/tracker-db-manager.c: (tracker_db_manager_optimize): Don't use British English spelling for ANALYZE. 2008-12-18 Martyn Russell * data/db/sqlite-service.sql: Added indexes for the Services table on Enabled, AuxilaryID and KeyMetadata{1|2|3} to improve performance for queries. * src/trackerd/tracker-processor.c: * src/libtracker-db/tracker-db-manager.[ch]: Added an _optimize() API call which calls ANALYZE on the Services tables for emails and files. 2008-12-18 Philip Van Hoof * src/libtracker-common/tracker-thumbnailer.c: Assertion fix, mime_type is allowed to be passed as NULL here 2008-12-18 Ivan Frade * src/trackerd/tracker-main.c: Set the restore callback if we are in force-reindex AND we have a backup file. (backup_restore_on_crawling_finished): static int to keep the value in the callback. 2008-12-17 Carlos Garnacho * src/tracker-extract/tracker-extract.c (print_meta_table_data): Escapemetadata values so we allow multiline data and other stuff. * src/tracker-indexer/tracker-module-metadata-utils.c (metadata_utils_get_embedded): And compress it back here. 2008-12-17 Mikael Ottela * src/libtracker-data/tracker-data-search.c: Fixed joining of count and sum fields. Added the support for * for count fields which maps to ID internally for unique rows. 2008-12-17 Mikael Ottela * src/tracker-extract/tracker-extract.c: Deactivated the extractor debug output. 2008-12-17 Philip Van Hoof * src/trackerd/tracker-main.c * src/tracker-extract/tracker-extract.c: Initialization of the thumbnailer * src/tracker-extract/tracker-albumart.c: Bugfix 2008-12-17 Carlos Garnacho * src/libtracker-common/tracker-log.c: * src/libtracker-data/tracker-rdf-query.c: * src/tracker-indexer/modules/applications.c: * src/tracker-indexer/modules/evolution-imap.h: * src/tracker-indexer/modules/evolution-pop.h: * src/tracker-indexer/modules/evolution.c: * src/tracker-indexer/modules/files.c: * src/tracker-indexer/modules/gaim-conversations.c: * src/tracker-indexer/tracker-module.h: Fixed more warnings that were spotted with the new compiler flags. 2008-12-16 Martyn Russell * src/libtracker-common/tracker-config.c: * src/libtracker-common/tracker-hal.c: * src/libtracker-common/tracker-thumbnailer.[ch]: * src/libtracker-common/tracker-type-utils.c: * src/libtracker-data/tracker-data-metadata.c: * src/libtracker-data/tracker-data-query.c: * src/libtracker-data/tracker-data-update.c: * src/libtracker-data/tracker-rdf-query.c: * src/trackerd/tracker-search.c: Fixed a bunch of warnings now we have more compiler flags to catch these things. 2008-12-16 Carlos Garnacho * acinclude.m4: Add macro to enable compile warnings. * configure.ac: call it. * src/*/Makefile.am: Add WARN_CFLAGS to INCLUDES. 2008-12-16 Martyn Russell * src/trackerd/tracker-monitor.c: Fixed a compiler warning and made pausing the indexer on IO a #define. Also we now by default DON'T pause the indexer on IO events. If this is problematic for performance reasons, we can switch this back. This dramatically improves indexing speed for files we download or copy on the Nokia device. This commit was partially patched by Attila. Fixes NB #90111 and NB #90700. 2008-12-16 Carlos Garnacho * src/tracker-indexer/Makefile.am: * src/tracker-indexer/modules/Makefile.am: Enable -Wall * src/tracker-indexer/modules/evolution-common.c: * src/tracker-indexer/modules/evolution-imap.[ch]: * src/tracker-indexer/modules/evolution-pop.[ch]: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-module-metadata.c: Fix compiler warnings. 2008-12-16 Philip Van Hoof * src/tracker-indexer/tracker-removable-device.c: Compilation warnings if you don't have libraptor-dev installed 2008-12-16 Philip Van Hoof * src/tracker-indexer/tracker-removable-device.c * src/tracker-indexer/tracker-removable-device.h * src/tracker-indexer/tracker-main.c * src/tracker-indexer/tracker-indexer.c * src/tracker-indexer/Makefile.am * src/tracker-indexer/tracker-indexer.h * src/tracker-indexer/tracker-module-metadata.c * src/libtracker-data/tracker-data-query.c * src/libtracker-data/tracker-turtle.c * src/libtracker-data/tracker-data-query.h * src/libtracker-data/tracker-turtle.h * src/libtracker-data/tracker-data-metadata.c * src/libtracker-data/tracker-data-update.c * src/libtracker-data/tracker-data-metadata.h * src/libtracker-data/tracker-data-update.h * src/libtracker-data/Makefile.am * src/trackerd/tracker-main.c * src/trackerd/tracker-backup.c * src/trackerd/tracker-backup.h * src/trackerd/Makefile.am * src/libtracker-db/tracker-db-manager.c * src/libtracker-common/tracker-hal.c * src/libtracker-common/tracker-hal.h * tests/tracker-indexer/Makefile.am * configure.ac * data/db/sqlite-stored-procs.sql * data/dbus/tracker-indexer.xml: Committed the Turtle branch merge to trunk 2008-12-16 Philip Van Hoof * src/tracker-indexer/tracker-removable-device.c * src/tracker-indexer/tracker-indexer.c * src/libtracker-data/tracker-turtle.h * src/libtracker-data/tracker-data-metadata.c * src/libtracker-data/tracker-data-update.c * src/libtracker-data/tracker-data-update.h * src/trackerd/tracker-main.c * src/libtracker-common/tracker-hal.c: Fixed comments from martyn 2008-12-16 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer-helix.c: Added a missing mimetype to helixbin. Fixes NB #95928. 2008-12-16 Martyn Russell * src/libtracker-common/tracker-config.c: * src/libtracker-common/tracker-file-utils.[ch]: * src/trackerd/tracker-crawler.c: * tests/libtracker-common/tracker-file-utils-test.c: In function tracker_path_list_filter_duplicates(), don't filter basenames which have a particular prefix. This prefix is currently always "." but can be specified. Fixes NB #95545. 2008-12-15 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Filenames for album-art. They are now named type-md5(artist)-md5(album).jpeg 2008-12-11 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Requesting a thumbnail for embedded album-art * src/libtracker-common/tracker-thumbnailer.c: coping with paths 2008-12-11 Philip Van Hoof * src/tracker-indexer/tracker-removable-device.c * src/tracker-indexer/tracker-removable-device.h * src/tracker-indexer/tracker-main.c * src/tracker-indexer/tracker-indexer.c * src/tracker-indexer/Makefile.am * src/tracker-indexer/tracker-indexer.h * src/tracker-indexer/tracker-module-metadata.c * src/libtracker-data/tracker-data-query.c * src/libtracker-data/tracker-turtle.c * src/libtracker-data/tracker-data-query.h * src/libtracker-data/tracker-turtle.h * src/libtracker-data/tracker-data-metadata.c * src/libtracker-data/tracker-data-update.c * src/libtracker-data/tracker-data-metadata.h * src/libtracker-data/tracker-data-update.h * src/libtracker-data/Makefile.am * src/trackerd/tracker-main.c * src/trackerd/tracker-backup.c * src/trackerd/tracker-backup.h * src/trackerd/Makefile.am * src/libtracker-db/tracker-db-manager.c * src/libtracker-common/tracker-hal.c * src/libtracker-common/tracker-hal.h * tests/tracker-indexer/Makefile.am * configure.ac * data/db/sqlite-stored-procs.sql * data/dbus/tracker-indexer.xml: Recreated the Turtle branch, and applied merge-to-trunk patch on it 2008-12-10 Mikael Ottela * src/tracker-utils/tracker-query.c: * src/tracker-utils/tracker-search.c: * src/tracker-utils/tracker-unique.c: * src/tracker-utils/tracker-tag.c: * src/tracker-utils/tracker-info.c: * src/tracker-utils/tracker-meta-folder.c: Fixed help output of the command line tools. 2008-12-10 Mikael Ottela * src/libtracker-common/tracker-parser.c: * src/tracker-extract/tracker-extract.c: Fixed support for empty strings as metadata values 2008-12-09 Mikael Ottela * data/dbus/tracker-search.xml: * src/trackerd/tracker-search.c: * src/trackerd/tracker-search.h: * src/libtracker-data/tracker-rdf-query.c: * src/libtracker-data/tracker-rdf-query.h: * src/libtracker/tracker.h: * src/libtracker/tracker.c: The keyword field in query method now supports multiple values. * src/tracker-utils/tracker-query.c: Changed the command line tool to work with multiple keywords. * data/services/image.metadata: * src/tracker-extract/tracker-xmp.c: Image:Keywords is now a multivalue field and used in extraction. 2008-12-09 Carlos Garnacho * src/tracker-indexer/tracker-module-metadata.c (tracker_module_metadata_get_hash_table): Make it return a new hashtable with field names as keys for easier use. * src/tracker-indexer/tracker-indexer.c (item_add_or_update): Destroy the hashtable that tracker_module_metadata_get_hash_table() returns. 2008-12-09 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (check_disk_space_cb) (state_check): Do not stop disk space check when pausing the indexer. 2008-12-09 Martyn Russell * src/libtracker/tracker.[ch]: Fixes bug #563706. * src/trackerd/tracker-dbus.c: Include config.h. 2008-12-08 Ivan Frade * tracker-query.c * tracker-tag.c * tracker-info.c * tracker-meta-folder.c: Allow this tools to receive relative paths as parameters. Fixes bug #563666. 2008-12-08 Ivan Frade * src/tracker-utils/tracker-files.c: Inform to the user if we are defaulting to 'Other' service type. Now using the same code as in "tracker-search". It is ugly but consistent between tools. 2008-12-08 Ivan Frade * src/tracker-utils/tracker-files.c: Inform to the user if we are defaulting to 'Other' service type. 2008-12-08 Ivan Frade * src/tracker-applet/tracker-applet.c: Applied patch from Wendy Hu preventing the raise of a second preferences window from the applet. This fixes bug #528684 (Wendy Hu). 2008-12-05 Jürg Billeter * data/db/sqlite-stored-procs.sql: * src/libtracker-data/tracker-data-update.c: (tracker_data_update_move_service): Only execute MoveServiceChildren for folders and add condition to UPDATE statement 2008-12-05 Carlos Garnacho * docs/reference/libtracker-module/writing-an-indexer-module.sgml: Update to latest module changes. 2008-12-05 Carlos Garnacho * src/libtracker-data/tracker-data-update.h (tracker_data_update_delete_service_recursively): Make it take a const gchar*, do not append ourselves the '/', Since it's done in the stored procedure now. 2008-12-05 Carlos Garnacho * docs/reference/libtracker-module/tmpl/tracker-module-file.sgml: * docs/reference/libtracker-module/tmpl/tracker-module-iteratable.sgml: * docs/reference/libtracker-module/tmpl/tracker-module-metadata.sgml: * docs/reference/libtracker-module/tmpl/tracker-module-metadata-utils.sgml: Add short/long descriptions and other missings docs. 100% coverage! 2008-12-05 Carlos Garnacho * docs/reference/libtracker-module/libtracker-module-docs.sgml: Fix missing reference. 2008-12-05 Carlos Garnacho * docs/reference/libtracker-module/libtracker-module.types: Added so we get proper GObject documentation. * docs/reference/libtracker-module/Makefile.am: Added missing lib to compile the scanner. 2008-12-05 Carlos Garnacho * src/tracker-indexer/tracker-module-file.c: * src/tracker-indexer/tracker-module-iteratable.c: Document missing symbols. 2008-12-05 Carlos Garnacho * src/tracker-indexer/tracker-module.h: Added, all-in-one header for developing tracker indexer modules. * src/tracker-indexer/Makefile.am: Install that new header. * src/tracker-indexer/tracker-module-file.h: * src/tracker-indexer/tracker-module-iteratable.h: * src/tracker-indexer/tracker-module-metadata-utils.h: * src/tracker-indexer/tracker-module-metadata.h: Prevent these files to be included directly from external modules. Only tracker-module.h should be included. 2008-12-05 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (tracker_indexer_process_all): Unset the stopped flag set during init(), so -p works again. 2008-12-04 Martyn Russell * src/tracker-indexer/tracker-indexer.c: (item_add_or_update), (item_move), (item_remove): Don't call stat() when we remove and move thumbnails. Just use the current metadata we hold for a URI. 2008-12-04 Martyn Russell * src/trackerd/tracker-monitor.[ch]: * src/trackerd/tracker-processor.c: Make sure we recursively remove all monitors for mount points which are unmounted. Also, when a directory is deleted, remove the monitor, don't keep it around! 2008-12-04 Carlos Garnacho * configure.ac: * tests/tracker-indexer/Makefile.am: Fix tests build. 2008-12-04 Carlos Garnacho Rename libtracker-indexer to libtracker-module for consistence, as it's not a library to make indexers, but to make modules. * src/tracker-indexer/Makefile.am: Rename the library to libtracker-module. * data/tracker-indexer-module-1.0.pc.in: Moved to * data/tracker-module-1.0.pc.in: Added * docs/reference/tracker-indexer: Moved to * docs/reference/libtracker-module: Adapt to new modules API. * configure.ac: * data/Makefile.am: * docs/reference/Makefile.am: Misc changes. * src/tracker-indexer/modules/Makefile.am: Compile modules as libtracker-module-*.so, instead of libtracker-indexer-*.so * src/tracker-indexer/tracker-indexer-module.c: Just load libtracker-module-*.so. * src/tracker-indexer/tracker-module-file.c: * src/tracker-indexer/tracker-module-metadata-utils.c: Add a few docs. 2008-12-04 Carlos Garnacho * src/tracker-indexer/tracker-module-metadata.[ch]: * src/tracker-indexer/tracker-module-metadata-private.h: New files. TrackerModuleMetadata is the object used for exchanging information between the indexer and the modules, similar to TrackerDataMetadata, but more suited to the task, and in the correct library. * src/tracker-indexer/tracker-metadata-utils.[ch]: Moved to * src/tracker-indexer/tracker-module-metadata-utils.[ch]: Just for consistency. * src/tracker-indexer/Makefile.am: Compile the new files. * src/tracker-indexer/tracker-module-file.[ch]: * src/tracker-indexer/tracker-indexer.c: Updated to use TrackerModuleMetadata where it's relevant. * src/tracker-indexer/modules/*.c: Update to these changes. * src/libtracker-data/tracker-data-update.[ch] (tracker_data_update_create_service): Modify to receive a GHashTable instead of a TrackerDataMetadata. to avoid type conversions, circular dependencies, etc... * configure.ac: * tests/tracker-indexer/Makefile.am: Update to latest changes to get testcases compiling. 2008-12-04 Ivan Frade * src/tracker-preferences/tracker-preferences.c: (restart_tracker): Handle correctly the should_reindex conditions. This fixes the double ask for reindex with "apply" and "ok" buttons. 2008-12-04 Ivan Frade * Makefile.am: Remove "thumbnailers" from SUBDIRS. 2008-12-04 Ivan Frade * src/tracker-preferences/tracker-preferences.c: Enabled the evolution option in tracker-preferences. Now evolution can be added/removed from the disabled modules list using tracker-preferences. 2008-12-04 Martyn Russell * src/libtracker/tracker.c: Included config.h so we get the __FUNCTION__ definition on Sun builds. 2008-12-04 Martyn Russell * configure.ac: * src/Makefile.am: * src/tracker-thumbnailer/Makefile.am: * src/tracker-thumbnailer/tracker-thumbnailer.c: * thumbnailers/Makefile.am: * thumbnailers/application/Makefile.am: * thumbnailers/application/pdf_thumbnailer: * thumbnailers/application/vnd.oasis.opendocument.graphics_thumbnai ler: * thumbnailers/application/vnd.oasis.opendocument.presentation_thum bnailer: * thumbnailers/application/vnd.oasis.opendocument.spreadsheet_thumb nailer: * thumbnailers/application/vnd.oasis.opendocument.text_thumbnailer: * thumbnailers/image/Makefile.am: * thumbnailers/image/gif_thumbnailer: * thumbnailers/image/hildon/gif_thumbnailer: * thumbnailers/image/hildon/jpeg_thumbnailer: * thumbnailers/image/hildon/png_thumbnailer: * thumbnailers/image/hildon/tiff_thumbnailer: * thumbnailers/image/jpeg_thumbnailer: * thumbnailers/image/png_thumbnailer: * thumbnailers/image/tiff_thumbnailer: Removed all unused thumbnail code and scripts now they are unused. 2008-12-04 Ivan Frade * src/tracker-indexer/tracker-indexer.c (item_remove): Call recursively delete only when the uri is a Folder. This speed up a lot the delete operation. 2008-12-04 Martyn Russell * src/libtracker-common/tracker-utils.c: Improve the strings used when estimating time remaining and the time is < 1 second. * src/tracker-extract/tracker-extract.h: Changed the "tracker:unknown" value used for metadata information which is unknown to an empty string. 2008-12-04 Carlos Garnacho * data/db/sqlite-stored-procs.sql (DeleteServiceRecursively): Fix so it just deletes files contained in the directory. 2008-12-03 Ivan Frade * src/tracker-preferences/tracker-preferences.glade * src/tracker-preferences/tracker-preferences.c: Using gtk tree model in the language combo box (instead of setting options in glade file). The previous code to read the language was forcing a reindex everytime you closed the preferences dialog. Use "No" instead of "Cancel" from the stock in the "reindex" dialog. It is a yes/no answer. 2008-12-03 Martyn Russell * configure.ac: * src/tracker-indexer/modules/evolution-common.c: * src/trackerd/tracker-files.c: Support __FUNCTION__ for compilers which don't have it as standard. Based on a patch from Jerry Tan. 2008-12-03 Carlos Garnacho * src/libtracker-common/tracker-type-utils.[ch] (tracker_string_in_gslist): New function to know whether a string is contained in a GSList of strings. * src/tracker-indexer/tracker-indexer.c (tracker_indexer_load_modules): Refactor out modules loading to this function, also do not load ignored modules by tracker.cfg. (tracker_indexer_finalize) (tracker_indexer_init): Misc changes. 2008-12-03 Carlos Garnacho * src/libtracker-common/tracker-config.c (config_finalize): Plug a leak. 2008-12-03 Martyn Russell * NEWS: * README: * docs/manpages/trackerd.1: Patch from Tshepang Lekhonkhobe to update documentation. 2008-12-03 Martyn Russell * configure.ac: Bumped version requirement of GLib to 2.16. We depend on it anyway. 2008-12-02 Mikael Ottela * configure.ac: Replaced the package check for helixbin with only an enable-switch. 2008-12-02 Mikael Ottela * src/tracker-extract/tracker-extract-png.c: * src/tracker-extract/tracker-extract-jpeg.c: * src/tracker-extract/tracker-extract-tiff.c: Added a default value for the Image:Date property. Fixes NB #93928 and NB #91827 2008-12-01 Martyn Russell * src/libtracker-common/tracker-thumbnailer.[ch]: * src/tracker-indexer/tracker-dbus.c: * src/tracker-indexer/tracker-main.c: Fixed the header which was using the same ifdefs as another header. Fixed the leak where by we were not cleaning up the DBusGProxy objects. Only get thumbnails if enabled in the config, previously, no checks were done before requesting thumbnails. 2008-12-01 Martyn Russell * src/libtracker-common/tracker-type-utils.[ch]: Added function to deep copy a GList of strings. * src/libtracker-data/tracker-data-metadata.[ch]: * src/libtracker-data/tracker-data-query.[ch]: * src/tracker-extract/tracker-extract.c: * src/tracker-indexer/modules/applications.c: * src/tracker-indexer/modules/evolution-imap.c: * src/tracker-indexer/modules/evolution-pop.c: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-metadata-utils.c: * src/tracker-indexer/tracker-module-file.c: Added more variable checking to the tracker_data_metadata_() public API. Now all calls to the tracker_data_metadata_() API take a const argument and are copied, not inherited. This also fixes a bug where we were double freeing a GList. Fixes NB #93960. 2008-12-01 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Bug fix and small improvements to the duration calculation of mp3 files. Fixes NB #93348. 2008-12-01 Ivan Frade * src/trackerd/tracker-keywords.c (tracker_keywords_search) * src/trackerd/tracker-files.c (tracker_files_get_metadata_for_files_in_folder) Using dbus_method_return_error error instead of g_propagate_error. This should prevent timeout returning errors in the DBus API. 2008-12-01 Ivan Frade * src/trackerd/tracker-metadata.c: Some errors were reported using g_error_propagate and not the dbus methods, so it was causing a dbus timeout in the tools. Fixes NB #93935. 2008-12-01 Martyn Russell * src/tracker-indexer/modules/dummy.c: Small code clean up. * src/tracker-indexer/modules/gaim-conversations.c: Used the dummy.c for this module. The indexer logging was complaining about some modular functions not existing. * tests/libtracker-common/tracker-dbus-test.c: * tests/libtracker-common/tracker-type-utils-test.c: Small code clean ups. 2008-12-01 Philip Van Hoof * src/libtracker-common/tracker-hal.c: Fixed a crash when HAL didn't initialize successfully. Fixes NB #93962. 2008-11-28 Martyn Russell * data/modules/files.module: Added "core-dumps" to the list of directories to ignore and "*.rcore.lzo" to the list of files to ignore. 2008-11-27 Philip Van Hoof * src/libtracker-common/tracker-thumbnailer.c: Replaced a non-critical warning with a message 2008-11-27 Martyn Russell * src/libinotify/inotify-handle.c: Disable warning causing breaks in gdb, it makes no difference either way. * src/trackerd/tracker-monitor.c: Don't call g_hash_table_remove (key) when we can use g_hash_table_iter_remove() instead. Also, don't reset the iter making us go round every item again after removing one. This seriously impedes performance. The removal wasn't actually working either. Meaning trackerd was using 100% CPU power in a continous while loop. 2008-11-27 Jürg Billeter * configure.ac: Drop unused GnomeVFS dependency 2008-11-26 Mikael Ottela * data/services/default.metadata: Made DC:Subject and DC:Keywords multivalued. * src/tracker-extract/tracker-xmp.c: Handle multivalued fields correctly and use '|' as separator. * src/libtracker-data/tracker-rdf-query.c: Fixed some bugs introduced by recent changes. * src/tracker-indexer/tracker-metadata-utils.c: Added support for multivalued field extraction using '|' as the separator. 2008-11-26 Martyn Russell * src/trackerd/tracker-cleanup.[ch]: Committed the changes I made to these files. 2008-11-26 Martyn Russell * data/db/sqlite-stored-procs.sql: * src/libtracker-data/tracker-data-search.c: * src/libtracker-data/tracker-rdf-query.c: * src/trackerd/tracker-processor.c: Updated all queries to use the "AS" keyword for clarity. Now we check the Volumes table for the Enabled value as well as the Services table so we don't show files which are disabled because the memory card isn't mounted. We also now don't delete memory card data in the Services table when we unmount. This work was partly done by Jürg. Fixes NB #92788. 2008-11-25 Martyn Russell * src/libtracker-common/tracker-thumbnailer.c: Set a flag if the prepare function succeeds so we know the service can be contacted. If it can't be contacted for some reason, don't keep trying and waiting for the timeout for every file the indexer sends us. Instead, just return. 2008-11-25 Martyn Russell * src/tracker-applet/tracker-applet.c: Don't output logging with g_print(), indexer status updates were being picked up in ~/.xsession-errors which in turn was pausing the indexing making it take longer than it needs to unnecessarily. 2008-11-25 Martyn Russell * configure.ac: * data/db/sqlite-stored-procs.sql: * data/db/sqlite-tracker.sql: * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-thumbnailer.[ch]: * src/tracker-extract/tracker-albumart.c: * src/tracker-indexer/Makefile.am: * src/tracker-indexer/tracker-dbus.c: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-main.c: * src/tracker-indexer/tracker-metadata-utils.c: * src/tracker-indexer/tracker-thumbnailer.[ch]: * src/trackerd/Makefile.am: * src/trackerd/tracker-main.c: * tests/tracker-indexer/Makefile.am: Added code to clean up database volumes which have been disabled for more than 3 days. Moved the thumbnailer code to libtracker-common since it is used by the indexer, the daemon and the extractor processes. This patch was written by Philip and reviewed/updated by Martyn. 2008-11-24 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Requesting thumbnails of album art * src/tracker-indexer/tracker-metadata-utils.c * src/tracker-indexer/tracker-main.c * src/tracker-indexer/tracker-indexer.c * src/tracker-indexer/Makefile.am * src/tracker-extract/Makefile.am * thumbnailers/image/Makefile.am * tests/tracker-indexer/Makefile.am * configure.ac * src/tracker-indexer/tracker-thumbnailer.c * src/tracker-indexer/tracker-thumbnailer.h: Cleaning up thumbnails when originals are removed. Refactored the thumbnailing code 2008-11-24 Martyn Russell * src/tracker-indexer/modules/evolution-imap.c: Fixed a typo in the includes. 2008-11-23 Jamie McCracken * data/db/sqlite-fulltext.sql: * data/db/Makefile.am: * src/libtracker-db/tracker-db-manager.c: * src/libtracker-db/tracker-db-manager.h: Started integrating FTS into tracker 2008-11-21 Martyn Russell * configure.ac: Small improvement. 2008-11-21 Martyn Russell * src/tracker-indexer/tracker-indexer.c: (tracker_indexer_init): Set the state initially to _STOPPED. The problem was, if the indexer was told to do something other than process files, it was sending the FINISHED signal even though no files had been processed. Setting the state to stopped initially means, the process_func() is only set up if state = 0, for that, it has to NOT be stopped and NOT have other factors like low battery or low disk space. 2008-11-21 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer-helix.c: Fixed the helixbin extractor mime types. 2008-11-21 Carlos Garnacho * src/libtracker-common/tracker-ontology.c (tracker_ontology_get_service_by_mime): Return a const gchar* in all cases. 2008-11-21 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: * src/tracker-extract/tracker-extract-gstreamer-helix.c: * src/tracker-extract/tracker-extract.h: * src/tracker-extract/tracker-extract-gstreamer.c: Fixed some typos 2008-11-21 Mikael Ottela * configure.ac: Changed helixbin to be included by default. 2008-11-21 Martyn Russell * src/libtracker-common/tracker-ontology.c: Code clean ups, don't unnecessarily cast and coding style. * src/tracker-indexer/modules/Makefile.am: Included new evolution module header files so make distcheck works. * src/tracker-indexer/modules/applications.c: * src/tracker-indexer/modules/dummy.c: * src/tracker-indexer/modules/evolution-common.[ch]: * src/tracker-indexer/modules/evolution-imap.[ch]: * src/tracker-indexer/modules/evolution-pop.[ch]: * src/tracker-indexer/modules/evolution.c: * src/tracker-indexer/modules/files.c: * src/tracker-indexer/modules/gaim-conversations.c: Added common.h include and formatting line at the top of these files. * tests/libtracker-common/tracker-ontology-test.c: Fixed several leaks and updated the calls which now return static data so we don't free the result. Also don't free the return from tracker_ontology_get_subcategory_ids() since it is a const array. This was crashing the test cases. 2008-11-21 Mikael Ottela * src/tracker-extract/Makefile.am: * configure.ac: * src/tracker-extract/tracker-extract-gstreamer-helix.c: Added initial Gstreamer Helix Bin (Real Media) extractor implementation. 2008-11-20 Carlos Garnacho * src/libtracker-common/tracker-hal.c (hal_battery_notify): * src/libtracker-data/tracker-data-update.c (tracker_data_update_delete_all_metadata): * src/tracker-indexer/modules/evolution-imap.c (tracker_evolution_imap_file_finalize): Plug some leaks. 2008-11-20 Carlos Garnacho * src/libtracker-common/tracker-ontology.[ch] (tracker_ontology_get_service_by_id) (tracker_ontology_get_service_by_mime): * src/libtracker-data/tracker-data-query.[ch] (tracker_data_query_service_type_by_id): Make them return const gchar*, since the strings are stored in the ontology and guaranteed to be there until it shuts down. * src/libtracker-db/tracker-db-index-manager.c (tracker_db_index_manager_get_index_by_service_id): * src/libtracker-db/tracker-db-manager.c (function_get_service_name): * src/tracker-indexer/tracker-indexer.c (item_remove): * src/tracker-indexer/tracker-metadata-utils.c (metadata_utils_get_embedded) (tracker_metadata_utils_get_text): * src/trackerd/tracker-files.c (tracker_files_get_service_type): * src/trackerd/tracker-metadata.c (tracker_metadata_get): * src/trackerd/tracker-search.c (tracker_search_get_hit_count_all): Adapt to API change. 2008-11-20 Carlos Garnacho * configure.ac: * src/tracker-indexer/modules/gaim-conversations.c: * tests/tracker-indexer/Makefile.am: Remove any references to tracker-module.h 2008-11-20 Carlos Garnacho Make indexer modules API GObject oriented, which allows easier bindings development and more flexible behavior for modules. * src/tracker-indexer/tracker-module-file.[ch]: * src/tracker-indexer/tracker-module-iteratable.[ch]: Definition of abstract base object and interface for modules to implement. * src/tracker-indexer/tracker-indexer-module.[ch]: Build on top of GTypeModule. * src/tracker-indexer/tracker-indexer.c: Modify to use new modules API. * src/tracker-indexer/tracker-module.h: Removed, no longer needed. * src/tracker-indexer/tracker-metadata-utils.[ch]: Switch API to GFile, since modules API now also deals with it. * src/modules/evolution-common.[ch]: * src/modules/evolution-imap.[ch]: * src/modules/evolution-pop.[ch]: * src/modules/evolution.c: Implement new modules API, split POP3/IMAP implementations, and make the module return different TrackerModuleFile objects depending on the parsed file. * src/modules/dummy.c: * src/modules/files.c: * src/modules/applications.c: Implement new modules API. * data/modules/files.c: Specify service type. 2008-11-20 Carlos Garnacho * src/tracker-indexer/tracker-metadata-utils.c: Leave one place for the trailing NULL in the batch and hints arrays so they can behave like GStrv. Also initialize the array and set freed elements to NULL so we don't end up with dangling pointers. 2008-11-20 Ivan Frade * src/libtracker-data/tracker-data-query.[ch] (tracker_data_query_non_embedded_metadata): New method to retrieve non-mebedded metadata of a service. * src/tracker-indexer/tracker-indexer.c: Handled correctly the non-embedded metadata coming from the extractor with default values when we update a file. 2008-11-20 Martyn Russell * src/libtracker-common/tracker-type-utils.[ch]: * src/tracker-extract/tracker-extract.[ch]: * src/tracker-extract/tracker-extract-mp3.c: * src/tracker-extract/tracker-extract-gstreamer.c: Revert changes that removed "tracker:unknown" when we didn't know the metadata value for some fields. Now we have METADATA_UNKNOWN defined in tracker-extract.h so we can be consistent everywhere with this. Moved tracker_generic_date_to_iso8601() here from tracker-extract.c since it is so common. * src/tracker-extract/tracker-extract-exif.c: Code clean up and remark that this module is not used. * src/tracker-extract/tracker-extract-imagemagick.c: * src/tracker-extract/tracker-extract-jpeg.c: * src/tracker-extract/tracker-extract-ps.c: * src/tracker-extract/tracker-extract-tiff.c: Code clean up and used the new date function in tracker-type-utils. * src/tracker-extract/tracker-extract-png.c: Fixed a warning and used the new date function in tracker-type-utils. 2008-11-19 Martyn Russell * src/libtracker-data/tracker-data-search.c: * src/tracker-extract/tracker-extract-gstreamer.c: Code clean ups. 2008-11-19 Ivan Frade * src/libtracker-data/tracker-data-query.c (result_set_to_metadata): Reimplemented using GValues. (tracker_data_query_embedded_metadata): Use a stored proc with unions instead three different procedures. * data/db/sqlite-stored-procs.sql: Removed unused procedures. 2008-11-19 Martyn Russell * src/tracker-extract/tracker-extract-gstreamer.c: * src/tracker-extract/tracker-extract-mp3.c: Don't use "tracker:unknown" when we don't know a metadata value, return "". 2008-11-19 Martyn Russell * src/trackerd/tracker-metadata.c: Fixed formatting and removed some unnecessary code. 2008-11-19 Martyn Russell * src/tracker-indexer/tracker-metadata-utils.c: (get_file_thumbnail): Fixed a missing semi colon, spotted by Laurent Aguerreche. 2008-11-18 Mikael Ottela * src/tracker-extract/tracker-xmp.c: Added ISOSpeedRatings to xmp exif namespace. Fixes NB #92708 2008-11-18 Ivan Frade * src/libtracker-data/tracker-data-metadata.[ch] (tracker_data_metadata_foreach_remove): New function. Wrapper for g_hash_table_forearch_remove. * src/tracker-indexer/tracker-indexer.c: Handling correctly the metadata when move a file. Updating only the metadata related with path. Fixes NB #91842 2008-11-18 Martyn Russell * src/tracker-indexer/tracker-metadata-utils.c: Fix the way we check if we should do thumbnailing. Don't explicitly #define HAVE_HILDON_THUMBNAIL now, use the config.h value instead. This was causing a lot of indexer log warnings about not being able to contact the thumbnailer daemon. * src/trackerd/tracker-main.c: Small code cleanups. 2008-11-18 Mikael Ottela * src/tracker-extract/tracker-extract-png.c: Fixed the extractor to check the whole file for text chunks instead of just the header. Fixes NB #90455 2008-11-18 Jürg Billeter * data/db/sqlite-stored-procs.sql: * src/libtracker-data/tracker-data-update.[ch]: * src/tracker-indexer/tracker-indexer.c: Add tracker_data_update_disable_all_volumes function to disable all volumes on startup 2008-11-18 Martyn Russell * src/libtracker-common/tracker-hal.[ch]: Added API to get all * src/tracker-extract/tracker-albumart.c: * src/trackerd/tracker-processor.c: UDIs for removable media and then to get the mount point and mounted state of those UDIs too. Also changed the API to use GList instead of GSList since we want to be consistent. * data/dbus/tracker-indexer.xml: * src/tracker-indexer/tracker-indexer.[ch]: * src/trackerd/tracker-main.c: Added VolumeDisableAll API so the daemon can tell the indexer to disable all volumes in the Volumes table. This is proceded shortly with Enable for volumes which actually exist at the time we start the daemon. 2008-11-18 Jürg Billeter * data/db/sqlite-stored-procs.sql: Add procedures to handle volumes * src/libtracker-data/tracker-data-update.[ch]: * src/tracker-indexer/tracker-indexer.c: Update Volumes table when volume is added or removed, set AuxID in Services table to VolumeID when inserting new entry 2008-11-17 Martyn Russell * src/libtracker-common/tracker-hal.c: Added the UDI to the mount-pointer-added and mount-point-removed signals. * src/trackerd/tracker-processor.c: * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-marshal-main.c: * src/libtracker-common/tracker-marshal.list: Added marshalling for VOID__STRING_STRING function signature. * data/dbus/tracker-indexer.xml: * src/tracker-indexer/tracker-indexer.[ch]: Added function to allow the daemon to tell us when a volume has changed state so we can update the Volume table in the database. * src/trackerd/tracker-main.c: Added volume monitoring here so we can notify the Indexer that it should update the Volumes table in teh database. 2008-11-17 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Also copy in case the album art got requested 2008-11-17 Martyn Russell * configure.ac: Removed Enable warnings|debug statement when configure is finished, they are no longer used. Fixed the checks for HAL and libxml2 to actually error if the user specifically asked to enable them. Also make the HAL error more obvious since it is usually likely the hal-storage package is the one missing. * src/libinotify/inotify-listhash.c: * src/libtracker-common/tracker-config.c: * src/libtracker-common/tracker-dbus.c: * src/libtracker-common/tracker-nfs-lock.c: * src/libtracker-data/tracker-data-query.c: * src/libtracker-data/tracker-data-search.c: * src/libtracker-data/tracker-xesam-query.c: * src/libtracker-db/tracker-db-interface-sqlite.c: * src/libtracker-db/tracker-db-interface.c: * src/libtracker-db/tracker-db-manager.c: * src/tracker-applet/tracker-applet.c: * src/tracker-extract/tracker-albumart.c: * src/tracker-indexer/tracker-metadata-utils.c: * src/tracker-preferences/tracker-preferences.c: * src/tracker-search-tool/tracker-search-tool-callbacks.c: * src/tracker-search-tool/tracker-search-tool.c: * src/tracker-utils/tracker-files.c: * src/tracker-utils/tracker-info.c: * src/tracker-utils/tracker-meta-folder.c: * src/tracker-utils/tracker-query.c: * src/tracker-utils/tracker-search.c: * src/tracker-utils/tracker-services.c: * src/tracker-utils/tracker-tag.c: * src/tracker-utils/tracker-unique.c: * src/trackerd/tracker-search.c: * src/trackerd/tracker-xesam-live-search.c: * utils/qdbm/print-words.c: * utils/qdbm/search-word.c: Fixed all 64bit compilation warnings. 2008-11-14 Martyn Russell * configure.ac: Fixed some broken issues. 2008-11-14 Martyn Russell * src/tracker-extract/tracker-albumart.c: (perhaps_copy_to_local): Renamed the make_directory_with_parents and added a comment detailing why we stole it from GLib. 2008-11-14 Martyn Russell * configure.ac: * docs/manpages/Makefile.am: * src/Makefile.am: * src/tracker-applet/Makefile.am: Fixed the configure script to make certain extensions automatic not required so that package maintainers can specify what they want to include beyond the required extensions we choose. 2008-11-14 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c: * src/tracker-extract/tracker-extract-mp3.c: Stripped filename is used as the default title. Fixes NB #91009. 2008-11-14 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: * src/tracker-extract/tracker-extract-gstreamer.c: Added a default value for durations. Fixes NB #89160, NB #89757, NB #91621, NB #92319 2008-11-13 Ivan Frade * src/trackerd/tracker-main.c (entries_daemon): Fixed typo in help message for disable-modules option. This fixes bug #560581. 2008-11-13 Martyn Russell * src/libtracker-data/tracker-data-search.c: * src/trackerd/tracker-keywords.c: Don't crash when we pass an empty GStrv to tracker_keywords_search(). 2008-11-13 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Fixed symbol troubles for most recent GLib 2008-11-12 Ivan Frade * src/tracker-extract/tracker-extract-playlist.c: Extractor using totem playlist parser. * src/tracker-extract/tracker-extract-m3u.c: Removed * src/tracker-extract/Makefile.am * configure.ac Added support for playlists using totem-plparser (only counting tracks). Removed the old uncomplete and useless extrator for m3u. 2008-11-11 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Some minor leak and bug fixes to the mp3 extractor. 2008-11-11 Martyn Russell * ALL: Merged libtracker-data branch into TRUNK. Conflicts involved src/trackerd/tracker-search.c with the tracker_search_sql_query() which was changed by Ivan for NB #89965, if this regression still exists, it is my fault. 2008-11-11 Martyn Russell * src/libtracker-data/tracker-data-live-search.h: * src/libtracker-data/tracker-data-metadata.[ch]: * src/libtracker-data/tracker-data-query.[ch]: * src/libtracker-data/tracker-data-schema.h: * src/libtracker-data/tracker-data-update.h: * src/tracker-indexer/modules/applications.c: * src/tracker-indexer/modules/evolution.c: Updated tracker_data_metadata_insert_multiple_values() and removed the _multiple_ since it is implied in the _values(). Fixed some coding style issues in the headers. 2008-11-10 Jürg Billeter * src/libtracker-data/tracker-data-search.c: * src/libtracker-data/tracker-data-search.h: * src/trackerd/tracker-keywords.c: Move SQL query from trackerd/tracker-keywords to libtracker-data/tracker-data-search 2008-11-10 Jürg Billeter * src/libtracker-data/tracker-data-search.c: * src/libtracker-data/tracker-data-search.h: * src/trackerd/tracker-files.c: Move SQL query from trackerd/tracker-files to libtracker-data/tracker-data-search 2008-11-10 Jürg Billeter * src/libtracker-data/Makefile.am: * src/libtracker-data/tracker-data-search.c: * src/libtracker-data/tracker-data-search.h: * src/trackerd/tracker-metadata.c: Move SQL queries from trackerd/tracker-metadata to libtracker-data/tracker-data-search 2008-11-10 Mikael Ottela * src/tracker-extract/tracker-extract-tiff.c: Fixed a bug in array handling of Tiff tags. Fixes NB #91516 and NB #91488 2008-11-10 Martyn Russell * configure.ac: * src/trackerd/tracker-monitor.c: (black_list_check_items_cb): Fixed check for inotify and also fixed build when we don't have it. 2008-11-10 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Function is only available on very recent versions of glib. 2008-11-09 Jamie McCracken * src/tracker-fts/tracker-fts.c: made rank func use meatdata ranking set up default column for storing positions efficiently spacewise * utils/tracker-fts/tracker-fts-test.c: updated example 2008-11-07 Ivan Frade * data/languages/stopwords.en: Removed "help" from the stopwords list for english. 2008-11-07 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (get_imap_uri): Make sure we decompose the URI following the same procedure than Tracker. 2008-11-07 Carlos Garnacho * src/tracker-indexer/tracker-indexer-db.c (tracker_db_set_metadata): Escape the value being inserted, so little Bobby Tables doesn't bite us in the ass. 2008-11-07 Carlos Garnacho * src/libtracker-common/tracker-utils.c (tracker_escape_string): Fix logic, so it actually escapes single quotes... 2008-11-06 Jürg Billeter * src/libtracker-data/tracker-data-query.c: * src/libtracker-data/tracker-data-query.h: * src/libtracker-data/tracker-data-search.c: * src/libtracker-data/tracker-data-search.h: * src/libtracker-data/tracker-data-update.c: * src/libtracker-data/tracker-data-update.h: Use more consistent parameter names 2008-11-06 Jürg Billeter * src/libtracker-data/tracker-data-live-search.c: * src/libtracker-data/tracker-data-query.c: * src/libtracker-data/tracker-data-schema.c: * src/libtracker-data/tracker-data-schema.h: * src/libtracker-data/tracker-data-search.c: * src/libtracker-data/tracker-rdf-query.c: * src/libtracker-data/tracker-xesam-query.c: * src/trackerd/tracker-files.c: * src/trackerd/tracker-keywords.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-search.c: Use tracker_data_schema as function namespace 2008-11-06 Jürg Billeter * src/libtracker-data/tracker-data-live-search.c: * src/libtracker-data/tracker-data-live-search.h: * src/trackerd/tracker-xesam-live-search.c: Rename tracker_data_live_search_get_all_ids to tracker_data_live_search_get_ids 2008-11-06 Jürg Billeter * src/libtracker-data/tracker-data-live-search.c: * src/libtracker-data/tracker-data-live-search.h: * src/trackerd/tracker-xesam-live-search.c: Use tracker_data_live_search as function namespace 2008-11-06 Jürg Billeter * src/libtracker-data/tracker-data-update.c: * src/libtracker-data/tracker-data-update.h: * src/trackerd/tracker-xesam-manager.c: Rename tracker_db_xesam_delete_handled_events to tracker_data_update_delete_handled_events 2008-11-06 Jürg Billeter * src/libtracker-data/tracker-data-manager.c: * src/libtracker-data/tracker-data-manager.h: * src/libtracker-data/tracker-data-update.c: * src/libtracker-data/tracker-data-update.h: * src/trackerd/tracker-files.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-xesam-manager.c: Move tracker_db_xesam_delete_handled_events to tracker-data-update 2008-11-06 Jürg Billeter * src/libtracker-data/Makefile.am: * src/libtracker-data/tracker-data-live-search.c: * src/libtracker-data/tracker-data-manager.c: * src/libtracker-data/tracker-data-manager.h: * src/libtracker-data/tracker-data-query.c: * src/libtracker-data/tracker-data-schema.c: * src/libtracker-data/tracker-data-schema.h: * src/libtracker-data/tracker-data-search.c: * src/libtracker-data/tracker-rdf-query.c: * src/libtracker-data/tracker-xesam-query.c: * src/trackerd/tracker-keywords.c: * src/trackerd/tracker-search.c: Move Schema API to tracker-data-schema.[ch] 2008-11-06 Jürg Billeter * src/libtracker-data/tracker-data-live-search.c: * src/libtracker-data/tracker-data-manager.c: * src/libtracker-data/tracker-data-manager.h: * src/libtracker-data/tracker-rdf-query.c: * src/libtracker-data/tracker-xesam-query.c: * src/trackerd/tracker-files.c: * src/trackerd/tracker-keywords.c: Revert unintentional renaming of tracker_db_metadata_get_field_* 2008-11-06 Jürg Billeter * src/libtracker-data/Makefile.am: * src/libtracker-data/tracker-data-live-search.c: * src/libtracker-data/tracker-data-live-search.h: * src/libtracker-data/tracker-data-manager.c: * src/libtracker-data/tracker-data-manager.h: * src/trackerd/tracker-xesam-live-search.c: Move Live Search API to tracker-data-live-search.[ch] 2008-11-06 Jürg Billeter * src/libtracker-data/tracker-data-manager.c: * src/libtracker-data/tracker-data-manager.h: * src/libtracker-data/tracker-data-query.c: * src/libtracker-data/tracker-data-query.h: * src/libtracker-data/tracker-data-update.c: * src/libtracker-data/tracker-data-update.h: * src/libtracker-data/tracker-rdf-query.c: * src/libtracker-data/tracker-xesam-query.c: * src/tracker-indexer/tracker-indexer.c: * src/trackerd/tracker-files.c: * src/trackerd/tracker-keywords.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-search.c: Use tracker_data_query as function namespace 2008-11-06 Philip Van Hoof Patch from Jerry Tan * src/libtracker-common/tracker-os-dependant-unix.c: stdin/stdout is keyword for compile, replace it 2008-11-05 Jürg Billeter * src/libtracker-data/Makefile.am: * src/libtracker-data/tracker-data-manager.c: * src/libtracker-data/tracker-data-manager.h: * src/libtracker-data/tracker-data-query.c: * src/libtracker-data/tracker-data-query.h: * src/libtracker-data/tracker-data-update.c: * src/libtracker-data/tracker-data-update.h: Move Query API to tracker-data-query.[ch] 2008-11-05 Jürg Billeter * src/libtracker-data/tracker-data-search.c: * src/libtracker-data/tracker-data-search.h: * src/trackerd/tracker-files.c: * src/trackerd/tracker-keywords.c: * src/trackerd/tracker-search.c: Use tracker_data_search as function namespace 2008-11-05 Jürg Billeter * src/libtracker-data/Makefile.am: * src/libtracker-data/tracker-data-manager.c: * src/libtracker-data/tracker-data-manager.h: * src/libtracker-data/tracker-data-search.c: * src/libtracker-data/tracker-data-search.h: * src/trackerd/tracker-files.c: Move Search API to tracker-data-search.[ch] 2008-11-05 Jürg Billeter * src/libtracker-data/tracker-data-manager.c: * src/libtracker-data/tracker-data-manager.h: * src/libtracker-data/tracker-data-metadata.c: * src/libtracker-data/tracker-data-metadata.h: * src/libtracker-data/tracker-data-update.c: * src/libtracker-data/tracker-data-update.h: * src/tracker-indexer/modules/applications.c: * src/tracker-indexer/modules/evolution.c: * src/tracker-indexer/modules/files.c: * src/tracker-indexer/tracker-indexer-module.c: * src/tracker-indexer/tracker-indexer-module.h: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-metadata-utils.c: * src/tracker-indexer/tracker-metadata-utils.h: * src/tracker-indexer/tracker-module.h: * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-files.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-search.c: Use tracker_data_manager, tracker_data_metadata, and tracker_data_update as function namespaces 2008-11-05 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Bugfix incase of the empty string being stripped 2008-11-05 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Saw the hope for change become realized and then fixed creating the .mediaartlocal directory for local media art on removable devices 2008-11-05 Carlos Garnacho * src/tracker-indexer/tracker-indexer-db.c (tracker_db_create_service): Do not set Enabled=0 in any case, it failed for non local files, and modules can return NULL metadata for any file/directory it doesn't want to be indexed. 2008-11-05 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (get_imap_uri): Make sure we remove leading '/' in email URIs basename. 2008-11-04 Jürg Billeter * src/libtracker-data/tracker-data-manager.h: Remove declarations for tracker_db_get_file_contents_words and tracker_db_get_indexable_content_words as the functions are never defined 2008-11-04 Jürg Billeter * configure.ac: * src/Makefile.am: * src/libtracker-data/Makefile.am: * src/libtracker-data/tracker-data-manager.c: * src/libtracker-data/tracker-data-manager.h: * src/libtracker-data/tracker-data-metadata.c: * src/libtracker-data/tracker-data-metadata.h: * src/libtracker-data/tracker-data-update.c: * src/libtracker-data/tracker-data-update.h: * src/libtracker-data/tracker-query-tree.c: * src/libtracker-data/tracker-rdf-query.c: * src/libtracker-data/tracker-xesam-query.c: * src/tracker-indexer/Makefile.am: * src/tracker-indexer/modules/applications.c: * src/tracker-indexer/modules/dummy.c: * src/tracker-indexer/modules/evolution.c: * src/tracker-indexer/tracker-indexer-db.c: * src/tracker-indexer/tracker-indexer-db.h: * src/tracker-indexer/tracker-indexer-module.h: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-main.c: * src/tracker-indexer/tracker-metadata-utils.h: * src/tracker-indexer/tracker-metadata.c: * src/tracker-indexer/tracker-metadata.h: * src/tracker-indexer/tracker-module.h: * src/trackerd/Makefile.am: * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-db.h: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-files.c: * src/trackerd/tracker-keywords.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-query-tree.c: * src/trackerd/tracker-query-tree.h: * src/trackerd/tracker-rdf-query.c: * src/trackerd/tracker-rdf-query.h: * src/trackerd/tracker-search.c: * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-xesam-query.c: * src/trackerd/tracker-xesam-query.h: * src/trackerd/tracker-xesam.c: * src/trackerd/tracker-xesam.h: * tests/tracker-indexer/Makefile.am: Add libtracker-data library, move tracker-db, tracker-query-tree, tracker-rdf-query, and tracker-xesam-query from src/trackerd to src/libtracker-data, and move tracker-indexer-db and tracker-metadata from src/tracker-indexer to src/libtracker-data. 2008-11-04 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Fixed comment tags in id3v23 and id3v24. Fixes NB #91655. 2008-11-04 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (get_mbox_message_id): Return -1 if the header X-Evolution does not exist in the message. (get_mbox_uri) (get_mbox_attachment_uri): Return NULL URIs if it couldn't get the message ID. 2008-11-04 Carlos Garnacho * src/libtracker-common/tracker-hal.c (tracker_hal_finalize): Plug a small leak. 2008-11-04 Carlos Garnacho * src/libtracker-common/tracker-hal.[ch]: Add capability for reading batteries percentage. * src/tracker-indexer/tracker-indexer.c: Stop indexing if battery level is too low (< 0.05 at the moment, but should be user configurable). 2008-11-04 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c: Added support for non-standard metadata tags that some fluendo plugins are using. Fixes NB #90138 2008-11-04 Ivan Frade * src/trackerd/tracker-search.c (tracker_search_metadata) Implemented this method creating internally and RDF query. Extracted the common code with tracker_search_query to a new function (perform_rdf_query). * src/tracker/tracker-rdf-query.[ch] (tracker_rdf_query_for_attr_value): New helper function to generate the RDF for a pair attribute-value. This fixes NB #89965. 2008-11-03 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c: Added a default value for Video:PlayCount. 2008-11-03 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: * src/tracker-extract/tracker-extract-gstreamer.c: Added a default value for Audio:PlayCount for simplifying queries. Fixes NB #89254 2008-11-03 Carlos Garnacho * src/tracker-indexer/tracker-metadata-utils.c (process_context_invalidate): Splitted invalidation from destruction. So it's just the child watch handler the one responsible of destroying it. This fixes a potential crash when the child watch is ron on an already destroyed context. (metadata_setup) (metadata_query_file): Just invalidate the metadata context if it couldn't be created, the child watch will send it later to the bin. 2008-11-03 Ivan Frade * src/trackerd/tracker-search.c (tracker_search_query): Fixed how the error message is setted in GError. 2008-11-03 Carlos Garnacho * data/dbus/tracker-indexer.xml: Add "reason" parameter to ::Paused. * src/tracker-indexer/tracker-indexer.c: Add "Low batt" state. Add extra parameter to ::paused and emit it for any state that could be relevant for the daemon. Same for ::continued. * src/trackerd/tracker-daemon.c (indexer_paused_cb): Change status depending on the reason for the indexer to be paused (indexer_continued_cb): And make it continue here. * src/trackerd/tracker-status.[ch]: Add "Disk full" and "Low batt" to TrackerStatus enum. * src/trackerd/tracker-dbus.c: Miscellaneous changes. 2008-11-03 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Fixed a bug that caused unicode encoded id3v23 tags to be corrupt. 2008-10-31 Ivan Frade * src/tracker-applet/tracker-applet.c Added translation domain loading the glade file. Fixes bug #558613 (Gabor Kelemen). 2008-10-30 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Stripping album and artist strings. Code cleanups, added some comments. Support for local album art on removable devices (added it to the heuristic scanner) 2008-10-30 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Support for storing local album art on removable devices 2008-10-29 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c: * src/tracker-extract/tracker-extract-mp3.c: We take embedded album art with no type defition if front cover is not found. 2008-10-29 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Additional genre tags are now returned as text rather than numbers. We no longer mix up artist and the original artist. Fixes NB #91165. 2008-10-29 Ivan Frade * src/tracker/tracker-metadata.c (tracker_metadata_get): Fixed error message. It was printing the wrong variable, causing confusion to the users. Fixes NB#91053. 2008-10-29 Ivan Frade * src/trackerd/tracker-keywords.c (tracker_keywords_add): Check that none of the keywords is an empty string. Fixes bug #402063. 2008-10-29 Ivan Frade * data/services/default.service Removed audio/vnd.rn-realaudio from the [Playlist] mimetypes. This mimetype indicates audio and not playlist. Fixes NB #90876. 2008-10-29 Ivan Frade * src/tracker-indexer/tracker-indexer.c (handle_metadata_add): Check the previous values to dont insert duplicated values. Fixes NB #88048 and fixes bug #402054. 2008-10-27 Mikael Ottela * data/services/image.metadata: * src/tracker-extract/tracker-xmp.c: Added Image:City, Image:Country and Image:Location fields and support for them in the extractors. Fixes NB #90455. 2008-10-27 Martyn Russell Fixes NB #88140. * src/trackerd/tracker-crawler.[ch]: Added a function to be able to request a new directory to be looked at at any stage of the crawler's life. This is so that newly created directories or directories moved into monitored locations are crawled. Before just the directory would be indexed. Now its content is traversed in teh same fashion as all other content. * src/trackerd/tracker-files.c: Small improvement. * src/trackerd/tracker-marshal.list: Changed the move signal so we actually state if the source was monitored or not. This allows the processor to decide if we should try to crawl the target because it is new or if it is a simple move operation in the DB. * src/trackerd/tracker-monitor.c: get_module_name_from_gfile() was incorrectly determining GFile pointers as directories or files. So now we do a stat() when we need to know. * src/trackerd/tracker-processor.c: Add some indication in debugging if the events we receive are for a file or directory. Also call the new function in TrackerCrawler to request traversal of a newly found directory upon monitor events. 2008-10-27 Mikael Ottela * data/services/default.service: * data/services/image.metadata: * src/tracker-extract/tracker-xmp.c: Added Image:Rating field and XMP:XAP:Rating support. Fixes NB #90374. 2008-10-24 Philip Van Hoof * src/trackerd/tracker-search.c: Bugfix in SqlQuery 2008-10-23 Mikael Ottela * src/tracker-extract/tracker-extract-jpeg.c: * src/tracker-extract/tracker-xmp.c: Adds support to more XMP and EXIF image metadata fields. Fixes NB #90506. 2008-10-23 Philip Van Hoof * src/tracker-indexer/tracker-metadata-utils.c: * src/tracker-indexer/tracker-dbus.c: * src/tracker-indexer/tracker-dbus.h: Fixes for requesting thumbnails 2008-10-23 Carlos Garnacho * src/tracker-indexer/tracker-main.c (initialize_signal_handler): Actually ignore SIGPIPE, since we already handle it where necessary. 2008-10-23 Ivan Frade * data/services/video.metadata: Added new properties for video: LastPlayedFrame, PausePosition, PlayCount and Source. 2008-10-22 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c: Changes to cope with problems gstreamer has with hardware acceleration. 2008-10-22 Ivan Frade * src/libtracker-db/tracker-db-dbus.c (tracker_dbus_query_result_columns_to_strv): Added support for multiple rows in the result set. It was returning only the first value. This should fix the Metadata.Get method asking for properties with multiple values. * tests/libtracker-db/tracker-db-dbus-test.c Added test for the new cases. 2008-10-22 Martyn Russell * src/libtracker-common/tracker-common.h: Included tracker-hal and tracker-field-data to fix the documentation errors in make distcheck. 2008-10-22 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Cleaned up some more code 2008-10-21 Jamie McCracken * src/tracker-fts/tracker-fts.c: fixed rank function and made it efficient 2008-10-21 Martyn Russell * src/tracker-extract/tracker-albumart.c: Cleaned up the code here. Removed unnecessary memory allocation and code obfuscation. 2008-10-21 Philip Van Hoof * src/tracker-indexer/tracker-metadata-utils.c: Adapted to new D-Bus API for thumbnailing * src/tracker-extract/tracker-albumart.c: Some minor optimizations * src/tracker-extract/tracker-extract.c: Added g_type_init, as GIO is being used for some operations 2008-10-21 Carlos Garnacho * src/tracker-indexer/tracker-metadata-utils.c: * src/tracker-indexer/tracker-metadata.c: Add some methods docs. 2008-10-20 Carlos Garnacho * src/tracker-indexer/tracker-metadata-utils.c (get_file_content_read_cb): Issue error and quit the channel watch on error, this should fix misterious crashes with i.e. invalid UTF8 coming from the text filters. 2008-10-20 Philip Van Hoof * src/tracker-extract/tracker-albumart.c * src/tracker-extract/tracker-extract-mp3.c * src/tracker-extract/tracker-albumart.h * src/tracker-extract/tracker-extract-gstreamer.c: Album art heuristics 2008-10-20 Carlos Garnacho * src/tracker-indexer/modules/evolution.c: Resort to a copy of the old code to decode time_t, should definitely fix summaries parsing in 64bit platforms... 2008-10-20 Carlos Garnacho * src/tracker-indexer/tracker-indexer.[ch] (tracker_indexer_process_modules): New public function to specify which modules should the indexer actually use. * src/tracker-indexer/tracker-main.c: Add --modules parameter to specify a closed list of modules, as opposed to --process-all. 2008-10-20 Philip Van Hoof * src/tracker-fts/tracker-fts.c: * utils/tracker-fts/tracker-fts-test.c: Simple rank() impl. without weighting (just counting). It seems the last matching row ain't being counted but I haven't found howcome yet (sqlite is just not calling the functions for this one). 2008-10-19 Jamie McCracken * src/tracker-fts/tracker-fts.c: fixed offsets for multiple word and,or and phrase searches 2008-10-19 Jamie McCracken * utils/tracker-fts/tracker-fts-test.c: * src/tracker-fts/tracker-fts.c: adjusted offsets function to output cached values from position data in index. Output format is now comma separated list of ColumnID, WordPostion... 2008-10-18 Ivan Frade * src/trackerd/tracker-metadata.c: (tracker_metadata_set): Check all metadata before send them to the indexer. This does the operation a little bit more atomic: less chances to find an error during the insertions and end up with only half of the metadata set. 2008-10-17 Ivan Frade * src/tracker-extract/Makefile.am: Added ifdefs to select the extractor modules. The checks were already in place in configure.ac. 2008-10-17 Martyn Russell * configure.ac: * tests/Makefile.am: * tests/tracker-fts/Makefile.am: * tests/tracker-fts/tracker-fts-test.c: * utils/Makefile.am: * utils/tracker-fts/Makefile.am: Moved the tracker-fts-test application to utils/tracker-fts/ since it is not a GLib test. 2008-10-17 Philip Van Hoof * src/tracker-extract/tracker-albumart.c * src/tracker-extract/tracker-extract-mp3.c * src/tracker-extract/Makefile.am * src/tracker-extract/tracker-extract-gstreamer.c: Handling of albumart in case we don't have GDKPIXBUF (don't handle embedded albumart, for this we would need a pixbuf lib to save the RAW data as a JPEG). 2008-10-15 Philip Van Hoof * src/tracker-extract/tracker-extract-mp3.c * src/tracker-extract/tracker-albumart.c * src/tracker-extract/tracker-albumart.h * src/tracker-extract/Makefile.am * src/tracker-extract/tracker-extract-gstreamer.c: Handling of albumart 2008-10-15 Philip Van Hoof * src/tracker-extract/tracker-albumart.c: Adapted to new spec available at http://live.gnome.org/MediaArtStorageSpec * configure.ac: Downgraded GdkPixbuf requirement from 2.16 to 2.12 2008-10-15 Carlos Garnacho * src/tracker-indexer/tracker-metadata-utils.c (process_context_child_watch_cb): Inconditionally destroy here the context, even if it's not the metadata one. Avoids leaks when for some reason the metadata extractor dies immediately. (get_file_thumbnail) (get_file_content_by_filter): Don't destroy the context here. (get_file_thumbnail): Do not send non-utf8 over DBus. (get_file_thumbnail_queue_cb): Plug a leak. (metadata_query_file): Ensure the context is destroyed if any attempt to write fails. (metadata_query_file): Removed unnecessary g_free() 2008-10-14 Jamie McCracken * tests/tracker-fts/tracker-fts-test.c: * src/libtracker-common/tracker-ontology.c * src/libtracker-common/tracker-ontology.h * src/tracker-fts/tracker-fts.c * src/tracker-fts/Makefile.am Updated FTS code with metadata and onto support functions Added category to be stored in index (similar to qdbm) Modified handling of postion data so that all searches uses it Improve speed of generating snippets+offsets using position data 2008-10-14 Martyn Russell * src/trackerd/tracker-monitor.c: Try to improve on the NB#88769 fix I added previously. Now we don't use 2 GHashTables for the black list we use the EventData structure we use for all other event data too. We now emit the correct event on the black list timeout too (which is the last event we got). 2008-10-14 Martyn Russell * data/db/sqlite-stored-procs.sql: Removed the DISTINCT keyword from statements which use a WHERE clause comparing a unique ID. This was adding unnecessary slowness to querying. 2008-10-14 Martyn Russell * src/libinotify/Makefile.am: * src/libinotify/inotify-handle.c: * src/libinotify/inotify-monitor.c: Include , not and removed libinotify/linux-inotify-syscalls.h, this fixes bug #556196 (John Millikin). 2008-10-14 Martyn Russell * data/modules/files.module: Fixed the ignored file patterns. Changed *~* to *~. Patch committed from Tshepang Lekhonkhobe. 2008-10-14 Martyn Russell * TODO: Updated TODO. Patch committed from Tshepang Lekhonkhobe. 2008-10-14 Martyn Russell * README: Updated README. Patch committed from Tshepang Lekhonkhobe. 2008-10-14 Carlos Garnacho * src/libtracker-common/tracker-file-utils.c (path_has_write_access_or_was_created): * src/libtracker-common/tracker-ontology.c (tracker_ontology_get_field_names_registered): * src/tracker-extract/tracker-extract-mp3.c (get_id3v24_tags): Fix compiler warnings. 2008-10-14 Martyn Russell * NEWS: Updated news. Patch committed from Tshepang Lekhonkhobe. 2008-10-13 Martyn Russell * data/db/sqlite-stored-procs.sql: Completely reworked this file and removed about 50% of it. This 50% was unused stored procedures. * src/libtracker-common/tracker-file-utils.c: (tracker_file_get_mime_type): If stat() fails, just make that a normal message for now, not a warning, we should expect it. * src/libtracker-db/tracker-db-interface-sqlite.c: Added a few debug commands to see what is happening. * src/libtracker-db/tracker-db-manager.c: (load_prepared_queries): Improved this function to actually allow for bracketed comments in the .sql files. * src/tracker-indexer/tracker-indexer-db.[ch]: * src/tracker-indexer/tracker-indexer.ch: Added a function to recursively delete a path, this is needed for when a memory card is removed. * src/trackerd/tracker-db.c: Removed the stat() on every file that is returned if we are running a detailed search. This is unnecessary and causes a difference in the results returned if the database is inaccurate (which it shouldn't be). * src/trackerd/tracker-processor.c: (mount_point_removed_cb): When we unmount, add the directory to the deleted queue to be processed by the indexer for now. This needs to be fixed properly at some point (i.e. just disabling the items in the database, awaiting SQLite FTS for that). This fixes NB #87525. 2008-10-13 Carlos Garnacho * src/trackerd/tracker-search.c (search_highlight_terms): Do not leak like if there was no tomorrow, save one unnecessary allocation. (search_get_snippet): Rework code, do not read out of bounds. (tracker_search_get_snippet): Actually highlight the search terms. (search_utf8_strcasestr_array): Pass a const gchar** for search terms. * src/trackerd/tracker-crawler.c (tracker_crawler_finalize): Plug a leak. 2008-10-13 Ivan Frade * python/SearchTool/COPYING * python/nautilus/tracker-tags-tab.py * src/qdbm/depot.[ch] * src/qdbm/myconf.[ch] * src/tracker-extract/tracker-extract-gstreamer.c * src/tracker-search-tool/sexy-icon-entry.[ch] * src/tracker-applet/tracker-applet.c * COPYING Updated Free Software Foundation address. This fixes bug #518265. 2008-10-13 Ivan Frade * docs/manpages/trackerd.1 Fixed typo, this fixes bug #548561. 2008-10-13 Martyn Russell * tracker.spec: Moved this file to data/. 2008-10-13 Martyn Russell * configure.ac: Change the way GdkPixbuf is detected by using "auto". This means it won't stop the build if it doesn't exist unless the user explicitly asks for it with --enable-gdkpixbuf. * data/english/Makefile.am: * data/english/errmsg.txt: Removed data/english, it was completely unused. 2008-10-13 Martyn Russell * configure.ac: * data/Makefile.am: * data/db/Makefile.am: * data/sqlite-cache.sql: * data/sqlite-contents.sql: * data/sqlite-email.sql: * data/sqlite-metadata.sql: * data/sqlite-service-triggers.sql: * data/sqlite-service-types.sql: * data/sqlite-service.sql: * data/sqlite-stored-procs.sql: * data/sqlite-tracker-triggers.sql: * data/sqlite-tracker.sql: * data/sqlite-user-data.sql: * data/sqlite-xesam.sql: Moved all database files to data/db. 2008-10-12 Jamie McCracken * src/tracker-search-tool/tracker-search-tool.h: * src/tracker-search-tool/tracker-search-tool-support.c: * src/tracker-search-tool/tracker-search-tool-callbacks.c: * src/tracker-search-tool/Makefile.am: * src/tracker-search-tool/tracker-search-tool-support.h: * src/tracker-search-tool/tracker-search-tool.c: * src/tracker-search-tool/tracker-search-tool-callbacks.h: Patch from John Millikin Modified search tool to use GIO instead of Gnome VFS 2008-10-10 Martyn Russell * src/libtracker-common/tracker-file-utils.c: (tracker_path_hash_table_filter_duplicates), (tracker_path_list_filter_duplicates): In both these functions strip any trailing G_DIR_SEPARATOR from paths since that is the format we use. Ivan't test case showed that I didn't do this in my reimplementation and also from that I realised the hash table variant wasn't removing the trailing G_DIR_SEPARATOR either. 2008-10-10 Mikael Ottela * src/tracker-utils/tracker-query.c: * src/tracker-utils/tracker-search.c: * src/tracker-utils/tracker-unique.c: * src/tracker-utils/tracker-info.c: * src/tracker-utils/tracker-tag.c: * src/tracker-utils/tracker-stats.c: * src/tracker-utils/tracker-meta-folder.c: * src/tracker-utils/tracker-files.c: * src/tracker-utils/tracker-status.c: * src/tracker-utils/tracker-services.c: Added locale definitions to all the tracker utils to fix problems with command line arguments containing non-ascii (C) characters. 2008-10-10 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (read_summary): Turns out Evolution always store times with 32bits width regardless of the platform. Switching back so the parser doesn't go astray where time_t is 64bits wide. 2008-10-09 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Fixed conversions between different character encodings in the tags. 2008-10-09 Martyn Russell * src/trackerd/tracker-monitor.c: (libinotify_monitor_directory): Removed the if is_directory check on EVERY file monitor we add since we know we only monitor directories. 2008-10-09 Martyn Russell * src/tracker-extract/Makefile.am: Put all definitions and includes before CFLAGS (like everywhere else). Fix linking order. * src/tracker-extract/tracker-extract.c: Don't call g_strstrip() on NULL values, check the mime type first since it can be NULL. Fixes a warning that was being produced. Also added GOption support so users can do --help to see how to use the extractor from the terminal. 2008-10-09 Martyn Russell * src/tracker-extract/Makefile.am: Don't link with GdkPixbuf unless we have it. * src/tracker-extract/tracker-extract-gstreamer.c: Don't call GdkPixbuf module functions unless we have GdkPixbuf. 2008-10-09 Carlos Garnacho * src/trackerd/tracker-db.c (tracker_db_search_text) (tracker_db_get_metadata_field): * src/trackerd/tracker-metadata.c (tracker_metadata_get): * src/trackerd/tracker-query-tree.c (tracker_query_tree_finalize) (tracker_query_tree_get_hits) (tracker_query_tree_get_hit_counts): Plug leaks everywhere. 2008-10-09 Carlos Garnacho * src/trackerd/tracker-monitor.c (get_module_name_from_gfile): Plug a leak. 2008-10-09 Carlos Garnacho * src/trackerd/tracker-search.c (tracker_search_get_hit_count) (tracker_search_get_hit_count_all): Do not free memory owned by TrackerOntology. 2008-10-09 Philip Van Hoof * src/trackerd/tracker-search.c: Timeout based SQLite connection for the direct-sql SqlQuery feature. The connection stays open for 10 minutes before being recyled 2008-10-09 Philip Van Hoof * src/libtracker-db/tracker-db-interface-sqlite.c * src/libtracker-db/tracker-db-interface-sqlite.h * src/libtracker-db/tracker-db-manager.c * src/libtracker-db/tracker-db-manager.h * src/trackerd/tracker-main.c * src/tracker-indexer/tracker-main.c: utilizing SQLite's shared cache feature in the daemon. 2008-10-09 Mikael Ottela * src/tracker-extract/Makefile.am: Fixed a gdk_pixbuf related typo in the makefile. 2008-10-09 Martyn Russell * src/trackerd/tracker-monitor.c: Added an event cache so we don't send 2 events for a cp command to the indexer - this is an efficiency improvement. Now we just send CREATED to the indexer instead of CREATED & UPDATED. This fixes NB #88769. 2008-10-09 Philip Van Hoof * configure.ac * src/libtracker-db/tracker-db-interface-sqlite.c * src/libtracker-db/tracker-db-interface-sqlite.h * src/libtracker-db/tracker-db-manager.c * src/libtracker-db/tracker-db-manager.h * src/trackerd/tracker-search.c * src/trackerd/tracker-search.h * data/dbus/tracker-search.xml: Added a method to access the database using normal SQL queries. Please do not use this API in applications unless you understand the consequences of the DB schema changing at unannounced moments. 2008-10-08 Ivan Frade * docs/reference/tracker-indexer/adding-categories-and-properties.sgml Added ShowServiceFiles to the documentation. Set this variable is essential to see the category files in search results. 2008-10-08 Ivan Frade * src/libtracker-common/tracker-ontology.[ch] (tracker_ontology_get_subcategory_ids) New method to obtain all the subcategory ids of a service type. The returned array contains the id of the searched service type as well. * src/trackerd/tracker-db.c (tracker_db_create_array_of_services): Use the new tracker-ontology method instead of hardcoded arrays. (tracker_db_search_text): Use tracker_db_create_array_of_services * tests/libtracker-common/tracker-ontology-test.c: Test for the new functionality 2008-10-08 Carlos Garnacho * docs/reference/tracker-indexer/writing-an-indexer-plugin.sgml: Rediscovering the wonders of git-add. 2008-10-08 Martyn Russell * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-config.[ch]: Added more functions to be able to more easily manipulate the lists we store in the configuration. Also make it possible to save the config. * src/libtracker-common/tracker-configuration.[ch]: Removed in favour of tracker-config. * src/libtracker-common/tracker-file-utils.c: Completely reworked tracker_path_list_filter_duplicates() so it works similarly to the hash table function. Also removed some of the debugging here and casting which was unnecessary. * src/libtracker-common/tracker-language.[ch]: Added functions needed by tracker-preferences to get all languages and codes for stemmers. * src/tracker-preferences/Makefile.am: Reworked the Makefile to be inline with others we have. Fixed the linking order. * src/tracker-preferences/tracker-preferences-main.c: * src/tracker-preferences/tracker-preferences.c: Completely reworked the source here to use TrackerConfig instead of TrackerConfiguration. 2008-10-08 Ivan Frade * data/services/default.service: Added ShowServiceFiles property to get playlists as results of text search. * src/tracker-search-tool/tracker-search-tool.c: Added Playlists to the categories list, so it shows the number of results on the left panel. 2008-10-08 Carlos Garnacho * src/libtracker-common/tracker-file-utils.c (tracker_file_get_mime_type): do not unref a possibly NULL GFileInfo. 2008-10-08 Mikael Ottela * data/services/image.metadata: Changed some field types for images to ones that make more sense. 2008-10-08 Carlos Garnacho * docs/reference/tracker-indexer/writing-an-indexer-plugin.sgml: * docs/reference/tracker-indexer/tracker-indexer-docs.sgml: * docs/reference/tracker-indexer/Makefile.am: Add an initial draft on how to develop indexer modules. 2008-10-08 Carlos Garnacho * src/tracker-extract/tracker-extract.c (print_file_metadata) (process_input_cb) (main): Make tracker-extract process inmediately and exit if path/mimetype are passed through argv. It will be useful for testing purposes. 2008-10-08 Carlos Garnacho * docs/reference/libtracker-common/libtracker-common.types: Forgot to add this, now the GObject scanner is compiled correctly. * docs/reference/libtracker-common/Makefile.am: Add -DTRACKER_COMPILATION to build things. 2008-10-07 Carlos Garnacho * src/libtracker-common/tracker-common.h: Make sure we include glib.h. Noticed by Roberto Majadas 2008-10-07 Carlos Garnacho * src/trackerd/tracker-db.c (tracker_db_create_array_of_services): Don't be naughty and overwrite memory we don't own. 2008-10-07 Martyn Russell * src/tracker-applet/Makefile.am: Added -DTRACKER_COMPILATION to fix the build. 2008-10-07 Ivan Frade Added initial support for playlists. The playlist files are now in a "Playlists" category, but only (and partially) m3u files provide some metadata. * src/trackerd/tracker-db.c (tracker_db_create_array_of_services): Added Playlist as subcategory if Files * src/tracker-extract/tracker-extract-m3u.c * src/tracker-extract/Makefile.am: New extractor for m3u files. * data/services/playlist.metadata * data/services/default.service * data/services/Makefile.am: New category and properties for Playlists. 2008-10-07 Carlos Garnacho * configure.ac: * data/Makefile.am: * data/tracker-indexer-module-1.0.pc.in: New file. All-in-one pkg-config file for developing tracker-indexer standalone modules. 2008-10-07 Carlos Garnacho * src/tracker-indexer/Makefile.am: Split the relevant parts of tracker-indexer into libtracker-indexer.so, make tracker-indexer use it. * src/tracker-indexer/tracker-metadata.h: * src/tracker-indexer/tracker-module.h: Fix includes so it doesn't give problems when compiling modules out of tree. 2008-10-07 Carlos Garnacho * src/libtracker-common/tracker-parser.[ch]: Do not expose the TrackerParser struct in the header, it was pulling pango.h unnecessarily. 2008-10-07 Carlos Garnacho * src/libtracker-common/Makefile.am: Install relevant headers so they're available for public use. 2008-10-07 Carlos Garnacho * src/libtracker-common/tracker-common.h: New file. Do not allow compiling unless TRACKER_ENABLE_INTERNALS or TRACKER_COMPILATION is defined. * src/libtracker-common/*.h: Do not allow including anything but libtracker-common/tracker-common.h outside of tracker. * */Makefile.am: define TRACKER_COMPILATION. 2008-10-06 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (extract_message_text): How about not breaking build? 2008-10-06 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (extract_message_text): Also check the mime part doesn't contain raw/binary data before processing it as text. 2008-10-06 Martyn Russell * docs/reference/tracker-indexer/Makefile.am: Fixed a build issue. 2008-10-06 Martyn Russell * docs/reference/tracker-indexer/Makefile.am: * docs/reference/tracker-indexer/adding-categories-and-properties.sgml: * docs/reference/tracker-indexer/tracker-indexer-docs.sgml: * docs/reference/tracker-indexer/writing-an-extractor.sgml: Added Ivan's live.gnome.org documentation so it is available in the reference documentation. 2008-10-06 Martyn Russell * docs/design/Makefile.am: Added tracker-indexer.dia to illustrate the design of the indexer. 2008-10-06 Ivan Frade * src/tracker-extract/dummy.c: Dummy extractor to use as example in the documentation. 2008-10-04 Ivan Frade * src/tracker-utils/Makefile.am * src/tracker-utils/tracker-services.c * docs/manpages/tracker-services.1: Added new tracker-services tool to ask the daemon available services types and properties. Updated the man page. 2008-10-03 Ivan Frade * docs/manpages/tracker-extract.1 * docs/manpages/tracker-files.1 * docs/manpages/tracker-meta-folder.1 * docs/manpages/tracker-query.1 * docs/manpages/tracker-search-tool.1 * docs/manpages/tracker-search.1 * docs/manpages/tracker-services.1 * docs/manpages/tracker-stats.1 * docs/manpages/tracker-tag.1 * docs/manpages/tracker-thumbnailer.1 * docs/manpages/tracker.cfg.5 * docs/manpages/trackerd.1: Updated map pages * docs/manpages/Makefile.am * docs/manpages/tracker-info.1 * docs/manpages/tracker-unique.1: New man pages for the new utils * docs/manpages/tracker-services.7: Moved to tracker-services.1 * src/libtracker-common/tracker-config.c: Updated path for indexer modules in the option message. 2008-10-03 Mikael Ottela * src/tracker-extract/Makefile.am: Fixed building with GdkPixbuf. 2008-10-03 Carlos Garnacho * src/libtracker-common/tracker-hal.c: * src/libtracker-common/tracker-field.c: Add some docs. * docs/reference/libtracker-common/libtracker-common-sections.txt: Make gtk-doc interpret GObjects as such. Finish correctly the "SECTION" tag so gtk-doc also dumps output for TrackerField and TrackerFieldData. * docs/reference/libtracker-common/libtracker-common-docs.sgml: Add the sections for TrackerField and TrackerFieldData. * docs/reference/libtracker-common/Makefile.am: Fixes to compile the docs scanner. 2008-10-03 Martyn Russell * configure.ac: * src/tracker-extract/Makefile.am: * src/tracker-extract/tracker-albumart.[ch]: * src/tracker-extract/tracker-extract-mp3.c: Don't require GdkPixbuf for MP3 album art extraction. Instead make it optionally disabled for the Maemo platform while we wait for the latest GdkPixbuf to be available. 2008-10-03 Martyn Russell * docs/reference/libtracker-common/libtracker-common-sections.txt: Change the order of the functions so all the new/free/init/shutdown functions are at the top. * src/libtracker-common/tracker-hal.h: Don't define the TrackerHal object differently depending on if we HAVE_HAL. This was causing an error in the documentation building. 2008-10-03 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (extract_message_text): Just try to convert if part contents don't validate as utf8. 2008-10-03 Martyn Russell * configure.ac: * docs/reference/Makefile.am: * docs/reference/libtracker-common/Makefile.am: * docs/reference/libtracker-common/libtracker-common-docs.sgml: * docs/reference/tracker-indexer/Makefile.am: * docs/reference/tracker-indexer/tracker-indexer-docs.sgml: * docs/reference/tracker-indexer/tracker-indexer-sections.txt: Added new documentation module for tracker-indexer module creation. 2008-10-03 Martyn Russell * configure.ac: * docs/design/Makefile.am: * docs/manpages/Makefile.am: * docs/reference/libtracker-common/Makefile.am: Added missing Makefile.am files. 2008-10-03 Mikael Ottela * configure.ac: * src/tracker-extract/Makefile.am: * src/tracker-extract/tracker-extract-gstreamer.c: Added extraction of embedded album art to gstreamer based extractor. 2008-10-02 Mikael Ottela * configure.ac: * src/tracker-extract/tracker-albumart.c: * src/tracker-extract/tracker-extract-mp3.c: * src/tracker-extract/tracker-albumart.h: * src/tracker-extract/Makefile.am: Added extraction of embedded album art to mp3. The implementatio is based on the current draft of the album art spec. 2008-10-02 Martyn Russell * Makefile.am: Fixed make distcheck for the documentation addition. 2008-10-02 Martyn Russell * configure.ac: Added version information and new documentation Makefiles. * docs/Makefile.am: * docs/reference/COPYING: * docs/reference/Makefile.am: * docs/reference/README: * docs/reference/libtracker-common/libtracker-common-docs.sgml: * docs/reference/libtracker-common/libtracker-common-sections.txt: Added for initial libtracker-common documentation. * src/libtracker-common/tracker-config.[ch]: Removed unused function declaration. * src/tracker-applet/tracker-applet.c: * src/tracker-indexer/tracker-main.c: * src/tracker-search-tool/tracker-search-tool.c: * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-main.c: Fixed VERSION to be PACKAGE_VERSION. 2008-10-02 Martyn Russell * configure.ac: * docs/Makefile.am: * docs/tracker-applet.1: * docs/tracker-extract.1: * docs/tracker-files.1: * docs/tracker-meta-folder.1: * docs/tracker-preferences.1: * docs/tracker-query.1: * docs/tracker-search-tool.1: * docs/tracker-search.1: * docs/tracker-services.7: * docs/tracker-stats.1: * docs/tracker-status.1: * docs/tracker-tag.1: * docs/tracker-thumbnailer.1: * docs/tracker.cfg.5: * docs/trackerd.1: Moved all manpages to docs/manpages and moved all architecture docs to docs/design. 2008-10-02 Martyn Russell * docs/trackerd.dia: * docs/trackerd.png: Added to illustrate the architectural design of the daemon. 2008-10-02 Martyn Russell * src/tracker-extract/Makefile.am: Fix the linking order here. * src/trackerd/tracker-monitor.c: (libinotify_event_check_timeout_cb), (libinotify_monitor_event_cb): Don't use IN_MOVE_SELF for the ITEM_DELETED event. This meant that when we get this convenience event from inotify, we were signalling a delete event (which is wrong since we support proper move events now) and delete file changes are signalled to the indexer BEFORE all other events. So the indexer would get DELETE followed by MOVE and not find the source to MOVE in the database. 2008-10-01 Carlos Garnacho Handle properly multipart messages in Evolution's IMAP. * src/tracker-indexer/modules/evolution.c (get_message_encoding): Renamed to get_object_encoding(), since it will also be used for IMAP message parts. (get_text_for_mbox): Update caller. (extract_message_text) (get_text_for_imap): Use GMime to parse individual messages, and iterate through mail parts to extract the contained text. 2008-10-01 Ivan Frade * src/libtracker-db/tracker-db-manager.c: (db_interface_get_xesam) (db_interface_get_common) Scan the services directory to load the service and metadata descriptions, instead of the previous hardcoded list. 2008-10-01 Mikael Ottela * data/dbus/tracker-metadata.xml: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-metadata.h: Added GetUniqueValuesWithCountAndSum back to the API. * src/tracker-utils/tracker-unique.c: * src/libtracker/tracker.c: * src/libtracker/tracker.h: GetUniqueValuesWithCountAndSum mapped to the library. 2008-10-01 Martyn Russell * src/tracker-indexer/modules/applications.c: Added some debugging to know why some .desktop files are not indexed because the module returns no metadata. * src/tracker-indexer/modules/files.c: Don't check files for to see if they should be excluded in this module - the daemon currently does this. This can still be enabled with a #define because this is problematic for standalone testing of the indexer with the -p switch. * src/tracker-indexer/tracker-indexer.c: Improve the debugging so it doesn't look like we delete items in the database which should be indexed. Instead explain there is no metadata so we are removing the item from the database. 2008-10-01 Ivan Frade * src/libtracker/tracker.[ch]: (tracker_metadata_get_all) Mapped new method in the DBus API in the library * src/tracker-utils/tracker-info.c * src/tracker-utils/Makefile.am: New program (tracker-info) to ask all available metadata of a certain file. 2008-09-30 Mikael Ottela * src/libtracker-db/tracker-db-manager.c: Fixed a bug that forced reindex at every startup. 2008-09-30 Martyn Russell * src/trackerd/tracker-crawler.c: * src/trackerd/tracker-crawler.h: * src/trackerd/tracker-processor.c: Make sure we reset the boolean we used to know if we have already iterated the paths, recurse_paths and special_paths lists when we _start(). The API was improved and a new function added to clear the special_paths() list. 2008-09-30 Martyn Russell * src/trackerd/tracker-crawler.c: Improve the crawler by adding a "special_paths" category used for legacy config paths and for mmc paths which are not in the module config. Also, removed some code duplication. 2008-09-29 Ivan Frade * src/trackerd/tracker-db.[ch]: Removing unused functions static functions: (compress_string) (db_save_full_text) (update_metadata_index) (get_backup_id) (backup_non_embedded_metadata) (backup_delete_non_embedded_metadata_value) (backup_delete_non_embedded_metadata) (remove_value) (db_create_event) public functions: (this functionality is now in the indexer) (tracker_db_metadata_set_single) (tracker_db_metadata_set) (tracker_db_metadata_delete_value) (tracker_db_metadata_delete) (tracker_db_service_create) (tracker_db_metadata_get_types) 2008-09-29 Ivan Frade * data/dbus/tracker-metadata.xml * src/trackerd/tracker-metadata.[ch]: New GetAll method in the DBus API to obtain all metadata available for a URI. * src/trackerd/tracker-db.[ch] (tracker_db_metadata_get_all): New function with the neccesary code to retrieve all metadata of a file from the DB. (tracker_db_metadata_get_types): Renamed parameter class to klass to avoid possible conflicts with C++. * data/sqlite-store-procs.sql: New GetAllMetadata stored proc. 2008-09-29 Mikael Ottela * src/libtracker-db/tracker-db-dbus.[ch]: Added functions to handle multi-valued fields. Different values are separated by '|' * src/trackerd/tracker-search.c: * src/trackerd/tracker-rdf-query.c: Changed rdf-query to support multi-valued fields. * tests/libtracker-db/tracker-db-dbus-test.c: Added test cases. 2008-09-29 Ivan Frade * src/libtracker-db/tracker-db-manager.[ch]: Added new TRACKER_DB_FOR_VIRTUAL_SERVICES. Will be used in the user.db implementation. * src/trackerd/tracker-db.[ch] (tracker_db_file_get_id): Removed TrackerDBInterface from method signature. Now it chooses internally the DB connection using the service type. * src/trackerd/tracker-files.c * src/trackerd/tracker-keywords.c * src/trackerd/tracker-metadata.c * src/trackerd/tracker-search.c: Updated to the new API. 2008-09-26 Martyn Russell * Merge indexer-split branch. 2008-09-26 Martyn Russell * Pre-merge with indexer-split marker. 2008-09-26 Martyn Russell * src/libtracker-common/tracker-config.c: (config_load_int), (config_load_boolean), (config_load_string): Don't use g_warning() when we can't find an old config option, instead just print a normal message. * Makefile.am: * configure.ac: * data/Makefile.am: * data/dbus/Makefile.am: * data/icons/16x16/Makefile.am: * data/icons/22x22/Makefile.am: * data/icons/24x24/Makefile.am: * data/icons/32x32/Makefile.am: * data/icons/48x48/Makefile.am: * data/icons/Makefile.am: * data/icons/scalable/Makefile.am: * data/languages/Makefile.am: * data/modules/Makefile.am: * data/services/Makefile.am: * docs/Makefile.am: * filters/application/Makefile.am: * filters/text/Makefile.am: * python/Makefile.am: * python/deskbar-handler/Makefile.am: * src/Makefile.am: * src/libinotify/Makefile.am: * src/libstemmer/Makefile.am: * src/libtracker-common/Makefile.am: * src/libtracker-db/Makefile.am: * src/libtracker-gtk/Makefile.am: * src/libtracker/Makefile.am: * src/qdbm/Makefile.am: * src/tracker-applet/Makefile.am: * src/tracker-extract/Makefile.am: * src/tracker-fts/Makefile.am: * src/tracker-indexer/Makefile.am: * src/tracker-indexer/modules/Makefile.am: * src/tracker-indexer/tracker-indexer.c: * src/tracker-preferences/Makefile.am: * src/tracker-search-tool/Makefile.am: * src/tracker-thumbnailer/Makefile.am: * src/tracker-utils/Makefile.am: * src/trackerd/Makefile.am: * tests/tracker-indexer/Makefile.am: * tests/trackerd/Makefile.am: * thumbnailers/application/Makefile.am: * thumbnailers/image/Makefile.am: * utils/qdbm/Makefile.am: Fixed 'make check' and 'make distcheck' 2008-09-25 Martyn Russell * Makefile.am: Added $(DESTDIR) to the install hooks since it is not applied to the hooks. Thanks for the input here from Michael Biebl. 2008-09-25 Martyn Russell * Makefile.am: * configure.ac: Added a message about the file removal of old data and binary files from older Tracker projects after the initial configure script has run. 2008-09-25 Ivan Frade * src/tracker-indexer/tracker-indexer.c (index_metadata_item): The score must be positive when we are adding words to the index. 2008-09-25 Ivan Frade * src/trackerd/tracker-db.c (tracker_db_create_array_of_services): Added missing "Applications" category. We were filtering all application results in the daemon. 2008-09-25 Martyn Russell * Makefile.am: Improve this so we don't use all-local and instead use install-exec-hook and install-data-hook. * src/libtracker-db/tracker-db-manager.c: Added functions to check database versions to know if we should reindex or not. 2008-09-25 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (process_file): Don't give up on the whole file if the URI can't be extracted for any contained item. 2008-09-25 Carlos Garnacho * src/tracker-indexer/module/evolution.c (tracker_module_file_get_data) (tracker_module_file_iter_contents): Get the Message UID before reading metadata, since we'll need it for tracker_module_file_get_uri(). (get_metadata_for_imap): Remove UID parsing from here. 2008-09-25 Carlos Garnacho Do not break on 64-bit platforms. Based on a patch by Laurent Aguerreche * src/tracker-indexer/modules/evolution.c (read_summary): time_t will have different width in other platforms. (read_summary_header): Add comments to skipped summary elements. 2008-09-25 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (tracker_db_index_open): Be more graceful when the index is already open. * src/tracker-indexer/tracker-indexer.c (check_started): Reopen the indexes if needed. (handle_metadata_add) (handle_metadata_remove): Check that the indexer is running and fine. (tracker_indexer_get_running): Check also for the "stopped" flag. * src/tracker-indexer/tracker-metadata.c (tracker_metadata_insert): Plug a potential leak. 2008-09-25 Martyn Russell * Makefile.am: * data/services/Makefile.am: Added install hooks to clean up old locations for binaries from TRUNK. This way when replacing TRUNK with indexer-split, people shouldn't get run the wrong binaries if they are still in their $prefix. 2008-09-23 Ivan Frade * src/trackerd/tracker-db.c (tracker_db_create_array_of_services): Added missing "Files" category. The queries were returning less results than expected due to the lack of this category. 2008-09-21 Martyn Russell * src/tracker-extract/tracker-extract-mp3.c: * src/tracker-extract/tracker-extract.c: * src/tracker-indexer/tracker-main.c: * src/tracker-indexer/tracker-metadata-utils.c: * src/tracker-thumbnailer/tracker-thumbnailer.c: * src/trackerd/tracker-main.c: Use G_OS_WIN32 instead of OS_WIN32. 2008-09-21 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (get_message_encoding): Remove debug g_print() 2008-09-21 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (get_message_encoding) (get_text_for_mbox): Try to convert message contents to UTF8 based on the charset specified by the Content-Type header. 2008-09-21 Carlos Garnacho * src/libtracker-common/tracker-service.c (service_finalize): Plug a leak. 2008-09-21 Carlos Garnacho * data/services/file.metadata: Added missing description for File:Language. 2008-09-21 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (item_create_or_update) (item_delete): Show item uri instead of file path in debug messages. 2008-09-21 Carlos Garnacho * src/tracker-indexer/tracker-metadata.c (tracker_metadata_insert): Provide a more verbose error if some field name isn't defined in the ontology. 2008-09-20 Martyn Russell *.[ch]: Tabbify code. 2008-09-20 Martyn Russell *.[ch]: Removed all trailing whitespace. 2008-09-20 Ivan Frade * tests/tracker-indexer/Makefile.am: Revert previous change. Using symbolic links instead of BUILD_SOURCES var. 2008-09-19 Martyn Russell * src/tracker-indexer/tracker-indexer.c: Call service_def 'service' and field_def 'field'. 2008-09-19 Martyn Russell * src/trackerd/tracker-processor.c: Reduce the size of the list of files we send to the indexer down to 1000 from 5000. DBus isn't supposed to be optimized for > 4kb chunks. * src/tracker-indexer/tracker-indexer.c: Make sure we remove all entries in the hash table we use for mtime cache on parent directories when we have finished indexing. Use Quarks to know what the current module is instead of strdup() every time we process a file. Actually free the TrackerMetadata on move events. * src/tracker-indexer/tracker-metadata-utils.c: (get_file_content): Don't write until the end of the buf, use a length, we know it and it should be faster if the GString function doesn't need to calculate the length too.k 2008-09-17 Ivan Frade * tests/tracker-indexer/Makefile.am: Using BUILD_SOURCES automake's var to fix the build. 2008-09-17 Martyn Russell * tests/tracker-indexer/Makefile.am: Tried fixing the ln -s generated files hack which breaks the build right now. 2008-09-17 Martyn Russell * src/libtracker-common/tracker-file-utils.c: (tracker_file_get_mime_type), (path_has_write_access): Fixed GFileInfo memory leaks. * src/libtracker-common/tracker-ontology.c: (tracker_ontology_get_field_by_id): Fixed GList memory leak from g_hash_table_get_values() call. * src/libtracker-common/tracker-parser.c: (analyze_text), (tracker_parser_text_to_string), (tracker_parser_text): Make sure we check the text string is not just an empty string. Also, don't call strlen twice in some cases. * src/tracker-indexer/tracker-indexer-db.c: (tracker_db_check_service), For some reason, the mtime comes back as a string, even though it is supposed to be an integer. So we call tracker_string_to_date() on it now. (result_set_to_metadata), In this function, don't strdup() a strdup() only to free the first one. Only free if it is unused and make use of the already strdup'd string. * src/tracker-indexer/tracker-indexer.c: (item_create_or_update): Fixed a memory leak here were the TrackerMetadata was not freed when updating an indexed item. * src/tracker-indexer/tracker-metadata-utils.c: Some code clean ups. 2008-09-16 Martyn Russell * src/libtracker-common/tracker-ontology.c: (tracker_ontology_get_field_names_registered): Removed the NULL check since it is valid to pass NULL. Thanks to Ivan's tests to pointing this out before building :) * configure.ac: * tests/Makefile.am: * tests/tracker-indexer/Makefile.am: Fixed tests for make distcheck. 2008-09-16 Martyn Russell * src/libtracker-db/tracker-db-interface.c: (_tracker_db_result_set_set_value): Always set GValue to the the column type before setting the GValue. This saves us checking if it was set in the first place and sometimes the column type set initially is not the same as the type we get returned. Which is what was causing the G_VALUE_HOLDS_INT (value) assertion (when we were trying to set a double for GetMetadataIDValueNumeric. * src/tracker-indexer/tracker-indexer-module.c: (tracker_indexer_module_file_get_uri): Don't spam warnings about not being able to get the basename and/or dirname. This happens all the time for the email module because we don't process ALL files, only summary files for IMAP (for example). This means that the module may return NULL for basename and dirname. We shouldn't error the situation as a result. * src/tracker-indexer/tracker-indexer.c: (item_delete), (should_index_file), (process_file): Don't try to check if we should index email files, instead just do it right now. Before it would spam critical warnings about files not existing in the database. Also, make the item_delete() debug more consistent with other functions and clearer too. 2008-09-16 Martyn Russell * configure.ac: * tests/tracker-indexer/Makefile.am: Fixed the test cases for the indexer since pvanhoof's merge requires tracker-dbus. 2008-09-16 Martyn Russell * src/tracker-indexer/tracker-metadata-utils.c: (get_file_thumbnail): Mereged pvanhoof's last commit. 2008-09-16 Martyn Russell * src/tracker-extract/tracker-extract-png.c: Reworked the code here and fixed adding NULL values with sensible keys to the hash table. * src/tracker-extract/tracker-extract.c: (tracker_get_file_metadata): Check the key and value separately so we don't just get one warning for either not knowing which is NULL. * src/tracker-indexer/tracker-indexer-module.c: (tracker_indexer_module_file_get_uri): Removed the '\n' from the debug statement. * src/tracker-indexer/tracker-metadata-utils.c: Fixed a nasty crash where the watch is not removed when cleaning up IO channels. Grouped the functions more logically so it is clearer what this module does by function names. * src/tracker-indexer/tracker-metadata-utils.h: Removed unused function signatures and structs/enums. 2008-09-16 Philip Van Hoof * src/tracker-indexer/tracker-metadata-utils.c: * src/tracker-indexer/tracker-dbus.[ch]: * src/tracker-indexer/Makefile.am: * tests/tracker-indexer/Makefile.am: Support for thumbnailing using org.freedeskop.thumbnailer.Generic (DBus names might change as the specification changes: http://live.gnome.org/ThumbnailerSpec) 2008-09-15 Martyn Russell * src/libtracker-common/tracker-config.[ch]: Support legacy options SkipMountPoints, IndexEvolutionEmail and IndexThunderbirdEmail. 2008-09-15 Carlos Garnacho * src/tracker-indexer/tracker-metadata-utils.c (tracker_metadata_read) (tracker_text_read): Don't remove the idle func when we're done reading metadata for one item, it can be reused for the next one. 2008-09-15 Martyn Russell * src/libtracker-common/tracker-file-utils.c: (tracker_env_check_xdg_dirs): Don't warn when the XDG_DATA_HOME environment variable is empty (and NULL). * src/libtracker-common/tracker-ontology.c: (tracker_ontology_service_add): Don't add service names and field names in to the hash table collated, they can be looked up then. * src/tracker-indexer/tracker-metadata-utils.c: Re-enable thumbnail extraction now we know it isn't slowing us down in the indexer. 2008-09-15 Martyn Russell * src/libtracker-common/tracker-ontology.[ch]: Removed the service_directory_table GHashTable and the service_directory_list GList because they are unused and the API to add/remove and get paths is unused too. Fixed a memory leak in tracker_ontology_get_field_names_registered(). Don't collate strings before looking up the service names and field names. This operation is done a lot and was created/freeing memory each time we lookup. This is not necessary. 2008-09-15 Martyn Russell * src/libtracker-common/tracker-ontology.[ch]: * src/libtracker-db/tracker-db-manager.c: * src/tracker-indexer/tracker-indexer-db.c: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-metadata.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-files.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-xesam-live-search.c: * tests/libtracker-common/tracker-ontology-test.c: More ontology API improvements and added parameter checks for a lot of public functions which were missing them. 2008-09-15 Martyn Russell * src/libtracker-common/tracker-ontology.c: * src/libtracker-common/tracker-ontology.h: * src/libtracker-db/tracker-db-index-manager.c: * src/libtracker-db/tracker-db-manager.c: * src/tracker-indexer/modules/files.c: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-metadata-utils.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-files.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-query-tree.c: * src/trackerd/tracker-rdf-query.c: * src/trackerd/tracker-search.c: * tests/libtracker-common/tracker-ontology-test.c: More ontology API improvements. 2008-09-15 Martyn Russell * src/libtracker-common/tracker-ontology.[ch]: * src/libtracker-db/tracker-db-index-manager.c: * src/libtracker-db/tracker-db-manager.c: * src/tracker-indexer/modules/files.c: * src/tracker-indexer/tracker-indexer-db.c: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-metadata-utils.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-files.c: * src/trackerd/tracker-keywords.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-query-tree.c: * src/trackerd/tracker-rdf-query.c: * src/trackerd/tracker-search.c: * tests/libtracker-common/tracker-ontology-test.c: * tests/libtracker-db/Makefile.am: Renamed a lot of the tracker-ontology API to make it clearer and more consistent. * src/tracker-extract/tracker-extract.c: * tests/tracker-fts/tracker-fts-test.c: Fixed compiler warnings. * utils/qdbm/Makefile.am: Fixed linker errors. 2008-09-12 Martyn Russell * src/tracker-extract/tracker-extract.c: Disabled debugging by default. 2008-09-12 Martyn Russell * src/tracker-extract/tracker-extract-mp3.c: Clean up the code. 2008-09-11 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: Added mime-type audio/x-mp3 to the list of supported ones. Corrected some metadata field names. * src/tracker-extract/tracker-extract-jpeg.c: Call to xmp routines fixed. * src/libtracker-common/tracker-type-utils.c: Removed an unused variable. * src/tracker-indexer/tracker-indexer-db.c: Added a check that the date given by extractor is valid. 2008-09-11 Mikael Ottela * src/libtracker-db/tracker-db-interface.c: Fixed a crash in result sets. 2008-09-11 Martyn Russell * src/tracker-extract/tracker-extract.c: (debug_impl), (print_meta_table_data): Fixed printing to stdout for the indexer to use the returned data. 2008-09-11 Martyn Russell * src/tracker-extract/tracker-extract.c: (tracker_get_file_metadata): Debugging improvements. 2008-09-11 Martyn Russell * src/tracker-extract/tracker-extract.c: Added debugging which can be turned off using the #define DISABLE_DEBUGGING at the top. 2008-09-11 Martyn Russell * src/tracker-extract/tracker-extract-imagemagick.c: * src/tracker-extract/tracker-extract-mplayer.c: * src/tracker-extract/tracker-extract-msoffice.c: * src/tracker-extract/tracker-extract-oasis.c: * src/tracker-extract/tracker-extract-pdf.c: * src/tracker-extract/tracker-extract-totem.c: * src/tracker-extract/tracker-extract.[ch]: Code clean up and use libtracker-common for functions instead of duplicating them in these files. 2008-09-11 Martyn Russell * src/tracker-extract/tracker-extract.c: Use the libtracker-common spawn function instead of duplicating the code here. Also the libtracker-common function has a lot better error handling. 2008-09-11 Martyn Russell * src/tracker-extract/Makefile.am: Cleaned up Makefile. * src/tracker-extract/tracker-extract.c: Use functions from libtracker-common instead of duplicating our own here. * src/tracker-indexer/tracker-metadata-utils.c: (process_watch_cb): Print the g_strerror() for the error code we get back from an exiting process from the extractor. 2008-09-11 Martyn Russell * src/libtracker-common/tracker-os-dependant-unix.c: Cleaned up * src/libtracker-common/tracker-os-dependant.h: functions. Added parameter checks for all public functions. Made setrlimit function public since it is used in a lot of places. * src/libtracker-common/tracker-os-dependant-win.c: Updated this * src/libtracker-common/tracker-os-dependant.h: module and wrote functions that were missing. * src/tracker-extract/tracker-extract.c: * src/tracker-extract/tracker-extract-abw.c: * src/tracker-extract/tracker-extract-gstreamer.c: * src/tracker-extract/tracker-extract-html.c: * src/tracker-extract/tracker-extract-jpeg.c: * src/tracker-extract/tracker-extract-ps.c: Cleaned up the code here. Made a lot of things static which shouldn't be public. * src/tracker-extract/tracker-extract-jpeg.c: Fixed some memory leaks here in the "fix" functions. * src/tracker-indexer/tracker-main.c: Temporarily removed the SIGPIPE handling here so we know about it instead of just ignore it. * src/tracker-indexer/tracker-metadata-utils.c: Improved the debugging and cleaned up the code. 2008-09-11 Mikael Ottela * src/tracker-indexer/tracker-metadata-utils.c: Fixed a date metadata bug. 2008-09-11 Martyn Russell * src/tracker-indexer/tracker-indexer.c: (process_file): Add some compiler hints to optimize the code here a little. * src/tracker-indexer/tracker-metadata-utils.c: (tracker_metadata_utils_get_text), (tracker_metadata_utils_get_thumbnail): Disable thumbnail retrieval until it is faster. 2008-09-10 Martyn Russell * src/libtracker-common/tracker-file-utils.[ch]: * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: (tracker_env_check_xdg_dirs): Added this function to make sure we have write access to XDG_DATA_HOME. On the Maemo platform, this is /usr/share, on Ubuntu this is $HOME/.local/share. We default to the later in cases where we don't have write access and can't create the XDG_DATA_HOME location. 2008-09-10 Mikael Ottela * src/trackerd/tracker-rdf-query.c: Fixed some problems with OR operator in RDF queries. 2008-09-09 Martyn Russell * src/tracker-indexer/tracker-indexer-db.c: (tracker_db_move_service): Switch the to and from parameters round so the move statement works. * src/tracker-indexer/tracker-indexer.c: Now use the PathInfo struct for move events and also the event queue instead of dealing with them specifically there and then. Now rename or move events on files work. 2008-09-09 Martyn Russell * src/libtracker-db/tracker-db-index.c: Cleaned up the code. * src/tracker-indexer/tracker-indexer.c: When finishing do 2 things. First make sure we flush BEFORE we unset the flag to say we are indexing. This way the flush function doesn't just return. Also when finished, we now close the index. This means that the daemon can use the new index when it reopens it after indexing. 2008-09-09 Mikael Ottela * src/tracker-extract/tracker-extract-mp3.c: * src/tracker-extract/tracker-extract-gstreamer.c: The audio extractors now check that a minimum amount of information (title, artist, album, genre) has been found and if not, "tracker:unknown" value is used for these crucial fields. This change can be considered a hack and should be reverted when tracker supports finding unexisting metadata. 2008-09-09 Martyn Russell * src/libtracker-db/tracker-db-interface.c: * src/tracker-indexer/tracker-indexer-db.c: Some small code clean ups. * src/tracker-indexer/tracker-indexer.c: Better error handling for the move dbus function. 2008-09-09 Martyn Russell * src/libtracker-common/tracker-file-utils.c: (tracker_file_get_mime_type): Improve the error message. * src/tracker-indexer/modules/files.c: Small clean up. * src/trackerd/tracker-monitor.c: Fixed the signal emission so the file and other file are the right way round for one of the MOVE events. This is probably why renaming a file was not working before. 2008-09-08 Mikael Ottela * src/tracker-extract/tracker-extract-png.c: * src/tracker-extract/tracker-extract-jpeg.c: * src/tracker-extract/tracker-extract-tiff.c: Changed image extractors to take native image information have higher priority than EXIF/XMP (for example for width & height) 2008-09-08 Mikael Ottela * src/tracker-indexer/tracker-indexer-db.c: * src/trackerd/tracker-db.c: * src/libtracker-common/tracker-type-utils.c: * src/libtracker-common/tracker-type-utils.h: Fixed problems with date handling in metadata. 2008-09-08 Martyn Russell * src/tracker-indexer/tracker-indexer.c: Implemented a cache that we use to know if a directory mtime has changed to know if we should go into it to be reindexed. We still mtime check each file in that directory, but we don't even try to index files for a directory where the mtime is the same. * src/tracker-indexer/tracker-module.h: Cleaned up header. 2008-09-05 Martyn Russell * configure.ac: * src/Makefile.am: Make Jamie's new tracker-fts/ directory disabled by default. Enabled with the --enable-sqlite-fts configure option. This breaks the build right now that's why it is disabled while it is under development. Also fixed make distcheck failures (tests still fail for some things). * src/libtracker-db/Makefile.am: Link with -lz so build doesn't fail. * tests/Makefile.am: Clean ups. * src/libtracker-db/tracker-db-index.c: (tracker_db_index_flush): Fixed build warnings. * tests/tracker-fts/Makefile.am: Fixed missing header file. 2008-09-05 Martyn Russell * src/libstemmer/*: Moved all source files into this directory, there is no need to have them all in separate directories. Make the library generated a shared library. * src/libtracker-common/Makefile.am: * src/libtracker-db/Makefile.am: Made libtracker-common and libtracker-db shared libraries. * src/libtracker-common/tracker-language.c: Fixed include paths. 2008-09-05 Mikael Ottela * src/libtracker/tracker.h: * src/libtracker/tracker.c: * src/tracker-utils/tracker-unique.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-metadata.h: * data/dbus/tracker-metadata.xml: Added GetUniqueValueWithCount to metadata dbus. It is similar to previous GetUniqueValues, except if requested an additional count of items is returned. 2008-09-04 Martyn Russell * data/dbus/tracker-daemon.xml: * src/tracker-applet/Makefile.am: * src/tracker-applet/tracker-applet-marshallers.[ch]: * src/trackerd/tracker-marshal.list: * src/trackerd/tracker-daemon.c: Include the elapsed time in seconds in the index-progress signal. * src/tracker-applet/tracker-applet.c: Refactored the code a little and improved the status tooltip to include estimated time and elapsed time. * data/dbus/tracker-daemon.xml: * src/trackerd/tracker-daemon.c: Changed the signal name 'state-change' to 'service-statistics-updated' so it is clearer what it means. * src/trackerd/tracker-processor.[ch]: Added an API to get last elapsed time sent to us from the indexer. Fixed a bug where we were using our private copy of the items done/remaining in signal emissions but not updating them first in the "finished" signal from the indexer. The "index-finished" signal is now emitted. Before it wasn't at all so the applet was left looming in a wrong state. 2008-09-04 Martyn Russell * src/tracker-indexer/tracker-indexer.c: Fixed the process idle handler so that when we are finished processing we set the ->in_process to FALSE (was TRUE). In check_started() we don't check the ->idle_id, we instead rely on the state being correct. Renamed the state functions so they are obviously internal and don't use global name space and fixed one of them that wasn't static. 2008-09-04 Martyn Russell * src/tracker-indexer/tracker-metadata-utils.c: (call_text_filter), (get_file_in_locale), (get_file_content): Split the get_file_content() up into a few smaller functions. Also check the WHOLE string for UTF-8 compliance instead of JUST when we reach the maximum indexable allowance. Plus don't free buf which is a stack allocated buffer. Also made it possible to try and convert from locale to UTF-8 with a #define at the top of the file. Trying this worked for some files and not for others. A lot of files were just dropped because the last character was something weird. I thought it would be better to index as much content as possible, so for now this is disabled so we index up to the last valid UTF-8 character. 2008-09-03 Martyn Russell * src/tracker-indexer/tracker-metadata-utils.c: (get_file_content), (tracker_metadata_utils_get_text), (tracker_metadata_utils_get_thumbnail): Improved the get_file_content() function to check for '\n' in the first 64Kb buffer and if it doesn't exist we don't index the file. Also, check for UTF-8 validity so we don't stop on exactly 'x' bytes but where the last valid character is. 2008-09-03 Philip Van Hoof * ChangeLog: * src/trackerd/tracker-processor.c: Reverted revision 2159 2008-08-29 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (process_func) (tracker_indexer_check_state): If for some reason the indexer is stopped and started again somewhere inside process_func(), the indexer would end up with the current idle function "detached" but still running, and a new one. So, if we're inside process_func, we won't remove the idle function immediately, instead we'll wait and make the idle func return FALSE if the indexer should still be paused. 2008-08-29 Ivan Frade * src/tracker-indexer/tracker-indexer.c * src/trackerd/tracker-daemon.c * src/trackerd/tracker-files.c * src/trackerd/tracker-keywords.c * src/trackerd/tracker-metadata.c Use context instead of FALSE as second parameter for tracker_dbus_async_return_if_fail . This fixes crashes in trackerd when the assertions failed. 2008-08-29 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (tracker_db_index_flush): Do not use GHashTableIter API here, we can't avoid for sure having other portions of the code try to insert data to the index cache while it's flushing, and performance here is largely bound to QDBM, so it won't be that noticeable anyways. 2008-08-29 Carlos Garnacho * src/tracker-indexer/tracker-main.c (initialize_signal_handler): Ignore SIGPIPE, so we can handle it ourselves. * src/tracker-indexer/tracker-metadata-utils.c: It's possible that the indexer is trying to write to the metadata extractor before it realizes it has quit/crashed. Handle errors writing to a broken pipe and respawn the metadata process context in that case. 2008-08-28 Ivan Frade * src/tracker-thumbnailer/tracker-thumbnailer.c: Splitted the code in functions. Fixed some memory leaks. Fixed crash with incorrect parameters 2008-08-28 Philip Van Hoof * src/tracker-indexer/tracker-metadata-utils.c * src/tracker-indexer/tracker-metadata-utils.h * src/tracker-indexer/Makefile.am * tests/tracker-indexer/Makefile.am * configure.ac: Use Hildon's thumbnailer if available. Similar things should be done for other thumbnailers too. 2008-08-28 Carlos Garnacho * tests/tracker-indexer/tracker-metadata-utils-test.c: Remove tests related to metadata merging, this leaves the file mostly empty, but would be useful to keep it around when some other tests to tracker-indexer are added. 2008-08-28 Carlos Garnacho * src/tracker-indexer/tracker-metadata-utils.c (lists_equal) (metadata_action_item_new) (calculate_merge_action) (add_deleted_items) (tracker_metadata_utils_calculate_merge) (tracker_metadata_utils_action_item_free): Removed functions, they weren't used anywhere. 2008-08-28 Carlos Garnacho * src/tracker-thumbnailer/tracker-thumbnailer.c: Use GChecksum instead of shipped MD5 implementation. * src/tracker-thumbnailer/Makefile.am: * src/tracker-thumbnailer/md5.[ch]: Removed MD5 implementation, no longer necessary. 2008-08-28 Carlos Garnacho * data/sqlite-stored-procs.sql: Use '#' to begin comments. * src/libtracker-db/tracker-db-manager.c (load_prepared_queries): Skip lines that begin with '#'. 2008-08-28 Carlos Garnacho * src/tracker-thumbnailer/Makefile.am: Install thumbnailer in libexec. * src/tracker-indexer/Makefile.am: * tests/tracker-indexer/Makefile.am: define LIBEXECDIR * src/tracker-indexer/tracker-metadata-utils.c (tracker_metadata_query_file) (tracker_metadata_utils_get_thumbnail): Use LIBEXECDIR to locate both tracker-extract and tracker-thumbnailer. 2008-08-28 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (create_update_item): Avoid potential double frees. 2008-08-28 Carlos Garnacho * src/tracker-indexer/tracker-metadata-utils.c (tracker_metadata_watch_cb): Rename to process_watch_cb() and make generic to all spawned processes, so we don't leave defunct processes all around. 2008-08-27 Ivan Frade * src/libtracker-common/tracker-ontology.c: (tracker_ontology_get_registered_field_types): Removed wrong g_critical, the categories can have "empty" parent. 2008-08-27 Ivan Frade * data/services/default.service * data/sqlite-service-types.sql * data/sqlite-stored-procs.sql * data/sqlite-xesam.sql: Added new field to service type description called "PropertyPrefix", so we can specify that "Document" properties are "Doc:xxx" * src/libtracker-common/tracker-service.[ch] * src/libtracker-db/tracker-db-manager.c: Code to handle the new property. * src/libtracker-common/tracker-ontology.[ch] (tracker_ontology_get_registered_field_types): Implemented properly so now it return the property of the service type and his parent. This fixes the GetRegisteredTypes method in the API. * tests/libtracker-common/tracker-ontology-test.c: Updated tests. 2008-08-27 Carlos Garnacho * src/tracker-indexer/tracker-metadata-utils.[ch] (tracker_metadata_utils_get_thumbnail): Added back thumbnails creation. (tracker_metadata_utils_get_data): Call it from here. 2008-08-27 Mikael Ottela * src/trackerd/tracker-rdf-query.c: Fixed a crash. Added additional '%' to sql like statements because vsprintf strips some at execute_query level. 2008-08-27 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (tracker_indexer_check_state): Actually check the TRACKER_INDEXER_STATE_STOPPED flag... 2008-08-27 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c: Add new TRACKER_INDEXER_STATE_STOPPED flag. (check_started) (check_stopped): Use that flag. (tracker_indexer_init): Call directly tracker_indexer_check_state() to setup the idle functions. 2008-08-27 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (tracker_db_index_flush): Protect agains reentrancy, return the number of actually flushed items. Also, fail when adding if the cache is being flushed. * src/tracker-indexer/tracker-indexer.c (tracker_indexer_set_state_flags) (tracker_indexer_unset_state_flags) (tracker_indexer_get_state_flags): There are several reasons why the indexer would want to stop, and not all of them are relevant outside TrackerIndexer. This internal API will stop the indexer if any of the relevant flags is set. (tracker_indexer_[gs]et_running): Use internally the TRACKER_INDEXER_STATE_PAUSED flag. (check_disk_space_cb): Use internally the TRACKER_INDEXER_STATE_DISK_FULL flag. (flush_data): Set the TRACKER_INDEXER_STATE_FLUSHING flag when flushing, so the indexing is temporarily stopped. 2008-08-27 Ivan Frade * data/sqlite-stored-procs.sql * src/libtracker-common/tracker-ontology.[ch] * src/tracker-indexer/tracker-indexer-db.[ch] * src/tracker-indexer/tracker-indexer.c Added metadata updating when the file is updated. Remove the old embedded metadata and set the new values. Remove only the embedded to keep the tags and other user/application metadata. 2008-08-27 Carlos Garnacho * src/tracker-indexer/tracker-metadata-utils.c (tracker_metadata_read) (tracker_metadata_query_file): Handle again metadata_context being possibly invalidated during reading. (call_text_filter): Fix compiler warning. 2008-08-27 Ivan Frade * src/libtracker-common/tracker-field.c * tests/libtracker-common/tracker-field-test.c * tests/libtracker-common/Makefile.am: Fixed detail in enum definition and added testing for enum->string function. 2008-08-27 Philip Van Hoof * src/trackerd/tracker-daemon.c: Fixed a memory problem allocating 0 bytes, found using valgrind 2008-08-26 Jamie McCracken * src/libtracker-common/tracker-parser.c * src/libtracker-common/tracker-parser.h Made new API for tracker-parser more compatible with sqlite FTS3. * tracker-fts * tracker-fts/tracker-fts.c * tracker-fts/tracker-fts-hash.c * tracker-fts/Makefile.am * tracker-fts/tracker-fts.h * tracker-fts/tracker-fts-hash.h Created forked version of sqlite fts3 module called tracker-fts Integrated our parser and tweaked it to work fully with FTS3 api * tests/Makefile.am * configure.ac * src/Makefile.am * tests/tracker-fts * tests/tracker-fts/tracker-fts-test.c * tests/tracker-fts/Makefile.am Added test files for tracker-fts module 2008-08-26 Carlos Garnacho * src/tracker-indexer/tracker-metadata-utils.c (get_file_content): Don't allocate in the stack so much memory, even more when it's going to be copied around. 2008-08-26 Carlos Garnacho * src/Makefile.am: * src/libinotify/Makefile.am: * tests/common/Makefile.am: * tests/common/tracker-test-helpers.c: * tests/libtracker-common/Makefile.am: * tests/libtracker-db/Makefile.am: Fix distcheck, to some extent. 2008-08-26 Philip Van Hoof * src/tracker-indexer/tracker-main.c: raised the "wait for more" timeout to 5 minutes. The indexer is harmless for the system's resources while waiting. VS. stopping and starting the indexer often isn't harmless for the system's resources. 2008-08-26 Philip Van Hoof * src/trackerd/tracker-processor.c: a patch fix for the processor. It seems that a timeout that happens after the indexer has shut down calls its callback. That callback sets the status back to indexing. When Martyn is back from holiday he should take a look at this. 2008-08-26 Philip Van Hoof * src/trackerd/tracker-daemon.c: Changed the way we emit the stats-changed signal. Fixes a crash. 2008-08-26 Philip Van Hoof * src/tracker-indexer/tracker-indexer.c * src/libtracker-db/tracker-db-index.h * src/libtracker-db/tracker-db-index.c: Making flushing the index more responsive 2008-08-26 Philip Van Hoof * src/libtracker-db/tracker-db-index.c: removed a mutex. The API of tracker-db-index.h is never used by more than one thread. Therefore can't there be a need for a mutex. If we do need a mutex, then just reverting this wont suffice: changes that will happen after this commit will require using a recursive mutex instead. 2008-08-26 Philip Van Hoof * src/trackerd/tracker-daemon.c * src/trackerd/tracker-marshal.list * data/dbus/tracker-daemon.xml: Added a stats-changed signal 2008-08-26 Carlos Garnacho * tests/tracker-indexer/Makefile.am: Added LIBDIR define for tracker-metadata-utils.c 2008-08-26 Carlos Garnacho * src/tracker-indexer/modules/files.c (tracker_metadata_call_text_filter) (get_file_content): Moved to tracker-metadata-utils.c (tracker_module_file_get_text): Use these new functions. * src/tracker-indexer/tracker-metadata-utils.[ch]: Refactor MetadataContext so it can also spawn external text extractors. (tracker_metadata_utils_get_text): New helper function. 2008-08-25 Ivan Frade * src/tracker-indexer/tracker-indexer-db.c * src/tracker-indexer/tracker-indexer.c: Using the new method also here to obtain path and name also here. 2008-08-25 Ivan Frade * src/libtracker-common/tracker-file-utils.[ch] (tracker_file_get_path_and_name): New function to get the path and name of an uri. It removes some duplicate code and uses g_file to parse the path, so we can fix "x//y" in uris. * src/trackerd/tracker-db.c * src/trackerd/tracker-files.c: Using the new method, instead of the old code. * tests/libtracker-common/tracker-file-utils-test.c: Fixed minor things in previous tests and added test for the new method. 2008-08-25 Mikael Ottela * src/tracker-extract/tracker-extract-gstreamer.c: Gstreamer extractor extracts now also images. 2008-08-25 Carlos Garnacho * src/tracker-extract/Makefile.am: * src/tracker-extract/tracker-extract-ps.c: Fix up symbol not found that prevented the PS module to be loaded. * src/tracker-extract/tracker-extract.c (initialize_extractors): Provide a better error message if a module can't be loaded. 2008-08-22 Martyn Russell * src/trackerd/tracker-monitor.c: Handle situations where the source or target are not monitored and emit the appropriate signals up the stack. * src/trackerd/tracker-processor.c: Check the source AND the target to see if they should be ignored or not when we get MOVE monitor events. If both are ignored, we do nothing, if source is ignored we create the new file in the database, if target is ignored we delete the old file in the database, if both are valid we do a simple move in the database. I say simple, it isn't that simple. :) 2008-08-22 Carlos Garnacho * src/trackerd/tracker-marshal.list: * src/trackerd/tracker-dbus.c: Fix marshaller for Finished signal. 2008-08-22 Carlos Garnacho * data/dbus/tracker-indexer.xml: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-processor.c: * src/trackerd/tracker-xesam-manager.c: Added a missing argument to the Finished DBus signal definition in the indexer. Also updated all callers. 2008-08-22 Mikael Ottela * src/trackerd/tracker-rdf-query.c: * src/trackerd/tracker-db.c: Fixes to index and string type metadata handling in queries. 2008-08-22 Carlos Garnacho * src/tracker-indexer/tracker-metadata-utils.c (tracker_metadata_read): Strip metadata separators when reading from the external extractor. 2008-08-22 Carlos Garnacho * src/tracker-indexer/tracker-indexer-module.c (tracker_indexer_module_file_get_uri): Reduce the warning to a debug message, it's still nice to have that info, but it isn't crucial either. 2008-08-22 Martyn Russell * src/libtracker-db/tracker-db-index.c: (tracker_db_index_open), (tracker_db_index_flush): Fixed the g_return_val_if_fail() check for the priv->index already being set in tracker_db_index_open(). Initially it is not set at all so the index was not being opened. Also, if we can't open the index, we now debug specifically if it was because the file doesn't exist yet or if it wasn't closed properly. 2008-08-21 Martyn Russell * data/services/default.service: Added inode/; to the prefixes to recognise folders like $HOME/.xchat. * src/libtracker-common/tracker-ontology.[ch]: * tests/libtracker-common/tracker-ontology-test.c: Added in tracker_ontology_get_db_by_service_type() a check for NULL service strings. * src/libtracker-common/tracker-parser.c: Cleaned up the code, fixed a nasty double free that was introduced recently. Do proper type checking for TrackerLanguage. Make sure we reference the language and unreference it when creating/freeing the parser. * src/libtracker-common/tracker-service.[ch]: (tracker_db_type_get_type): Added missing enumerations: unknown, files and xesam. * src/libtracker-db/tracker-db-manager.[ch]: Added TRACKER_DB_UNKNOWN type. * src/trackerd/tracker-db.[ch]: Make use of GStaticPrivate for the local data. Also instead of using priv->index, we now send the services we are interested in to TrackerQueryTree and it finds out what indexes it needs to use instead. Added a function to return a gint GArray for the service IDs needed for TrackerQueryTree too. * src/trackerd/tracker-query-tree.[ch]: Removed properties which shouldn't change after creation (like language and config). Removed the TrackerDBIndex parameter for _new() and just use the GArray for services now. We get the TrackerDBIndex from each service instead. * src/trackerd/tracker-search.[ch]: Use tracker_db_create_array_of_services() instead of duplicating the code here. Also try to get suggestions from the email index db if there are none from the files index db. * src/libtracker-db/tracker-db-index-manager.[ch]: * src/tracker-indexer/tracker-indexer.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus.[ch]: * src/trackerd/tracker-main.c: * src/trackerd/tracker-processor.c: Now we have all email words indexed to their own email-index.db file instead of filling up one big index.db file. This was causing serious performance issues. 2008-08-21 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (tracker_db_index_open): Do not reopen/leak/corrupt data if there's already an index opened. (tracker_db_index_flush): Do not open index if it was closed, there could be good reasons for it. * src/tracker-indexer/tracker-indexer.[ch] (schedule_flush): Do not attempt to flush if the indexer is paused. (stop_transaction): No point in committing if there wasn't a transaction. (tracker_indexer_set_running): Refactored the flush out, calling it wherever it's needed. Also stop scheduled flushes so they aren't called while the indexer is paused. (check_disk_space_cb) (tracker_indexer_pause) (pause_for_duration_cb) (tracker_indexer_pause_for_duration) (tracker_indexer_continue): Update callers. 2008-08-21 Philip Van Hoof * src/libtracker-db/tracker-db-index.c: Regression fix on "There's no need to flush the word index on pausing the indexer.": the current transaction was not always being committed anymore 2008-08-21 Mikael Ottela * src/libtracker-db/tracker-db-interface.c: Bug fix. Added checking that row exists before reading for result sets. 2008-08-21 Carlos Garnacho * tests/tracker-indexer/Makefile.am: No need to include libxdgmime.la anymore. 2008-08-21 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (get_text_for_mbox) (get_text_for_imap) (tracker_module_file_get_text): New functions, get the emails body through the get_text() module function, so it's saved in the contents DB. 2008-08-21 Ivan Frade * src/tracker-indexer/tracker-metadata-utils.[ch] (tracker_metadata_utils_calculate_merge): Addded funciont. Given two set of metadata (old and new) calculate a list of actions to do in the DB (insert, delete or update).. * tests/tracker-indexer * tests/tracker-indexer/tracker-metadata-utils-test.c * tests/tracker-indexer/Makefile.am * tests/Makefile.am * configure.ac: Added unit tests to the previous function 2008-08-21 Ivan Frade * data/service/image.metadata: Set the correct data types for the metadata. 2008-08-21 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (create_update_item) (should_index_file) (tracker_indexer_file_move): Check return value of tracker_indexer_module_file_get_service_type(), since it could return NULL for files the module doesn't handle. 2008-08-21 Philip Van Hoof * src/tracker-indexer/tracker-main.c: Run forever feature for the indexer, for debugging purposes 2008-08-21 Martyn Russell * src/libtracker-common/tracker-ontology.c: (ontology_hash_lookup_by_str), (ontology_hash_lookup_by_id): Check the string is != NULL before using it in g_hash_table_lookup() which uses strcmp for string comparisons. 2008-08-21 Martyn Russell * src/libtracker-common/tracker-file-utils.c: Removed is_text_file() which is no longer used. * src/libtracker-common/tracker-parser.[ch]: Fixed the formatting and use gchar instead of char in new code. Removed unnecessary spacing and a LOT of trailing whitespace. Fixed the header file too. * src/tracker-indexer/Makefile.am: * src/tracker-indexer/modules/Makefile.am: * src/trackerd/Makefile.am: * tests/libtracker-common/Makefile.am: * tests/libtracker-db/Makefile.am: Removed references to libxdgmime.la which was breaking the build. 2008-08-20 Jamie McCracken * Added new API for tracker-parser so that it will be compatible with sqlite FTS3. 2008-08-20 Carlos Garnacho * src/libtracker-common/tracker-file-utils.c (tracker_file_get_mime_type): Replace mimetype checking with GIO. * configure.in: * src/Makefile.am: * src/xdgmime/*: Nuked the local xdgmime copy. 2008-08-20 Martyn Russell * src/tracker-applet/tracker-applet.c: * src/tracker-extract/tracker-extract-tiff.c: * src/tracker-indexer/tracker-indexer-db.c: * src/trackerd/tracker-xesam.c: * tests/libtracker-common/tracker-type-utils-test.c: * utils/qdbm/search-word.c: More uninitialised variable crapness fixed to make it the all new hotness. 2008-08-20 Martyn Russell * src/libtracker-common/tracker-type-utils.[ch]: Renamed tracker_boolean_as_text_to_number() to tracker_string_boolean_to_string_gint(). * src/libtracker-db/tracker-db-manager.c: Make use of tracker_string_boolean_to_string_gint() instead of using code which does the exact same thing. Also fixed 3 places which use uninitalised integers as part of their calculations. * src/tracker-indexer/modules/evolution.c: (get_mbox_recipient_list): When getting the recipients list, don't potentially add an uninitialised string. * src/trackerd/tracker-db.c: (get_backup_id): Don't reuse id here, call it something else and make this code work. * src/trackerd/tracker-keywords.c: (tracker_keywords_search): Don't check if "values" is != NULL since it is a local variable now not a gchar** like it used to be. * src/trackerd/tracker-metadata.c: (tracker_metadata_get): If there is no result set, set the values to NULL so we don't check for NULL against an uninitalised variable. * src/trackerd/tracker-monitor.c: (tracker_monitor_add): Fixed warning about unused variable when using libinotify. * src/trackerd/tracker-processor.c: (item_queue_processed_cb): Fixed warning about queue being uninitialised in NOP switch statement condition. * src/trackerd/tracker-search.c: (search_highlight_terms): If there are no search terms, don't rely on uninitialised "s" variable being set. * src/trackerd/tracker-xesam-query.c: (build_sql): Set value to NULL to initialise it and use tracker_string_boolean_to_string_gint() instead of duplicating the code to do the same thing. * src/trackerd/tracker-xesam.c: (tracker_xesam_get_state): Don't try to free random memory and make sure we NULL terminate the GStrv that is returned. 2008-08-20 Martyn Russell * src/libtracker-common/tracker-dbus.c: (tracker_dbus_request_failed): If error is already set and there is no format, we do not set str which is used in a print statement and then freed. This could lead to serious stack corruption. * src/libtracker-db/tracker-db-index-manager.c: (has_tmp_merge_files): Don't print a warning with an uninitialised path string. * src/libtracker-db/tracker-db-index.c: (tracker_db_index_get_size): Actually return the size instead of returning an uninitialised size variable. * src/libtracker-db/tracker-db-interface-sqlite.c: (create_result_set_from_stmt): Set the busy count instead of incrementing random memory. * src/libtracker-db/tracker-db-manager.c: (load_service_file_xesam): If we can't map data id to a TrackerFieldType, don't just use an uninitialised integer. Now we use -1 and display a warning. 2008-08-20 Martyn Russell * src/libtracker-db/tracker-db-dbus.c: (tracker_dbus_query_result_to_hash_table): Fixed a bug where field_count was redefined in a deeper code block overwriting the number of columns previously determined by an unintialised variable. 2008-08-20 Martyn Russell * configure.ac: Clean up and remove the --enable-debug-tools. The -g option is automatic with autotools and most packaging systems (like debian's) have an option to strip binaries of debug symbols. In the worst case we can always use CFLAGS="..." before running ./autogen.sh anyway. * src/trackerd/tracker-monitor.c: Fixed a nasty NULL deference spotted by Ross Burton. 2008-08-20 Carlos Garnacho * tracker.pc.in: * libtracker-gtk.pc.in: Moved also to data/ * configure.ac: * Makefile.am: * data/Makefile.am: Modify corresponding autofoo. 2008-08-20 Carlos Garnacho * src/trackerd/Makefile.am: * src/tracker-indexer/Makefile.am: Install both trackerd and tracker-indexer in $(prefix)/libexec, since they're not supposed to be executed by the user. * data/dbus/Makefile.am: * data/dbus/org.freedesktop.Tracker.service.in: * data/dbus/org.freedesktop.Tracker.Indexer.service.in: Look up the executables in $(libexecdir) * Makefile.am: * data/Makefile.am: * configure.ac: * trackerd.desktop.in.in: Moved trackerd.desktop.in.in to data/. Also correct path to trackerd. 2008-08-19 Philip Van Hoof * src/trackerd/tracker-keywords.c: Removing keywords was not passing service_type correctly 2008-08-19 Philip Van Hoof * src/tracker-indexer/tracker-indexer.c * src/tracker-indexer/tracker-indexer.h * src/libtracker-db/tracker-db-index.c: There's no need to flush the word index on pausing the indexer. 2008-08-20 Martyn Russell * src/libtracker-db/tracker-db-index.c: Don't try to open the index and flush if the cache size is < 1. This should fix a warning we were seeing about not being able to open the cache on startup and shutdown. * src/trackerd/tracker-marshal.list: * src/trackerd/tracker-monitor.c: Add support for libinotify to know about MOVE events. * src/trackerd/tracker-processor.[ch]: Added a move queue and API to use the new indexer move API when we know about files/directories that move. 2008-08-19 Ivan Frade * src/trackerd/tracker-files.c (tracker_files_get_metadata_for_files_in_folder): Added NULL element at the end of the fields array. This fixes a segfault using the method. 2008-08-19 Martyn Russell * configure.ac: * src/Makefile.am: * src/libinotify/.cvsignore: * src/libinotify/Makefile.am: * src/libinotify/inotify-handle.c: * src/libinotify/inotify-handle.h: * src/libinotify/inotify-listhash.c: * src/libinotify/inotify-listhash.h: * src/libinotify/inotify-log.h: * src/libinotify/inotify-monitor.c: * src/libinotify/inotify-monitor.h: * src/libinotify/libinotify.h: * src/libinotify/linux-inotify-syscalls.h: * src/trackerd/Makefile.am: * src/trackerd/tracker-monitor.c: Add the initial inotify replacement work while glib upstream is fixed. This is to support MOVE events for files and directories. This is not yet working. * tests/common/Makefile.am: Fixed some small errors. 2008-08-19 Carlos Garnacho * src/tracker-indexer/tracker-indexer-db.[ch] (tracker_db_check_service): Modify to also get mtime. * src/tracker-indexer/tracker-indexer.c: Update all callers. (should_index_file) (process_file): Check mtimes before reindexing a file. 2008-08-19 Carlos Garnacho * src/tracker-indexer/tracker-indexer-module.c: Restore accidental revert of fix in r2093. 2008-08-19 Carlos Garnacho * src/tracker-extract/Makefile.am: Install tracker-extract in $prefix/libexec. * src/tracker-indexer/Makefile.am: specify tracker-extract path. * src/tracker-indexer/tracker-metadata-utils.c (create_metadata_context): Use defined tracker-extract path. 2008-08-19 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c: Emit the status signal every 10 seconds, as flushes now can be more sparse. * src/libtracker-db/tracker-db-index.c (tracker_db_index_flush): Do not try to flush if there aren't items in the cache. 2008-08-19 Martyn Russell * src/libtracker-common/tracker-file-utils.c: (tracker_path_list_filter_duplicates): Don't append a trailing G_DIR_SEPARATOR_S when we return the list here. This standard is not used in the rest of Tracker and strcmp() was failing to notice ignored paths when checking against the config. * src/libtracker-common/tracker-type-utils.[ch]: * src/libtracker-db/tracker-db-manager.c: * src/tracker-indexer/modules/evolution.c: * src/tracker-indexer/tracker-indexer-db.c: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-metadata-utils.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-files.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-rdf-query.c: * src/trackerd/tracker-xesam-query.c: * tests/libtracker-common/tracker-type-utils-test.c: Changed all _{uint|int|long}_to_string() functions to rename them to _{guint|gint|glong}_to_string, to remain consistent with other functions. Added tracker_gslist_copy_with_string_data() to copy a list of strings. Also, changed many functions that return if an input parameter is NULL to actually return the proper data type if plausible since sometimes you would want to return an empty string list from NULL (for example). * src/trackerd/tracker-crawler.c: Make sure each directory is checked against the NoWatchDirectoryRoots config option and that each directory prefixed with "." is checked against the config WatchDirectoryRoots and CrawlDirectoryRoots options to know if we should NOT ignore those locations (by default they are). The crawler was also very slow (taking ~68 seconds to crawl my 130k files, so the throttle was decreased from 100 usecs to 25 usecs with the same CPU utilisation making the crawl take ~12 seconds instead). * src/trackerd/tracker-processor.c: Make sure we check the NoWatchDirectoryRoots config before blindly adding roots to be checked to the crawler. Also print out what we are ignoring so we know why some things might not be crawled/watched. 2008-08-19 Carlos Garnacho * src/libtracker-common/tracker-os-dependant-unix.c: * src/libtracker-common/tracker-os-dependant-win.c: * src/libtracker-common/tracker-os-dependant.h (tracker_spawn_async_with_channels): Added function. * src/tracker-extract/tracker-extract.c: Modified to read queried files from stdin and stay alive until it has stopped being asked for metadata. According to sysprof, tracker-metadata spent a long time in initialization due to being respawned once and again. * src/tracker-indexer/tracker-metadata-utils.c: Modified to send filename/mimetype pairs to the extractor through a pipe and keep track of the extractor state. 2008-08-19 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (get_mbox_attachment_uri): Also remove ".sbd" from the mbox uris here. * src7tracker-indexer/tracker-indexer.c (struct TrackerIndexerPrivate): pack booleans into guints. (handle_metadata_add): Actually return a boolean if checks fail. 2008-08-19 Martyn Russell * src/libtracker-common/tracker-config.c: Cleaned up a few things. 2008-08-19 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (indexer_update_word): Print error+cause if any insertion to the index fails. * src/tracker-indexer/tracker-indexer.c (create_update_item): Remove useless message, since there's already a similar one previous to it. 2008-08-18 Martyn Russell * Makefile.decl: * tracker.spec: * README: * configure.ac: * acinclude.m4: * libtracker-gtk.pc.in: Fixed some trailing whitespace issues. 2008-08-18 Martyn Russell * src/trackerd/tracker-daemon.c: Use TrackerDaemonPrivate not Priv. * src/trackerd/tracker-db.c: Removed commented out code. * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-files.[ch]: Use the processor for the org.freedesktop.Tracker.Files.{Create|Delete} interfaces so we make use of the processor's queues and do things all one way. This includes checking ignore lists, etc. * src/trackerd/tracker-keywords.c: Use TrackerKeywordsPrivate not Priv. * src/trackerd/tracker-processor.[ch]: Add public functions to check/update/delete files. This simply makes the functions we already have public which send files to the indexer to check/update/delete. * src/trackerd/tracker-search.c: Use TrackerSearchPrivate not Priv. 2008-08-18 Mikael Ottela * src/trackerd/tracker-rdf-query.c: Minor bug fix to rdf-queries. 2008-08-18 Carlos Garnacho * src/tracker-indexer/tracker-indexer-module.[ch]: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-module.h: Move the module_name parameter from TrackerFile to PathInfo, such information is internal to the indexer, and modules shouldn't have to care about their own name. 2008-08-18 Carlos Garnacho * src/tracker-indexer/tracker-indexer-module.c (tracker_indexer_module_file_get_uri): Set dirname/basename to NULL if the function is going to return FALSE. * src/tracker-indexer/tracker-indexer.c (create_update_item): Check that the module could get the URI for the element being processed. 2008-08-18 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (get_mail_storage_type_from_path): Ignore "Sent" folders. (get_mbox_uri): Remove ".sbd" from directory names, Evolution won't recognize that. 2008-8-18 Mikael Ottela * src/trackerd/tracker-search.c: * src/trackerd/tracker-search.h: * src/trackerd/tracker-rdf-query.c: * src/trackerd/tracker-rdf-query.h: * src/libtracker/tracker.h: * src/libtracker/tracker.c: * data/dbus/tracker-search.xml: Added sorting fields to rdf-queries. Fixed some problems with error reporting. * src/trackerd/tracker-metadata.c: Fixed limit and offset in unique values queries. 2008-08-18 Philip Van Hoof * src/libtracker-db/tracker-db-index.c: Added a FIXME comment * ChangeLog: changed my E-mail address 2008-08-18 Martyn Russell * src/libtracker-common/tracker-ontology.c: * src/libtracker-common/tracker-type-utils.c: * src/libtracker-db/tracker-db-file-info.c: * src/libtracker-db/tracker-db-manager.c: * src/libtracker-gtk/tracker-metadata-tile.c: * src/tracker-extract/tracker-extract-html.c: * src/tracker-extract/tracker-extract-jpeg.c: * src/tracker-extract/tracker-extract-mp3.c: * src/tracker-extract/tracker-extract.[ch]: * src/tracker-indexer/modules/evolution.c: * src/tracker-indexer/modules/files.c: * src/tracker-indexer/modules/gaim-conversations.c: * src/tracker-indexer/tracker-indexer-db.c: * src/tracker-search-tool/tracker-search-tool-callbacks.c: * src/tracker-search-tool/tracker-search-tool-support.c: * src/tracker-search-tool/tracker-search-tool.c: * src/tracker-thumbnailer/tracker-thumbnailer.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-monitor.c: * src/trackerd/tracker-search.c: * tests/common/Makefile.am: * tests/common/tracker-test-helpers.[ch]: * tests/libtracker-common/tracker-file-utils-test.c: * tests/libtracker-common/tracker-ontology-test.c: * tests/libtracker-common/tracker-parser-test.c: * tests/libtracker-db/tracker-index-writer-test.c: * utils/qdbm/print-words.c: * utils/qdbm/search-word.c: Added -Wmissing-declarations -Wmissing-prototypes -Wunused warnings to the CFLAGS when using --enable-warnings. These files all had incorrect declarations or unused code which has been removed. 2008-08-18 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (handle_metadata_add): Correct check for GError. 2008-08-18 Carlos Garnacho * src/tracker-indexer/modules/files.c (get_file_content): Plug a leak. 2008-08-18 Carlos Garnacho * src/tracker-indexer/tracker-main.c: Unref the indexer before any manager it could make use of is shutdown. Also, ensure we disable the log handler after any other thing, so we catch any possible warning. 2008-08-18 Martyn Russell * configure.ac: Add more warnings when they are enabled and clean up the summary of the configure script. 2008-08-18 Martyn Russell * configure.ac: * src/libtracker-common/Makefile.am: * src/libtracker-db/Makefile.am: * src/libtracker/Makefile.am: * src/tracker-indexer/Makefile.am: * src/tracker-indexer/modules/Makefile.am: * src/tracker-utils/Makefile.am: * src/trackerd/Makefile.am: * tests/libtracker-common/Makefile.am: * tests/libtracker-db/Makefile.am: * tests/trackerd/Makefile.am: * tests/trackerd/xesam/Makefile.am: * utils/qdbm/Makefile.am: Don't use -g in every Makefile.am, it is added to CFLAGS with --enable-debug-code. Changed the CFLAGS to include -O0 too. 2008-08-18 Martyn Russell * src/trackerd/tracker-status.c: (tracker_status_signal): Incorrect state sent in status signal about pausing on battery. 2008-08-18 Martyn Russell * data/modules/files.module: Remove $HOME from the files module. It is not needed since it is in the user config already and it means users would have to change two places, IF they could change /usr/share at all anyway. * src/libtracker-common/tracker-utils.c: (tracker_throttle): If throttle is 0, don't return, always have a minimum of 5 for throttle added to whatever the config throttle value is. If we don't want to throttle, don't call the throttle function. * src/trackerd/tracker-crawler.c: (file_enumerate_children), (prune_none_existing_paths), (tracker_crawler_start): * src/trackerd/tracker-processor.c: (process_module_files_add_legacy_options): Make sure that the legacy config option WatchDirectoryRoots ALSO crawls the file system, not just adds monitors. Plus check that we don't try to recurse non-existing paths when we start for paths NOT in the module config. Module config paths were already checked. 2008-08-14 Mikael Ottela * src/tracker-extract/tracker-extract-tiff.c: (tracker_extract_tiff): Restored variables used conditionally by XMP extraction, previously removed because of compiler warnings. 2008-08-14 Martyn Russell * src/tracker-indexer/modules/files.c: Don't just use g_file_get_contents() because some files might be quite big. Instead only get the maximum size we would normally index for each file which is "Text" or a "Development" file. 2008-08-14 Carlos Garnacho Add FileMove DBus method to tracker-indexer. * data/dbus/tracker-indexer.xml: Define new method. * data/sqlite-stored-procs.sql: Add MoveService and MoveServiceChildren, stored procedures that actually switch paths in the DB. * src/libtracker-common/tracker-utils.[ch] (tracker_string_replace): Misc fix, that function should take const strings. * src/libtracker-db/tracker-db-manager.c (function_replace): Add a SQL function to replace a substring with other. * src/tracker-indexer/tracker-indexer-db.[ch] (tracker_db_move_service): * src/tracker-indexer/tracker-indexer.[ch] (tracker_indexer_file_move): Implement moving files in tracker-indexer. 2008-08-14 Martyn Russell * src/libtracker-common/tracker-parser.[ch]: Fixed the way we handle memory with the hash words table here. We now also don't create the index word in memory before checking if we are filtering words and if it is a stop word only to then free it again which we were doing. * src/libtracker-db/tracker-db-index.c: (tracker_db_index_flush): If the index is not open when we try to flush, try and open it first. * src/tracker-extract/tracker-extract-tiff.c: (tracker_extract_tiff): * tests/libtracker-db/tracker-db-dbus-test.c: (test_dbus_query_result_to_ptr_array): Fixed compiler warnings. * src/tracker-indexer/tracker-indexer.c: Fixed a nasty crash I introduced last commit and clean up the merge function for words tables. Plus make sure we free basename and dirname in delete_item(), this was quite a leak. * src/tracker-utils/tracker-files.c: (main): Fixed printing a %d as a %s. * src/trackerd/tracker-db.c: (update_metadata_index): * tests/libtracker-common/tracker-parser-test.c: Use g_hash_table_unref() instead of the custom function we had for the parser for freeing hash tables. * src/trackerd/tracker-processor.c: (tracker_processor_stop): Fixed a warning where the trackerd would stop before it started processing (due to Ctrl+C) and the private->timer was NULL, so using it caused warnings. 2008-08-14 Martyn Russell * src/libtracker-common/Makefile.am: * src/tracker-indexer/Makefile.am: * src/tracker-indexer/modules/Makefile.am: Include -g so we get debugging symbols to use in gdb. * src/libtracker-common/tracker-language.[ch]: Change the _get_stem_word() API to return a const gchar*. * src/libtracker-common/tracker-ontology.c: (tracker_ontology_shutdown): Use g_hash_table_unref() instead of _destroy() in case the table is referenced somewhere else. * src/libtracker-common/tracker-parser.c: Use const strings from tracker_language_get_stem_word() instead of dups and modularise the code a bit more to make it clearer what is going. * src/tracker-indexer/modules/files.c: (tracker_module_file_get_text): Dont't use g_mapped_file_get_contents() with g_strdup() since the first call can return a NON-NULL-terminated string. Instead use g_file_get_contents(). We might want to improve this by using GIO functions later. * src/tracker-indexer/tracker-dbus.c: Fix compiler warning. * src/tracker-indexer/tracker-indexer-db.c: * src/tracker-indexer/tracker-indexer.c: Cleaned up the code, removed unnecessary parenthesis and casting. * src/tracker-indexer/tracker-indexer-module.c: (tracker_indexer_module_file_get_uri): If either basename or dirname pointers are NULL, make sure we free either one when they are. * src/tracker-indexer/tracker-indexer.c: Fixed a nasty memory leak in create_update_item() when calling tracker_db_get_text() and tracker_indexer_module_file_get_text() we now free the return values. Other memory improvements made here, like using the GHashTableIter instead of getting all keys and going through the list for after parsing text in send_text_to_index(). * src/tracker-indexer/tracker-main.c: (main): Actually call the shutdown functions for dbus, log and db_index_manager. Now objects should all finalize properly. * src/tracker-utils/tracker-meta-folder.c: Refactored and made to use GOption now. * src/tracker-utils/tracker-files.c: * src/tracker-utils/tracker-search.c: * src/tracker-utils/tracker-tag.c: * src/tracker-utils/tracker-unique.c: Improved print formatting and don't use warnings for errors reported to us from DBus about the Tracker service. 2008-08-13 Mikael Ottela * thumbnailers/image/Makefile.am: * thumbnailers/image/hildon: * thumbnailers/image/hildon/jpeg_thumbnailer: * thumbnailers/image/hildon/gif_thumbnailer: * thumbnailers/image/hildon/tiff_thumbnailer: * thumbnailers/image/hildon/png_thumbnailer: Added hildon-thumbnail based thumbnailer scripts for images. 2008-08-12 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (get_metadata_for_imap): Do not perform any extra processing than just reading over mail when the message is junk/deleted. 2008-08-13 Mikael Ottela * src/tracker-extract/tracker-extract-jpeg.c: * src/tracker-extract/Makefile.am: * src/tracker-extract/tracker-extract-tiff.c: * src/tracker-extract/tracker-xmp.c: * configure.ac: Extractors for jpeg and tiff added (EXIF and XMP). Old exif-extractor replaced. 2008-08-12 Carlos Garnacho * src/libtracker-common/tracker-parser.c (tracker_parser_text_to_string): Check we're dealing with sane UTF8. * src/tracker-indexer/tracker-indexer.c (index_metadata_item): Handle the case where tracker_parser_text_to_string() returns NULL. (delete_item) (create_update_item): Add debug messages that give a better clue about what is it doing at that moment. (process_file): Remove debug message from here. 2008-08-13 Martyn Russell * src/trackerd/tracker-status.c: (tracker_status_signal): If we are told to signal but there is no TrackerDaemon object created yet, don't error, instead drop the signal request. This occurs when we start up the daemon with a reindex or first time index. 2008-08-13 Martyn Russell * src/tracker-utils/Makefile.am: Added GLib and GIO to the CFLAGS and LDFLAGS. * src/tracker-utils/tracker-tag.c: Refactored, fixed bugs, etc. 2008-08-13 Martyn Russell * src/tracker-utils/tracker-query.c: (get_meta_table_data): * src/tracker-utils/tracker-search.c: (get_meta_table_data): * src/tracker-utils/tracker-unique.c: (get_meta_table_data): Fix for these implementations. 2008-08-13 Martyn Russell * src/tracker-utils/tracker-files.c: * src/tracker-utils/tracker-query.c: * src/tracker-utils/tracker-search.c: * src/tracker-utils/tracker-stats.c: * src/tracker-utils/tracker-status.c: * src/tracker-utils/tracker-tag.c: * src/tracker-utils/tracker-unique.c: Fixed some of the printing where \n was omitted. Also fixed the includes for the Win32 compatibility. 2008-08-12 Martyn Russell * src/trackerd/tracker-main.c: (main): Now shutdown the indexer when we shutdown. 2008-08-12 Martyn Russell * src/tracker-utils/tracker-query.c: * src/tracker-utils/tracker-search.c: * src/tracker-utils/tracker-unique.c: Fixed a memory leak. * src/tracker-utils/tracker-stats.c: Clean up. 2008-08-12 Martyn Russell * src/tracker-utils/tracker-files.c: * src/tracker-utils/tracker-meta-folder.c: * src/tracker-utils/tracker-query.c: * src/tracker-utils/tracker-search.c: * src/tracker-utils/tracker-stats.c: * src/tracker-utils/tracker-status.c: * src/tracker-utils/tracker-tag.c: Fix the tracker.h include to omit the "src/" part since we set up the include path in the CFLAGS. * src/tracker-utils/tracker-unique.c: Clean up. 2008-08-12 Carlos Garnacho * src/tracker-utils/tracker-files.c: * src/tracker-utils/tracker-meta-folder.c: * src/tracker-utils/tracker-query.c: * src/tracker-utils/tracker-search.c: * src/tracker-utils/tracker-stats.c: * src/tracker-utils/tracker-status.c: * src/tracker-utils/tracker-tag.c: Include correctly tracker.h. 2008-08-12 Martyn Russell * src/tracker-utils/Makefile.am: Added. * src/tracker-utils/tracker-files.c: * src/tracker-utils/tracker-query.c: * src/tracker-utils/tracker-search.c: * src/tracker-utils/tracker-status.c: Clean up these examples. More importantly make it show the help if the wrong parameters are used or none at all. 2008-08-12 Ivan Frade * src/tracker-indexer/tracker-indexer.c: Added differential indexing of text contents when a file is updated. 2008-08-12 Ivan Frade * tests/libtracker-db/Makefile.am: Commented out some tests that need to run with an script. This fixes make distcheck. 2008-08-12 Carlos Garnacho * src/libtracker-db/tracker-db-indexer.c (indexer_update_word): Behave nicely with 1-2 elements arrays. Use the correct array index when doing operations on the element at hand. 2008-08-12 Martyn Russell * configure.ac: * src/Makefile.am: * src/libtracker/Makefile.am: * src/libtracker/tracker-files.c: * src/libtracker/tracker-get-meta-for-folder.c: * src/libtracker/tracker-query.c: * src/libtracker/tracker-search.c: * src/libtracker/tracker-stats.c: * src/libtracker/tracker-status.c: * src/libtracker/tracker-tag.c: * src/libtracker/tracker-unique.c: * src/tracker-utils/tracker-files.c: * src/tracker-utils/tracker-query.c: * src/tracker-utils/tracker-search.c: * src/tracker-utils/tracker-stats.c: * src/tracker-utils/tracker-status.c: * src/tracker-utils/tracker-tag.c: Moved all utilities to a tracker-utils folder instead of mixing them up with the libtracker library. 2008-08-12 Carlos Garnacho * src/trackerd/tracker-dbus.c (indexer_continue_async_cb): Make error message more helpful. 2008-08-12 Carlos Garnacho * data/dbus/tracker-indexer.xml: Add Shutdown method. * src/tracker-indexer/tracker-indexer.[ch] (tracker_indexer_stop) (tracker_indexer_shutdown): Added internal and DBus method. Also added a gboolean parameter to ::finished so we know whether the indexing was interrupted. * src/tracker-indexer/tracker-marshal.list: modify marshaller for ::finished. * src/tracker-indexer/tracker-main.c (indexer_finished_cb): Quit immediately if the indexing was interrupted. * src/tracker-indexer/tracker-dbus.c (name_owner_changed_cb) (dbus_register_object): Listen for changes in the daemon service ownership. If the daemon dissapears, shut down the indexer. 2008-08-12 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c: Change flushing parameters so it's not done that often. Ensure the number of elements left to process is reset to 0 after each flush. (process_directory): Do not get into hidden files/dirs. 2008-08-12 Carlos Garnacho * src/libtracker-db/tracker-db-index.c (indexer_update_word): Improve performance CPU-wise when inserting words into the index. Perform binary searches on previous hits, since insertions are guaranteed to be ordered. Shift array over deleted values with g_memmove(). 2008-08-12 Ivan Frade * src/trackerd/tracker-keywords.c: Propagating errors coming from the indexer, instead overwrite them in the daemon. 2008-08-12 Martyn Russell * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-dbus.c: Don't resume indexing after the dbus request without checking if we are manually paused or paused for IO first. * src/trackerd/tracker-monitor.c: Make sure we pause when we get monitor events from the system. * src/trackerd/tracker-crawler.c: * src/trackerd/tracker-processor.c: Don't send ANYTHING to the indexer or crawl any files while paused from IO as well as manually. * src/trackerd/tracker-status.c: Make sure we send the right state up to the applet about being paused from IO and for being on battery. 2008-08-12 Martyn Russell * src/trackerd/tracker-main.c: Use GStaticPrivate for the private data here and make sure we tell the processor to stop now when we are given the shutdown signal. 2008-08-12 Martyn Russell * src/trackerd/tracker-main.c: (initialize_databases), (main): Fixed some errors in the last commit. 2008-08-12 Martyn Russell * src/trackerd/tracker-crawler.c: * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-main.[ch]: * src/trackerd/tracker-processor.c: * src/trackerd/tracker-status.[ch]: Hold all valuable states in the status module, like is_readonly, is_first_time_index, is_running, etc. 2008-08-12 Ivan Frade * src/libtracker-db/tracker-db-index (tracker_db_index_flush): It is not necessary to close and open the index after flush. 2008-08-11 Ivan Frade * src/libtracker/tracker-unique.c: Added new file. 2008-08-11 Ivan Frade New methods GetSum, GetCount, GetUniqueValues. Patch by Mikael Ottela. * data/dbus/tracker-metadata.xml * src/trackerd/tracker-metadata.[ch] * src/trackerd/tracker-rdf-query.[ch]: Daemon side implementation. * src/libtracker/Makefile.am * src/libtracker/tracker.[ch]: Added methods in the library and created a tracker-unique program. 2008-08-11 Ivan Frade * src/libtracker-db/tracker-db-dbus.c (tracker_dbus_query_result_to_ptr_array): Fixed memory leak and handle NULL content in a column. * tests/libtracker-db/tracker-db-dbus-test.c: Added tests for tracker_dbus_query_result_to_ptr_array 2008-08-11 Martyn Russell * src/trackerd/tracker-monitor.c: (tracker_monitor_init), (monitor_event_cb): Improve the last commit so we use the _CHANGED event for FAM only because it is dumb and doesn't allow GIO to signal _CHANGES_DONE. 2008-08-11 Martyn Russell * src/trackerd/tracker-monitor.c: (monitor_event_cb): Don't signal files to be reindexed on the _CHANGED event. Only on CHANGES_DONE which is for WRITE_CLOSE events. 2008-08-08 Martyn Russell * src/libstemmer/Makefile.am: * src/trackerd/Makefile.am: * src/tracker-indexer/Makefile.am: * tests/libtracker-common/Makefile.am: Renamed .la to just libstemmer from libstemmer-private. * src/libtracker-common/Makefile.am: Added libstemmer to the .la files we need so the tests don't fail to build. * src/libtracker-common/tracker-language.c: Fixed include path for libstemmer. * src/libtracker-common/tracker-utils.[ch]: * src/trackerd/tracker-crawler.c: * src/tracker-indexer/tracker-indexer.c: Added throttle function we use in the indexer to a common place for the daemon to use too. * src/trackerd/tracker-main.c: Add the throttle value to the sanity check for variables. 2008-08-08 Martyn Russell * src/trackerd/tracker-crawler.c: (process_func): Make sure we pause the crawling too when the user manually pauses. 2008-08-08 Martyn Russell * src/trackerd/tracker-crawler.c: (file_enumerate_next_cb), (file_enumerate_next): Now we get 100 files at a time from GIO instead of 1 at a time. This should reduce overheads when crawling the file system. Performance seems to be slightly better now too especially with the ioprio calls. 2008-08-08 Martyn Russell * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-ioprio.[ch]: * src/tracker-indexer/Makefile.am: * src/tracker-indexer/tracker-ioprio.[ch]: * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: (main): Moved tracker_ioprio_init() to libtracker-common and use it in the daemon. 2008-08-08 Martyn Russell * src/tracker-indexer/tracker-ioprio.[ch]: * src/tracker-indexer/tracker-main.c: Don't require #ifdefs around the ioprio init, do it in the module instead. 2008-08-08 Martyn Russell * configure.ac: Improved the check for ioprio. Patch by Laurent Aguerreche. 2008-08-07 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (get_metadata_for_imap): Ensure we parse the whole message if it was deleted/junk, so we keep parsing from the correct position for the next message. 2008-08-07 Ivan Frade * tests/libtracker-db/tracker-db-manager-test-attach.c: (test_always_same_iface_no_reindex): Removed. It was testing just an implementation detail. * tests/libtracker-db/tracker-index-reader-test.c * tests/libtracker-db/tracker-index-writer-test.c: Fixed namespace of the tests. 2008-08-07 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (check_disk_space_start) (check_disk_space_stop): New functions. (tracker_indexer_init): start the low disk check through these functions. (process_func): (tracker_indexer_set_running): Stop low disk check when the indexer finishes or is paused. (check_disk_space_cb): Pause the indexer if there's not enough disk space, but keep running the check. 2008-08-07 Ivan Frade * tests/trackerd/example.index * tests/trackerd/tracker-index-test.c * tests/trackerd/Makefile.am: Moved trackerd index tests to libtracker-db as tracker-index-reader-test * tests/tracker-indexer * tests/tracker-indexer/Makefile.am * tests/tracker-indexer/tracker-index-test.c: Moved tracker-indexer tests to libtracker-db as tracker-index-writer-test. They were the only test for tracker-indexer so we also remove the folder. * tests/libtracker-db/example.index * tests/libtracker-db/tracker-index-writer-test.c * tests/libtracker-db/Makefile.am * tests/libtracker-db/tracker-index-reader-test.c * tests/Makefile.am * configure.ac: The index code is now merged in libtracker-db, so we move the unit tests to libtracker-db. 2008-08-07 Ivan Frade * tests/trackerd/Makefile.am * tests/trackerd/tracker-index-test.c: Fixed tests and linked with new code. 2008-08-07 Martyn Russell * src/trackerd/tracker-main.c: (main): Fix the flag setting here. 2008-08-07 Martyn Russell * src/trackerd/tracker-main.c: (main): Make sure we open the db index in READONLY mode not READ/WRITE. 2008-08-07 Martyn Russell * src/libtracker-db/Makefile.am: Make sure we compile with debug symbols for gdb. * src/libtracker-db/tracker-db-index.c: (tracker_db_index_open): Don't set priv->reload incorrectly, this meant we wouldn't get stats because we thought we couldn't open the file. This means t-s-t is now working again. * src/trackerd/tracker-query-tree.c: Use TRACKER_IS_LANGUAGE for TrackerLanguage now it is a GObject. 2008-08-07 Martyn Russell * src/libtracker-db/tracker-db-index.c: Don't free the priv->filename before closing the index, causes weird debug messages which depend on that pointer. 2008-08-07 Martyn Russell * src/libtracker-db/tracker-db-index.c: Make sure we close the index after flushing it and then reopen it. * utils/qdbm/Makefile.am: Added -g to CFLAGS here so we have debug symbols. 2008-08-07 Ivan Frade * src/libtracker-db/tracker-db-index.c: Fixed min_bucket condition. It should be bigger than 0. * tests/tracker-indexer/tracker-index-test.c: Updated tests. 2008-08-07 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (tracker_indexer_set_running): Fix typo. Also try to flush the index before pausing. 2008-08-07 Martyn Russell * utils/qdbm/print-words.c: (main): * utils/qdbm/search-word.c: (main): Fixed printing help when args are broken. 2008-08-07 Martyn Russell * configure.ac: * tests/libtracker-common/tracker-type-utils-test.c: * tests/tracker-indexer/Makefile.am: * tests/tracker-indexer/tracker-index-test.c: Removed dirty hacks for testing the index API and cleaned up the code a little. * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-index-item.[ch]: * src/libtracker-db/Makefile.am: * src/libtracker-db/tracker-db-index-item.[ch]: * src/libtracker-db/tracker-db-index.[ch]: * src/tracker-indexer/tracker-indexer.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-query-tree.c: Renamed TrackerIndexItem to TrackerDBIndexItem and TrackerSearchHit to TrackerDBIndexItemRank. Also moved those both to libtracker-db from libtracker-common. * src/tracker-indexer/tracker-index.[ch]: Removed in favour of the libtracker-db version. * utils/qdbm/Makefile.am: * utils/qdbm/print-words.c: * utils/qdbm/search-word.c: Fixed tools. 2008-08-07 Martyn Russell * src/libtracker-common/tracker-index-item.h: Added TrackerSearchHit typedef here from the TrackerQueryTreeModule. * configure.ac: * src/libtracker-db/tracker-db-index-manager.[ch]: * src/libtracker-db/tracker-db-index.[ch]: * src/tracker-indexer/Makefile.am: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-db.[ch]: * src/trackerd/tracker-dbus.[ch]: * src/trackerd/tracker-keywords.c: * src/trackerd/tracker-main.[ch]: * src/trackerd/tracker-metadata.[ch]: * src/trackerd/tracker-processor.c: * src/trackerd/tracker-query-tree.[ch]: * src/trackerd/tracker-search.[ch]: * src/trackerd/tracker-xesam.[ch]: Moved tracker-index.[ch] in the daemon and indexer into libtracker-db/tracker-db-index.[ch] combining the APIs and code. * tests/trackerd/tracker-index-test.c: * tests/trackerd/Makefile.am: Disabled the index test, it is broken. * utils/qdbm/print-words.c: * utils/qdbm/search-word.c: Fixed warnings. 2008-08-06 Martyn Russell * src/libtracker-common/tracker-index-item.[ch]: * src/libtracker-db/Makefile.am: * src/libtracker-db/tracker-db-index-manager.[ch]: * src/libtracker-db/tracker-index-manager.[ch]: * src/trackerd/Makefile.am: * src/trackerd/tracker-index.[ch]: Moved tracker-index.[ch] from the trackerd directory to the libtracker-db library. 2008-08-06 Martyn Russell * src/libtracker-db/Makefile.am: * src/trackerd/Makefile.am: * src/trackerd/tracker-index-manager.c: * src/trackerd/tracker-index-manager.h: Moved index manager to the libtracker-db. 2008-08-06 Martyn Russell * src/trackerd/tracker-dbus.[ch]: * src/trackerd/tracker-index-manager.[ch]: * src/trackerd/tracker-main.c: * src/trackerd/tracker-processor.c: * src/trackerd/tracker-search.[ch]: Removed the email index since it is unused now. 2008-08-06 Carlos Garnacho * src/tracker-indexer/modules/evolution.c: Index IMAP attachments. 2008-08-06 Ivan Frade * src/trackerd/tracker-index.c: Using g_param_spec_boolean to set a boolean parameter. * tests/trackerd/tracker-index-test.c: Updated test. 2008-08-06 Ivan Frade * data/services/default.service: Set HasMetadata to False in Folder category. It is not necessary to call tracker-extractor for folders. 2008-08-06 Ivan Frade * src/trackerd/tracker-index-manager.c (tracker_index_manager_init): Dont force reindex if one file is missing. It was removing file-index.db every time we started trackerd. 2008-08-06 Martyn Russell * AUTHORS: Sorted the AUTHORS file alphabetically and added Me, Carlos, Ivan, Mikael and Phillip. 2008-08-05 Carlos Garnacho * src/tracker-indexer/tracker-module.h (tracker_module_file_get_service_type): * src/tracker-indexer/tracker-indexer-module.[ch] (tracker_indexer_module_file_get_service_type): Modify to receive a TrackerFile. * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/modules/dummy.c: * src/tracker-indexer/modules/files.c: Adapt to this change. * src/tracker-indexer/modules/evolution.c: Implement this method to get the correct service type for attachments. 2008-08-05 Ivan Frade * data/services/default.metadata: User:Keywords is not filtered. * src/tracker-indexer/tracker-indexer-db.[ch]: (tracker_db_get_property_values): Implemented new method to obtain the values of a property. Needed to unindex those values before remove the property. (tracker_db_set_metadata): Handle deletion of keyword properties without specified value (for instance, to remove all User:Keyword properties of a file. * src/tracker-indexer/tracker-indexer.c: Now takes into acount if the field has multiple values. Set a field with no-multiple values remove the old value and set the new one. * src/trackerd/tracker-keywords.c (tracker_keywords_remove_all): Implemented calling to the indexer directly, instead retrieving the old values from the DB and calling the indexer for each one. * src/trackerd/tracker-metadata.c (tracker_metadata_set_property): Removed useless service type check. 2008-08-05 Carlos Garnacho * src/tracker-indexer/modules/evolution.c: Add attachments indexing for mboxes. Now the module iterates through messages, and through the contained identifiable mime parts (if any). 2008-08-05 Carlos Garnacho * src/tracker-indexer/Makefile.am: * src/tracker-indexer/tracker-metadata-utils.[ch]: Added files, generic utility functions for extracting metadata from a file. * src/tracker-indexer/modules/files.c: Use these functions to get metadata from files. 2008-08-05 Ivan Frade * src/libtracker-db/tracker-db-dbus.[ch]: Added new method (tracker_dbus_result_set_numeric_to_strv) needed to retrieve data from the numeric metadata table. 2008-08-05 Martyn Russell * src/trackerd/tracker-processor.c: Don't send items to the indexer if we are manually paused. This was caused by receiving monitor events and just blindly sending them without checking if we should or not. 2008-08-05 Martyn Russell * src/tracker-indexer/tracker-main.c: Make sure we don't just exit when we have processed items. ALWAYS wait at least 10 seconds before quitting after EVERY "finished" signal. The indexer was being started/stopped constantly for small monitor event groups. Now it runs constantly. * src/trackerd/tracker-monitor.c: Make some of the logging debug level so we don't spam the console so much. * src/trackerd/tracker-processor.c: Set state as indexing in the queue handler callback. 2008-08-05 Martyn Russell * src/trackerd/tracker-monitor.[ch]: Add property to enable and disable monitor events from being processed. * src/trackerd/tracker-processor.c: Make sure we disable monitor events while crawling the file system and enable then once done. This way we can't get monitor events causing the daemon to signal "indexing" state up before we have finished processing each module for crawling. Also, when we start processing new files from monitor events, put us into "indexing" state instead of staying "idle". 2008-08-05 Martyn Russell * src/trackerd/tracker-crawler.c: (tracker_crawler_is_path_ignored): Add to the comment in this function so people know why we have an internal function and an external function doing the same thing. * src/trackerd/tracker-monitor.c: * src/trackerd/tracker-processor.[ch]: Changed the way we get *Private data in these modules so we don't do type checking on the GObjects for every function just to get the private struct. This should improve speed slightly. This is exactly what the crawler does. 2008-08-05 Martyn Russell * src/tracker-indexer/modules/evolution.c: Use g_try_malloc0 instead of just g_malloc0 so we don't try to allocate rediculous lengths of memory and abort. Also, if we can't parse the file, we now return NULL metadata and continue as usual. * src/tracker-indexer/tracker-indexer.c: Improved messaging. 2008-08-04 Ivan Frade * src/tracker-indexer/tracker-indexer.c: Using GError in the metadata handlers to report proper error to the daemon. 2008-08-04 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (delete_item): Do not try to delete items that don't exist in the database. 2008-08-04 Ivan Frade * src/libtracker-common/tracker-dbus.c (tracker_dbus_request_failed): If the format of the message is null and the error is set, we log the existing message. This allows tracker to log the errors coming from the indexer. * tests/libtracker-common/tracker-dbus-test.c: Unit test to the implementation. 2008-08-04 Ivan Frade * src/trackerd/tracker-metadata.c: Now uses the indexer to write metadata in the database. * src/trackerd/tracker-db.[ch] (tracker_db_metadata_get_array): Added this new method moving code from tracker-metadata. Removed old commented code. 2008-08-04 Ivan Frade * data/services/audio.metadata: The embedded properties cannot be written by the user. Marked "PlayCount" and "Last play date" as not embedded. 2008-08-04 Ivan Frade * src/libtracker-common/tracker-type-utils.[ch] (tracker_string_to_string_list): new helper function. 2008-08-04 Martyn Russell * src/trackerd/tracker-monitor.c: Added black listing. This works slightly differently to TRUNK. Files are given a black list count for the number of times an event is seen. If a file gets an event more than 5 times they are black listed for 30 seconds, after that time the item is taken off the black list and the indexer is prompted to reindex the file. The 30 second period has to be completely clear of events for that file during that time. If an event occurs in the mean time, the timestamp is reset. 2008-08-04 Martyn Russell * src/trackerd/tracker-crawler.[ch]: * src/trackerd/tracker-processor.c: Removed TrackerHal dependency, it is unused in this module now. 2008-08-04 Ivan Frade * src/tracker-indexer/tracker-indexer-module.[ch] (tracker_indexer_module_file_get_service_type): Call the function tracker_module_file_get_service_type in the module. If this function doesnt exist, use the module name as service type of the uri. * src/tracker-indexer/tracker-indexer.c * src/tracker-indexer/tracker-module.h * src/tracker-indexer/modules/dummy.c * src/tracker-indexer/modules/files.c (tracker_module_file_get_service_type): New function to obtain the service type of an uri. Implementation in the files module and explanation in "dummy" module. 2008-08-04 Martyn Russell * src/trackerd/tracker-crawler.[ch]: Make the is_path_ignored() function we used internally available externally as an API for the processor to call when we get new monitor events. This is to make sure we don't monitor files newly created just because they are in some directory. They too adhear to the filtering. * src/trackerd/tracker-daemon.c: Fixed referencing so we now actually finalize the daemon and the processor modules. * src/trackerd/tracker-marshal.list: * src/trackerd/tracker-monitor.c: Added "is_directory" boolean to monitor events. * src/trackerd/tracker-processor.c: Now we create a TrackerCrawler for each module and we don't clean them up after the module is processed, we keep them around for the duration of the daemon's life. The reason being, we need to make sure we can call on the crawler for monitor event path filtering. 2008-08-04 Ivan Frade Reverted previous commit. 2008-08-04 Ivan Frade * src/trackerd/Makefile.am * src/trackerd/tracker-index-searcher.[ch]: Added * src/trackerd/tracker-query-tree.[ch]: Removed * src/trackerd/tracker-index.c * src/trackerd/tracker-search.c * src/trackerd/tracker-xesam.c * src/trackerd/tracker-db.c: Renamed tracker-query-tree to tracker-index-searcher 2008-08-01 Ivan Frade * src/trackerd/tracker-keywords.c: Use sync calls to the indexer. Tracker-search-tool query for the tags just after setting them. 2008-08-01 Carlos Garnacho * src/tracker-indexer/tracker-indexer.[ch]: * src/tracker-indexer/tracker-main.c: Add check for low disk space, which pauses the indexer when it detects the available space at the home partition is below some configurable threshold. 2008-08-01 Ivan Frade * src/tracker-indexer/tracker-indexer.c: (tracker_indexer_property_remove) (tracker_indexer_property_add): Return a dbus error if something fails. 2008-08-01 Carlos Garnacho Make tracker-indexer delete items if the module returns NULL metadata, instead of getting requests from tracker. This is necessary to delete mails and contents of other container files. * src/tracker-indexer/tracker-module.h (tracker_module_file_get_uri): New method for modules to optionally implement. It will return dirname/basename for the current item. * src/tracker-indexer/tracker-indexer-module.[ch] (tracker_indexer_module_file_get_uri): Added wrapping method. * src/tracker-indexer/tracker-indexer.c: Do not pass the ItemAction around, instead take the decision based on whether the module returns metadata or not for the current item. Use new module API to know the item URI, instead of looking it up in the metadata. * src/tracker-indexer/tracker-indexer-db.[ch] (tracker_db_get_service_type) (tracker_db_create_service) (tracker_db_check_service): Modify API to pass directly the dirname/basename. * src/tracker-indexer/modules/dummy.c: * src/tracker-indexer/modules/files.c: * src/tracker-indexer/modules/evolution.c: Implement new method where necessary, also return NULL metadata if the item doesn't exist, was deleted, etc... 2008-08-01 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c: Mere whitespace/formatting fixes. 2008-08-01 Ivan Frade * src/tracker-indexer/tracker-indexer-db.c: (tracker_db_delete_metadata): It is neccesary to specify the value to remove a keyword property. * src/trackerd/tracker-keywords.c: Use the indexer to set and remove tags 2008-07-31 Ivan Frade * data/dbus/tracker-indexer.xml * src/tracker-indexer/tracker-indexer-db.[ch] * src/tracker-indexer/tracker-indexer.[ch]: New methods ("PropertySet" and "PropertyRemove") in tracker-indexer. 2008-07-31 Ivan Frade * src/tracker-indexer/tracker-index.c * tests/tracker-indexer/tracker-index-test.c: When we added and removed a word before indexing, the word was saved with score 0 (and it is wrong). Test and fix. 2008-07-31 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c: Add back some leak fixes, and fix some trailing whitespaces. 2008-07-31 Ivan Frade * src/trackerd/tracker-processor.c: (crawler_processing_directory_cb): Send the folders as regular file to the indexer. 2008-07-31 Ivan Frade * data/sqlite-stored-procs.sql * src/tracker-indexer/tracker-indexer-db.[ch] * src/tracker-indexer/tracker-indexer.c: Added deletion superpowers to the indexer. 2008-07-31 Ivan Frade * tests/libtracker-common/tracker-parser-test.c: Added test to tracker_parser_text_fast 2008-07-31 Ivan Frade * utils/qdbm/Makefile.am * utils/qdbm/print-words.c * src/libtracker-common/tracker-index-item.[ch] * src/libtracker-common/tracker-index-item.h: (tracker_index_item_get_id): New method to access id. Using the common tracker-index-item instead a local copy in the utility program. 2008-07-30 Carlos Garnacho * src/libtracker-common/tracker-utils.c (tracker_seconds_to_string): * src/tracker-indexer/tracker-indexer.c (index_text_contents) (process_file): Plug a few leaks. 2008-07-30 Carlos Garnacho * src/tracker-indexer/tracker-metadata.[ch]: Make it accept just strings and lists of strings at the moment, strings are anyways needed to insert values through stored DB procedures, and there are some metadata types that will be difficult to store in a generic way. Since this API will be used from third party code, any failure in there will be quite hard to debug if we use a generic API, (it will probably crash inside tracker-indexer code, making things harder). By using strings we guarantee that at least sloppy third party module developers will get compiler warnings, which is safer. * src/tracker-indexer/tracker-indexer.c (index_metadata_item): Adapt to API change. * src/tracker-indexer/modules/files.c (tracker_metadata_get_embedded): Remove unnecessary check. 2008-07-30 Carlos Garnacho * data/services/audio.metadata: Genre and Performer shouldn't have multiple values. 2008-07-30 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (process_func): Reset the number of processed items after committing a transaction. 2008-07-29 Ivan Frade * tests/libtracker-common/tracker-file-utils-test.c * src/libtracker-common/tracker-file-utils.c: Set correct mime type to directories. * data/services/default.service: Lined x-directory/ mime with Folders category. * tests/libtracker-common/tracker-ontology-test.c: Test for the previous fix. 2008-07-29 Carlos Garnacho * src/libtracker-common/tracker-ontology.c (tracker_ontology_metadata_key_in_service): Valid metadata keys start from number 1. * src/tracker-indexer/tracker-indexer-db.c (tracker_db_set_metadata): Store corresponding metadata into the Services table. 2008-07-29 Martyn Russell * src/trackerd/tracker-index-manager.[ch]: Rework the code here to initialize a bit more thoroughly and to print what is going on more clearly similar to how we do the db manager. Also make sure we remove indexes on reindex, not just temporary files. 2008-07-29 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (get_metadata_for_mbox) (get_imap_message_body) (get_metadata_for_imap): Index message body for both mbox and imap. 2008-07-29 Carlos Garnacho Support saving metadata with multiple items. * src/tracker-indexer/tracker-metadata.[ch]: Old code was removed, these files now contain a TrackerMetadata struct, which is used to store metadata, taking care of the type, whether it has multiple items, how data must be freed, ... * src/tracker-module.h: * src/tracker-indexer-module.[ch]: Adapt modules API to return a TrackerMetadata instead of a GHashTable for metadata. * src/tracker-indexer/tracker-indexer-db.c: Use TrackerMetadata API. Also support storing metadata with multiple values. * src/tracker-indexer/modules/*.c: Adapt to module API changes, also store metadata lists where appropriate (mimetypes/categories for applications, recipients for mail). 2008-07-28 Ivan Frade * src/tracker-search-tool/tracker-search-tool.c: (g_search_app_create): Remove hardcoding in the category -> service description hash table. This fixes the categories in tracker-search-tool. 2008-07-28 Ivan Frade * src/tracker-indexer/tracker-indexer.c: (index_text_contents): Added function to add the contents of the file into QDBM. 2008-07-28 Philip Van Hoof * src/trackerd/tracker-index-manager.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-index-manager.h: Removing the QDBM indexes in case of force-reindex 2008-07-28 Ivan Frade * src/libtracker-common/tracker-language.c: (tracker_language_stem_word): Return always a valid word, the input or the stemmed one. * src/libtracker-common/tracker-parser.c: (analyze_text): Added stop words checking * tests/libtracker-common/tracker-parser-test.c: Updated tests with stop words. 2008-07-28 Ivan Frade * src/libtracker-common/tracker-language.c: (tracker_language_new): Set stop words on creation. (language_get_stopword_filename): Build correct filename. (language_add_stopwords): Dont free contents of g_mapped_file * tests/libtracker-common/Makefile.am * tests/libtracker-common/tracker-parser-test.c: Added tests to tracker_parser_ 2008-07-28 Ivan Frade * tests/libtracker-common/tracker-ontology-test.c: (test_get_db_for_service): Updated to new default value. Used proper namespace for tests. * src/libtracker-common/tracker-parser.c: (tracker_parser_text): Fixed max words to index 2008-07-28 Philip Van Hoof * src/libtracker-db/tracker-db-manager.c: Added compress and uncompress functions for attached database connections 2008-07-28 Philip Van Hoof * src/trackerd/tracker-metadata.c: * src/libtracker-db/tracker-db-dbus.h: * src/libtracker-db/tracker-db-dbus.c: Make tracker_metadata_get return the columns as a GStrv, not the rows. This patch fixed tracker-search-tool's crash 2008-07-28 Carlos Garnacho * src/trackerd/tracker-crawler.c (file_enumerate_next_cb): Do not leak file infos and the enumerator. (tracker_crawler_start): Free remaining elements in the list. * src/trackerd/tracker-main.c (main): The index objects are owned by the index manager. Do not free them there. * src/trackerd/tracker-monitor.c (tracker_monitor_init): Do not leak the test monitor. 2008-07-28 Philip Van Hoof * utils/qdbm/print-words.c: Open the qdbm file in DP_ONOLCK mode, like the application itself does 2008-07-28 Philip Van Hoof * src/tracker-indexer/tracker-index.c: * src/tracker-indexer/tracker-index.h: * src/tracker-indexer/tracker-indexer.c: Open and close the QDBM file during pause and continue 2008-07-28 Carlos Garnacho * src/libtracker-common/tracker-config.c (config_load_string_list) (tracker_config_add_watch_directory_roots) (tracker_config_add_crawl_directory_roots) (tracker_config_add_no_watch_directory_roots): Plug some leaks. * src/libtracker-db/tracker-db-manager.c (db_get_static_data) (db_get_static_xesam_data): Same here. * src/tracker-indexer/modules/evolution.c (get_account_name_from_imap_uri): Do not try to parse the wrong mail URIs. * src/tracker-indexer/tracker-index.c (tracker_index_free): Fix invalid memory reads. * src/tracker-indexer/tracker-indexer (tracker_indexer_finalize): Fix invalid free(). 2008-07-25 Martyn Russell * src/libtracker-db/tracker-db-dbus.c: (tracker_dbus_query_result_to_ptr_array): Make sure we rewind result sets before trying to create GStrv, GPtrArray or GHashTable pointers from them. This means the tracker-search-tool now shows a list of categories with the indexed count next to them - still not sure why the content is not listed but the service types are all wrong. 2008-07-25 Martyn Russell * src/trackerd/tracker-db.c: Finding a dud hit is no longer a warning, just a regular message. * src/trackerd/tracker-index-manager.c: Reworked the way we get indexes so we remember them to avoid creating too many TrackerIndex objects. Also fixed a nasty bug here which was getting one for EVERY time the status callback was triggered by the indexer :O * src/trackerd/tracker-index.c: Cleaned up the code a bit and put some more locking in place. This is redundant for now since we don't have a multithreaded approach at the moment. 2008-07-25 Martyn Russell * tests/trackerd/Makefile.am: * tests/trackerd/tracker-index-test.c: (test_created_file_in_the_mean_time): Fixed compilation errors. 2008-07-25 Martyn Russell * src/trackerd/tracker-processor.c: (indexer_status_cb), (indexer_finished_cb): Call the index reload function when we get status updates from the indexer. * tests/trackerd/tracker-indexer-test.c: Renamed to reflect new TrackerIndex name. 2008-07-25 Martyn Russell * src/trackerd/tracker-db.[ch]: * src/trackerd/tracker-dbus.[ch]: * src/trackerd/tracker-index-manager.[ch]: * src/trackerd/tracker-index.[ch]: * src/trackerd/tracker-main.c: * src/trackerd/tracker-query-tree.[ch]: * src/trackerd/tracker-search.[ch]: Renamed TrackerIndexer->TrackerIndex, since it is the index not the indexer. 2008-07-25 Martyn Russell * configure.ac: * src/trackerd/Makefile.am: * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-db.h: * src/trackerd/tracker-dbus.h: * src/trackerd/tracker-index-manager.h: * src/trackerd/tracker-index.c: * src/trackerd/tracker-indexer.[ch]: * src/trackerd/tracker-keywords.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-metadata.[ch]: * src/trackerd/tracker-query-tree.h: * src/trackerd/tracker-search.[ch]: * src/trackerd/tracker-xesam.[ch]: Renamed tracker-indexer to tracker-index. 2008-07-25 Martyn Russell * src/trackerd/tracker-index-manager.[ch]: * src/trackerd/tracker-indexer.h: Code clean ups. 2008-07-25 Ivan Frade * src/trackerd/tracker-indexer.[ch]: Added "reload" capabilities to the indexer. * tests/trackerd/Makefile.am * tests/trackerd/tracker-indexer-test.c: Tests to the new functionality. This tests use GIO to copy a file. 2008-07-25 Philip Van Hoof * src/trackerd/tracker-dbus.c: Don't try to pause the indexer if it's not running 2008-07-25 Philip Van Hoof * src/libtracker/tracker-query.c * src/libtracker/tracker-search.c * src/libtracker/tracker-tag.c * src/libtracker/tracker-stats.c * src/libtracker/Makefile.am * src/libtracker/tracker-get-meta-for-folder.c * src/libtracker/tracker-files.c * src/libtracker/tracker-status.c: Various code improvements to the clients 2008-07-25 Martyn Russell * src/libtracker-common/tracker-hal.c: If we can't get the property for a device that no longer exists, then don't make that a critical, just set the device as unmounted and print a regular message. * src/trackerd/tracker-crawler.[ch]: Move the removable media path check to the processor since we should be filtering paths before the crawler even starts. Also, make it possible to crawl special locations set with the API instead of the module-config paths. * src/trackerd/tracker-monitor.c: (monitor_event_cb): On unmount, tell the indexer that the directories has gone. Not sure yet if the indexer will be clever enough to remove all files below it. * src/trackerd/tracker-processor.c: Handle removable media now. This work is working on a basic level, there are some issues still to be ironed out. 2008-07-24 Carlos Garnacho * data/modules/files.module: Remove service type, so the indexer uses file mimetype. 2008-07-24 Carlos Garnacho Store things in the correct DB based on the service type. * src/libtracker-common/tracker-ontology.c (tracker_ontology_get_db_for_service_type): Return TRACKER_DB_TYPE_FILES by default, as most of the services want to end up there. * src/libtracker-db/tracker-db-manager.[ch] (tracker_db_manager_get_db_interface_by_type): New function, returns a non-attached interface given the service type and the data content we want to deal with (contents/metadata). * src/tracker-indexer/tracker-indexer-db.[ch]: Pass the TrackerService instead of a TrackerDBInterface where it's relevant, so functions can guess the correct database based on it. * src/tracker-indexer/tracker-indexer.c: Adapt to API changes in tracker-indexer-db.[ch]. 2008-07-24 Martyn Russell * src/libtracker-common/tracker-config.[ch]: * src/trackerd/tracker-main.c: Make it possible to disable modules on the command line. 2008-07-24 Ivan Frade * src/tracker-extract/tracker-extract-mp3.c: Property names with ":" instead of ".". Fixed mime. Mp3 are audio/mpeg and not audio/mp3. 2008-07-24 Martyn Russell * src/trackerd/tracker-processor.c: Fixed some warnings. 2008-07-24 Ivan Frade * Makefile.am * configure.ac * utils/Makefile.am * utils/qdbm/Makefile.am: Using autotools to build helper programs. * utils/qdbm/Makefile: Removed. 2008-07-24 Martyn Russell * data/dbus/tracker-daemon.xml: * src/tracker-applet/tracker-applet.c: Signal how many items are done/remaining/total instead of files/folders. This is much more generic for whatever is being indexed. * src/trackerd/tracker-daemon.c: Don't set the daemon/indexer as "manually paused" if we get paused/continued state from the indexer, only set that when the user sets it using DBus. * src/trackerd/tracker-dbus.c: Don't synchronously continue the indexer, do it asynchronously. * src/trackerd/tracker-processor.c: When we get state from the indexer, signal it up the stack so the applet knows how many items have been indexed as we are doing it. This was completely forgotten about until now! * src/trackerd/tracker-main.c: * src/trackerd/tracker-status.[ch]: Initialize and shutdown the status module. The only reason for adding this is because we need TrackerConfig for some of the information we emit when we signal status. We now correctly signal if we are on battery or not and if we are paused for IO (i.e. if we are indexing or not). This is now correctly reflected in the tooltip in the applet. 2008-07-24 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c: Don't increase incorrectly the number of items processed. Also, split Files/Items processed count, so we get status signalling correctly, and we still flush when processing files with several items in it. 2008-07-24 Ivan Frade Small programs to show and search in the contests of QDBM file. Useful for testing. * utils/qdbm/Makefile * utils/qdbm/search-word.c: search a word in the QDBM file * utils/qdbm/print-words.c: print all words in the file and also their hits (pairs of service id and service type). 2008-07-23 Martyn Russell * src/libtracker-common/tracker-config.c: Don't leak from calling tracker_path_list_filter_duplicates(). * src/trackerd/tracker-crawler.[ch]: Don't just iterate the FIRST path in the list of paths and recurse paths, make sure we iterate 2,3,4,etc. too. Also make it possible to add paths to be iterated as a public API. * src/trackerd/tracker-monitor.[ch]: Put the module_name parameter before the GFile since that's how it is done everywhere else. * src/trackerd/tracker-processor.c: Implemented the old config option WatchDirectoryRoots and CrawlDirectoryRoots. 2008-07-23 Martyn Russell * src/libtracker-common/tracker-config.c: (config_dir_ensure_exists_and_return): Use file-utils functions instead of duplicating code here. Make sure we filter for duplicates no-watch-roots, watch-roots and crawl-roots. 2008-07-23 Carlos Garnacho Check that a service exists before inserting it again in the database. * src/tracker-indexer/tracker-indexer-db.[ch] (get_dirname_and_basename): New helper function. (tracker_db_check_service): New function, returns the ID for the service (if any). * src/tracker-indexer/tracker-indexer.c (process_file): Check that the service doesn't exist before trying to index it. 2008-07-23 Carlos Garnacho * src/tracker-indexer/modules/applications.c: * src/tracker-indexer/modules/evolution.c: * src/tracker-indexer/modules/files.c: * src/tracker-indexer/tracker-indexer.c: Revert the "use TrackerField as metadata keys" patch, it's incomplete at the moment and adds extra lookup overhead. Probably a TrackerMetadata simple object to collect data and do some caching would be the best option. 2008-07-23 Martyn Russell * data/dbus/tracker-indexer.xml: * src/tracker-indexer/tracker-indexer.[ch]: Changed _set_paused() API to have _pause(), _continue() and _pause_for_duration(). * src/libtracker-common/tracker-dbus.[ch]: * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-dbus.[ch]: * src/trackerd/tracker-files.c: * src/trackerd/tracker-keywords.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-search.c: * src/trackerd/tracker-xesam.c: Completely rework Phillip's patch to pause the indexer when daemon requests come in. Instead of littering the DBus code with pause/continue calls, we add a hook to the DBus request_new() and request_{success|failed)() functions so we know when a request starts and ends. We then simply pause the indexer and wait for at least 10 seconds of DBus request inactivity before allowing the indexer to continue as normal. * src/trackerd/tracker-main.c: Used the new _pause_for_duration() API when shutting down because sometimes the daemon has to wait because the indexer has the lock on the database. 2008-07-23 Martyn Russell * src/trackerd/tracker-main.c: (main): Call nice() to try and limit how much attention the daemon gets from the CPU. 2008-07-23 Martyn Russell * src/trackerd/tracker-main.c: (main), (tracker_shutdown): Make sure we signal when we shutdown and also if we are started in readonly mode make sure we set our status to IDLE. 2008-07-23 Martyn Russell * src/trackerd/tracker-crawler.c: * src/trackerd/tracker-monitor.c: Code clean ups. * src/trackerd/tracker-processor.c: Improved efficiency of the get queue function we use in each timeout to send files to the indexer. 2008-07-23 Martyn Russell * src/trackerd/tracker-crawler.c: * src/trackerd/tracker-marshal.list: * src/trackerd/tracker-monitor.c: * src/trackerd/tracker-processor.c: Don't create a gchar* for EVERY file we crawl just to move it from one queue to another, instead, just make the queue use GFile pointers and ref the one we are passed. This has halved the memory consumption of the daemon and speed things up. It also shouldn't hang while crawling now. 2008-07-23 Philip Van Hoof * src/trackerd/tracker-dbus.c: Style fixes * src/trackerd/tracker-xesam.c: Wrapped db related functions 2008-07-22 Ivan Frade * src/tracker-indexer/tracker-index.c: Use the new TrackerIndexItem instead old duplicate code. 2008-07-22 Philip Van Hoof * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-dbus.h: * src/trackerd/tracker-indexer.h: Moving some code around 2008-06-22 Ivan Frade * tests/trackerd/example.index: Small QDBM index to use in tests. * tests/trackerd/run-tests.sh (removed) * configure.ac: Create symbolic links in autoconf instead a bash script. 2008-07-22 Philip Van Hoof * src/tracker-indexer/tracker-indexer.c: * src/trackerd/tracker-search.c: * src/trackerd/tracker-keywords.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-utils.c: Wrapped all database access in the DBus implementations with two convenient functions. 2008-07-22 Ivan Frade * src/libtracker-common/Makefile.am * src/libtracker-common/tracker-index-item.[ch]: Common struct to write and read in the index. * src/trackerd/tracker-query-tree.c * tests/tracker-indexer/tracker-index-test.c: Updated to use the new index-item struct. * src/libtracker-db/tracker-db-manager.[ch]: (tracker_db_manager_are_db_too_big): Moved code here. It looks like nobody uses this function. * src/trackerd/Makefile.am * src/trackerd/tracker-index-manager.[ch]: New module to handle indexes and their directories. * src/trackerd/tracker-indexer.[ch] Refactored GObject representing one index. * src/trackerd/tracker-main.c: added _init and _shutdown to the new index manager. * tests/trackerd/Makefile.am * tests/trackerd/run-tests.sh: Script to compile the test for trackerd modules. Ugly but the only fast and easy solution. * tests/trackerd/tracker-indexer-test.c: Test for the new object 2008-07-22 Martyn Russell * data/dbus/tracker-indexer.xml: * src/tracker-indexer/tracker-indexer.c: Fixed HAL warning when it isn't compiled in. Fixed the indexer pausing so it works properly and has proper debugging so we know when it is called like all other DBus functions. * src/trackerd/tracker-daemon.c: Connected the "Paused" and "Continued" signals of the indexer so we know when to signal it up the stack. * src/trackerd/tracker-dbus.c: Add the prototypes for "Paused" and "Continued" for the indexer proxy. * src/trackerd/tracker-main.c: Removed some debugging which was duplicated when we changed state between paused/resumed. 2008-07-22 Philip Van Hoof * src/tracker-indexer/tracker-indexer.c: * src/libtracker-common/tracker-ontology.c: Fixed two major problems with r1898 2008-07-22 Philip Van Hoof * data/sqlite-stored-procs.sql: * data/sqlite-cache.sql: * src/tracker-indexer/tracker-indexer-db.c: * src/tracker-indexer/tracker-indexer-db.h: * src/tracker-indexer/tracker-indexer.c: Removed the need for GetNewID and UpdateNewID from the indexer Replaced the GetNewEventID and UpdateNewEventID with an autoincrement 2008-07-22 Carlos Garnacho Improve data flushing to DBs/Indexes, based on a patch by Ivan Frade * src/tracker-indexer/tracker-index.c (tracker_index_free): Just flush if there are remaining items before the index is destroyed. * src/tracker-indexer/tracker-indexer.c (schedule_flush_cb): Renamed to flush_data(). Always flush the Index, which is completely unrelated to DB transactions. (schedule_flush): Call flush_data() if needed immediately * src/tracker-indexer/tracker-main.c (indexer_finished_cb): Attach the extra refcount to indexer to the timeout. So it's unreferenced when the timeout source is removed. 2008-07-22 Carlos Garnacho Several random fixes by Philip Van Hoof. * src/libtracker-db/tracker-db-dbus.c (tracker_dbus_query_result_to_hash_table): tabify. * src/libtracker-db/tracker-db-manager.c: Initialize correctly the TrackerDBDefinition structure * tests/libtracker-common/tracker-file-utils-test.c (test_path_list_filter_duplicates): Avoid compiler warning. 2008-07-22 Martyn Russell * src/trackerd/tracker-processor.c: (item_queue_handlers_cb), (crawler_finished_cb): Make it clear which module we are sending items for and also fixed the cut and paste bug I introduced which was using the _files_delete() API for new and updated files. Plus now we have some main context iteration code in the tight loop where we get back all files from the crawler. Being unresponsive for 10 seconds while the processor adds 100k items into a queue and create strings for each of them is not acceptable. 2008-07-22 Martyn Russell * src/libtracker-common/tracker-config.[ch]: * src/trackerd/tracker-processor.c: (process_module): Make it possible to disable modules from the user's config, not just in the module files which are owned by root. Added config option "disabled-modules". 2008-07-21 Philip Van Hoof * src/tracker-indexer/modules/files.c: * src/tracker-indexer/modules/evolution.c: * src/tracker-indexer/modules/applications.c: * src/tracker-indexer/tracker-indexer.c: tracker-indexer modules returned a GHashTable with field name/value pairs, we now use TrackerField pointers for the hashtable keys, so we could deal with values in their native format (instead of having to convert everything to strings) 2008-07-21 Martyn Russell * src/trackerd/tracker-crawler.[ch]: * src/trackerd/tracker-marshal.list: * src/trackerd/tracker-processor.c: Completely rework the crawler, so we have ONE per module. It also now will crawl non-recursive directories set in the .module files. All non-recursive directories are crawled first. This also moves the "sending" of items to the indexer into the processor module so it is in ONE place not TWO. 2008-07-21 Philip Van Hoof * Reverted TrackerField instances as hash keys patch 2008-07-21 Martyn Russell * src/trackerd/tracker-crawler.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-monitor.[ch]: * src/trackerd/tracker-processor.c: Make tracker-monitor a GObject with signalling when there are items created/updated/deleted and move all the code which sends file notifications to the indexer into the processor. 2008-07-21 Philip Van Hoof * src/libtracker-db/tracker-db-manager.c: Functions for attached connections 2008-07-18 Martyn Russell * src/libtracker-common/tracker-file-utils.[ch]: * src/libtracker-common/tracker-module-config.c: Added functions to remove duplicates or hierarchical conflicts between monitor directories and monitor recurse directories. * src/trackerd/tracker-marshal.list: * src/trackerd/tracker-crawler.c: Emit a signal for each directory we process so the processor can add monitors. The bug where we don't monitor or crawl the toplevel directory/files for each module is fixed now. We now only send files to the indexer AFTER we have crawled the file system. This time is insignificant, for 100k files it takes ~10 seconds. Emitting a signal for each directory is not really the best way forward here, since the directories we crawl are the directories which are "recursive monitor directories". What we should do is set flags on the crawler before we start it so we know if we are crawling to set up monitors or to get files. We should also return the files to the processor to send to the indexer, instead of doing all that in this module too. This needs more work. * src/trackerd/tracker-processor.c: Removed add_recurse_monitors() and add_monitors(), they are not needed. Added the code to handle adding monitors from the process-directory callback in the crawler. 2008-07-18 Philip Van Hoof * src/trackerd/tracker-search.c: Fixed assertions that are not necessary (and even wrong). 2008-07-18 Ivan Frade * src/libtracker-db/tracker-db-manager.c: Commented out the code to load xesam categories in tracker_ontology. It overwrittes the real categories because the IDs are not unique. * src/tracker-indexer/tracker-indexer.c Obtain the mimetype and service type from the file, instead from the module name. 2008-07-18 Philip Van Hoof * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-indexer.h: * data/dbus/tracker-indexer.xml: Added a SetPaused DBus API to the indexer 2008-07-17 Ivan Frade * src/libtracker-common/tracker-ontology.[ch]: (tracker_ontology_registered_service_types) (tracker_ontology_registered_field_types): new functions to obtain services and field type names registered in the ontology. * src/trackerd/tracker-metadata.c: (tracker_metadata_get_registered_types) (tracker_metadata_get_registered_classes): Use the new functions instead accessing to the DB. * tests/libtracker-common/tracker-ontology-test.c: Tests for the new methods. 2008-07-17 Martyn Russell * src/trackerd/tracker-crawler.c: * src/trackerd/tracker-processor.c: * src/trackerd/tracker-main.c: Initialize module config before initializing the monitor module. The monitor module uses the module config to set up queues and hash tables. * src/trackerd/tracker-monitor.[ch]: Make all API calls require a module name. This is because now we have separate queues for each module and 3 queues for each type of event (created, updated, deleted). This means we now don't just send "Files" as the service type when telling the indexer about monitor events. 2008-07-17 Philip Van Hoof * src/trackerd/tracker-search.c: * data/dbus/tracker-search.xml: Async search API. 2008-07-17 Ivan Frade * data/dbus/tracker-files.xml * src/trackerd/tracker-files.[ch]: Async files API. 2008-07-17 Martyn Russell * src/libtracker-common/tracker-log.[ch]: Cleaned up the code here a bit and only open the file descriptor on init and close on shutdown, instead of once per write. This should fix the error we get when we can't open the file because too many files are already open. It should also be marginally quicker. If we can't open the file, we print everything to stderr too now. 2008-07-17 Ivan Frade * data/dbus/tracker-metadata.xml * src/trackerd/tracker-metadata.[ch]: Async metadata API. 2008-07-17 Philip Van Hoof * src/libtracker-db/tracker-db-manager.c: Add the functions for the combine-attached db connections 2008-07-16 Ivan Frade * src/libtracker-common/tracker-field.[ch]: (tracker_field_type_as_string): Added method to translate field types in readable format. * data/sqlite-stored-procs.sql: Removed SelectMetadataClasses and added SelectRegisteredClasses. * src/trackerd/tracker-db.c: (tracker_db_service_get_by_entity): Reimplemented using an easier DB query and tracker_ontology to translate the result to string. (tracker_db_metadata_set_single): Added NULL at the end of the array. Renamed service -> service_type and id -> service_id * src/trackerd/tracker-metadata.c: (tracker_metadata_get_type_details): Implemented using tracker_ontology instead accessing to the DB. Fixed things here and there. Now the metadata API actually works. 2008-07-16 Martyn Russell * src/libtracker-common/tracker-utils.[ch]: Make it possible to have a shortened version of the time string. * src/libtracker-db/tracker-db-manager.c: When setting up multiple interfaces, don't assume we ALWAYS want to "add_functions", instead use the array value for that database type (as we do normally). * src/tracker-indexer/tracker-indexer.c: Don't print a status message if there are 0 items remaining and change the transaction limit to 200. * src/trackerd/tracker-dbus.c: Added signal prototypes for the indexer for module-started, module-finished and started signals. * src/trackerd/tracker-processor.c: Use nicer debugging and include the time elapsed now in the status update. * src/trackerd/tracker-xesam-manager.c: Disable live search event updates during indexing. This causes havoc with the cache. The cache is already being written to by the indexer so the daemon becomes completely unresponsive. This is Enabled after indexing is finished. 2008-07-16 Martyn Russell * data/dbus/tracker-indexer.xml: Add argument information about signals. * src/libtracker-common/tracker-utils.[ch]: Change the time estimation function and added a function to convert seconds into a readable string format. * src/tracker-indexer/tracker-indexer-module.[ch]: * src/tracker-indexer/tracker-module.h: Added module_name to the PathInfo->file type. This isn't so great, it means a lot of string duplication. For now this is probably best, but ultimately we should have separate queues in indexer like we do in the daemon so we know by queue which module_name we are processing and we can do them in the order they are sorted by (which is unsorted right now but a potential future design). * src/tracker-indexer/tracker-indexer.[ch]: * src/tracker-indexer/tracker-main.c: Changed the flush time to 5 seconds from 10 and the transaction limit to 100 from 50. Also make sure we reset the timer when restarting an index so the estimated time is correct. Added elapsed time to the "Finished" and "Status" signals. Plus the current module name is in the "Status" signal too. * src/trackerd/tracker-dbus.c: Add signal signatures for the indexer proxy and remove som unused code. * src/trackerd/tracker-db.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-xesam-manager.[ch]: Don't initialize the indexer signal set up for XESAM here, do it in tracker-xesam-manager's init function. Also, only disconnect the signal on shutdown and make sure that is done BEFORE we shutdown the dbus module to avoid warnings. * src/trackerd/tracker-marshal.list: Added Indexer signal marshals. * src/trackerd/tracker-processor.c: Set up signal handlers to know when the indexer is finished and to get status updates. This way we can now effectively signal the daemon status as IDLE when we have finished indexing, not before as we did do. 2008-07-15 Ivan Frade * src/libtracker-db/tracker-db-interface.c: (tracker_db_result_set_get): Check that the result set was initialized before getting results. * src/libtracker-db/tracker-db-dbus.c: (tracker_dbus_query_result_to_strv): Fixed crash when the result set contains a NULL result. * tests/libtracker-db/Makefile.am * tests/libtracker-db/tracker-db-dbus-test.c: Added unit test to tracker_dbus_query_result_to_strv. 2008-07-15 Martyn Russell * data/dbus/tracker-indexer.xml: Removed GetRunning and SetRunning since these are quite pointless because DBus spawns the process if it isn't running. Added signals for "status" and "module-started"/"module-finished" to replace "index-updated". * src/libtracker-common/tracker-type-utils.c: Use gsize instead of gint to fix some compiler warnings. * src/libtracker-common/tracker-utils.[ch]: Added function to estimate time left in the indexer based on elapsed, items done and items remaining. * src/tracker-indexer/Makefile.am: * src/tracker-indexer/tracker-marshal-main.c: * src/tracker-indexer/tracker-marshal.list: Added marshalling for unique function signatures in signal emissions. * src/tracker-indexer/tracker-indexer.[ch]: Added more signals to know what is going on here. Also cleaned up the flusher so we do it either on a timeout OR maximum items reached per transaction. Also optimized the way we get TrackerIndexerPrivate, so the object->private pointer is used (this avoids casting and type checking internally to make things quicker). * src/tracker-indexer/tracker-main.c: Removed unused code in the indexer_initialize() and moved that code to the main() function since it was quite small. Implemented the "LowMemoryMode" by checking the config and passing the flag to the database manager when initializing that. * src/trackerd/tracker-monitor.c: Don't check if the indexer is running, simply do what the crawler does, which is to readd items to the queue if the indexer isn't running or couldn't be contacted. 2008-07-14 Ivan Frade * data/dbus/tracker-keywords.xml * src/trackerd/tracker-keywords.c * src/trackerd/tracker-keywords.h: Keywords dbus interface async. * src/libtracker-common/tracker-dbus.c * src/libtracker-common/tracker-dbus.h * tests/libtracker-common/tracker-dbus-test.c: (tracker_dbus_results_ptr_array_free): new function to free GPtrArrays in the dbus API. 2008-07-14 Laurent Aguerreche * src/trackerd/tracker-crawler.c: (tracker_crawler_new): Fix crawler->private->hal that was initialized with g_object_ref (config). Use g_object_ref (hal) instead. 2008-07-14 Martyn Russell * src/tracker-indexer/tracker-index.c: * src/tracker-indexer/tracker-indexer.c: Give better debugging and messaging information and add some detail about how long is estimated to be left before complete. Also, don't spam the console with EVERY file we process, make that a debug message. Instead update the console with every transaction flush. 2008-07-14 Martyn Russell * src/libtracker-db/tracker-db-manager.[ch]: Make it possible to remove all databases using a public API and use that when shutting down and reindexing (instead of removing the WHOLE directory where databases reside). * src/trackerd/tracker-crawler.c: Added a signal to know when all items have been sent to the indexer. * src/trackerd/tracker-daemon.[ch]: Use the new tracker-main API instead of setting tracker-> members ourselves. * src/trackerd/tracker-db.[ch]: Write the init and shutdown functions to require config, language and the file index which are used in a lot of db functions. * src/trackerd/tracker-dbus.[ch]: Use the _new() functions to create objects we register here and pass all the object we need instead of the Tracker pointer. * src/trackerd/tracker-main.[ch]: Completely remove the Tracker structure. Now we have APIs for everything that is needed externally and we make the rest private. * src/trackerd/tracker-processor.[ch]: Added state signalling so clients know if we are indexing, pending, etc. This needs a little more work so the indexer itself tells us what it is doing. * src/trackerd/tracker-search.[ch]: Fixed crasher where we didn't get the private struct from the TrackerSearch before dereferencing it for _get_count(). Also, removed _set_{config|language|...} functions which are used only when the object is created. Instead pass these to the _new() function. Fixed a memory leak here too, where we didn't unref all objects we ref when the object is created (in finalize). * src/trackerd/tracker-status.[ch]: Make it possible to signal state change without needing all the parameters that are sent in the function signature. * src/trackerd/tracker-utils.[ch]: Remove unused functions. 2008-07-14 Martyn Russell * data/dbus/tracker-indexer.xml: * src/tracker-indexer/tracker-indexer.[ch]: * src/tracker-indexer/tracker-main.c: Commit patch from Ivan to make the indexer DBus API completely asynchronous. 2008-07-14 Martyn Russell * src/trackerd/tracker-daemon.c: (tracker_daemon_get_services), (tracker_daemon_get_stats): Small code clean ups. 2008-07-04 Ivan Frade * src/tracker-indexer/tracker-index.c * tests/tracker-indexer/tracker-index-test.c: Added "remove" functionality in the indexer including unit tests. Delete a word from a document means to add the word with weight = -1. 2008-07-04 Philip Van Hoof * src/trackerd/tracker-daemon.c: Error handling for some DBus Apis 2008-07-04 Ivan Frade * data/dbus/tracker-daemon.xml * src/trackerd/tracker-daemon.[ch]: Tracker daemon dbus API is now async. 2008-07-04 Martyn Russell * src/trackerd/tracker-crawler.c: Don't check if the indexer is running first, just send files. Also, don't send the next batch until the last patch was sent successfully. Make sure we add files back onto the queue if they couldn't be sent. 2008-07-04 Ivan Frade * src/libtracker-db/tracker-db-dbus.c: (tracker_dbus_query_result_to_hash_table): Fixed warning caused by uninitialized GValues. 2008-07-04 Martyn Russell * src/trackerd/tracker-main.c: (check_runtime_level): Fixed this function so it sets the daemon to readonly mode depending on battery use + config and if there is a reindex needed. 2008-07-04 Martyn Russell * src/trackerd/tracker-main.c: (main): Make the message clearer as to why we are not running the crawler/indexer when in read only mode. 2008-07-04 Martyn Russell * src/libtracker-common/tracker-hal.h: Define TrackerHal as a void pointer if it is disabled and just don't use it anywhere, this is so function signatures can include it but it will be NULL where it is called. Can't think of a better way to do this really. * src/trackerd/tracker-crawler.[ch]: * src/trackerd/tracker-main.[ch]: * src/trackerd/tracker-processor.[ch]: Create TrackerHal in main again and pass it around the processor and crawler to use. It is need in main now to detect if we are using the laptop battery or not to put the daemon into readonly mode. 2008-07-04 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (index_metadata_foreach): Avoid a crash. 2008-07-04 Carlos Garnacho * src/tracker-indexer/modules/evolution.c: Fix typo. 2008-07-04 Carlos Garnacho * src/tracker-indexer/modules/evolution.c (get_account_name_from_imap_uri): Avoid potential invalid memory reads. (account_text_handler): Check that we're getting the right url tag contents. (get_imap_accounts): Avoid potential leaks. 2008-07-04 Martyn Russell * src/libtracker-common/tracker-log.c: (log_output): Use g_strerror() and errno when we can't open the log file so we know why. * src/trackerd/tracker-main.c: Removed the throttle command line option, it is only used by the indexer which loads the config file separately. Also, plugged a leak in the check_runtime_level() function which checks if we are already running. 2008-07-04 Martyn Russell * src/tracker-indexer/modules/files.c: Fixed warning. * src/libtracker-common/tracker-config.[ch]: * src/tracker-indexer/tracker-main.c: (sanity_check_option_values): Removed config options we now no longer have, "OptimizationSweepCount", "Divisions", "BucketRatio" and "Padding". 2008-07-04 Philip Van Hoof * src/tracker-indexer/modules/evolution.c: Avoid a crash in case the url string of a Evolution account is empty. 2008-07-04 Martyn Russell * src/libtracker-common/tracker-log.c: If we can't open the log, add a "\n" to the error so we don't get 2 messages on the same line. * src/trackerd/tracker-crawler.c: Make sure we set module_name to NULL when getting the next queue with data and recheck the next queue in the running callback in case things have changed. 2008-07-03 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (tracker_indexer_files_check) (tracker_indexer_files_update) (tracker_indexer_files_delete): Return module name in case of error. 2008-07-03 Martyn Russell * src/trackerd/tracker-crawler.c: Make sure we have a queue PER module name, this way we don't get the "module not loaded" error when we stop crawling one module and start another (cause we were freeing the priv->module_name and the queues are handled AFTER crawling has stopped). 2008-07-03 Ivan Frade * src/libtracker-common/tracker-nfs-lock.c: using username instead of PID to the nfs lock filename. * src/trackerd/tracker-main.c: Updated code to handle multiple instances. 2008-07-03 Martyn Russell * src/libtracker-common/tracker-config.c: Don't set the LowMemoryMode to True by default! 2008-07-03 Martyn Russell * src/libtracker-common/tracker-config.[ch]: Removed ThreadStackSize since it is no longer used. * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: Improved startup option sanity check output so we only show daemon or indexer options, not everything. 2008-07-03 Martyn Russell * src/libtracker-common/tracker-hal.c: (hal_setup_batteries), (hal_device_property_modified_cb): Fixed some debugging. * src/tracker-indexer/tracker-indexer.c: (set_up_throttle): Make sure we set to the right the default when we come off battery only use. 2008-07-03 Martyn Russell * src/libtracker-common/tracker-hal.c: (hal_setup_batteries), (hal_device_property_modified_cb): Make sure we call g_object_notify() when properties change. 2008-07-03 Martyn Russell * src/tracker-indexer/tracker-indexer.c: Added throttling support. 2008-07-03 Philip Van Hoof * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: * src/libtracker-db/tracker-db-manager.c: * src/libtracker-db/tracker-db-manager.h: LowMemoryMode for the new generation! 2008-07-03 Philip Van Hoof * src/trackerd/tracker-files.c: Using the indexer to implement deleting files from the index 2008-07-02 Ivan Frade * src/tracker-indexer/tracker-index.c * tests/tracker-indexer/tracker-index-test.c: Implemented the addition of words to the index. Added unit tests to the new functionality. 2008-07-02 Martyn Russell * src/trackerd/tracker-main.c: * src/libtracker-common/tracker-config.[ch]: Removed the email client option, it is redundant now. Removed the index-modules since that is now going to be changed to be ignore-modules. * src/libtracker-common/tracker-log.c: Use gsize for log size and remove perror, instead use g_fprintf(stderr, ...) when we get an error so we don't recurse. * src/trackerd/tracker-crawler.c: Only add monitors when we process directories, so they are added breadth ways not depth ways. Also, make the debugging ALWAYS available, this changes with the -v option or the config setting. * src/trackerd/tracker-monitor.c: Don't add any monitors if it is disabled in the config. Also, make the debugging ALWAYS available. 2008-07-02 Philip Van Hoof * src/tracker-indexer/tracker-main.c * src/trackerd/tracker-main.c * src/libtracker-db/tracker-db-manager.c * src/libtracker-db/tracker-db-manager.h * tests/libtracker-db/tracker-db-manager-test-attach.c * tests/libtracker-db/union-performance.c * tests/libtracker-db/tracker-db-manager-test-unattach.c * tests/libtracker-db/tracker-db-manager-test-custom.c Removing the dir in the temp dir must always happen at startup, never at shutdown 2008-07-02 Carlos Garnacho * src/tracker-indexer/modules/files.c (tracker_metadata_get_embedded): * src/tracker-indexer/modules/evolution.c (get_imap_accounts): Plug some leaks. 2008-07-02 Carlos Garnacho * src/tracker-indexer/tracker-module.h: Remove get_directories() and get_ignore_directories() from modules API. The data specified in the .module file will be used. * src/tracker-indexer/tracker-indexer-module.[ch]: Remove internal API for these as well. * src/tracker-indexer/applications.c: * src/tracker-indexer/dummy.c: * src/tracker-indexer/evolution.c: * src/tracker-indexer/files.c: * src/tracker-indexer/gaim-conversations.c: Remove the corresponding functions in modules. 2008-07-02 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c: Remove at the moment the code to ignore directories. I must be replaced with TrackerModuleConfig and would be used only if --process-all is specified. 2008-07-02 Carlos Garnacho * data/modules/evolution.module: Add local and IMAP storage directories. 2008-07-02 Carlos Garnacho * src/tracker-indexer/tracker-module.h: Add tracker_module_init() and tracker_module_shutdown() to modules API. This is needed since we now don't have an entry point that will be called just once, as happened with tracker_module_get_directories(). * src/tracker-indexer/tracker-indexer-module.[ch]: Updated. * src/tracker-indexer/tracker-indexer.c (close_module) (tracker_indexer_init): Ensure the initialization/shutdown methods are called for the modules. * src/tracker-indexer/modules/evolution.c: Use these functions to manage persistent data. 2008-07-02 Carlos Garnacho * src/libtracker-common/tracker-module-config.c (module_config_load_file): * src/libtracker-common/tracker-ontology.c (tracker_ontology_shutdown): * src/tracker-indexer/tracker-indexer.c (tracker_indexer_finalize): Plug some leaks. 2008-07-02 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-main.c: Get TrackerModuleConfig to get available modules, directories to scan, etc... 2008-07-02 Martyn Russell * src/libtracker-common/tracker-dbus.[ch]: * src/libtracker-db/tracker-db-dbus.c: * src/trackerd/tracker-crawler.c: * src/trackerd/tracker-monitor.c: * tests/libtracker-common/tracker-dbus-test.c: Use a GQueue instead of a GAsyncQueue. We don't have any threads so there is no need for the extra locking overhead. 2008-07-02 Philip Van Hoof * src/trackerd/tracker-db.c: * src/trackerd/tracker-db.h: * src/libtracker-db/tracker-db-manager.c: * src/libtracker-db/tracker-db-manager.h: Commented out code that is simply never called 2008-07-02 Martyn Russell * src/trackerd/tracker-crawler.c: (crawler_finalize): Don't use g_free() to free a GFile. This is a hangover from when the files and directories queues had strings in them, now they have GFiles. 2008-07-02 Philip Van Hoof * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-db.c: Various database connection usage improvements * src/libtracker-common/tracker-log.c: Added a perror() to find out about a race condition while writing to the log file 2008-07-02 Ivan Frade * tests/Makefile.am * tests/tracker-indexer/Makefile.am * tests/tracker-indexer/tracker-index-test.c: Added tests to tracker-index. 2008-07-02 Martyn Russell * src/libtracker-common/tracker-module-config.c: * src/trackerd/tracker-crawler.c: * src/trackerd/tracker-monitor.c: Plugged leaks which took the memory lost from 1.8Mb (33,498 blocks) to 36 bytes (1 block). Good old valgrind! 2008-07-02 Martyn Russell * src/trackerd/tracker-crawler.c: (tracker_crawler_start): Actually set the path before checking if it exists or not, eek. 2008-07-02 Philip Van Hoof * src/libtracker-db/tracker-db-manager.c: Memory leak fix 2008-07-02 Philip Van Hoof * src/trackerd/tracker-search.c: * src/trackerd/tracker-files.c: * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-xesam-manager.c: * src/libtracker-db/tracker-db-manager.h: Replaced a few strings with defines 2008-07-02 Philip Van Hoof * src/tracker-indexer/tracker-indexer-db.c: * src/tracker-indexer/tracker-indexer-db.h: * src/tracker-indexer/tracker-indexer.c: Transactions per TRANSACTION_MAX items One possible cause for the constraint errors fixed 2008-07-01 Philip Van Hoof * src/tracker-indexer/tracker-indexer.h: * src/trackerd/tracker-search.c: * src/trackerd/tracker-keywords.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-files.c: * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-xesam-manager.c: * src/trackerd/tracker-db.h: * src/libtracker-db/tracker-db-manager.c: * src/libtracker-db/tracker-db-manager.h: * src/libtracker-common/tracker-service.h: * src/libtracker-common/tracker-ontology.c: * tests/libtracker-db/tracker-db-manager-test-attach.c: * data/sqlite-stored-procs.sql: Removes attach_iface and attach_all as this was broken by design Adds "Xesam" as possible service for get_db_interface_by_service Removes tracker_db_manager_get_db_interface_by_service's content boolean since ALL users of it require the content db attached Makes tracker_db_manager_get_db_interface always return just a connection to just the requested file. Making it ideal for the indexer Makes the Xesam code always use get_db_interface_by_service Makes some of the tracker_db_manager_get_db_interface users that expected an attached connection use get_db_interface_by_service instead Makes some of the tracker_db_manager_get_db_interface users request the right db file. Some of these requested FILE_META while the tables that they influence or request from reside in common. Prepares for preferred use of get_db_interface_by_service over tracker_db_manager_get_db_interface Commit reviewed and approved by Ivan Frade 2008-07-01 Martyn Russell * src/libtracker-common/tracker-dbus.[ch]: Added a function to convert n GQueue GFile items to a gchar**. * src/tracker-indexer/tracker-indexer.[ch]: Include the number of items that were indexed in the finished signal. * src/tracker-indexer/tracker-main.c: Don't quit immediately, wait 10 seconds or so, otherwise if the daemon calls "are we running" it replies and quits before the daemon can send the next message. * src/trackerd/tracker-crawler.c: Added back the code to handle sending files to the indexer. * src/trackerd/tracker-processor.c: Removed commented out code. 2008-07-01 Carlos Garnacho Generate email:// uris for IMAP in the Evolution module. * src/libtracker-common/tracker-utils.[ch] (tracker_string_remove): New function, removes a substring from a string in place. * configure.ac: * src/tracker-indexer/modules/Makefile.am: Add optional dependency on GConf, compile the Evolution module if it's available. * src/tracker-indexer/modules/evolution.c: Parse and find out correct email:// uri for IMAP messages from the /apps/evolution/mail/accounts GConf key. 2008-07-01 Martyn Russell * src/libtracker-common/tracker-module-config.[ch]: Added index_file_patterns to the API and generate the patterns for the crawler to use for pattern matching files to index. * src/trackerd/tracker-crawler.c: Make sure we check the file_index_patterns now. Improve statistics. * src/trackerd/tracker-marshal.list: Added to extend finished signal to include some statistics. * src/trackerd/tracker-processor.c: Make use of the enable/disable flag in the module config. 2008-07-01 Ivan Frade * tests/common/tracker-test-helpers.[ch] * tests/libtracker-common/tracker-dbus-test.c: (tracker_test_helpers_get_nonutf8) Moved to common helper functions. * tests/libtracker-common/non-utf8.txt: Updated test string to look like a file. * tests/libtracker-common/Makefile.am * tests/libtracker-common/tracker-file-utils-test.c: Test for (tracker_path_list_filter_duplicates) and (tracker_path_evaluate_name) 2008-07-01 Martyn Russell * src/trackerd/tracker-crawler.c: (crawler_finalize): * src/trackerd/tracker-main.c: (main): Fixed some shutdown warnings and turned off the debugging in the crawler. 2008-07-01 Martyn Russell * data/modules/files.module: Added $HOME to the list of recursive monitored directorys. * src/libtracker-common/tracker-file-utils.c: Add comment to the source so we know if memory is created or if a new list is the only thing that is created from the tracker_path_list_filter_duplicates() function. * src/libtracker-common/tracker-module-config.[ch]: Push all paths returned from config into a hash table not a list, this way we can have APIs to look up strings more quickly. Also added APIs to get directory and file ignore patterns (these patterns are created by the module config now). * src/trackerd/tracker-crawler.[ch]: Make the crawler crawl ALL locations according to the module configuration details. The ignore patterns for files and directories are now retrieved from this config too. Also, stole the code from the indexer to handle directory crawling breadth wise instead of depthwise. This means all the top level files are monitored and indexed first since they are usually the most important. * src/trackerd/tracker-processor.c: Added code to iterate all modules and crawl each of them in turn. More work is needed here to do other things like setting up monitors. This shouldn't be done in the crawler on EVERY directory as it currently is. 2008-06-30 Martyn Russell * src/trackerd/Makefile.am: * src/trackerd/tracker-db.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-process.c: * src/trackerd/tracker-process.h: * src/trackerd/tracker-processor.c: * src/trackerd/tracker-utils.c: Renamed tracker-process to tracker-processor 2008-06-30 Carlos Garnacho * src/libtracker-common/tracker-module-config.c (module_config_load): Do not call g_file_info_get_name() twice. 2008-06-30 Carlos Garnacho Change tracker-indexer DBus methods, now they also take a string for the module name to use when indexing a path. * data/dbus/tracker-indexer.xml: Add new argument to functions. * src/tracker-indexer/tracker-indexer.[ch] (tracker_indexer_files_check) (tracker_indexer_files_update) (tracker_indexer_files_delete): Lookup the passed module name instead of just assuming the "files" module. * /src/trackerd/tracker-crawler.c (indexer_get_running_cb): * /src/trackerd/tracker-monitor.c (indexer_get_running_cb): Update callers, at the moment it just assumes the "files" module. 2008-06-30 Carlos Garnacho Make tracker-indexer just process petitions through DBus by default, add a --process-all parameter to allow standalone testing. * src/tracker-indexer/tracker-indexer.c (tracker_indexer_process_all): Added, queues all known modules in the modules list, so all data is processed. * src/tracker-indexer/tracker-main.c: Add a --process-all commandline argument, which triggers all modules processing without need of DBus petitions. 2008-06-30 Martyn Russell * data/modules/applications.module: Changed the location to $prefix/share/applications for now, it was just $prefix/share, there are too many files there and we need the appropriate ignore patterns in place before we can really do this. * src/trackerd/tracker-main.[ch]: Removed the HAL and Crawler from the Tracker struct. Now they are created and stored in the TrackerProcessor object. * src/trackerd/tracker-process.[ch]: Added the initial workings from the indexer code which Carlos wrote and copied over to the daemon to start iterating all locations according to the module config. 2008-06-27 Ivan Frade * tests/libtracker-common/tracker-type-utils.c: (string_to_date): Using GDate instead of time_t to compare the result without timezone. 2008-06-27 Ivan Frade * tests/**: Added license in .c/.h files. 2008-06-27 Philip Van Hoof * svn merge -r 1769:1798 ../xesam-support 2008-06-27 Carlos Garnacho * src/tracker-indexer/tracker-indexer-db.c (tracker_db_create_service): Allow modules to specify a custom dirname and basename for the service. * src/tracker-indexer/modules/evolution.c: And use it for local mail. IMAP has yet to come. 2008-06-27 Ivan Frade * test/libtracker-common/tracker-type-utils-test.c: (test_date_to_string): now it doesnt depend on the timezone of the tester. 2008-06-27 Philip Van Hoof * tests/libtracker-db/union-performance.c: Added a performance test for a UNION query structure vs. views that me and ottela want to start using for certain Xesam related queries 2008-06-27 Philip Van Hoof * src/trackerd/tracker-xesam-query.c: * src/trackerd/tracker-rdf-query.c: Incorrect queries (user input) should never crash the service (critical assertions) 2008-06-27 Martyn Russell * src/libtracker-common/tracker-module-config.[ch]: Add API to get all modules. Fixed the module naming now we don't use the .xml extension. * src/trackerd/tracker-main.c: * src/trackerd/tracker-process.[ch]: Start by setting up monitors and recursive monitors. The recursive monitors are still not finished, this requires some work. 2008-06-27 Martyn Russell * src/libtracker-common/tracker-file-utils.[ch]: * src/libtracker-common/tracker-config.c: * src/libtracker-common/tracker-module-config.c: Added tracker_path_evaluate_name() to convert $HOME and "~/foo" into real paths. This is now used by the module config and the main config module when loading directory strings or string lists. 2008-06-27 Philip Van Hoof * src/tracker-indexer/Makefile.am: Fixed a LIBS in an INCLUDES * tests/libtracker-db/tracker-db-manager-test-attach.c: Fixed the tests, the reinit tests made a few incorrect assumptions. Hence why they failed. I just removed them for now. 2008-06-26 Carlos Garnacho * data/modules/Makefile.am: * data/modules/*.xml: rename to *.module. * data/modules/evolution.module: Added. 2008-06-26 Martyn Russell * data/modules/applications.xml: * data/modules/files.xml: * data/modules/gaim-conversations.xml: Use "true" not "True", breaks the GKeyFile. * src/libtracker-common/tracker-module-config.c: Don't set the modules to NULL and set GError to NULL before using it. 2008-06-26 Martyn Russell * src/libtracker-common/tracker-module-config.c: Make sure we set the separator as the right thing when building the path here. 2008-06-26 Martyn Russell * configure.ac: * data/Makefile.am: * data/modules/Makefile.am: * data/modules/applications.xml: * data/modules/files.xml: * data/modules/gaim-conversations.xml: Added these module files which should get read on startup. * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-module-config.[ch]: Added this module to load the .xml files which get installed into $prefix/share/tracker. * src/libtracker-common/tracker-type-utils.[ch]: Added tracker_gslist_to_string_list(). * src/trackerd/tracker-crawler.[ch]: * src/trackerd/tracker-main.c: * src/trackerd/tracker-process.[ch]: Use the new module config code when initialising the process module. 2008-06-26 Ivan Frade * tests/libtracker-db/run-test-in-tmp-dir.sh * tests/libtracker-db/tracker-db-manager-test-attach.c: Added more tests. 2008-06-26 Martyn Russell * src/trackerd/tracker-db.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-process.c: * src/trackerd/tracker-process.h: Remove all functions in tracker-process and clean up any place that depends on functions from there currently. 2008-06-26 Philip Van Hoof * src/trackerd/tracker-query-tree.c: Replaced a g_value_get_pointer with a g_value_get_object. It seems that the indexer instance is nowadays a GObject rather than a arbritary pointer. 2008-06-26 Philip Van Hoof * src/libtracker-db/tracker-db-manager.c: Giving out correct ifaces with correct attachments for service-specific database connections 2008-06-26 Martyn Russell * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-indexer.[ch]: * src/trackerd/tracker-main.[ch]: * src/trackerd/tracker-monitor.c: * src/trackerd/tracker-query-tree.[ch]: * src/trackerd/tracker-search.[ch]: Refactored the TrackerIndexer code and API so we now use GObject and do proper type checking in the query tree code. The indexer API has been cut down to cater JUST the daemons needs here. All the indexing code is in the indexer instead now. 2008-06-26 Philip Van Hoof * svn merge -r 1726:1769 ../xesam-support 2008-06-26 Martyn Russell * src/trackerd/Makefile.am: * src/trackerd/tracker-db-email.c: * src/trackerd/tracker-db-email.h: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-email-modest.c: * src/trackerd/tracker-email-plugin.h: * src/trackerd/tracker-email-thunderbird.c: * src/trackerd/tracker-email-utils.c: * src/trackerd/tracker-email-utils.h: * src/trackerd/tracker-email.c: * src/trackerd/tracker-email.h: * src/trackerd/tracker-main.c: * src/trackerd/tracker-process.c: Remove all email modules here, this code is all done in the indexer now or is in the process of being moved over. It is redundant in the daemon. 2008-06-26 Martyn Russell * src/tracker-indexer/tracker-indexer.c: Cleaned up some code. * src/trackerd/Makefile.am: * src/trackerd/tracker-db.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-process-files.h: * src/trackerd/tracker-process.c: * src/trackerd/tracker-utils.c: Renamed tracker-process-files.[ch] to tracker-process.[ch] since this module will be stripped and used to process all categories of data not just files. 2008-06-25 Ivan Frade * tests/libtracker-db/Makefile.am * tests/libtracker-db/tracker-db-manager-common.c * tests/libtracker-db/tracker-db-manager-common.h * tests/libtracker-db/tracker-db-manager-test-custom.c: Added test creating "custom attach" connections 2008-06-25 Carlos Garnacho * src/tracker-indexer/modules/Makefile.am: Do not put libs in INCLUDES. 2008-06-25 Michael Biebl * filters/application/vnd.*: Use odt2txt instead of o3totxt. o3read has been deprecated and superseded by odt2txt. See also http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477311 * README: Add odt2txt to the list of recommended dpendencies. * configure.ac: * src/Makefile.am: * src/text-filters/*: Remove inlined sources of o3totxt. They are no longer used. 2008-06-24 Martyn Russell * src/tracker-indexer/modules/Makefile.am: Use "Tracker" as the domain (not NULL) for modules. 2008-06-24 Martyn Russell * src/libtracker-common/tracker-log.c: (log_output), (tracker_log_handler), (tracker_log_init): Actually make sure we log to disk, we were just printing to screen. * src/tracker-indexer/Makefile.am: Change the domain for the indexer to just "Tracker", the libraries are this too, makes sense to stay consistent. 2008-06-24 Ivan Frade * tests/libtracker-db/Makefile.am * tests/libtracker-db/run-test-in-tmp-dir.sh * tests/libtracker-db/tracker-db-manager-common.c * tests/libtracker-db/tracker-db-manager-common.h: Common functions to -attach and -unattach tests * tests/libtracker-db/tracker-db-manager-test-unattach.c: new test to tracker_db_manager with no attach_all * tests/libtracker-db/tracker-db-manager-test.c: renamed to -attach.c * tests/libtracker-db/tracker-db-manager-test-attach.c: 2008-06-24 Carlos Garnacho * src/tracker-indexer/modules/dummy.c: Update API, also add more thorough comments about what should be going on in each method. 2008-06-24 Carlos Garnacho * src/tracker-indexer/modules/Makefile.am: * src/tracker-indexer/modules/evolution.c: Module for Evolution, initially it supports local and IMAP mailboxes. It's still missing message body and attachments retrieval. 2008-06-24 Carlos Garnacho * src/tracker-indexer/tracker-indexer-module.c (tracker_indexer_module_file_iter_contents): return FALSE if file->data is NULL, since there is no possibility the module implements this function for such a file, since it has to keep state internally. 2008-06-24 Carlos Garnacho Extend/Change indexer modules API. From now on, modules will deal with TrackerFile structs instead of paths. This struct, besides the path, contains a pointer to private data that modules can attach/free through tracker_module_file_get_data() and tracker_module_file_free_data(). In order to deal with files that are potential containers for sets of metadata, tracker_module_file_iter_contents() has been added, for modules that implement this call, tracker-indexer will be able to collect data through tracker_module_file_get_metadata(). If iter_contents() returns FALSE, the indexer assumes no more data is left in the file, moving on to the next one. * src/tracker-indexer/tracker-module.h: New header, modules must conform to the API described in it. * src/tracker-indexer/tracker-indexer-module.[ch]: Use definitions from tracker-module.h (tracker_indexer_module_file_new) (tracker_indexer_module_file_free): New functions to create/free TrackerFile structs. (tracker_indexer_module_file_iter_contents): New function to iterate through a file contents, the meaning of this will depend on the module implementation. * src/tracker-indexer/tracker-indexer.c: Deal with TrackerFile structs. (process_file): Iterate through file contents, once the file doesn't have more elements to process, the file will be removed from the queue. * src/tracker-indexer/modules/applications.c: * src/tracker-indexer/modules/files.c: Adapt to the new API. 2008-06-24 Philip Van Hoof * src/tracker-indexer/tracker-indexer.c: * src/libtracker-db/tracker-db-manager.c: * src/libtracker-db/tracker-db-manager.h: First piece of the puzzle for transactions in the indexer 2008-06-24 Martyn Russell * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-config.c: * src/tracker-indexer/Makefile.am: * src/tracker-indexer/modules/Makefile.am: Monitor config file for changes and reload if it does. 2008-06-24 Ivan Frade * tests/common/Makefile.am * tests/scripts/Makefile.am * tests/trackerd/xesam/Makefile.am: Including Makefile.decl to allow "make test" to run smoothly. * tests/Makefile.am * tests/libtracker-db/Makefile.am * tests/libtracker-db/run-test-in-tmp-dir.sh * tests/libtracker-db/tracker-db-manager-test.c: Initial tracker_db_manager test files. 2008-06-24 Martyn Russell * src/libtracker/tracker.c: (tracker_search_metadata_by_text_async): Re-added the async DBus API we removed which breaks tracker being installed to /usr due to applications depending on this API. 2008-06-24 Martyn Russell * src/tracker-indexer/tracker-index.[ch]: * src/tracker-indexer/tracker-indexer.c: Added a timer and a count so we know when we are finished how long it took and how many items were indexed. Also, don't flush after every item, flush every 10 seconds or so. 2008-06-24 Martyn Russell * src/trackerd/tracker-crawler.c: * src/trackerd/tracker-monitor.[ch]: Now we detect the backend used for monitoring and set the limits accordingly. We also now provide the warning (if we reach the limit) only once and make the number of monitors we couldn't add available by API. 2008-06-24 Philip Van Hoof * src/trackerd/tracker-db.c: * src/trackerd/tracker-xesam-manager.c: * src/libtracker-db/tracker-db-manager.c: * data/sqlite-stored-procs.sql: Fix for a warning about table Events not existing 2008-06-24 Philip Van Hoof * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: * src/libtracker-db/tracker-db-manager.c: * src/libtracker-db/tracker-db-manager.h: tracker_db_manager_shutdown must not remove the directory in tmp with cache.db in case the indexer calls it. 2008-06-24 Philip Van Hoof src/tracker-indexer/tracker-indexer.c: The table Events for tracker_db_create_event only exists in cache.db, not in common.db, therefore patched it to use a priv->cache instead of priv->common 2008-06-24 Philip Van Hoof * src/libtracker-db/tracker-db-manager.c: Normalizing attachments (for example cache.db was attached twice, which gave warnings). 2008-06-23 Philip Van Hoof * src/libtracker-db/tracker-db-manager.c: Fix for "database cache is already in use" warning (removing a hack that is no longer needed, this hack was put in place because before fixes that were done today was tracker-indexer removing cache.db after some time. The hack caused an unwanted warning, though) 2008-06-23 Martyn Russell * src/libtracker-db/tracker-db-interface-sqlite.c: Improve error reporting here so we say if the query used is foobar OR if it is a geniune error. * src/libtracker-db/tracker-db-manager.c: Strip whitespace before trying to load queries from SQL files. Also, present a count when done so we know how many we loaded as a measure of testing it worked properly. 2008-06-23 Philip Van Hoof * src/libtracker-db/tracker-db-manager.c: Also setting DB parameters in case of attach_all=true. Fixes load_sql_file for sqlite-services.sql for file-meta.db and email-meta.db (UTF8 collate function was not set) 2008-06-23 Martyn Russell * src/libtracker-db/tracker-db-manager.[ch]: * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: Make the force_reindex, remove cache and attach all settings into a flag we pass when initialising the database manager. 2008-06-23 Philip Van Hoof * src/libtracker-db/tracker-db-manager.c: Putting a warning in case of problems while loading a .sql file 2008-06-23 Philip Van Hoof * tests/scripts/dummy_data_start.sh.in * tests/scripts/data/email-contents.sql * tests/scripts/data/file-meta.sql * tests/scripts/data/common.sql * tests/scripts/data/file-contents.sql * tests/scripts/data/email-meta.sql * tests/scripts/data/xesam.sql: Cleaned up the test data now that the databases are (more or less) initialized correctly 2008-06-20 Philip Van Hoof * src/libtracker-db/tracker-db-manager.c: * data/sqlite-service-triggers.sql: * data/sqlite-tracker-triggers.sql: Using a transaction around database initializations. This speeds up initialization, makes it more robust (what if we get killed while initializing) and it seems to avoid a call for fsync() when we have PRAGMA synchronous = NORMAL (which we currently do have for all database connections). Point of opinion about this commit: we should utilize transactions more often in the code. It helps us avoid corruption and massively speeds up INSERTs and UPDATEs: http://www.sqlite.org/speed.html: At Executive Summary: SQLite works best if you group multiple operations together into a single transaction. * svn merge -r 1683:1726 ../xesam-support 2008-06-20 Martyn Russell * src/libtracker-db/tracker-db-manager.c: Default to attach_all = TRUE for database creation. * src/trackerd/tracker-main.c: Don't remove the cache directory on startup and shutdown, let the database manager handle that. 2008-06-20 Martyn Russell * src/libtracker-db/tracker-db-manager.c: Keep a reference to each TrackerDBInterface and set the attach_iface to be the first one we create and use that to attach all new interfaces we create. Also don't create the XESAM database unless we have an attach_iface because that is needed. This all works except now the Services and Events tables are no longer created so the indexer spits out warnings. If we DON'T attach_all when creating the databases, the Services table is created but the Events table still is not. This needs fixing. 2008-06-20 Martyn Russell * data/dbus/tracker-indexer.xml: * src/tracker-indexer/tracker-indexer.[ch]: Removed DatabaseReindex and DatabaseCheck, now the daemon ALWAYS makes sure the database is ready instead of the indexer. * data/sqlite-tracker.sql: Remove the ANALYZE statement after creating the tables, this is what was causing the hang when attaching ALL databases during creation. * src/libtracker-db/tracker-db-manager.[ch]: Reworked the way we initialise so we create all databases on startup and check for each database file too. If even one of them doesn't exist we recreate all databases (with the exception of the cache). We also don't remove directories now, just the database files when cleaning up. * src/tracker-indexer/tracker-main.c: No need to check if a reindex is required now and removed all reindex command line options. * src/trackerd/tracker-main.c: Don't call the indexer over dbus, just rely on tracker_db_manager_init() to set up the databases correctly and to check if they exist properly. 2008-06-19 Martyn Russell * src/libtracker-db/tracker-db-manager.c: * src/trackerd/tracker-main.c: Again, create the databases when needed on demand and don't create them when we initialise the database manager so the trackerd doesn't try to create the databases. Also, make sure we create the directories we need for the nfs locking before we do it. 2008-06-19 Martyn Russell * src/libtracker-db/tracker-db-manager.[ch]: Clean up the API a bit, separate the functionality so we have an API to create the databases, delete the databases and close them all. * src/trackerd/tracker-dbus.[ch]: Removed tracker_dbus_indexer_start(), it is unused now. * src/tracker-indexer/tracker-metadata.c: * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: DON'T use PID, since it is shared between the indexer and the daemon. * src/trackerd/tracker-main.c: Added a call to the blocking version of the DBus API to check the database state from the indexer so we make sure the indexer ALWAYS creates the database if it doesn't exist in the first place. Plus if we force a reindex on start up, the indexer is the one that does it. Also, when creating the system temporary directory, * src/trackerd/tracker-crawler.c: * src/trackerd/tracker-monitor.c: Updated to renamed API. * data/dbus/tracker-indexer.xml: * src/tracker-indexer/tracker-indexer.[ch]: Renamed some API calls and also added a call to check the database state and return if it is the first time it will be indexed. Plus the user can force a reindex while checking. This is meant to be called from the daemon on start up to make sure the database is ready to use. 2008-06-19 Martyn Russell * data/dbus/tracker-files.xml: * data/dbus/tracker-keywords.xml: * data/dbus/tracker-metadata.xml: * data/dbus/tracker-search.xml: Re-added the Nautilus API we commented out and set all API which is to be removed as deprecated. * src/libtracker/tracker.c: * src/trackerd/tracker-db.[ch]: * src/trackerd/tracker-files.[ch]: * src/trackerd/tracker-metadata.c: Readded and fixed APIs relating to XML file changes. 2008-06-19 Carlos Garnacho * src/libtracker-db/tracker-db-manager.c (set_up_databases): Fix typo. 2008-06-19 Carlos Garnacho * src/libtracker-db/tracker-db-manager.c (set_up_databases): Create databases on DB manager initialization. (tracker_db_manager_init): Ensure the tmp dir is created. (tracker_db_manager_shutdown): And removed here. (tracker_db_manager_get_db_interface): No need to create the database lazily here. 2008-06-18 Martyn Russell * src/libtracker-common/tracker-ontology.c: Make sure we finalize properly by setting all lists and hash tables to NULL. Also, when returning a TrackerService or any other GObject from the hash tables, don't return it as a gpointer*, it is just a gpointer. * src/libtracker-db/tracker-db-interface-sqlite.c: Added some messaging to know when the databases are opened and closed. * src/libtracker-db/tracker-db-manager.c: Initialise and shutdown the ontology module in this module since we depend on it. We also shut it down and reinitialise it when we reindex the database because there is information we check against there when adding new tables to the new databases. * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: Don't initialise and shutdown the ontology module now the tracker-db-manager does it. * src/tracker-indexer/modules/files.c: Fixed crasher where service type is returned as NULL before using strcmp. * src/tracker-indexer/tracker-indexer.c: Added some sliff and sloff :) * src/trackerd/tracker-db.[ch]: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-modest.c: * src/trackerd/tracker-email-utils.c: Removed tracker_db_close() and tracker_db_refresh_all() they are unused or do nothing. 2008-06-17 Martyn Russell * data/dbus/tracker-indexer.xml: * src/libtracker-db/tracker-db-manager.[ch]: * src/tracker-indexer/tracker-indexer.[ch]: * src/tracker-indexer/tracker-main.c: Initial work to make reindexing the database done ONLY by the tracker-indexer, not by the daemon. Needs a little more work. But command line -r works nicely for the indexer so far, just need the dbus part to work properly. 2008-06-17 Martyn Russell * src/libtracker-common/tracker-dbus.c: Improved the tracker_dbus_async_queue_to_strv() function so it doesn't crash when handling large numbers of files. 2008-06-17 Martyn Russell * src/trackerd/tracker-monitor.c: Turned off debugging. 2008-06-17 Martyn Russell * data/dbus/tracker-indexer.xml: * src/libtracker-common/tracker-dbus.c: (tracker_dbus_async_queue_to_strv): Don't wait if there is no data in the async queue with g_async_queue_timed_pop(). * src/tracker-indexer/tracker-indexer.[ch]: Added functions to be notified of created, deleted or updated files from the daemon. * src/trackerd/tracker-crawler.c: Don't block when shutting down by calling g_async_queue_pop() on an empty queue. * src/trackerd/tracker-monitor.c: Push all events to the indexer after queueing them first. 2008-06-17 Philip Van Hoof * tests/scripts/dummy_data_start.sh.in: * tests/scripts/xdg_dirs.source: * tests/scripts/xdg_dirs.unsource: * tests/scripts/dummy_data_stop.sh.in: * tests/scripts/data/email-contents.sql: * tests/scripts/data/file-meta.sql: * tests/scripts/data/common.sql: * tests/scripts/data/file-contents.sql: * tests/scripts/data/email-meta.sql: * tests/scripts/data/xesam.sql: * configure.ac: Added dummy test data for the unit tests 2008-06-17 Martyn Russell * src/tracker-indexer/tracker-indexer.c: * src/trackerd/tracker-crawler.c: * src/trackerd/tracker-main.c: Use the config initial_sleep setting for the daemon only, not the indexer, this way we don't wait for the indexer to be "running". 2008-06-17 Martyn Russell * src/libtracker-common/tracker-hal.c: * src/libtracker-common/tracker-log.c: * src/libtracker-common/tracker-nfs-lock.c: * src/libtracker/tracker-files.c: * src/libtracker/tracker-get-meta-for-folder.c: * src/libtracker/tracker-query.c: * src/tracker-applet/tracker-applet.c: * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-main.c: Changed all locations to use "initialize" and "finalize" instead of the en_GB version for consistency. 2008-06-17 Martyn Russell * src/trackerd/tracker-crawler.c: (path_should_be_ignored): Do UTF-8 validity check here instead of later on when we have wasted more time processing files and folders. 2008-06-16 Philip Van Hoof * src/trackerd/tracker-crawler.c: Bugfix, no longer freeing up already freed GStrv 2008-06-16 Martyn Russell * src/trackerd/tracker-crawler.c: (crawler_finalize): Make sure we clean up the async queue if we finalise the crawler and that means cleaning up the data on the queue too. 2008-06-16 Martyn Russell * src/trackerd/tracker-crawler.c: Make all calls to GIO asynchronous. This has increased the speed of traversing the file system. Also we now only get the name and type of every file we traverse, this significantly improved performance. Debug statements are turned off now by default to improve performance. * src/trackerd/tracker-monitor.c: Debug statements are turned off now by default to improve performance. 2008-06-16 Ivan Frade * configure.ac * tests/Makefile.am * tests/common/Makefile.am * tests/common/tracker-test-helpers.c * tests/common/tracker-test-helpers.h: New library with common code for all tests. * tests/libtracker-common/tracker-ontology-test.c * tests/libtracker-common/Makefile.am * tests/libtracker-common/tracker-type-utils-test.c: Added unit tests to tracker-type-utils. * src/libtracker-common/tracker-type-utils.c: Minor fixes to pass the tests. 2008-06-13 Philip Van Hoof * svn merge -r 1656:1683 ../xesam-support 2008-06-13 Philip Van Hoof * src/trackerd/tracker-crawler.c: No more blocking of the mainloop 2008-06-13 Ivan Frade * src/libtracker-common/tracker-dbus.c: Replaced g_warning with g_message. g_warning abort unit tests. * tests/libtracker-common/Makefile.am * tests/libtracker-common/non-utf8.txt * tests/libtracker-common/tracker-dbus-test.c: Unit tests to tracker-dbus helper methods, using non-utf8 strings. 2008-06-13 Martyn Russell * src/libtracker-common/tracker-dbus.c: (tracker_dbus_slist_to_strv), (tracker_dbus_async_queue_to_strv): * src/libtracker-db/tracker-db-dbus.c: (tracker_dbus_query_result_to_strv), (tracker_dbus_query_result_to_hash_table), (tracker_dbus_query_result_to_ptr_array): Now we UTF-8 check ALL strings in these functions since they are sent over DBus and we don't want DBus calling _exit() for us if the string is invalid UTF-8. 2008-06-13 Philip Van Hoof * tests/trackerd/tracker-xesam-test.c: * tests/trackerd/tracker-xesam-session-test.c: * tests/trackerd/tracker-xesam-hit-test.c: * tests/trackerd/tracker-xesam-hits-test.c: * tests/trackerd/tracker-xesam-test.h: Making the Xesam unit tests work 2008-06-13 Philip Van Hoof * tests/trackerd/tracker-xesam-test.c * tests/trackerd/tracker-xesam-hit-test.c * tests/trackerd/Makefile.am * tests/trackerd/tracker-xesam-hits-test.c * tests/trackerd/tracker-xesam-hit-test.h * tests/trackerd/xesam/xesam-g-globals-private.h * tests/trackerd/xesam/Makefile.am * tests/trackerd/tracker-xesam-hits-test.h Ported two more tests from xesam-glib's tests repository over. These tests are not fully functional at the moment of writing (we need to make them succeed in order to support Xesam, the tests themselves are or should be ~ correct). 2008-06-13 Philip Van Hoof * tests/trackerd/tracker-xesam-test.c: * tests/trackerd/tracker-xesam-session-test.c: * tests/trackerd/Makefile.am: * tests/trackerd/tracker-xesam-session-test.h: * tests/trackerd/xesam/xesam-g-testsearcher.h: * tests/trackerd/xesam/xesam-g-debug-private.h: * tests/trackerd/xesam/xesam-g-utils.h: * tests/trackerd/xesam/xesam-g-test-query-builder.c: * tests/trackerd/xesam/gtestextensions.c: * tests/trackerd/xesam/Makefile.am: * tests/trackerd/xesam/xesam-g-test-query-builder.h: * tests/trackerd/xesam/gtestextensions.h: * tests/trackerd/xesam/xesam-g-testsearcher.c: * configure.ac: Added infrastructure and first test example (ported from xesam-glib's tests repository) for testing Xesam 2008-06-12 Mikael Ottela * src/trackerd/tracker-main.c * src/trackerd/tracker-crawler.c * src/libtracker-db/tracker-db-manager.c * src/libtracker-common/tracker-xesam-field.c * src/libtracker-common/tracker-xesam-field.h * src/libtracker-common/tracker-xesam-ontology.c * src/libtracker-common/tracker-field.h * src/libtracker-common/tracker-xesam-ontology.h * src/libtracker-common/Makefile.am * data/sqlite-stored-procs.sql * data/sqlite-xesam.sql Switched xesam to use standard XesamField and XesamOntology. * src/trackerd/tracker-xesam-live-search.c Bugs in handling of list-type return values fixed. 2008-06-13 Martyn Russell * src/libtracker-common/tracker-file-utils.[ch]: * src/trackerd/tracker-crawler.c: Moved tracker_path_list_filter_duplicates() to the file utils. * src/trackerd/tracker-monitor.[ch]: Use GFile instead of strings in the API and added work to print file changes to the console. * src/libtracker-common/tracker-dbus.[ch]: Added a new function to convert 'n' items from a GAsyncQueue to a GStrv for sending files to the indexer process. * src/trackerd/tracker-crawler.c: Use the new tracker_dbus_async_queue_to_strv() API to generate the GStrv instead of using a GPtrArray. * src/trackerd/tracker-monitor.c: Save the config variable on initialisation. * src/trackerd/tracker-db.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-process-files.c: Removed all tracker_monitor_() calls, this shouldn't be done from here. 2008-06-12 Martyn Russell * src/libtracker-common/tracker-dbus.[ch]: Added a new function to convert 'n' items from a GAsyncQueue to a GStrv for sending files to the indexer process. * src/trackerd/tracker-crawler.c: Use the new tracker_dbus_async_queue_to_strv() API to generate the GStrv instead of using a GPtrArray. * src/trackerd/tracker-monitor.c: Save the config variable on initialisation. 2008-06-12 Philip Van Hoof * svn merge -r 1538:1656 ../xesam-support 2008-06-12 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (tracker_indexer_process_files): Queue files that get through DBus calls. At the moment we just assume we want the files module. 2008-06-12 Martyn Russell * src/tracker-indexer/tracker-indexer.c: * src/trackerd/tracker-crawler.c: Change all instances of g_strfreev() on dynamically allocated GPtrArrays, since they grow, the strings should be freed separately and the array itself after that, this is also better than g_strfreev() in case one or the other changes to a GSlice implementation. * src/trackerd/tracker-main.c: * src/trackerd/tracker-monitor.[ch]: Pass the TrackerConfig since we need it to know if we shouldn't monitor certain locations. 2008-06-12 Philip Van Hoof * svn merge -r 1538:1656 ../xesam-support 2008-06-12 Philip Van Hoof * tests/trackerd/tracker-xesam-test.c: * tests/trackerd/Makefile.am: * tests/Makefile.am: * configure.ac: Added unit test infrastructure for Xesam 2008-06-12 Martyn Russell * src/libtracker-common/tracker-hal.c: Always initialise the hash tables to avoid errors when we can't contact the HAL DBus service. * src/trackerd/linux-inotify-syscalls.h: Removed now we don't need it thanks to the GIO file monitoring. * src/trackerd/tracker-crawler.c: Get the locations to crawl from the config now and add a default of $HOME. Also added function to check that we don't crawl the same location more than once and added more locations to the ignore list. * src/trackerd/tracker-db.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-process-files.c: Removed the need for the TrackerDBInterface when adding or removing monitors. * src/trackerd/tracker-main.c: Added back the initial_sleep command line argument so we can at least inspect the startup details and logging before the console is spammed with file crawling information. * src/trackerd/tracker-monitor.[ch]: Implemented the basics of file monitoring here using the new GFileMonitor API. 2008-06-12 Ivan Frade * tests/libtracker-common/tracker-ontology-test.c: Added unit test to tracker-ontology 2008-06-12 Carlos Garnacho * src/libtracker-db/tracker-db-manager.c: Actually deal with a single TrackerDBInterface if attach_all is TRUE. 2008-06-12 Ivan Frade * Makefile.decl: Make rules to build unit tests. Copied from glib. * configure.ac: Added rules to build unit tests when the glib installed version supports it. 2008-06-12 Carlos Garnacho * src/libtracker-common/tracker-ontology.c (ontology_hash_lookup_by_str) (tracker_ontology_add_service_type) (tracker_ontology_add_field): Use collation keys for hashtable lookups. 2008-06-12 Carlos Garnacho * src/libtracker-db/tracker-db-manager.c (db_get_static_data) (db_row_to_service): Plug a few leaks * src/libtracker-common/tracker-ontology.c (tracker_ontology_init): Set the GDestroyNotify handler for mime/metadata keys, as these hashtables have to take ownership of the strings passed. 2008-06-11 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.c: * src/libtracker-common/tracker-xesam-field.c: *src/libtracker-common/tracker-xesam-field.h: List-field values in get_hit_data 2008-06-11 Mikael Ottela * src/trackerd/tracker-db.c * src/trackerd/tracker-main.c * src/trackerd/Makefile.am * src/trackerd/tracker-xesam-live-search.c * src/tracker-indexer/tracker-indexer.c * src/tracker-indexer/tracker-indexer-db.c * src/tracker-indexer/tracker-indexer-db.h * src/libtracker-common/tracker-parser.c * src/libtracker-common/Makefile.am * src/libtracker-common/tracker-xesam-ontology.c * src/libtracker-common/tracker-xesam-ontology.h * src/libtracker-common/tracker-xesam-field.c * src/libtracker-common/tracker-xesam-field.h * src/libtracker-db/tracker-db-manager.c * data/sqlite-stored-procs.sql * data/services/xesam-metadata.mmapping Added framework for xesam field handling. 2008-06-11 Martyn Russell * src/trackerd/tracker-crawler.c: (tracker_crawler_start): Changed jthe default location to $HOME from some testing directory of mine. 2008-06-11 Martyn Russell * src/tracker-indexer/tracker-main.c: Removed commented out code. * src/trackerd/tracker-crawler.c: Renamed internal functions better and fixed a nasty crasher because we weren't NULL terminating the GStrv we send to the indexer to process. * src/trackerd/tracker-main.c: Don't initiate and shutdown the process-files module, it is no longer used. Also make sure we shutdown properly when using Ctrl+C. Now when we initiate the db manager we set the attach_all to TRUE now that Carlos has fixed that bug. This means we use one connection for all transactions in the daemon now. 2008-06-11 Martyn Russell * src/trackerd/tracker-crawler.c: Make sure we set the ignored file types each time the TrackerConfig object is set for the TrackerCrawler. This fixes the warning about TrackConfig not existing for tracker_config_get_no_index_file_types(). * src/trackerd/tracker-main.c: Removed the initial sleep from the daemon, this is only meant for the indexer which implements the feature and this also means that we don't respond to dbus events in that interval. 2008-06-11 Martyn Russell * src/trackerd/tracker-crawler.[ch]: Added a _stop() function and also iterate main context events after each file is iterated. This means we respond to DBus events. Fixed a nasty crash where we were fixing static strings added to the database when the TrackerCrawler was created. * src/trackerd/tracker-daemon.c: Changed message from "restarting" to "shuting down" when shutting down the daemon. * src/trackerd/tracker-main.[ch]: Create the crawler in the Tracker struct so the shutdown function can stop it immediately. 2008-06-10 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.c: Preserving the sort order in get_hit_data 2008-06-10 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-db.c: Further preparations for get_hit_data, support for fields that contain a list-value. Added the ServiceID field to the query so that you can distinguish between actual items-to-return and records (lines) that will add a item to the list-value field 2008-06-10 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-db.c: * src/libtracker-db/tracker-db-manager.c: Fixed the ATTACH statements in tracker-db-manager.c Fixed an invalid assertion on fields for tracker_db_live_search_get_hit_data 2008-06-10 Martyn Russell * configure.ac: Bumped the version dependency of GLib to 2.16 for the new GIO API and remove the old backend code checks. * data/dbus/tracker-indexer.xml: Added a "ProcessFiles" API call and updated the "GetRunning" to return the state as a function parameter. * src/tracker-indexer/tracker-indexer.[ch]: Update all DBus functions to include the GError and other parameters so we return valid errors when functions fail. * src/trackerd/Makefile.am: * src/trackerd/tracker-crawler.[ch]: * src/trackerd/tracker-monitor.[ch]: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-email-modest.c: * src/trackerd/tracker-email-thunderbird.c: * src/trackerd/tracker-process-files.c: Added to handle directory monitoring and for crawling the file system. The crawler module now contacts the indexer and sends files it finds across DBus. * src/trackerd/tracker-db.c: Use tracker_monitor_() instead of tracker_watcher_(). * src/trackerd/tracker-dbus.[ch]: Added a function to get the DBusGProxy for the indexer client connection. * src/trackerd/tracker-main.c: Initialise the TrackerCrawler object so it crawls $HOME for now for testing. * src/trackerd/tracker-watcher*.[ch]: Removed in favour of tracker-monitor.[ch]. 2008-06-10 Carlos Garnacho * src/libtracker-db/tracker-db-manager.c (db_interface_get): Run "analyze" here, before actually attaching any database. This prevents sqlite from blocking when running this command after having attached a database. (db_interface_get_common) (db_interface_get_cache) (db_interface_get_file_metadata) (db_interface_get_file_contents) (db_interface_get_email_metadata) (db_interface_get_email_contents) (db_interface_get_xesam): Do not analyze the DB here. It's already done in db_interface_get(). 2008-06-10 Carlos Garnacho * src/tracker-indexer/tracker-indexer-db.[ch] (tracker_db_set_metadata): Add argument to pass the parsed string for a value. Store data in the correct tables depending on the field data type. * src/tracker-indexer/tracker-indexer.c (index_metadata_foreach): pass the parsed value string to tracker_db_set_metadata(). 2008-06-10 Carlos Garnacho * src/libtracker-common/tracker-parser.c (tracker_parser_text_to_string): Return a stripped string. 2008-06-10 Martyn Russell * configure.ac: * src/libtracker-gtk/tracker-metadata-tile.c: * src/libtracker/tracker-search.c: (main): * src/libtracker/tracker-tag.c: (main): * src/tracker-indexer/tracker-main.c: (main): * src/trackerd/tracker-main.c: (main): * src/trackerd/tracker-watcher.h: Removed the RECENT_GLIB definition, it was checking for GLib 2.12, when we depend on 2.14 anyway. Also removed all places where we uses #if statements for RECENT GLIB. 2008-06-09 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.c: get_hit_data improvements 2008-06-09 Ivan Frade * src/libtracker-db/tracker-db-dbus.[ch]: (tracker_dbus_query_result_to_strv) Added new parameter to select the column. * src/trackerd/tracker-files.c * src/trackerd/tracker-keywords.c * src/trackerd/tracker-metadata.c * src/trackerd/tracker-search.c: Updated method calls This fixes the get_registered_metadata method. 2008-06-09 Carlos Garnacho * src/tracker-indexer/tracker-indexer-db.[ch] (tracker_db_set_text): New function, saves text into the content database. * src/tracker-indexer/tracker-indexer.c (init_indexer): create content database. (process_file): get text content and store it in the database. (tracker_indexer_finalize): Do not unref here the database connections, they're already taken care of by the DB manager. 2008-06-09 Carlos Garnacho * src/libtracker-db/tracker-db-manager.c (function_compress_string) (function_compress): Added, database function to compress a passed string using zlib. (db_interface_get_file_contents) (db_interface_get_email_contents): Create that function for these database connections. * data/sqlite-stored-procs.sql (SaveServiceContents): Use compress(), so the indexer code doesn't have to compress the contents itself. 2008-06-09 Carlos Garnacho * src/libtracker-db/tracker-db-manager.c (set_up_databases) (db_interface_create) (tracker_db_manager_init) (tracker_db_manager_shutdown) (tracker_db_manager_get_db_interface) (tracker_db_manager_get_db_interface_content): Allow creating databases lazily, instead of creating them all on initialization. 2008-06-09 Martyn Russell * src/libtracker-db/tracker-db-manager.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-main.[ch]: Removed more unused members from the Tracker struct. 2008-06-09 Martyn Russell * src/trackerd/tracker-daemon.c: * src/trackerd/tracker-files.c: * src/trackerd/tracker-keywords.c: * src/trackerd/tracker-main.[ch]: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-utils.c: * src/trackerd/tracker-watcher-inotify.c: Removed unused threading code. 2008-06-09 Ivan Frade * src/trackerd/tracker-main.c: initialise_directories before tracker_db_manager_init. Removed second call to tracker_watcher-init. * src/trackerd/tracker-db.c: Fixed assert. Offset must be equal or greater than 0. 2008-06-09 Martyn Russell * src/libtracker-db/tracker-db-manager.[ch]: Removed a lot of public API here because it is no longer needed. Simplified the way we set up TrackerDBInterface objects. Improved the logging. Added support for attaching all databases to one connection. Fixed the odd bug found. * src/tracker-indexer/tracker-main.c: Initialise the database manager without attaching all databases. * src/trackerd/tracker-main.c: Initialise the database manager with attach_all_dbs set to FALSE for now, setting this to TRUE causes problems when running the daemon with --reindex. 2008-06-09 Carlos Garnacho * src/libtracker-db/tracker-db-manager.c (db_manager_row_to_field_def): Plug a leak. 2008-06-09 Martyn Russell * src/libtracker-common/tracker-utils.h: * src/trackerd/Makefile.am: * src/trackerd/tracker-db-email.c: * src/trackerd/tracker-db-sqlite.[ch]: * src/trackerd/tracker-db.[ch]: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-email-utils.h: * src/trackerd/tracker-files.c: * src/trackerd/tracker-keywords.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-rdf-query.c: * src/trackerd/tracker-search.c: * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-xesam-query.c: * src/trackerd/tracker-xesam.h: Removed tracker-db-sqlite.[ch] and merged it with tracker-db.[ch]. 2008-06-09 Martyn Russell * src/libtracker-db/tracker-db-manager.[ch]: * src/trackerd/tracker-daemon.[ch]: * src/trackerd/tracker-db-email.[ch]: * src/trackerd/tracker-db-sqlite.[ch]: * src/trackerd/tracker-db.[ch]: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-email-modest.c: * src/trackerd/tracker-email-plugin.h: * src/trackerd/tracker-email-thunderbird.c: * src/trackerd/tracker-email-utils.[ch]: * src/trackerd/tracker-email.[ch]: * src/trackerd/tracker-files.[ch]: * src/trackerd/tracker-keywords.[ch]: * src/trackerd/tracker-main.c: * src/trackerd/tracker-metadata.[ch]: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-rdf-query.[ch]: * src/trackerd/tracker-search.[ch]: * src/trackerd/tracker-watcher-fam.c: * src/trackerd/tracker-watcher-inotify.c: * src/trackerd/tracker-watcher.h: * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-xesam-manager.c: * src/trackerd/tracker-xesam-query.[ch]: * src/trackerd/tracker-xesam.[ch]: Changed DBConnection into TrackerDBInterface. This is interesting because the DBConnection contained ALL connections. The TrackerDBInterface doesn't, it is ONE connection to ONE database. This means we have to know which database to use to call certain database API. This is less than helpful to the application. This should be changed over time so that all DB functions don't take a TrackerDBInterface and we just get it automatically from the tracker-db-manager. This is the first stage in removing DBConnection. The attach statements and threadding have yet to be finished here. 2008-06-06 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.c: Memory leak fixes * src/trackerd/tracker-xesam-live-search.c: SearchDone's delayer correction 2008-06-06 Philip Van Hoof * src/libtracker-db/tracker-db-interface-sqlite.c: * src/trackerd/tracker-xesam-live-search.c: Some minor bugfixes. Delaying the SearchDone for a second (maybe we can remove this later) * data/sqlite-stored-procs.sql: Two syntax errors in the SQL queries 2008-06-06 Carlos Garnacho * data/services/*.metadata: Change DataType to match TrackerFieldType enum nicks. 2008-06-06 Carlos Garnacho * src/libtracker-db/tracker-db-manager.c (load_metadata_file): Try to find enum value based on the nick, not the name. (db_manager_row_to_field_def): Set data type when creating TrackerField objects. 2008-06-05 Carlos Garnacho * src/tracker-indexer/tracker-indexer-db.c (tracker_db_create_service): Take into account directories when marking services as disabled. 2008-06-05 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.c: Fixed a crash for searches that yield no results. 2008-06-05 Ivan frade * src/libtracker-db/tracker-db-action.[ch] * src/trackerd/tracker-watcher-inotify.c: (is_delete_event) moved to tracker-db-action 2008-06-05 Ivan Frade * src/libtracker-db/tracker-db-file-info.[ch] * src/trackerd/tracker-db.c * src/trackerd/tracker-process-files.[ch] * src/trackerd/tracker-watcher-inotify.c: (tracker_process_files_is_file_info_valid) moved to tracker-db-file-info (tracker_db_file_info_is_valid). 2008-06-05 Carlos Garnacho * src/tracker-indexer/modules/files.c (check_exclude_file): Exclude also *.bak files. (tracker_module_get_file_metadata): Insert missing things in the metadata table, they're strings at the moment, although there should be some way to deal with them as integer/times/boolean, etc... * src/tracker-indexer/tracker-indexer-db.c (tracker_db_create_service): Insert some missing data in the Services table. 2008-06-05 Ivan Frade * src/trackerd/tracker-email-plugin.h: Email plugin interface. * src/trackerd/tracker-email.c: Consistent function names. _init is now _start_watching_emails and _shutdown is now _end_watching_emails. * src/trackerd/tracker-email-[modest,kmail,evolution,thunderbird].c: Renamed method names to "implement" the plugin interface. * src/trackerd/tracker-main.c: Use the new (_start,_end)_watching_emails functions. 2008-06-04 Mikael Ottela * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.c Initial xesam get_hits implementation 2008-06-04 Philip Van Hoof * src/libtracker-db/tracker-db-manager.c: Fixed the db-names of certain ATTACH statements 2008-06-04 Carlos Garnacho * filters/application/*: * filters/text/*: Dump text in stdout instead of a temp file. 2008-06-04 Carlos Garnacho * src/tracker-indexer/tracker-indexer-module.[ch] (tracker_indexer_module_get_text): New function, returns the contained/extracted text for a file. * src/tracker-indexer/modules/files.c (tracker_module_get_file_text) (tracker_metadata_call_text_filter): Added, either get the text for text/development files, or call the external filter, which returns the contained text. 2008-06-04 Carlos Garnacho * src/tracker-indexer/modules/files.c (tracker_metadata_get_embedded): Check ontology to see whether the file could contain embedded metadata. (check_exclude_file) (tracker_module_get_file_metadata): Check whether the file should be excluded for any kind of data extraction. 2008-06-04 Carlos Garnacho * src/libtracker-db/tracker-db-interface-sqlite.c (tracker_db_interface_sqlite_execute_procedure) (tracker_db_interface_sqlite_execute_procedure_len): Do not choke with NULL arguments, instead trust the caller on the number of arguments passed and allow passing NULL values to these functions. 2008-06-03 Martyn Russell * src/libtracker-common/tracker-type-utils.h: Fixed glib include build warning. * src/libtracker-db/tracker-db-manager.[ch]: * src/tracker-indexer/tracker-indexer-db.[ch]: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-main.c: Added functions from tracker-indexer/tracker-indexer-db.c[ch] which set up databases. So now when we request a database type like the common database or the file metadata database, we return an interface and it is already set up if it had to be created first, etc. * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-indexer.c: Changed the TrackerDB type names for metadata from "META" to "METADATA". 2008-06-03 Martyn Russell * src/trackerd/tracker-db-sqlite.h: * src/trackerd/tracker-rdf-query.c: Cleaned up some uses of FieldData and changed them to TrackerFieldData instead. 2008-06-03 Martyn Russell * src/libtracker-common/tracker-file-utils.c: * src/libtracker-common/tracker-os-dependant-unix.c: * src/libtracker-common/tracker-os-dependant-win.c: * src/libtracker-common/tracker-os-dependant.h: * src/trackerd/tracker-process-files.c: Removed tracker_check_uri(), it is hardly used and it is only a pointer check. * src/trackerd/tracker-db.c: Refactored the code in places. 2008-06-03 Martyn Russell * src/libtracker-common/tracker-file-utils.h: Fixed includes so we don't get warnings if glib isn't already included. * src/trackerd/tracker-db-email.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.[ch]: * src/trackerd/tracker-files.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-watcher-inotify.c: Removed a lot of tracker_db_() API which is only needed by the indexer. 2008-06-03 Martyn Russell * src/trackerd/Makefile.am: * src/trackerd/tracker-index-stage.[ch]: * src/trackerd/tracker-main.h: Removed tracker-index-stage, it is no longer used. 2008-06-02 Michael Biebl * src/trackerd/Makefile.am: * src/libtracker-common/Makefile.am: The accent stripping functionality using unac, is now in libtracker-common, so link libtracker-common against unac, not trackerd. 2008-06-02 Philip Van Hoof * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-xesam-manager.c: * src/trackerd/tracker-xesam-manager.h: Waking up the LiveSearches for not-yet refactored methods that also (still) insert, delete and update the database 2008-06-02 Philip Van Hoof * src/tracker-indexer/tracker-indexer-db.c: * src/tracker-indexer/tracker-indexer-db.h: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-indexer.h: * src/trackerd/tracker-main.c: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-dbus.h: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-xesam-manager.c: * src/trackerd/tracker-xesam-manager.h: * data/dbus/tracker-indexer.xml: IndexerUpdated signal emitted by the indexer-process to notify trackerd about changes it should act on in case LiveSearches are active that are influenced by said changes. Events table updating reinstalled after refactoring the indexing to a separate process removed this functionality. 2008-06-02 Martyn Russell * src/trackerd/Makefile.am: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-email-modest.c: * src/trackerd/tracker-email-thunderbird.c: * src/trackerd/tracker-email-utils.c: * src/trackerd/tracker-fam.c: * src/trackerd/tracker-inotify.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-poll.c: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-watch.h: * src/trackerd/tracker-watcher-fam.c: * src/trackerd/tracker-watcher-inotify.c: * src/trackerd/tracker-watcher-poll.c: * src/trackerd/tracker-watcher-win.c: * src/trackerd/tracker-watcher.h: * src/trackerd/tracker-win-fs-changes.c: Moved all watch files so they use the prefix tracker-watch-*. Updated the API to have a consistent tracker_watcher_() prefix. Refactored the FAM, inotify, poll and windows backends. 2008-06-02 Carlos Garnacho * src/libtracker-common/tracker-field.h: Add TRACKER_TYPE_FIELD_TYPE define for the TrackerFieldType enum GType. * src/libtracker-common/tracker-ontology.c (tracker_ontology_init) (tracker_ontology_shutdown): Make the class for the TrackerFieldType enum is created during the ontology lifetime. * src/tracker-indexer/tracker-indexer-db.c (load_metadata_file): Moved from trackerd. (tracker_indexer_db_get_common): Load all necessary sql/metadata/services definitions into the common DB. 2008-06-02 Martyn Russell * src/trackerd/Makefile.am: * src/trackerd/tracker-cache.[ch]: * src/trackerd/tracker-db-email.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-modest.c: * src/trackerd/tracker-email-utils.c: Removed tracker-cache.[ch] now used in the tracker-indexer code and cleaned up all places that call cache functions. * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-watch.h: * src/trackerd/tracker-inotify.c: Refactored the code here and changed the API to be more consistent. * src/trackerd/tracker-main.[ch]: Updated the shutdown process so we initialize and shutdown the process-files module which will scan the disk for files to index. Also removed the tracker->shutdown member, there is no point in having that AND the ->is_running member. * src/trackerd/tracker-process-files.[ch]: Removed a lot of the indexer functionality and just left most of the directory processing functions. * src/trackerd/tracker-utils.c: Removed the _add_io_grace() function now it is no longer used. 2008-06-02 Philip Van Hoof * src/tracker-indexer/tracker-indexer-db.c: * src/tracker-indexer/tracker-indexer-db.h: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-indexer.h: * src/trackerd/tracker-main.c: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-dbus.h: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-xesam-manager.c: * src/trackerd/tracker-xesam-manager.h: * data/dbus/tracker-indexer.xml: IndexerUpdated signal emitted by the indexer-process to notify trackerd about changes it should act on in case LiveSearches are active that are influenced by said changes. Events table updating reinstalled after refactoring the indexing to a separate process removed this functionality. 2008-06-02 Carlos Garnacho * src/libtracker-utils/tracker-file-utils.[ch] (tracker_dir_remove): Renamed to tracker_path_remove(). Use g_remove() instead of g_rmdir(), so it can be used too on files. * src/tracker-indexer/tracker-indexer.c: * src/trackerd/tracker-main.c: Replace all occurrences. 2008-06-02 Carlos Garnacho * src/tracker-indexer/tracker-indexer-db.c (load_sql_file): Moved from trackerd, executes the queries contained in a text file. (tracker_indexer_db_get_file_metadata): Load sql files necessary to create the tables/triggers if the DB file didn't exist. * src/tracker-indexer/tracker-indexer.c (init_indexer): Create the DB directory if it didn't exist or was deleted. 2008-06-02 Martyn Russell * src/tracker-indexer/tracker-index.c: (cache_flush_foreach): Fixed some warnings. 2008-05-30 Carlos Garnacho * src/tracker-indexer/tracker-indexer-db.[ch] (tracker_db_set_metadata): Added, stores metadata values into Service*MetaData tables. * src/tracker-indexer/tracker-indexer.c (index_metadata_foreach): use tracker_db_set_metadata() to store metadata contents. 2008-05-30 Carlos Garnacho * src/tracker-indexer/tracker-index.[ch]: New files. Provide methods to store data in the QDBM index. * src/tracker-indexer/Makefile.am: Added these files to build. * src/tracker-indexer/tracker-indexer.c: Pass all metadata contents through the parser and store all the results with TrackerIndex. 2008-05-30 Carlos Garnacho * src/libtracker-db/Makefile.am: Do not force -g. 2008-05-30 Carlos Garnacho * src/libtracker-common/tracker-parser.c (tracker_parser_text_into_array): reverse wrongly passed arguments to tracker_parser_text_to_string(). Also strip leading and trailing whitespaces in order not to end with "\0" strings in the array. 2008-05-30 Carlos Garnacho * tracker-indexer-db.[ch] (tracker_db_increment_stats) (tracker_db_create_service): * tracker-indexer.c (process_file): Pass around the TrackerService instead of having to look it up in the ontology several times. 2008-05-30 Philip Van Hoof * Merged indexer-split with xesam-support svn merge -r 1495:1538 ../xesam-support 2008-05-30 Philip Van Hoof * data/sqlite-stored-procs.sql: Fixed syntax error of a stored procedure (LiveSearchStopSearch) * src/trackerd/tracker-xesam-manager.c: Unneeded casting removed 2008-05-30 Philip Van Hoof * tracker-xesam-live-search.h: * tracker-xesam-ontology.c: * tracker-xesam-ontology.h: * tracker-xesam-query.c: * tracker-xesam-query.h: Normalizing copyright notes and original author names to the respective authors of the files involved in this patch (i.e. Ottela Mikael for xesam-query and xesam-ontology) 2008-05-29 Philip Van Hoof * src/trackerd/tracker-dbus-xesam.c: * src/trackerd/tracker-dbus-xesam.h: Refactored tracker_dbus_xesam_emit_search_done to tracker_xesam_live_search_emit_done 2008-05-30 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-xesam-live-search.h: * src/trackerd/tracker-xesam-manager.c: Making it possible to pass which exact events occurred, to better finetune the periodic LiveSearch query in future 2008-05-29 Philip Van Hoof * src/trackerd/tracker-dbus-xesam.c: * src/trackerd/tracker-dbus-xesam.h: Refactored tracker_dbus_xesam_emit_search_done to tracker_xesam_live_search_emit_done 2008-05-29 Philip Van Hoof * src/trackerd/tracker-dbus-xesam.c: * src/trackerd/tracker-dbus-xesam.h: Refactored tracker_dbus_xesam_emit_search_done to tracker_xesam_live_search_emit_done 2008-05-29 Martyn Russell * configure.ac: * data/Makefile.am: * data/dbus/Makefile.am: * data/org.freedesktop.Tracker.Indexer.service.in: * data/org.freedesktop.Tracker.service.in: * data/tracker-dbus-daemon.xml: * data/tracker-dbus-files.xml: * data/tracker-dbus-keywords.xml: * data/tracker-dbus-metadata.xml: * data/tracker-dbus-search.xml: * data/tracker-dbus-xesam.xml: * data/tracker-indexer.xml: Moved to data/dbus/ and the -dbus- prefix has been removed from the daemon xml files. * data/tracker.cfg: Removed, it is generated initially now. * src/libtracker/Makefile.am: * src/libtracker/tracker.c: Used the new data/dbus/*.xml files and removed the -dbus- name space from the included generated files. * src/tracker-indexer/Makefile.am: * src/trackerd/Makefile.am: * src/trackerd/tracker-cache.c: * src/trackerd/tracker-daemon.[ch]: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-dbus-daemon.[ch]: * src/trackerd/tracker-dbus-files.[ch]: * src/trackerd/tracker-dbus-keywords.[ch]: * src/trackerd/tracker-dbus-metadata.[ch]: * src/trackerd/tracker-dbus-search.[ch]: * src/trackerd/tracker-dbus-xesam.[ch]: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-modest.c: * src/trackerd/tracker-email-utils.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-status.c: * src/trackerd/tracker-utils.c: Renamed all tracker_dbus_ files and functions to tracker_ to make things simpler. * src/trackerd/tracker-xesam-manager.[ch]: Moved the old tracker-xesam.[ch] to tracker-xesam-manager.[ch]. * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-xesam-session.[ch]: Improved the code here as well as changed all tracker_xesam_() to tracker_xesam_manager_(). 2008-05-29 Martyn Russell * src/libtracker-common/Makefile.am: Don't include the HAL files twice, this was causing some serious headaches today. * src/libtracker-common/tracker-hal.h: Put the HAVE_HAL check after the already included check. * src/libtracker-db/Makefile.am: Make sure we depend on libtracker-common because we need some of the dbus API calls there. * src/tracker-indexer/modules/Makefile.am: Remove commented out libtracker-common include. Not needed. * src/tracker-indexer/tracker-dbus.c: * src/tracker-indexer/tracker-main.c: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-main.c: Some logging/debugging updates. Now we say where the log file is and print it to the terminal so users know where to look. Also state when we are done loading so the user knows we aren't hanging for some startup processes. 2008-05-29 Martyn Russell * src/libtracker-common/tracker-hal.[ch]: Consistency fixes. * src/tracker-indexer/modules/Makefile.am: Reorder some of the linking so it is done in the right order. This doesn't matter on Linux, but it does on Windows. Linking must occur with the system deps last. Yes that sucks. * src/trackerd/Makefile.am: * src/trackerd/tracker-dbus.[ch]: * src/trackerd/tracker-main.c: Added the tracker-indexer.xml file to the Makefile here but to produce the client side API so we can call _set_running() on the indexer to exec() the binary and start indexing when we are ready. So now we start the indexer when it is needed through DBus. 2008-05-29 Carlos Garnacho * src/tracker-indexer/tracker-dbus.[ch] (tracker_dbus_register_object): Added, registers to the bus an already created object. (tracker_dbus_register_object) (tracker_dbus_get_object): Removed, no longer necessary. (dbus_register_object): Modify to register an already created object. * src/tracker-indexer/tracker-main.c: Create the TrackerIndexer prior to registering it in DBus, so we can pass it construct only properties. 2008-05-29 Carlos Garnacho * src/tracker-indexer/tracker-indexer-db.[ch]: Added, These files are going to contain all DB related functions. * src/tracker-indexer/Makefile.am: Added these files to build. * src/tracker-indexer/tracker-main.c: Initialize DB manager and ontology. * src/tracker-indexer/tracker-indexer.c: Added initial support to data indexing. 2008-05-29 Carlos Garnacho * src/libtracker-db/tracker-db-interface-sqlite.c: Make sure the procedures table is unreferenced when setting a new one. Also, don't create one during initialization. 2008-05-29 Martyn Russell * src/libtracker-common/tracker-dbus.h: * src/libtracker-db/tracker-db-dbus.h: * src/tracker-indexer/tracker-dbus.h: Forgot to svn add these files for the last commit! 2008-05-28 Martyn Russell * data/Makefile.am: * data/org.freedesktop.Tracker.Indexer.service.in: * data/org.freedesktop.TrackerIndexer.service.in: * src/tracker-indexer/tracker-indexer.h: Changed name TrackerIndexer to Tracker.Indexer. * src/tracker-indexer/Makefile.am: * data/tracker-indexer.xml: Add introspection support for the indexer. * src/tracker-indexer/tracker-dbus.c: * src/tracker-indexer/tracker-main.c: Make sure we register the DBus objects properly on startup. 2008-05-28 Martyn Russell * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-dbus.c: Added this for the most common DBus functionality, such as creating requests and logging request comments, etc. * src/libtracker-db/Makefile.am: * src/libtracker-db/tracker-db-dbus.c: Added for converting TrackerDBResultSet information into Glib types to be transported over DBus. * src/tracker-indexer/Makefile.am: * src/tracker-indexer/tracker-dbus.c: * src/tracker-indexer/tracker-indexer.h: * src/tracker-indexer/tracker-main.c: Added initial DBus support to register the tracker-indexer name on startup to start receiving requests from the daemon. * src/trackerd/Makefile.am: * src/trackerd/tracker-dbus-daemon.[ch]: * src/trackerd/tracker-dbus-files.[ch]: * src/trackerd/tracker-dbus-keywords.[ch]: * src/trackerd/tracker-dbus-metadata.[ch]: * src/trackerd/tracker-dbus-search.[ch]: * src/trackerd/tracker-dbus-xesam.[ch]: * src/trackerd/tracker-dbus.[ch]: * src/trackerd/tracker-main.c: * src/trackerd/tracker-xesam-live-search.c: Cleaned up the includes which were overly bloated. Also improved the tracker-dbus API so it is obvious we initialise it first (for registering the name) and we register objects later. Before with init() and preinit() it wasn't clear why we needed that. 2008-05-28 Martyn Russell * data/Makefile.am: * data/tracker-indexer.service.in: * data/trackerd.service.in: Renamed these files to the name they will use on the session bus (i.e. org.freedesktop.Tracker...). 2008-05-28 Martyn Russell * data/Makefile.am: * data/tracker-indexer.service.in: * data/tracker.service.in: Added a service for the indexer to start when we try to communicate with it. This is an initial step, there launching the binary will not associate itself with the DBus name in the session just yet. 2008-05-28 Martyn Russell * src/trackerd/Makefile.am: * src/trackerd/tracker-apps.c: * src/trackerd/tracker-apps.h: * src/trackerd/tracker-db.h: * src/trackerd/tracker-process-files.c: Removed the src/trackerd/tracker-apps.[ch] files because there is a module to do that now in the src/tracker-indexer code. The process-files module now won't try to index applications, but the process-files module is obsolete now anyway. All commented out code is marked with the comment FIXME-indexer-split. 2008-05-28 Martyn Russell * src/tracker-indexer/Makefile.am: * src/tracker-indexer/main.c: Renamed to tracker-main.c 2008-05-28 Martyn Russell * src/tracker-indexer/Makefile.am: * src/tracker-indexer/tracker-metadata.[ch]: * src/trackerd/Makefile.am: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.h: * src/trackerd/tracker-dbus-files.c: Moved the tracker-metadata.[ch] to the tracker-indexer directory, this also is a transitional state for some of this code. Some of the code from tracker-db.c has been commented out with #if 0 since it is being moved to the indexer at some point. All of this code is marked with the comment FIXME-indexer-split. 2008-05-28 Martyn Russell * configure.ac: Changed the IOPRIO_SUPPORT to HAVE_IOPRIO since thats more consistent with naming conventions. * src/tracker-indexer/Makefile.am: * src/tracker-indexer/tracker-indexer.c: * src/tracker-indexer/tracker-ioprio.[ch]: * src/trackerd/Makefile.am: Moved the tracker-ioprio.[ch] to the indexer directory, they are only needed there. Also, moved the nice() function call to the indexer, the daemon doesn't need jthat either. * src/tracker-indexer/main.c: Removed all command line options except verbosity and reindex, these will not be needed except for debugging generally. Also use the same jargon about copyright, etc when starting up as the daemon. Added log support, we write to the same place as the daemon does, except it is called tracker-indexer.log. * src/trackerd/tracker-main.c: Changed the log to trackerd.log from tracker.log. 2008-05-28 Martyn Russell * data/Makefile.am: * data/sqlite-service-stored-procs.sql: Removed this, it is no longer used. 2008-05-28 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db-sqlite.h: * data/sqlite-stored-procs.sql: Detecting Creates, fixed the initial HitsAdded after StartSearch 2008-05-28 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db-sqlite.h: * data/sqlite-stored-procs.sql: The initial HitsAdded after a search is activated. Updated the stored-proc executers to also remove and add items into the LiveSearches table New TODO item: we are only detecting the Updates and Deletes for the live searches, not the creates 2008-05-27 Martyn Russell * src/libtracker-common/Makefile.am: * src/libtracker-db/Makefile.am: * src/libtracker-db/tracker-db-interface.[ch]: * src/libtracker-db/tracker-db-manager.[ch]: * src/trackerd/Makefile.am: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-main.c: Moved the tracker-db-manager.[ch] over to libtracker-db and improved some parts of it. 2008-05-27 Martyn Russell * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-hal.[ch]: * src/libtracker-common/tracker-ontology.[ch]: * src/libtracker-common/tracker-parser.[ch]: * src/libtracker-common/tracker-service.[ch]: * src/libtracker-common/tracker-field.[ch]: * src/libtracker-common/tracker-field-data.[ch]: * src/tracker-indexer/Makefile.am: * src/trackerd/Makefile.am: * src/trackerd/tracker-db-email.c: * src/trackerd/tracker-db-sqlite.[ch]: * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus-files.c: * src/trackerd/tracker-dbus-metadata.c: * src/trackerd/tracker-dbus-search.c: * src/trackerd/tracker-dbus-xesam.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-main.[ch]: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-query-tree.c: * src/trackerd/tracker-xesam-ontology.[ch]: * src/trackerd/tracker-xesam-query.c: Moved tracker-hal, tracker-ontology, tracker-service, tracker-parser, tracker-field and tracker-field-data modules to libtracker-common because they are shared by the indexer and the daemon. 2008-05-27 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.c * src/trackerd/tracker-xesam-query.c * src/trackerd/tracker-dbus-xesam.c * src/trackerd/tracker-dbus-xesam.h: Xesam behaviour fixes: Emit HitsAdded after StartSearch Emit StartDone after StartSearch is finished searching 2008-05-27 Philip Van Hoof * src/trackerd/tracker-xesam-query.c: Memory corruption fix in tracker_xesam_query_to_sql 2008-05-27 Philip Van Hoof * Merged indexer-split with xesam-support svn merge -r 1481:1495 ../xesam-support 2008-05-26 Carlos Garnacho * src/tracker-indexer/tracker-ontology.[ch]: * src/tracker-indexer/tracker-service.[ch]: * src/tracker-indexer/tracker-field.[ch]: Copied here meanwhile we decide where should they go. 2008-05-26 Carlos Garnacho * src/tracker-indexer/tracker-indexer.[ch]: Add "reindex" property, to begin indexing from scratch at startup. * src/tracker-indexer/main.c: connect reindex to command line option. 2008-05-27 Philip Van Hoof * src/trackerd/tracker-dbus.c: On/Off configuration of Xesam 2008-05-27 Philip Van Hoof * Fixed the Xesam DBus namespaces for Xesam r0.95 2008-05-27 Philip Van Hoof * Fixes some bugs with xesam search structures and field definitions * Patch by Ottela Mikael 2008-05-27 Philip Van Hoof * Merged indexer-split with xesam-support svn merge -r 1481:1495 ../xesam-support 2008-05-26 Carlos Garnacho * src/tracker-indexer/tracker-ontology.[ch]: * src/tracker-indexer/tracker-service.[ch]: * src/tracker-indexer/tracker-field.[ch]: Copied here meanwhile we decide where should they go. 2008-05-26 Carlos Garnacho * src/tracker-indexer/tracker-indexer.[ch]: Add "reindex" property, to begin indexing from scratch at startup. * src/tracker-indexer/main.c: connect reindex to command line option. 2008-05-27 Philip Van Hoof * src/trackerd/tracker-dbus.c: On/Off configuration of Xesam 2008-05-27 Philip Van Hoof * Fixed the Xesam DBus namespaces for Xesam r0.95 2008-05-27 Philip Van Hoof * Fixes some bugs with xesam search structures and field definitions * Patch by Ottela Mikael 2008-05-26 Carlos Garnacho * src/tracker-indexer/tracker-ontology.[ch]: * src/tracker-indexer/tracker-service.[ch]: * src/tracker-indexer/tracker-field.[ch]: Copied here meanwhile we decide where should they go. 2008-05-26 Carlos Garnacho * src/tracker-indexer/tracker-indexer.[ch]: Add "reindex" property, to begin indexing from scratch at startup. * src/tracker-indexer/main.c: connect reindex to command line option. 2008-05-26 Ottela Mikael * src/trackerd/tracker-xesam-live-search.c * src/trackerd/tracker-xesam-ontology.c * src/trackerd/tracker-xesam-ontology.h * src/trackerd/tracker-xesam-session.c * src/trackerd/tracker-dbus-xesam.c * src/trackerd/tracker-xesam.c * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.h * src/trackerd/tracker-db-manager.c * src/trackerd/Makefile.am * src/trackerd/tracker-db-manager.h * data/services/xesam-metadata.mmapping: Various improvements to the database handling Added Xesam ontology mapping helper functions 2008-05-27 Philip Van Hoof * Fixed the Xesam DBus namespaces for Xesam r0.95 2008-05-27 Philip Van Hoof * Fixes some bugs with xesam search structures and field definitions * Patch by Ottela Mikael 2008-05-26 Philip Van Hoof * src/trackerd/tracker-dbus-search.c: Bugfix in dbus_search_highlight_terms * Merged xesam-support with indexer-split svn merge -r 1475:1479 ../indexer-split svn merge -r 1479:1481 ../indexer-split 2008-05-26 Philip Van Hoof * src/trackerd/tracker-dbus-search.c: Bugfix in dbus_search_highlight_terms * Merged xesam-support with indexer-split svn merge -r 1481:1487 ../indexer-split 2008-05-26 Carlos Garnacho * src/tracker-indexer/tracker-ontology.[ch]: * src/tracker-indexer/tracker-service.[ch]: * src/tracker-indexer/tracker-field.[ch]: Copied here meanwhile we decide where should they go. 2008-05-26 Carlos Garnacho * src/tracker-indexer/tracker-indexer.[ch]: Add "reindex" property, to begin indexing from scratch at startup. * src/tracker-indexer/main.c: connect reindex to command line option. 2008-05-26 Ottela Mikael * src/trackerd/tracker-xesam-live-search.c * src/trackerd/tracker-xesam-ontology.c * src/trackerd/tracker-xesam-ontology.h * src/trackerd/tracker-xesam-session.c * src/trackerd/tracker-dbus-xesam.c * src/trackerd/tracker-xesam.c * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.h * src/trackerd/tracker-db-manager.c * src/trackerd/Makefile.am * src/trackerd/tracker-db-manager.h * data/services/xesam-metadata.mmapping: Various improvements to the database handling Added Xesam ontology mapping helper functions 2008-05-26 Philip Van Hoof * Merged xesam-support with indexer-split svn merge -r 1475:1479 ../indexer-split svn merge -r 1479:1481 ../indexer-split 2008-05-26 Philip Van Hoof * src/trackerd/tracker-dbus-search.c: Bugfix in dbus_search_highlight_terms 2008-05-26 Philip Van Hoof * src/trackerd/tracker-main.c/h: Fixed the build for --disable-hal * svn merge -r 1423:1480 ../xesam-support 2008-05-23 Martyn Russell * src/trackerd/Makefile.am: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db-sqlite.h: * src/trackerd/tracker-dbus-metadata.c: * src/trackerd/tracker-field-data.[ch]: * src/trackerd/tracker-field.c: * src/trackerd/tracker-rdf-query.c: * src/trackerd/tracker-xesam-query.c: Added the tracker-field-data.[ch] to handle all FieldData code that used to exist. Also fixed up some errors in the tracker-xesam-query.c module where is_end_operator() and is_operator() were not proper logic statements. 2008-05-23 Martyn Russell * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus-files.c: * src/trackerd/tracker-field.[ch]: * src/trackerd/tracker-ontology.[ch]: Don't use "const" for TrackerField, it is unnecessary. When cleaning up the TrackerFieldData, there is no need to check the pointer value before calling g_free() either, since g_free() does this for us. 2008-05-23 Martyn Russell * src/trackerd/tracker-cache.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-inotify.c: * src/trackerd/tracker-main.h: Removed tracker->request_waiting, it was only ever set, not used. Moved tracker->black_list_timer_active, it is only used in the tracker-db module. 2008-05-23 Martyn Russell * src/libtracker-common/tracker-nfs-lock.[ch]: * src/libtracker-db/Makefile.am: * src/trackerd/tracker-cache.c: * src/trackerd/tracker-db-manager.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-email-utils.c: * src/trackerd/tracker-hal.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-main.[ch]: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-utils.c: * src/trackerd/tracker-xesam.[ch]: Added 2 API calls, tracker_get_sys_tmp_dir() and tracker_get_data_dir() for other modules to request when they need it. Other directory information is calculated when and where it is needed. All directory information in the tracker struct has been removed now in favour of this. 2008-05-21 Carlos Garnacho * src/trackerd/tracker-parser.c (strip_word): Also, don't check for tracker->strip_accents, it doesn't exist anymore, and was always set to TRUE. 2008-05-21 Carlos Garnacho * src/trackerd/tracker-parser.c (strip_word): use GLib API to issue a warning. 2008-05-20 Martyn Russell * src/trackerd/tracker-db.[ch]: * src/trackerd/tracker-inotify.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-main.h: * src/trackerd/tracker-process-files.[ch]: * src/trackerd/tracker-utils.c: Moved the tracker->file_process_queue and tracker->file_metadata_queue to tracker-process-files.c and wrapped the GAsyncQueue with an API for external modules to push TrackerDBFileInfo pointers into the queue. 2008-05-20 Carlos Garnacho * src/tracker-indexer/modules/files.c (tracker_metadata_get_embedded): Added here, calls the external extractor. 2008-05-20 Martyn Russell * src/trackerd/tracker-main.[ch]: * src/trackerd/tracker-process-files.c: Moved the tracker->dir_queue to tracker-process-files.c since it is only used there. 2008-05-20 Martyn Russell * src/libtracker-common/tracker-log.[ch]: Changed tracker_log_term() to tracker_log_shutdown() and removed the domain parameter when initialising because we want to log ALL domains. * src/libtracker-common/tracker-nfs-lock.[ch]: * src/trackerd/tracker-db-manager.[ch]: * src/trackerd/tracker-ontology.[ch]: Changed _term() function to _shutdown() to be consistent. * src/libtracker-db/Makefile.am: * src/trackerd/Makefile.am: Make sure we define the G_LOG_DOMAIN correctly. * src/trackerd/tracker-db.[ch]: Added an _init() and _shutdown() function to handle the GQueue creation and clean up. * src/trackerd/tracker-main.[ch]: Moved the file_change_queue out of the Tracker struct and into tracker-db.c since that's the only place it is used. 2008-05-20 Martyn Russell * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-main.[ch]: Moved the database connections only used in the tracker-dbus module out of the Tracker struct. 2008-05-20 Ivan Frade * src/trackerd/tracker-db-sqlite.[ch]: (tracker_db_search_text_mime) (tracker_db_search_text_location) (tracker_db_search_text_mime_location): Not used anywhere in the code. Removed. 2008-05-20 Martyn Russell * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-email-thunderbird.c: Fixed some tracker_log() calls to use g_message() and the same for tracker_error(), etc. * src/trackerd/tracker-ontology.h: Renamed the header #define to ONTOLOGY and lined up functions. 2008-05-20 Martyn Russell * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-file-utils.c: * src/libtracker-common/tracker-language.c: * src/libtracker-common/tracker-log.c: * src/libtracker-common/tracker-log.h: * src/libtracker-common/tracker-nfs-lock.c: * src/libtracker-common/tracker-os-dependant-unix.c: * src/libtracker-common/tracker-os-dependant-win.c: * src/libtracker-common/tracker-type-utils.c: * src/libtracker-db/Makefile.am: * src/libtracker-db/tracker-db-file-info.c: * src/libtracker-db/tracker-db-interface-sqlite.c: * src/tracker-indexer/modules/files.c: * src/trackerd/Makefile.am: * src/trackerd/tracker-apps.c: * src/trackerd/tracker-cache.c: * src/trackerd/tracker-db-email.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus-daemon.c: * src/trackerd/tracker-dbus-keywords.c: * src/trackerd/tracker-dbus-metadata.c: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-email-modest.c: * src/trackerd/tracker-email-thunderbird.c: * src/trackerd/tracker-email-utils.c: * src/trackerd/tracker-fam.c: * src/trackerd/tracker-hal.c: * src/trackerd/tracker-index-stage.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-inotify.c: * src/trackerd/tracker-ioprio.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-rdf-query.c: * src/trackerd/tracker-service-manager.c: * src/trackerd/tracker-utils.c: * src/trackerd/tracker-xesam-query.c: Use the g_{message|debug|warning|critical|error}() functions instead of the tracker_log_() variants instead. Fixes bug #529373 (Carlos Garnacho, Martyn Russell). 2008-05-19 Ivan Frade * src/trackerd/Makefile.am * src/trackerd/tracker-service-manager.[ch] (removed) * src/trackerd/tracker-ontology.[ch] Renamed tracker-service-manager to tracker-ontology. Added logic to handled Fields. * src/trackerd/tracker-field.[ch] Old FieldDef struct is now TrackerField GObject * src/trackerd/tracker-apps.c * src/trackerd/tracker-db-email.c * src/trackerd/tracker-db-sqlite.[ch] * src/trackerd/tracker-db.[ch] * src/trackerd/tracker-dbus-files.c * src/trackerd/tracker-dbus-keywords.c * src/trackerd/tracker-dbus-metadata.c * src/trackerd/tracker-dbus-search.c * src/trackerd/tracker-dbus-xesam.c * src/trackerd/tracker-email-utils.c * src/trackerd/tracker-indexer.c * src/trackerd/tracker-metadata.c * src/trackerd/tracker-process-files.c * src/trackerd/tracker-query-tree.c * src/trackerd/tracker-rdf-query.c * src/trackerd/tracker-xesam-query.c * src/trackerd/tracker-main.c: Using new tracker-ontology. * src/trackerd/tracker-main.h: (tracker->metadata_table removed) 2008-05-19 Carlos Garnacho * src/tracker-indexer/tracker-indexer-module.[ch]: add tracker_indexer_module_get_ignore_directories(). * src/tracker-indexer/modules/files.c: implement it to ignore the directories specified in the config file. * src/tracker-indexer/tracker-indexer.c (tracker_indexer_add_directory): Ignore files specified by the module. * src/libtracker-db/Makefile.am: do not link libtracker-db with libtracker-common, it's not necessary. 2008-05-16 Philip Van Hoof * DBus initialization. We must be more early at detecting whether or not another DBus trackerd service is already running. Else during the creation of the SQLite tables, a client that makes the DBus trackerd service start would cause two trackerd instances to be running. 2008-05-16 Philip Van Hoof * Fixed a few g_warnings about tracker_log not being initialized yet 2008-05-16 Philip Van Hoof * Merge from our own repository back to GNOME's Subversion server. We did this because caused by the SSH exploit, the GNOME Subversion servers were closed for commit access. 2008-05-16 Martyn Russell * src/tracker-search-tool/tracker-search-tool.c: Add other email services so they are recognised when requesting hit counts. It used to be just "Emails" as the service type, now we have "ThunderbirdEmails", "EvolutionEmails", etc. * src/trackerd/tracker-main.c: (main): Fix the command line option parsing so we actually set the verbosity and some of the other options. Also, don't start the indexer thread if it is disabled. 2008-05-16 Philip Van Hoof * data/sqlite-stored-procs.sql: Prepended a query with its db-name * src/trackerd/tracker-main.c: * src/trackerd/tracker-main.h: * src/trackerd/tracker-dbus.c: Renamed index_db to mainloop_db * src/trackerd/tracker-process-files.c: Gave the indexer thread its own DBConnection 2008-05-16 Philip Van Hoof * Reverted the GThreadPool trick to exclude it from being the possible cause of various problems * Added tracker->xesam_db, it seems that using index_db in a GMainLoop's idle handler ain't working without the GThreadPool trick * Bugfix GetStats is not supposed to use db_con->common (it's attached to db_con already) * Same bugfix for GetRelatedServiceIDs 2008-05-16 Martyn Russell * src/libtracker-common/tracker-config.c: Fixed two bugs, one where the padding was being set when setting the thread stack size. The second was that the max text to index was being set when setting the max words to index. This meant 0 words were being indexed. * src/trackerd/tracker-main.c: Added more configuration to the sanity check list so we can confirm things are starting up correctly. 2008-05-16 Philip Van Hoof * Applied a patch that fixes the DBConnection tracker->index_db 2008-05-14 Philip Van Hoof * src/tracker-indexer/modules/Makefile.am: Linker error fix * src/trackerd/tracker-dbus.c: Corrected a GStrv to be NULL terminated * src/trackerd/tracker-db-sqlite.c: Corrected tracker->index_db to be the one which as the ATTACH statements done 2008-05-14 Carlos Garnacho * src/tracker-indexer/tracker-indexer.c (process_module): just print one warning when some module couldn't be loaded. 2008-05-14 Carlos Garnacho * src/tracker-indexer/modules/files.c: get mimetype. * src/tracker-indexer/modules/Makefile.am: make files module link to the necessary libraries. 2008-05-14 Martyn Russell * src/libtracker-common/tracker-config.c: * src/libtracker-common/tracker-language.[ch]: * src/trackerd/tracker-dbus-search.c: * src/trackerd/tracker-main.c: * src/trackerd/tracker-query-tree.c: Use a GObject for TrackerLanguage so we can keep reference counts on it. It is becoming increasingly used now. 2008-05-14 Martyn Russell * src/trackerd/tracker-query-tree.c: (tracker_query_tree_new): Make sure we set the "query" after setting the "config" and "language" properties since they are required in the _set_query() function. This fixes several warnings to the console. 2008-05-14 Martyn Russell * src/trackerd/tracker-email.[ch]: Fix crash where we wouldn't pass TrackerConfig to the _init() function of email modules and it would return due to TRACKER_IS_CONFIG() failing on a NULL pointer. 2008-05-14 Martyn Russell * src/trackerd/tracker-main.h: * src/trackerd/tracker-process-files.c: Moved the indexer time taken information from the Tracker struct to the process-files module. This information is not used publically. 2008-05-14 Philip Van Hoof * Merged xesam-support to indexer-split -> svn merge -r 1398:1423 ../xesam-support 2008-05-14 Martyn Russell * src/trackerd/tracker-db-sqlite.[ch]: Removed unused functions. * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-modest.c: * src/trackerd/tracker-email-thunderbird.c: * src/trackerd/tracker-email.[ch]: Pass the TrackerConfig to the init() function to avoid using tracker->config. * src/trackerd/tracker-main.[ch]: Make sure we call all the missing _shutdown() functions for modules, like tracker_service_manager_shutdown(), etc. * src/trackerd/tracker-process-files.c: Don't try to set up signal handlers for the HAL object if we don't have HAL support compiled in to Tracker. * src/trackerd/tracker-service-manager.[ch]: Renamed tracker_service_manager_term() to _shutdown(). * src/trackerd/tracker-xesam.[ch]: Added a _shutdown() function and moved the GHashTable of sessions to this module and out of the Tracker struct. 2008-05-14 Philip Van Hoof * src/libtracker-db/tracker-db-interface-sqlite.c: No reply queries must not immediately return for their arguments might otherwise be freed by the caller context, before the GThreadPool thread reached reading the argument. 2008-05-14 Martyn Russell * src/trackerd/tracker-db-email.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus-daemon.c: Changed the "config" property to be an object spec instead of a pointer spec. Also fixed the way we set the object. * src/trackerd/tracker-dbus-search.[ch]: Added "config" and "language" properties to be used with the TrackerQueryTree API. * src/trackerd/tracker-dbus-xesam.c: * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-xesam-session.h: Fix includes. * src/trackerd/tracker-dbus.[ch]: Use Tracker pointer instead of gpointer for dbus initialisation and set the config/language for TrackerDBusSearch. * src/trackerd/tracker-main.[ch]: Removed the "stop_words" member of the Tracker struct, it is not used. Also removed the "index_number_min_length" member and replaced the one time it is used for a #define in tracker-parser.c. * src/trackerd/tracker-parser.[ch]: Refactored this module and made it not depend on TrackerConfig and TrackerLanguage, instead, we parse the values in that we need in the public API. * src/trackerd/tracker-query-tree.[ch]: Add properties for TrackerConfig and TrackerLanguage so we can use them when using the tracker-parser API. * src/trackerd/tracker-xesam.[ch]: Use proper GQuarks for the xesam error system and reordered the functions in the header to be more logical and inline with the .c file. 2008-05-14 Ivan Frade * src/trackerd/tracker-db-sqlite.c: File loaders using TrackerDBInterface instead of DBConnection. 2008-05-14 Ivan Frade * data/Makefile.am * data/sqlite-contents.sql: SQL code to create Contents table. * src/trackerd/tracker-db-sqlite.h * src/trackerd/tracker-db-sqlite.c: Using SQL file instead of hardcoded SQL to create ServiceContents table. (open_common_db): Removed. Using directly open_db_interface. (tracker_db_exec_proc): New. tracker_exec_proc but using TrackerDBInterface. (tracker_exec_no_reply) (tracker_metadata_is_key): Now static functions only in .c (tracker_db_integrity_check): Removed. Unused function. 2008-05-13 Martyn Russell * src/trackerd/tracker-main.c: Don't initialise Tracker members unnecessarily. 2008-05-13 Martyn Russell * src/trackerd/tracker-main.[ch]: Removed the log_filename from the Tracker struct, it didn't need to be there. Also added a function to clean up the directory locations separately to actually physically removing particular directories when we exit the daemon. 2008-05-13 Martyn Russell * src/tracker-indexer/tracker-indexer-module.[ch]: * src/tracker-indexer/tracker-indexer.[ch]: Added indentation information to the top of each file. * src/trackerd/Makefile.am: * src/trackerd/tracker-cache.c: * src/trackerd/tracker-index-stage.[ch]: * src/trackerd/tracker-main.[ch]: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-process-files.c: Added TrackerIndexStage type to hold the current indexer state and type information. 2008-05-13 Carlos Garnacho * src/libtracker-common/tracker-config.c (config_finalize): Free all allocated data. * src/tracker-indexer/tracker-indexer.c (tracker_indexer_finalize): Instead, do not free unowned memory here. 2008-05-13 Carlos Garnacho Initial work on the separate indexer executable, implemented as a modular, single-threaded state machine. * src/tracker-indexer/main.c: * src/tracker-indexer/tracker-indexer.[ch]: * src/tracker-indexer/tracker-indexer-module.[ch]: Added, this is the indexer core. * src/tracker-indexer/modules/applications.c: * src/tracker-indexer/modules/dummy.c: * src/tracker-indexer/modules/files.c: * src/tracker-indexer/modules/gaim-conversations.c: Added, independent modules, called out by the indexer core. * src/libtracker-common/tracker-config.[ch] (tracker_config_class_init) (config_get_property) (config_set_property) (config_load_string_list) (tracker_config_get_index_modules): Added configuration option, plus methods to know which modules to query. (config_create_with_defaults): ensure TrackerConfig contains the default values if the configuration file didn't exist. * src/tracker-indexer/modules/Makefile.am: * src/tracker-indexer/Makefile.am: * configure.in: autofoo glue to make this build. 2008-05-13 Martyn Russell * src/trackerd/tracker-main.h: Removed function definitions which are redundant. 2008-05-13 Martyn Russell * src/trackerd/tracker-main.h: Use proper pointer types instead of gpointer for TrackerConfig, etc. 2008-05-13 Martyn Russell * src/trackerd/tracker-convert-file.c: Removed, it is not in use. 2008-05-14 Philip Van Hoof * Merged with indexer-split (rev 1417) -> svn merge -r 1409:1417 ../indexer-split -> svn merge -r 1417:1422 ../indexer-split * Fixed Xesam error reporting * Fixed a few warnings 2008-05-13 Philip Van Hoof * src/trackerd/*xesam*: Various infrastructure for Xesam added * Merged with indexer-split (Rev 1410) -> svn merge -r 1398:1410 ../indexer-split/ 2008-05-13 Ottela Mikael * Initial patch for Xesam queries * Committed by Philip Van Hoof 2008-05-13 Philip Van Hoof * First removed xesam-support branch * Branchpoint from indexer-split to xesam-support 2008-05-14 Philip Van Hoof * src/libtracker-db/tracker-db-interface-sqlite.c: No reply queries must not immediately return for their arguments might otherwise be freed by the caller context, before the GThreadPool thread reached reading the argument. 2008-05-14 Martyn Russell * src/trackerd/tracker-db-email.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus-daemon.c: Changed the "config" property to be an object spec instead of a pointer spec. Also fixed the way we set the object. * src/trackerd/tracker-dbus-search.[ch]: Added "config" and "language" properties to be used with the TrackerQueryTree API. * src/trackerd/tracker-dbus-xesam.c: * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-xesam-session.h: Fix includes. * src/trackerd/tracker-dbus.[ch]: Use Tracker pointer instead of gpointer for dbus initialisation and set the config/language for TrackerDBusSearch. * src/trackerd/tracker-main.[ch]: Removed the "stop_words" member of the Tracker struct, it is not used. Also removed the "index_number_min_length" member and replaced the one time it is used for a #define in tracker-parser.c. * src/trackerd/tracker-parser.[ch]: Refactored this module and made it not depend on TrackerConfig and TrackerLanguage, instead, we parse the values in that we need in the public API. * src/trackerd/tracker-query-tree.[ch]: Add properties for TrackerConfig and TrackerLanguage so we can use them when using the tracker-parser API. * src/trackerd/tracker-xesam.[ch]: Use proper GQuarks for the xesam error system and reordered the functions in the header to be more logical and inline with the .c file. 2008-05-14 Ivan Frade * src/trackerd/tracker-db-sqlite.c: File loaders using TrackerDBInterface instead of DBConnection. 2008-05-14 Ivan Frade * data/Makefile.am * data/sqlite-contents.sql: SQL code to create Contents table. * src/trackerd/tracker-db-sqlite.h * src/trackerd/tracker-db-sqlite.c: Using SQL file instead of hardcoded SQL to create ServiceContents table. (open_common_db): Removed. Using directly open_db_interface. (tracker_db_exec_proc): New. tracker_exec_proc but using TrackerDBInterface. (tracker_exec_no_reply) (tracker_metadata_is_key): Now static functions only in .c (tracker_db_integrity_check): Removed. Unused function. 2008-05-13 Martyn Russell * src/trackerd/tracker-main.c: Don't initialise Tracker members unnecessarily. 2008-05-13 Martyn Russell * src/trackerd/tracker-main.[ch]: Removed the log_filename from the Tracker struct, it didn't need to be there. Also added a function to clean up the directory locations separately to actually physically removing particular directories when we exit the daemon. 2008-05-13 Martyn Russell * src/tracker-indexer/tracker-indexer-module.[ch]: * src/tracker-indexer/tracker-indexer.[ch]: Added indentation information to the top of each file. * src/trackerd/Makefile.am: * src/trackerd/tracker-cache.c: * src/trackerd/tracker-index-stage.[ch]: * src/trackerd/tracker-main.[ch]: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-process-files.c: Added TrackerIndexStage type to hold the current indexer state and type information. 2008-05-13 Carlos Garnacho * src/libtracker-common/tracker-config.c (config_finalize): Free all allocated data. * src/tracker-indexer/tracker-indexer.c (tracker_indexer_finalize): Instead, do not free unowned memory here. 2008-05-13 Carlos Garnacho Initial work on the separate indexer executable, implemented as a modular, single-threaded state machine. * src/tracker-indexer/main.c: * src/tracker-indexer/tracker-indexer.[ch]: * src/tracker-indexer/tracker-indexer-module.[ch]: Added, this is the indexer core. * src/tracker-indexer/modules/applications.c: * src/tracker-indexer/modules/dummy.c: * src/tracker-indexer/modules/files.c: * src/tracker-indexer/modules/gaim-conversations.c: Added, independent modules, called out by the indexer core. * src/libtracker-common/tracker-config.[ch] (tracker_config_class_init) (config_get_property) (config_set_property) (config_load_string_list) (tracker_config_get_index_modules): Added configuration option, plus methods to know which modules to query. (config_create_with_defaults): ensure TrackerConfig contains the default values if the configuration file didn't exist. * src/tracker-indexer/modules/Makefile.am: * src/tracker-indexer/Makefile.am: * configure.in: autofoo glue to make this build. 2008-05-13 Martyn Russell * src/trackerd/tracker-main.h: Removed function definitions which are redundant. 2008-05-13 Martyn Russell * src/trackerd/tracker-main.h: Use proper pointer types instead of gpointer for TrackerConfig, etc. 2008-05-13 Martyn Russell * src/trackerd/tracker-convert-file.c: Removed, it is not in use. 2008-05-12 Martyn Russell * src/trackerd/tracker-cache.[ch]: Reworked this module and cleaned up the code a bit. * src/trackerd/tracker-db.c: Fix some build warnings. * src/trackerd/tracker-email-utils.c: Renamed Tracker member. * src/trackerd/tracker-main.[ch]: More clean ups, also made the main thread wait for the process-files thread to finish before exiting. For some reason, we can't clean up the mutexes after that though because they are busy? Looks like the threading here needs looking at more thoroughly. * src/trackerd/tracker-process-files.c: Log when the thread exits. 2008-05-12 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.c * src/trackerd/tracker-xesam-live-search.h * src/trackerd/tracker-dbus-xesam.c * src/trackerd/tracker-dbus-xesam.h * data/tracker-dbus-xesam.xml: Support for range queries 2008-05-12 Ivan Frade * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.h * src/trackerd/tracker-main.c: (tracker_db_close): Now uses TrackerDBInterface instead of DBConnecion. (tracker_db_needs_data): Now called tracker_db_common_need_build 2008-05-10 Ivan Frade * src/libtracker-common/tracker-type-utils.c * src/libtracker-common/tracker-type-utils.h: (tracker_boolean_as_text_to_number): New function. * src/libtracker-common/tracker-utils.c * src/libtracker-common/tracker-utils.h (tracker_escape_string): Moved from tracker-db-sqlite to here. * src/trackerd/tracker-db-sqlite.c (tracker_db_load_service_file): Splitted in three functions, for .metadata, .services and .extensions files. Renamed to load_service_configuration_file, and now it is an static function. Removed duplicate code betwwen load_sql_file and load_sql_trigger. * src/trackerd/tracker-db-sqlite.h: (tracker_db_load_service_file) removed from the public API. * src/trackerd/tracker-db.c: Commented unused lines. 2008-05-09 Ivan Frade * src/trackerd/Makefile.am * src/trackerd/tracker-db-manager.c * src/trackerd/tracker-db-manager.h: New module to handle databases locations, names and parameters. * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.h * src/trackerd/tracker-indexer.c: Using new module. (open_db) is now open_db_interface. * src/trackerd/tracker-indexer.h: DB filenames moved to new module. * src/trackerd/tracker-main.c: Init/term the new module * src/trackerd/tracker-main.h: (tracker->services_dir): Removed 2008-05-09 Ivan Frade * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.h: (tracker_db_set_default_pragmas): Now static function called set_default_pragmas and using TrackerDBInterface (set_params): Uses TrackerDBInterface instead of DBConnection. 2008-05-09 Ivan Frade * src/trackerd/tracker-main.c * src/trackerd/tracker-process-files.c * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.h: (tracker_db_exec_no_reply): Uses TrackerDBInterface instead of DBConnection. 2008-05-09 Philip Van Hoof * src/trackerd/tracker-db-sqlite.c: * src/libtracker-db/tracker-db-interface.h: * src/libtracker-db/tracker-db-interface-sqlite.c: * src/libtracker-db/tracker-db-interface.c: Improvement for queries that have no reply 2008-05-09 Ivan Frade * src/libtracker-common/tracker-config.c * src/libtracker-common/tracker-config.h * src/libtracker-common/tracker-nfs-lock.c * src/libtracker-common/tracker-nfs-lock.h * src/trackerd/tracker-main.c * src/trackerd/tracker-main.h: NFS locking activated from config file. * src/trackerd/tracker-db-sqlite.c: Code style 2008-05-08 Martyn Russell * src/libtracker-common/tracker-nfs-lock.c: Improve logging. * src/trackerd/tracker-dbus-daemon.c: Renamed _do_cleanup() to _shutdown() and make it ONLY stop the main loop so we clean up every time after the mainloop stops. * src/trackerd/tracker-main.[ch]: Refactored this heavily to make the code start up and shut down flow easier to follow. * src/trackerd/tracker-process-files.c: Removed tracker->update_count since it was redundant. 2008-05-08 Martyn Russell * src/libtracker-common/tracker-nfs-lock.[ch]: Cleaned up code to be consistent. * src/trackerd/tracker-db-sqlite.c: Fixed warning. * src/trackerd/tracker-dbus-search.c: Always call tracker_dbus_query_result_to_ptr_array() since it creates the return value even if the result set is empty. 2008-05-08 Philip Van Hoof * src/trackerd/tracker-db-sqlite.c: * src/libtracker-db/tracker-db-interface-sqlite.h: * src/libtracker-db/tracker-db-interface-sqlite.c: Corrected the GThreadQueue to have ALL sqlite_* calls in the same thread. This work needs some refactoring later. Especially the changes in tracker-db-sqlite.c are not quite the way I eventually want them. 2008-05-08 Philip Van Hoof * src/trackerd/tracker-dbus-search.c: Bugfix when the amount of search results was 0 2008-05-08 Ivan Frade * src/libtracker-common/Makefile.am * src/libtracker-common/tracker-nfs-lock.c * src/libtracker-common/tracker-nfs-lock.h * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-main.c: Moved NFS lock code to his own module in libtracker-common. 2008-05-08 Martyn Russell * src/trackerd/tracker-cache.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.[ch]: * src/trackerd/tracker-dbus-daemon.c: * src/trackerd/tracker-main.[ch]: * src/trackerd/tracker-process-files.c: Cleaned up the Tracker structure by removing members which are not used. Also removed the structures in the tracker-main.h file which are not used. 2008-05-08 Philip Van Hoof * src/trackerd/tracker-db-sqlite.c: * src/libtracker-db/tracker-db-interface.h: * src/libtracker-db/tracker-db-interface-sqlite.c: * src/libtracker-db/tracker-db-interface.c: Improvement for void returning queries 2008-05-08 Philip Van Hoof * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db-sqlite.h: * data/sqlite-stored-procs.sql: * data/sqlite-cache.sql: * data/Makefile.am: * data/sqlite-temp-tables.sql: Moved LiveSearches and Events to the cache db 2008-05-08 Martyn Russell * src/trackerd/Makefile.am: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-dbus-daemon.h: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-thunderbird.c: * src/trackerd/tracker-email.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-parser.c: * src/trackerd/tracker-process-files.h: * src/trackerd/tracker-utils.c: * src/trackerd/tracker-xesam.c: * src/trackerd/trackerd.[ch]: Renamed trackerd.[ch] to tracker-main.[ch]. 2008-05-08 Philip Van Hoof * src/libtracker-db/tracker-db-interface-sqlite.c: Moved all sqlite3 queries to one thread in GThreadPool, prepared the ground for future asynchronous calling back. 2008-05-07 Ivan Frade * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db.c * src/trackerd/tracker-db-sqlite.h: Removed DBConnection from ServiceTypeInfo struct. 2008-05-07 Ivan Frade * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.h * src/trackerd/trackerd.c: (tracker_db_initialize -> tracker_db_load_prepared_queries) (tracker_create_db -> tracker_create_common_db) Removed duplicate code. Databases are opened using open_db and set_params. 2008-05-07 Martyn Russell * src/libtracker-common/tracker-config.h: * src/libtracker-common/tracker-configuration.[ch]: * src/libtracker-common/tracker-file-utils.h: * src/libtracker-common/tracker-language.h: * src/libtracker-common/tracker-log.h: * src/libtracker-common/tracker-os-dependant.h: * src/libtracker-common/tracker-type-utils.h: * src/libtracker-common/tracker-utils.h: * src/libtracker-db/tracker-db-action.h: * src/trackerd/tracker-apps.h: * src/trackerd/tracker-cache.h: * src/trackerd/tracker-db-email.h: * src/trackerd/tracker-db-sqlite.h: * src/trackerd/tracker-db.h: * src/trackerd/tracker-dbus-daemon.h: * src/trackerd/tracker-dbus-files.h: * src/trackerd/tracker-dbus-keywords.h: * src/trackerd/tracker-dbus-metadata.h: * src/trackerd/tracker-dbus-search.h: * src/trackerd/tracker-dbus-xesam.h: * src/trackerd/tracker-dbus.h: * src/trackerd/tracker-email-utils.h: * src/trackerd/tracker-email.h: * src/trackerd/tracker-hal.h: * src/trackerd/tracker-indexer.h: * src/trackerd/tracker-ioprio.h: * src/trackerd/tracker-metadata.h: * src/trackerd/tracker-parser.h: * src/trackerd/tracker-process-files.h: * src/trackerd/tracker-query-tree.h: * src/trackerd/tracker-rdf-query.h: * src/trackerd/tracker-service-manager.h: * src/trackerd/tracker-service.h: * src/trackerd/tracker-status.h: * src/trackerd/tracker-watch.h: * src/trackerd/tracker-xesam-live-search.h: * src/trackerd/tracker-xesam-session.h: * src/trackerd/tracker-xesam.h: Updated the header files to be more consistent and make sure we use the namespace of the binary we are creating to avoid two header files with the same name/definitions causing each other to not be included properly. 2008-05-07 Martyn Russell * src/libtracker-common/tracker-utils.h: Fixed #ifndef issue where this utils file had the same name that the trackerd utils file had. * src/trackerd/Makefile.am: * src/trackerd/tracker-db-email.c: * src/trackerd/tracker-db-sqlite.[ch]: * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus-daemon.h: * src/trackerd/tracker-dbus-search.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-thunderbird.c: * src/trackerd/tracker-email.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-inotify.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-parser.c: * src/trackerd/tracker-process-files.h: * src/trackerd/tracker-utils.[ch]: * src/trackerd/tracker-xesam.c: * src/trackerd/trackerd.[ch]: Added trackerd.h for all stuff related to the Tracker struct. Kept all other utils based functions in tracker-utils.h. Fixed all the places where this broke things based on everything being included from tracker-utils.h and everwhere including that. 2008-05-07 Martyn Russell * src/trackerd/tracker-utils.[ch]: * src/trackerd/tracker-xesam-session.c: * src/trackerd/tracker-xesam.[ch]: Moved tracker_unique_key() here from tracker-utils since it is an xesam thing only at the moment. 2008-05-07 Martyn Russell * src/trackerd/tracker-cache.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-dbus-daemon.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-modest.c: * src/trackerd/tracker-indexer.[ch]: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-utils.[ch]: * src/trackerd/trackerd.c: Removed tracker_is_index_too_big() from tracker-utils.c to tracker-indexer.c and also made all database filenames in the code use a defined filename. The tracker_pause() and tracker_pause_on_battery() now has been renamed to tracker_should_pause...() and cleaned up. 2008-05-06 Ivan Frade * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.h: (tracker_db_fsync): Removed function. Never used. Removed temporal variable: Easier to know who is using what in DBConnection. 2008-05-06 Ivan Frade * src/trackerd/tracker-db-email.c * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.h * src/trackerd/tracker-db.c * src/trackerd/trackerd.c: Removed DBConnection->index. It was always a pointer to the struct itself. 2008-05-06 Ivan Frade * src/trackerd/tracker-parser.c: Renamed WordType to TrackerParserWordType to avoid conflicts. * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.h * src/trackerd/tracker-utils.h * src/trackerd/trackerd.c: (tracker_db_connect_all): Removed unused param. Replaced gpointer with Indexer in Tracker struct. * src/trackerd/tracker-indexer.c * src/trackerd/tracker-indexer.h: Removed unused code. 2008-05-06 Martyn Russell * src/trackerd/tracker-apps.c: * src/trackerd/tracker-email-utils.c: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-service-manager.[ch]: * src/trackerd/tracker-utils.[ch]: * src/trackerd/trackerd.c: Moved all tracker_add_service_dir() API to tracker-service-manager and renamed it accordingly. This was moved out of tracker-utils.[ch]. * src/libtracker-common/tracker-file-utils.[ch]: Moved the function which removes directory roots to here from the daemon. 2008-05-06 Philip Van Hoof * Bumped the version of SQLite from 3.4 to 3.5 because - We require --enable-threadsafe - This version allows concurrent access from different threads sharing the same connection 2008-05-06 Philip Van Hoof * Xesam property setters and getters 2008-05-05 Martyn Russell * src/trackerd/tracker-utils.[ch]: * src/trackerd/tracker-db-sqlite.c: Removed tracker_timer_start() and tracker_timer_end() since they are only used in one place. Used a GTimer instead of GTimeVal and also optimised the loading of the prepared queries by using the GMappedFile API. 2008-05-05 Ivan Frade * src/trackerd/tracker-cache.c * src/trackerd/trackerd.c * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.h: Removed unused fields in DBConnection 2008-05-05 Ivan Frade * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.h: Removed unused code and empty functions. * src/trackerd/tracker-db.c * src/trackerd/tracker-db.h: * src/trackerd/tracker-dbus-files.c: (tracker_db_get_field_def) Removed db_con parameter (unused) 2008-05-05 Philip Van Hoof * src/trackerd/tracker-dbus-xesam.c * src/trackerd/tracker-xesam.c * src/trackerd/tracker-db-sqlite.c: Added proper locking for the db while dealing with Events for LiveSearches 2008-05-02 Philip Van Hoof * src/trackerd/tracker-xesam-live-search.c * src/trackerd/tracker-xesam-live-search.h * src/trackerd/tracker-dbus.c * src/trackerd/tracker-dbus-xesam.c * src/trackerd/tracker-dbus-xesam.h * src/trackerd/tracker-xesam.c * src/trackerd/tracker-xesam.h * src/trackerd/tracker-db-sqlite.c * src/trackerd/tracker-db-sqlite.h * src/libtracker-common/tracker-config.c * src/libtracker-common/tracker-config.h * data/sqlite-stored-procs.sql * data/sqlite-tracker.sql * data/Makefile.am: Xesam support infrastructure 2008-04-30 Martyn Russell * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-file-utils.[ch]: Added to handle IO operations. * src/libtracker-db/Makefile.am: * src/libtracker-db/tracker-db-action.[ch]: * src/trackerd/Makefile.am: * src/trackerd/tracker-action.[ch]: Moved TrackerAction to libtracker-db and renamed to TrackerDBAction. * src/trackerd/tracker-apps.[ch]: * src/trackerd/tracker-db-email.c: * src/trackerd/tracker-db-sqlite.[ch]: * src/trackerd/tracker-db.[ch]: * src/trackerd/tracker-dbus-files.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-email-modest.c: * src/trackerd/tracker-email-thunderbird.c: * src/trackerd/tracker-email.c: * src/trackerd/tracker-email.h: * src/trackerd/tracker-inotify.c: * src/trackerd/tracker-process-files.[ch]: * src/trackerd/tracker-status.[ch]: * src/trackerd/tracker-utils.[ch]: * src/trackerd/trackerd.c: Moved FileInfo and WatchTypes to libtracker-db and renamed to TrackerDBFileInfo and TrackerDBWatch. 2008-04-30 Martyn Russell * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-os-dependant-unix.c: * src/libtracker-common/tracker-os-dependant-win.c: * src/libtracker-common/tracker-os-dependant.h: Moved to libtracker-common from trackerd. * src/trackerd/Makefile.am: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus-files.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-inotify.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-os-dependant-unix.c: * src/trackerd/tracker-os-dependant-win.c: * src/trackerd/tracker-os-dependant.h: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-utils.c: * src/trackerd/tracker-utils.h: Moved file utility functions to libtracker-common. 2008-04-29 Martyn Russell * src/trackerd/Makefile.am: * src/trackerd/tracker-action.[ch]: Added to handle TrackerAction type. * src/trackerd/tracker-db-sqlite.h: * src/trackerd/tracker-db.[ch]: * src/trackerd/tracker-dbus-files.c: * src/trackerd/tracker-fam.c: * src/trackerd/tracker-inotify.c: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-utils.[ch]: * src/trackerd/tracker-win-fs-changes.c: Renamed TrackerChangeAction to TrackerAction and moved it to tracker-action.[ch]. 2008-04-29 Martyn Russell * src/trackerd/Makefile.am: * src/trackerd/tracker-dbus-xesam.[ch]: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-xesam-live-search.c: * src/trackerd/tracker-xesam-search.[ch]: * src/trackerd/tracker-xesam-session.h: * src/trackerd/tracker-xesam.[ch]: Renamed tracker-xesam-search to tracker-dbus-xesam. 2008-04-29 Martyn Russell * data/Makefile.am: * data/tracker-xesam-search.xml: Renamed to tracker-dbus-xesam.xml. * src/trackerd/tracker-xesam-live-search.[ch]: * src/trackerd/tracker-xesam-search.[ch]: * src/trackerd/tracker-xesam-session.[ch]: * src/trackerd/tracker-xesam.[ch]: Code clean ups. 2008-04-29 Martyn Russell * Reverted Philips changes. 2008-04-28 Martyn Russell * src/libtracker-common/tracker-type-utils.c: * src/libtracker-common/tracker-type-utils.h: * src/trackerd/tracker-db-email.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus-files.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-email-utils.c: * src/trackerd/tracker-rdf-query.c: Clean up the tracker-type-utils function names to be more consistent. 2008-04-28 Martyn Russell * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-type-utils.[ch]: * src/trackerd/tracker-db-email.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus-files.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-email-utils.c: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-rdf-query.c: * src/trackerd/tracker-utils.[ch]: Created tracker-type-utils.[ch] to handle type a to type b conversions (e.g. GSList* to gchar **). 2008-04-28 Martyn Russell * configure.ac: * src/Makefile.am: * src/libtracker-db/Makefile.am: Created new libtracker-db to handle the shared database API between daemon and other components of Tracker. * src/trackerd/tracker-db-interface-sqlite.[ch]: * src/trackerd/tracker-db-interface.[ch]: Moved to libtracker-db. * src/trackerd/Makefile.am: * src/trackerd/tracker-db-sqlite.[ch]: * src/trackerd/tracker-dbus.h: * src/trackerd/tracker-indexer.h: Updated files to include new libtracker-db files. 2008-04-28 Philip Van Hoof * Merged branches/xesam-support back to brances/indexer-split 2008-04-25 Philip Van Hoof * Adapted the TrackerXesamSearch DBus proxy to use org.freedesktop.DBus.GLib.Async 2008-04-23 Philip Van Hoof * Added error reporting * Added some more ad-hoc implementations in TrackerXesamSearch 2008-04-22 Philip Van Hoof * Branched as xesam-support * Added Xesam skeleton * Introduced TrackerXesamSearch * Introduced TrackerXesamLiveSearch * Introduced TrackerXesamSession 2008-04-21 Martyn Russell * src/trackerd/Makefile.am: Fixed make distcheck issues. 2008-04-21 Martyn Russell * src/libtracker/tracker.[ch]: Fixed some left over issues from the DBus patch which were caused by left over cruft in $prefix/include. 2008-04-21 Carlos Garnacho * src/trackerd/tracker-db-interface.[ch]: * src/trackerd/tracker-db-interface-sqlite.c: Implement API to start/end a transaction. Do not allocate (and later free) any memory if a stmt doesn't return any rows. Add a GError parameter to all query methods. * src/trackerd/tracker-db-sqlite.h: do forward declaration for DBConnection, so it can hold pointers to structures of the same type instead of just gpointers. * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-dbus-files.c: * src/trackerd/tracker-dbus-keywords.c: * src/trackerd/tracker-dbus-metadata.c: * src/trackerd/tracker-dbus-search.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-modest.c: * src/trackerd/tracker-process-files.c: * src/trackerd/trackerd.c: Update to use new API. 2008-04-21 Martyn Russell Added DBus introspection support for the DBus API and reworked the code to use the glib bindings. * configure.ac: Added check for DBus bindings tool to create server side and client side glue header files. * data/Makefile.am: * data/tracker-dbus-daemon.xml: * data/tracker-dbus-files.xml: * data/tracker-dbus-keywords.xml: * data/tracker-dbus-metadata.xml: * data/tracker-dbus-search.xml: Added to separate DBus interfaces into their respective files. * data/tracker-introspect.xml: Removed in favour of new DBus interface files. * src/libtracker-common/tracker-language.[ch]: * src/libtracker-common/tracker-log.[ch]: Fixed copyright information. * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-utils.[ch]: * src/trackerd/tracker-db-sqlite.c: Added tracker-utils.[ch] to handle some of the commonly shared utility functions which are used across more than just the tracker daemon. * src/libtracker/Makefile.am: * src/libtracker/tracker.c: Fixed object paths for DBus connectivity to the various interfaces we use. * src/libtracker/tracker.h: For the typedef enum MetadataTypes, use METADATA_ as the prefix to all these values so we don't cause namespace issues elsewhere. * src/tracker-preferences/tracker-preferences.c: Don't depend on the tracker daemon DBus definitions for the various interfaces we connect to, instead define them specifically ourselves. * src/trackerd/Makefile.am: * src/trackerd/tracker-dbus-daemon.[ch]: Added to handle daemon specific DBus requests like shutting down and getting the current status, etc. * src/trackerd/tracker-dbus-files.[ch]: * src/trackerd/tracker-dbus-keywords.[ch]: * src/trackerd/tracker-dbus-metadata.[ch]: * src/trackerd/tracker-dbus-search.[ch]: Rewritten to use the DBus glib bindings. This results in less code and a nicer way to implement DBus APIs with introspection thrown in for free. * src/trackerd/tracker-dbus.[ch]: Updated to just initialise DBus support in the tracker daemon and host utility functions needed for each interface. * src/trackerd/tracker-dbus-methods.[ch]: * src/trackerd/tracker-process-requests.[ch]: Removed. None of these functions are necessary any longer. * src/trackerd/tracker-cache.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-email-modest.c: * src/trackerd/tracker-email-utils.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-inotify.c: * src/trackerd/tracker-process-files.c: * src/trackerd/tracker-rdf-query.c: * src/trackerd/trackerd.c: Updates reflecting the new DBus changes. * src/trackerd/tracker-marshal.list: * src/trackerd/tracker-marshal-main.c: Added to include generated marshal files built for extended signalling with unique callback signatures. * src/trackerd/tracker-status.[ch]: Added to handle the current state and to also signal changes when the global tracker daemon state changes. * src/trackerd/tracker-utils.[ch]: Moved functions to relevant modules and removed all other unused code. 2008-04-17 Philip Van Hoof * src/trackerd/tracker-email-modest.c * src/trackerd/tracker-utils.c * src/trackerd/tracker-utils.h * src/trackerd/trackerd.c * src/trackerd/tracker-email-evolution.c * src/trackerd/tracker-process-files.c * src/trackerd/tracker-indexer.c Introduced tracker_set_status 2008-04-16 Patch from Szilveszter Farkas * src/libstemmer/src_c/stem_UTF_8_hungarian.c * src/libstemmer/src_c/stem_UTF_8_hungarian.h * src/libstemmer/Makefile.am * src/libtracker-common/tracker-language.c * src/tracker-preferences/tracker-preferences.glade * data/languages/stopwords.hu * data/languages/Makefile.am Added hungarian stemmer and stopword list 2008-04-14 Carlos Garnacho Implement a database abstraction interface, with a sqlite implementation. Queries/procedures return a TrackerDBResultSet object, which simplifies result data extraction. * src/trackerd/tracker-db-interface.[ch]: Added. Interface to access databases. * src/trackerd/tracker-db-interface-sqlite.[ch]: Added. Sqlite implementation. * src/trackerd/Makefile.am: add these files. * src/trackerd/tracker-db-email.[ch], tracker-db-sqlite.[ch], tracker-db.c, tracker-dbus-files.c, tracker-dbus-keywords.c, tracker-dbus-metadata.c, tracker-dbus-search.c, tracker-email-evolucion.c, tracker-email-modest.c, tracker-inotify.c, tracker-process-files.c, trackerd.c: Use the new API. * src/trackerd/tracker-dbus-methods.[ch]: Modify to build a DBusMessage from a TrackerDBResultSet. 2008-04-14 Martyn Russell * configure.ac: * src/Makefile.am: * src/tracker-indexer/Makefile.am: * src/tracker-indexer/tracker-indexer.c: Created initial binary for tracker-indexer. 2008-04-11 Martyn Russell * configure.ac: * src/libtracker-common/tracker-config.[ch]: Added options "index-mounted-directories" and "index-removable-devices". * src/trackerd/Makefile.am: * src/trackerd/tracker-hal.[ch]: Added to do all things HAL. * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus-methods.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-fam.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-inotify.c: * src/trackerd/tracker-process-files.[ch]: * src/trackerd/tracker-utils.[ch]: * src/trackerd/trackerd.c: Moved a LOT of code out of tracker-utils.[ch] and into tracker-process-files.[ch] since that's the only place they were used. Moved HAL code out to new module. Fixes bug #503725. 2008-04-11 Philip Van Hoof * src/trackerd/tracker-email-modest.c * src/trackerd/tracker-utils.c * src/trackerd/tracker-utils.h * src/trackerd/tracker-email-utils.c * src/trackerd/tracker-email-utils.h * src/trackerd/trackerd.c: Added stopping watching E-mail service paths. Also fixes a potential memory leak with the Hashtable service_directory_table 2008-04-10 Carlos Garnacho * src/trackerd/tracker-email.c (tracker_email_index_file): Revert last change, it was already fixed in r1261. 2008-04-10 Carlos Garnacho Add a query extension tree, at the moment supports And and Or operations. Fixes #509607. * src/trackerd/tracker-query-tree.[ch]: New files, implement the expression tree, and return a hit list based on the evaluation of the search terms with the logical expressions. * src/trackerd/Makefile.am: Added these files. * src/trackerd/tracker-indexer.[ch]: Remove SearchQuery related code, implemented now by TrackerQueryTree. * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-dbus-search.c: Use new TrackerQueryTree API. 2008-04-10 Philip Van Hoof * python/deskbar-handler/tracker-module.py * python/deskbar-handler/tracker-handler.py * src/trackerd/tracker-db-email.c * src/trackerd/tracker-db-email.h * src/trackerd/tracker-email-thunderbird.c * src/trackerd/tracker-dbus-search.c * src/trackerd/tracker-email-modest.c * src/trackerd/tracker-email-modest.h * src/trackerd/tracker-email-utils.c * src/trackerd/tracker-email.c * src/trackerd/tracker-email-utils.h * src/trackerd/tracker-email-evolution.c * src/trackerd/tracker-email-kmail.c * src/trackerd/Makefile.am * src/libtracker-common/tracker-configuration.c * src/tracker-search-tool/tracker-search-tool-callbacks.c * src/tracker-preferences/tracker-preferences.glade * src/tracker-preferences/tracker-preferences.c * docs/tracker.cfg.5 * data/services/default.service: Added support for the mobile E-mail client Modest 2008-04-09 Carlos Garnacho * src/trackerd/tracker-process-files.c (process_index_entity): Use the correct database when indexing mail archives. 2008-04-08 Ivan Frade * data/sqlite-stored-procs.sql: Fixed names in stored proc. 2008-04-08 Claude Paroz * src/tracker-applet/tracker-applet-prefs.glade: Removed translatable property from stock label. 2008-04-08 Ivan Frade Hide indexer struct to improve modularity. Fixes bug #525403. * src/trackerd/tracker-utils.h: WordDetails moved to the indexer. * src/trackerd/tracker-dbus-search.c: Levenshtein algorythm moved to the indexer. * src/trackerd/tracker-cache.c: * src/trackerd/trackerd.c: Updated to new functions * src/trackerd/tracker-indexer.[ch]: Hide indexer struct implementation. Added Levenshtein code and WordDetails struct. 2008-04-08 Ivan Frade * src/trackerd/tracker-service.h * src/trackerd/tracker-service-manager.c * src/trackerd/tracker-service-manager.h * src/trackerd/tracker-service.c: Added files missing in previous commit. 2008-04-08 Ivan Frade Service type information encapsulated in TrackerService GObject. Service-type/mime/mime prefixes relations in tracker_service_manager. Fixes bug #523200. * data/services/default.service: Add HasFulltext, HasMetadata, HasThumbs properties with proper values. * data/sqlite-stored-procs.sql: Add method to obtain service type related mimes. * src/trackerd/Makefile.am: Add new files for compilation. * src/trackerd/tracker-process-files.c: * src/trackerd/trackerd.c: * src/trackerd/tracker-dbus-keywords.c * src/trackerd/tracker-dbus-search.c * src/trackerd/tracker-dbus-files.c: * src/trackerd/tracker-dbus-metadata.c * src/trackerd/tracker-dbus-methods.c: * src/trackerd/tracker-rdf-query.c * src/trackerd/tracker-db-sqlite.h * src/trackerd/tracker-db.c * src/trackerd/tracker-db-email.c: Use new methods. * src/trackerd/tracker-db-sqlite.c: Use new methods. (tracker_db_mime_query): New helper function to obtain mime and mime prefixes for a service type. (tracker_db_get_mimes_for_service_id): (tracker_db_get_mime_prefixes_for_service_id): New wrapper functions to tracker_db_mime_query. (db_row_to_service): Convert a service type row in the database to a new TrackerService object. * src/tracker-preferences/tracker-preferences.c: * src/trackerd/tracker-dbus.[ch]: renamed TRACKER_SERVICE to TRACKER_DBUS_SERVICE * src/trackerd/tracker-indexer.c: Reformatted code. * src/trackerd/tracker-metadata.c: Removed hardcoded mimes and logic to solve mime->service_type * src/trackerd/tracker-service-manager.[ch]: Code handling service types, mimes and mime prefixes. * src/trackerd/tracker-service.[ch]: GObject representing a service type * src/trackerd/tracker-utils.[ch]: Removed ServiceDef struct and related methods. 2008-04-08 Michael Biebl * NEWS: Revamp the NEWS file. Patch by Tshepang Lekhonkhobe. * README: Update the documentation about compilation, runtime requirements, configuration and usage. Patch by Tshepang Lekhonkhobe. 2008-04-07 Ivan Frade Using standard C functions to parse dates. Fixes bug #526727. Replaced iso8160 with iso8601 * tracker-extract.[ch]: Replaced tracker_generic_data_extractor and his auxiliar functions with tracker_generic_date_to_iso8601, strftime and strptime. * tracker-extract-ps.c: * tracker-extract-png.c: * tracker-extract-exif.c: Updated to use the new function. 2008-04-07 Carlos Garnacho Make Mail indexing modular. Fixes bug #526761. * src/libtracker-common/tracker-config.[ch]: Add a string configuration parameter instead of a boolean value for each mail client. * src/trackerd/Makefile.am: Build mail client dependent code in separate modules * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-email-thunderbird.c: Modified to run as a module. * src/trackerd/tracker-email-evolution.h: * src/trackerd/tracker-email-kmail.h: * src/trackerd/tracker-email-thunderbird.h: Removed, no longer necessary. The three modules share now the same public interface, and these are called through GModule. * src/trackerd/tracker-email.[ch]: Use GModule to load the selected mail client code and call the module methods. * src/trackerd/tracker-email-utils.c: * src/trackerd/tracker-process-files.c: * src/trackerd/trackerd.c: * src/trackerd/tracker-dbus-methods: Change to work with modular mail indexing. 2008-03-29 Laurent Aguerreche * src/tracker-preferences/tracker-preferences.c: avoid tracker-preference crashes when configuration file does not have a "/Indexing/Language" entry. 2008-03-28 Jerry Tan * src/libtracker-common/tracker-configuration.c: to make it build on solaris with sunstudio. 2008-03-27 Martyn Russell * src/trackerd/tracker-parser.c: Fix compiler warning. 2008-03-27 Martyn Russell * data/sqlite-stored-procs.sql: * src/trackerd/tracker-dbus-files.c: (tracker_dbus_method_files_get_text_contents): Implemented the GetTextContents method. This fixes bug #514553. 2008-03-26 Martyn Russell * src/trackerd/Makefile.am: * src/trackerd/tracker-process-files.[ch]: * src/trackerd/tracker-process-requests.[ch]: * src/trackerd/trackerd.c: Added these files to split out the indexing functionality which was in trackerd.c. Fixes bug #521803. * src/trackerd/tracker-utils.h: Removed two members of the Tracker struct which are not used globally. 2008-03-17 Martyn Russell * src/libtracker-common/tracker-log.c: (tracker_log_init): Safe guard initialising the tracker log more than once. Patch by Ivan Frade. 2008-03-10 Martyn Russell * src/libtracker-common/tracker-configuration.c: (string_replace): * src/libtracker-gtk/tracker-keyword-store.c: (tracker_keyword_store_drag_data_get): * src/libtracker-gtk/tracker-metadata-tile.c: (_int_to_label): * src/qdbm/myconf.c: (_qdbm_mmap): * src/text-filters/ooo_converter/ChangeLog: * src/text-filters/ooo_converter/o3read.c: * src/tracker-applet/tracker-applet.c: (reindex): * src/tracker-search-tool/tracker-search-tool.c: * src/trackerd/tracker-email-thunderbird.c: * src/trackerd/tracker-indexer.c: * src/trackerd/trackerd.c: (get_update_count): Fixed all warnings generated when building the tracker project with the exception of xdgmime which is imported. This fixes bug #520789. 2008-03-10 Martyn Russell * src/trackerd/tracker-cache.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus-methods.c: * src/trackerd/tracker-dbus-search.c: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-thunderbird.c: * src/trackerd/tracker-email-utils.c: * src/trackerd/tracker-utils.h: Fix missing libtracker-common/tracker-config.h and libtracker-common/tracker-log.h dependencies which requires it. 2008-03-10 Martyn Russell * src/libtracker-common/tracker-log.c: (tracker_log_term): * src/libtracker-common/tracker-log.h: * src/trackerd/trackerd.c: Remove the dependency on tracker-config by the tracker-log module. 2008-03-07 Jamie McCracken * Fix for possible email crasher 2008-03-06 Martyn Russell * src/libtracker-common/tracker-configuration.c: * src/qdbm/myconf.c: * src/text-filters/ooo_converter/o3read.c: * src/tracker-applet/tracker-applet.c: Fixed compiler warnings. * src/libtracker-gtk/tracker-keyword-store.c: (tracker_keyword_store_drag_data_get): Change gtk_selection_data_set() to gtk_selection_data_set_text() instead, saves us casting to a guchar pointer. * src/libtracker-gtk/tracker-metadata-tile.c: Removed unused date_to_str() function. * src/tracker-search-tool/tracker-search-tool.c: Removed unused tracker_search_select_service_type_by_string() function. * src/trackerd/tracker-email-thunderbird.c: Remove unused get_boolean_from_string() function. * src/trackerd/tracker-indexer.c: Include ISO definitions before including math.h so we don't get warnings about lrintf() usage. * src/trackerd/trackerd.c: Removed unused set_update_count() function. 2008-03-06 Martyn Russell * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-config.[ch]: * src/libtracker-common/tracker-language.[ch]: Moved these files here from src/trackerd so the API can be shared by all components. * src/libtracker-common/tracker-log.[ch]: Created by taking these functions from the src/trackerd/tracker-utils.c log functions. This is based on a patch from Ivan Frade. * src/trackerd/Makefile.am: * src/trackerd/tracker-apps.c: * src/trackerd/tracker-cache.c: * src/trackerd/tracker-db-email.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus-files.c: * src/trackerd/tracker-dbus-keywords.c: * src/trackerd/tracker-dbus-metadata.c: * src/trackerd/tracker-dbus-methods.c: * src/trackerd/tracker-dbus-search.c: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-kmail.c: * src/trackerd/tracker-email-thunderbird.c: * src/trackerd/tracker-email-utils.c: * src/trackerd/tracker-email.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-inotify.c: * src/trackerd/tracker-ioprio.c: * src/trackerd/tracker-metadata.c: * src/trackerd/tracker-parser.c: * src/trackerd/tracker-rdf-query.c: * src/trackerd/tracker-utils.c: * src/trackerd/trackerd.c: Update the include statments in most of these files to use libtracker-common's config/log headers. 2008-03-05 Martyn Russell * src/trackerd/tracker-config.[ch]: Added. * src/trackerd/tracker-language.[ch]: Added. * src/trackerd/tracker-stemmer.[ch]: Removed. * src/trackerd/Makefile.am: * src/trackerd/tracker-cache.c: * src/trackerd/tracker-db-sqlite.c: * src/trackerd/tracker-db.c: * src/trackerd/tracker-dbus-methods.c: * src/trackerd/tracker-dbus-search.c: * src/trackerd/tracker-dbus.c: * src/trackerd/tracker-email-evolution.c: * src/trackerd/tracker-email-thunderbird.c: * src/trackerd/tracker-email-utils.c: * src/trackerd/tracker-email.c: * src/trackerd/tracker-indexer.c: * src/trackerd/tracker-parser.c: * src/trackerd/tracker-utils.[ch]: * src/trackerd/trackerd.c: Moved all configuration options to their own module for type and limit checking combined with property notification and signalling. This fixes bug #513486. 2008-03-04 Saleem Abdulrasool * src/libtracker-common/Makefile.am: libtracker-common is really a private library, dont install it to the system. Thanks to Michael Biebl for noticing. 2008-03-04 Martyn Russell * autogen.sh: * configure.ac: Make build work for Maemo platform, changes autoconf prereq to 2.59 not 2.59c and uses 1.9 instead of 1.7. This fixes bug #511752. 2008-03-03 Saleem Abdulrasool * configure.ac: * src/Makefile.am: * src/libtracker-common/Makefile.am: * src/libtracker-common/tracker-configuration.c: (get_default_language_code), (write_default_config), (string_replace), (tracker_configuration_load), (tracker_configuration_save), (tracker_configuration_free), (tracker_configuration_get_string_list), (tracker_configuration_set_string_list), (tracker_configuration_get_list), (tracker_configuration_set_list): * src/libtracker-common/tracker-configuration.h: * src/tracker-preferences/Makefile.am: * src/tracker-preferences/tracker-configuration.c: * src/tracker-preferences/tracker-configuration.h: * src/tracker-preferences/tracker-preferences.c: (tracker_preferences_init), (tracker_preferences_finalize), (set_bool_option), (set_int_option), (setup_page_general), (setup_page_performance), (setup_page_files), (setup_page_ignored_files), (setup_page_emails), (name_owner_changed), (restart_tracker), (tracker_preferences_cmd_apply), (tracker_preferences_cmd_cancel): Beginings of libtracker-common. Migrate tracker-preferences to it. 2008-03-02 Jamie McCracken * Lots of minor tweaks * make aplet prefs more hig compliant 2008-02-27 Jamie McCracken * stopped applet respawn of trackerd (via dbus activation unpause method) when killed whilst smart paused * Made progress/animation of email indexing in step * Added index merging progress to tooltip * Fixed clean exiting of trackerd when paused and in index merge state * Fixed final index replacing main index at startup if no tmp merge indexes exist 2008-02-27 Jamie McCracken * fixed applet * added pref screen for applet * aded reindex option to applet * fixed bugs in blacklists 2008-02-26 Carlos Garnacho * src/trackerd/tracker-db-sqlite.c (sqlite3_get_service_name): * src/trackerd/tracker-dbus-metadata.c (tracker_dbus_method_metadata_set) (tracker_dbus_method_metadata_get): * src/trackerd/tracker-dbus-search.c (tracker_dbus_method_search_get_hit_count_all) (tracker_dbus_method_search_text_detailed): Plug some leaks. Fixes #518882. 2008-02-25 Carlos Garnacho * src/trackerd/tracker-db-sqlite.c (tracker_exec_proc) (tracker_exec_proc_ignore_nulls): Plug 2 memleaks introduced by the switch to GPtrArray. 2008-02-25 Jerry Tan * add firefox extension for web history indexing 2008-02-24 Jamie McCracken * added tmp black list of frequently changing files 2007-02-24 patches from Jerry Tan * added web history 2008-02-22 Luca Ferretti * src/tracker-applet/tracker-applet.c: (set_status_hint), (create_context_menu): More strings for translation and fix capitalization. 2008-02-21 Jamie McCracken * Updated applet * removed popup window and replaced with tooltip to indicate status/progress * added smart pause by tracking X events for mouse and keyboard * added more options to not show animation and hide icon 2008-02-17 Saleem Abdulrasool * src/tracker-applet/tracker-applet.c: (set_progress), (index_finished), (index_state_changed), (tray_icon_show_message), (main): Inline translatable strings and fix some whitespace issues 2008-02-16 Jaap Haitsma * src/tracker-applet/tracker-applet.c: (create_context_menu), (statistics_menu_activated), (open_uri), (about_url_hook), (about_email_hook), (about_menu_activated), (main): Add about dialog to applet. Fixes bug #507339 2008-02-14 Carlos Garnacho * src/trackerd/tracker-metadata.c (tracker_metadata_get_embedded): Rewrite function so it's less indented, and copies a bit less memory around. Bug #513688. 2008-02-14 Carlos Garnacho * src/trackerd/tracker-db-sqlite.c (tracker_exec_proc): Store directly results in a GPtrArray. Fixes bug #513691. 2008-02-14 Carlos Garnacho * src/trackerd/tracker-db-sqlite.h: * src/trackerd/tracker-utils.h: Pack booleans in guints to make most used structs smaller. Fixes bug #513692. 2008-02-08 Rich Burridge * src/libtracker-gtk/tracker-utils.h: * src/libtracker-gtk/tracker-utils.c: * src/libtracker-gtk/tracker-tag-bar.c: Fix for Fixes bug #494892 - Label for/labeled by relation missing for add tag button. * src/libtracker-gtk/tracker-metadata-tile.c: From Wendy Hu Fixes bug #494907 – Labels should be set as focusable. * src/tracker-search-tool/tracker-search-tool.c: From Patrick Wade Fixes bug #495205 – Warning message label should be accessible to at-tools. * src/tracker-search-tool/tracker-search-tool-support.c: * src/tracker-search-tool/tracker-search-tool-support.h: * src/tracker-search-tool/tracker-search-tool.c: Fixes bug #494878 – Search hit number can not be reported by Orca. 2008-02-05 Rich Burridge * src/tracker-preferences/tracker-preferences.glade: Fixes bug #503215 – The time unit is not reported by default. 2008-02-03 Carlos Garnacho * Fixes bug #509601. Make tracker-extract more modular using dynamically loaded libraries. 2008-01-30 Luca Ferretti * src/tracker-preferences/tracker-preferences.c: (tracker_preferences_cmd_apply): Fix my bad English, courtesy of A. Walton and Michael Biebl. 2008-01-30 Luca Ferretti * src/tracker-preferences/tracker-preferences.c: (tracker_preferences_cmd_apply): HIGfication of reindex/restart alerts. 2008-01-29 Carlos Garnacho * src/trackerd/tracker-db-sqlite.c (tracker_db_search_text): Avoid doing too many relocations of data in memory. Fixes bug #511781. * src/trackerd/tracker-utils.c (array_to_list): Same here. 2008-01-28 Carlos Garnacho * src/trackerd/tracker-db-sqlite.c (tracker_exec_proc_ignore_nulls): Store directly results in a GPtrArray. Fixes bug #511788. 2008-01-27 Patches from from Thiago Marcos P. Santos * Fixed missing gobject ldadd in libtracker * Made thread stack size configurable 2008-01-23 Halton Huo Implement explicit apply for t-p. * src/tracker-preferences/tracker-preferences.c: * src/tracker-preferences/tracker-preferences.glade: 2008-01-21 Halton Huo * src/trackerd/trackerd.c: (process_files_thread): Refresh index when deleting files 2008-01-17 Michal Pryc * Patch from Mathieu Dimanche Fixed character encoding problems between Thunderbird and trackerd, a.k.a. UTF-8 encoded TMS files 2008-01-11 Laurent Aguerreche * Patch from Dan Bryant Implements access to imap accounts with MD5-DIGEST authentication 2008-01-05 Jaap Haitsma * src/tracker-preferences/tracker-preferences.c: Change CamelCase function name to lowercase seperated by _ 2008-01-05 Jaap Haitsma * src/tracker-applet/tracker-applet.c: * src/tracker-applet/tracker-applet.h: Add license file to top of file 2008-01-05 Jaap Haitsma * src/tracker-applet/Makefile.am: * src/tracker-applet/tracker-applet-private.h: * src/tracker-applet/tracker-applet.c: * src/tracker-preferences/Makefile.am: * src/tracker-preferences/tracker-configuration-private.h: * src/tracker-preferences/tracker-configuration.c: * src/tracker-preferences/tracker-preferences-private.h: * src/tracker-preferences/tracker-preferences.c: Remove *-private.h files. Just put these declarations in the respective *.c files 2007-12-13 Jamie McCracken * Fixed issue with log file being null * Fixed typo of metadata name Audio:PeakTrackGain in the gstreamer extractor * fix for crasher where index name is null during merging * make initial indexing on battery off by default * Fixed prevention of multiple instances of trackerd causing infinite loop and 100% cpu * Fixed reentrant signals to prevent loops by dying quickly 2007-12-09 Jamie McCracken * Increased startup sleep for applet to prevent race condition * Made applet handle trackerd being stopped gracefully * Fixed GetHitCount service type * updated hit counts when duds are present in TST 2007-12-09 Jamie McCracken * Strengthed indeing of emails (utf-8 check on addresses) * Stop indexing if index or db is too large (>2GB) * Fixed notification of tag delete so index is updated * set low disk space to 1% by default * added kill timeout if not shutdown cleanly within 20 secs 2007-12-03 Marcus Fritzsch * python/deskbar-handler/tracer-module.py Even more defensively programmed add_all_actions () to get around *older* deskbar releases (prior rev 1701). Fixes bug #474131. 2007-11-30 Jerry Tan * src/tracker-search-tool/tracker-search-tool.c: Fixes bug #495528. Disable Save Result As when search type like email, applications. 2007-11-28 Jerry Tan * src/trackerd/tracker-utils.h: * src/trackerd/tracker-utils.c: * src/trackerd/trackerd.c: implement the feature to set ignore filename pattern. 2007-11-26 Marcus Fritzsch * pause on low disk space support * unified pause call: tracker_pause () * added config option LowDiskSpaceLimit=int - set to < zero to disable, default is 5 (for default cfg) and as default value if not in cfg. 2007-11-25 Halton Huo Fix several problems for trackerd reload when changing preferences through t-p: 1. Check/uncheck evolution email(maybe more) does not make trackerd restart 2. Trackerd restart will report another trackerd is running. 3. Key for BatteryIndex BatteryIndexInitial and FastMerges does not initialized t-p GUI. * src/tracker-preferences/Makefile.am: Add TRACKER_BINDIR * src/tracker-preferences/tracker-preferences.c: (spin_value_changed_cb), (check_toggled_cb), (setup_page_general), (setup_page_performance), (setup_page_files), (name_owner_changed), (cmdClose_Clicked): * src/trackerd/tracker-dbus-methods.c: (tracker_dbus_method_set_bool_option): Add some bool option here. (tracker_dbus_method_set_int_option): Add some int option here. 2007-11-24 Michael Biebl * filters/*/*_filter: Fix the shell scripts for the external filters - Use mktemp to create safe temp files. - Make all scripts respect the TMPDIR environment variable. - Remove unnecessary output to stdout. - Change the working directory of the msword filter before calling wvText to avoid creating temporary files in $HOME. 2007-11-23 Saleem Abdulrasool * src/tracker-preferences/tracker-preferences.glade: Add accessibility tags for lists in tracker-preferences. Fixes bug #495201 (Patrick Wade). Patch from Patrick Wade. Also add accessibility tags for throttling. Fixes bug #195188 (Patrick Wade). 2007-11-19 Marcus Fritzsch * python/deskbar-handler/tracker-{handler,module}.py Fixed KMail identifier to the correct value * Updated docs/trackerd.1 and docs/tracker.cfg.5 2007-11-18 Jamie McCracken * Added Get Hit Count call to libtracker * Fixed GetServices call * Added KeywordAdded and KeywordRemoved signals 2007-11-18 Laurent Aguerreche * Read some keys from tracker.cfg file: - BatteryIndexInitial, BatteryIndexInitial, - MaxBucketCount, MinBucketCount, BucketRatio, Divisions - Padding (but not used anywhere in tracker's code...) 2007-11-17 Jamie McCracken * implemented power management options * fixed bug with embedded Auth in IMAP URI 2007-11-16 Marcus Fritzsch * python/deskbar-handler/tracker-module.py: Fixed URI quoting issues. Fixes bug #495512. * src/trackerd/tracker-dbus-search.c: Additional error check, fixes bug #495810. 2007-11-13 Jamie McCracken * Added confirmation dialog to prefs when it needs to be restarted or reindexed * fixed error msg when stopwords are passed for searching 2007-11-11 Patch from Tshepang Lekhonkhobe * updated README file * fix for configure.ac (libglade not needed for tst) 2007-11-11 Patch from Wendy Hu * extract keywords from html * fix metadata child relationships 2007-11-11 Jamie McCracken * Added more widgets to tracker-preferences for power management and fast index merges * Made throttle and most of the checkboxes change settings in trackerd in real time (without needing to restart trackerd) * Fixed deletion of entries 2007-11-09 Saleem Abdulrasool * src/tracker-preferences/tracker-configuration.c: (_g_utf8_make_valid), (g_key_file_parse_value_as_double), (g_key_file_get_double), (g_key_file_set_double), (g_key_file_get_double_list), (g_key_file_set_double_list), (get_default_language_code), (create_config_file), (tracker_configuration_init), (tracker_configuration_get_list), (string_replace), (_write), (_set_string), (_get_string_list), (_set_string_list): * src/tracker-preferences/tracker-configuration.h: * src/tracker-preferences/tracker-preferences-main.c: (main): * src/tracker-preferences/tracker-preferences-utils.h: * src/tracker-preferences/tracker-preferences.c: (tracker_preferences_init), (setup_page_general), (setup_page_performance), (setup_page_files), (setup_page_emails), (name_owner_changed), (if_trackerd_start), (cmdClose_Clicked), (cmdAddCrawledPath_Clicked), (cmdAddIndexPath_Clicked), (append_item_to_list), (treeview_get_values), (populate_list): * src/tracker-preferences/tracker-preferences.glade: * src/tracker-preferences/tracker-preferences.h: Run indent on the configuration tool, and fix the init to hide the help button properly. Edit the preferences layout slightly to arrange the tabs in order of usefulness and simplify the email tab. 2007-11-06 Saleem Abdulrasool * src/tracker-applet/tracker-applet-private.h: * src/tracker-applet/tracker-applet.c: (tray_icon_class_init), (tray_icon_set_tooltip): * src/tracker-applet/tracker-applet.h: Drop set_tooltip, there is no reason for this to be a virtual function. 2007-11-05 Laurent Aguerreche * Fix infinite loops while indexing in directories containing a single quote in their name * Fix "merging of indexes" messages which appear again, and again, and again, etc. 2007-11-04 Patch from Halton Huo * Added shutdown and restart of trackerd to refresh config settings to tracker-preferences 2007-11-03 Jamie McCracken * made corruption scan active only if trackerd was not cleanly shutdown * also repair qdbm index files * mutex safeguards around cache * allow readonly mode for trackerd when another process is present but on another machine (NFS) * bomb out trackerd if not primary owner of tracker dbus name * made use of sqlite3_free where needed to by sqlite 3.5 2007-10-31 Saleem Abdulrasool * src/libtracker/tracker-files.c: (main): * src/libtracker/tracker-get-meta-for-folder.c: (main): * src/libtracker/tracker-query.c: (main): * src/libtracker/tracker-stats.c: (main): * src/tracker-search-tool/tracker-search-tool.c: (display_error_dialog): Patch from Bruce Cowan Fix spelling error 'occured' -> 'occurred'. Fixes bug #481651. 2007-10-31 Michael Biebl * Merge tracker-inotify.h, tracker-fam.h and tracker-win-fs-changes.h into a single file called tracker-watch.h. * Remove redundant declarations of the tracker watch functions from tracker-db-sqlite.h. * Extract the poll implementation of the watch functions from trackerd.c into a new file called tracker-poll.c. * Update files to #include "tracker-watch.h". * Update Makefile.am to build the correct file monitoring backend. Drop removed files like tracker-inotify.h, tracker-fam.h, tracker-win-fs-changes.h and add tracker-watch.h to trackerd_SOURCES. 2007-10-31 Michal Pryc * extensions/thunderbird-extension/content/trackerMailWindow.xul: Fixes opening proper mail within Thunderbird. * extensions/thunderbird-extension/tracker.xpi: new xpi with the applied patch. 2007-10-31 Patch from Tshepang Lekhonkhobe * updated README file 2007-10-31 Patch from Thiago Marcos P. Santos * escape string in sql fix 2007-10-29 Jamie McCracken * Check sqlite dbs for corruption on startup and force reindex if necessary * mem leak fix * improve debug of index creation failure * Fixed emails not being indexed if index has been stopped prior to completion of first run * reduce inotify max watch count by 500 to leave some spare for other apps * made sure only regular files get indexed * check dir is not watched before attmpting to watch it again * fixed hang when a directory is moved or renamed while indexing is going on 2007-10-20 Marcus Fritzsch * tracker-extract, added support for application/x-gzpostscript files 2007-10-19 Marcus Fritzsch * deskbar handlers, Fixed gnome bug #487444. Fixes bug #486733. * added some more exception catchers, in general where actions are executed 2007-10-15 Patch from Halton Huo * fixed crasher on solaris 2007-10-09 Luca Ferretti * src/tracker-applet/tracker-applet.c: (create_context_menu): Mark strings in rigth click menu translatable and fix capitalization and ellipsizing as per GNOME HIG. 2007-10-09 Jamie McCracken * Fixed deletions of words from index 2007-10-08 Jamie McCracken * Fixed applet so that progress and pause options work * Implemented fast_merges option * Fixes to remove dud hits so a research corrects wrong hit counts * Cause tracker to die and delete indexes when corruption is detected * Check for overlapping watch dirs * Correct email folders count in applet progress * TST - display warning when searching while indexing * TST - ellipsize first column in search results 2007-10-07 Luca Ferretti * src/tracker-preferences/tracker-preferences.desktop.in.in: Change the name of capplet launcher, to remove "Preferences" 2007-10-06 Jamie McCracken * Renamed and rephrased tracker-applet source * Removed unneeded stuff and merged source files in the applet * Made the applet statistics window live and self updating every 2 seconds * Integrated signal handlers for state changed, progress and IndexFinsihed into applet * Made more translatable strings in applet 2007-10-04 Jamie McCracken * Added in_merge to StateChangeSignal * Fixed crasher when merging indexes 2007-10-01 Jamie McCracken * Made battery and pause checks tickless * Added signals for index progress ans state changes * added dbus methods for setting options and shutdown/reindex * renamed tracker-monitor to tracker-applet 2007-10-01 Laurent Aguerreche * Make index statistic window a little bit sexier 2007-09-30 Laurent Aguerreche * Cleanups for KMail and Thunderbird code * KMail emails are indexed but not removed when user move one to trash 2007-09-29 Patch from Wendy Hu * Fixed missing category from tst search 2007-09-27 Mikkel Kamstrup Erlandsen * Richer display of hits in deskbar module This was intended all along, but broke with DBA 2.20. 2007-09-27 Jamie McCracken * Added intial tracker-monitor notification applet * fixed excessive busy count issue 2007-09-25 Patch from Halton Huo * Enable search of words beginning with a number 2007-09-24 Laurent Aguerreche * KMail emails are not indexed twice anymore because date of indexing is now checked... * Some work need to be done to update infos of a maildir email when needed * In tracker.h, prefer G_BEGIN_DECLS/G_END_DECLS than direct use of extern "C" * Remove some warnings in libtracker-gtk 2007-09-23 Jamie McCracken * Fixed memory leaks * Optomised index merging * Fixed and tuned battery checking * Fixed bug on file read where partial utf-8 crept through * Fixed CJK check * Replaced GSList based cache with byteArray 2007-09-22 Jamie McCracken * Added index merging * Fixed disk IO issues * Restored Qdbm as the main index * Fixed File move crasher 2007-09-13 Jamie McCracken * Added automatic index pause on battery * Check files exist before including in search results * Fixed disabling of indexing option * Fixed bug where could not open files when O_NOATIME is not supported 2007-09-12 Jamie McCracken * Added basic support for index merging 2007-09-12 Patch from Michal Pryc * added initial thunderbird support (experimental and requires separate thunderbird-extension) * added solaris build fixes 2007-09-11 Patch from Marcus Fritzsch * Split legacy deskbar handler into two files, static and live. * Don't show static tracker search option when only live search is enabled This fixes Gnome #474660. * Introduce support for MUAs Thunderbird and KMail in both legacy and new deskbar handlers * Check that t-s-t is installed before showing static handler as available extension. This closes Debian #441889. It should be noted that recent deskbar work has closed Gnome #474131 as well. Commited and approved by kamstrup. 2007-09-11 Laurent Aguerreche * Do not assume that gint32 or guint32 are gint or guint in tracker-db-sqlite.c 2007-09-10 Christian Persch * src/tracker-preferences/tracker-preferences.glade: Use the right capitalisations, and add/change some mnemonics. Bug #474339. 2007-09-10 Patch from Marko Anastasov * Made tracker.h c++ friendly 2007-09-09 Jamie McCracken * Improved memory usage * Optimised text filter reading io using posix_fadvise and O_NOATIME * Print out memory usage (linux only) when flushing words 2007-09-08 Laurent Aguerreche * Try to use O_NOATIME everywhere is possible in tracker-extract * Use O_NOATIME to open Evolution's summary files 2007-09-08 Laurent Aguerreche * Use O_NOATIME mode to read emails with GMime 2007-09-07 Patch from Christian Persch * Fixed HIG violations in tracker-preferences 2007-09-07 Laurent Aguerreche * Remove some useless calls to g_slist_length() * Use g_slice_new/free() for SearchQuery and SearchWord * Split things like g_return_if_fail(item1 && item2) into: g_return_if_fail(item1); g_return_if_fail(item2); in tracker-indexer.c and tracker-dbus-search.c 2007-09-06 Jamie McCracken * Added initial support for index merging * Made sure stats no longer reset * Fixed runaway memory usage of sqlite in indexer 2007-09-04 Jamie McCracken * removed qdbm completly * replaced with sqlite indexer * split up files/emails into separate dbs (meta, content and index) * tuned caching * tuned indexer to pause when non-tracker disk activity is detected * made email indexing 5x faster and lessened iowait times * Improved parser * Fixed restore of user metadata on reindex (keywords are auto-restored) * added source code reserved words to english stopwords * added english stopwords on top of non-english stopword lists 2007-09-03 Mikkel Kamstrup Erlandsen * python/deskbar-handler/tracker-module.py Add additional standard actions 2007-09-03 Laurent Aguerreche * Work on KMail support * Support of MBox files seems to work well. So indexing works when MBox storage is used with local emails (= sent + POP3 emails) and IMAP emails (but not cached-IMAP emails since they are always stored in a maildir hierarchy) * Still issues with mails in maildir directories (trackerd try to index those emails twice!) * Indexing of KMail emails is still turned off 2007-09-03 Laurent Aguerreche * Make TST able to open KMail emails 2007-08-19 Patch from Marcus Fritzsch * Added option to skip mounted directories when indexing * added safeguards to html and imagemagick extractors to prevent crashers * added safeguard to app indexing 2007-08-19 Michael Biebl * Fixed gettext support in deskbar-applet plugin * Update autofoo to automatically install the correct version of the deskbar-applet plugin. Can be overriden with --enable-deskbar-applet=(handler|module) "handler" is for deskbar-applet < 2.19 "module" is for deskbar-applet >= 2.19 2007-08-19 Patch from Marcus Fritzsch * Reorganization of tracker-handler.py * Added support for GaimConversations and Applications * Fixed gnome bugs: #403752, #359307 * Fixed ubuntu bugs: #131247, #130889 * New deskbar-applet 2.19 module tracker-module.py, fixes ubuntu bug #132921 * Fixed emails categorization * Better display of GaimConversations hits 2007-08-13 Laurent Aguerreche * Fix bug #131842 from Ubuntu 2007-08-13 Laurent Aguerreche * Replace "g_slist_length(list)>0" with "list!=NULL" to check whether a list is empty or not in trackerd.c * Cosmetic changes in trackerd.c 2007-08-12 Laurent Aguerreche * Escape filenames containing character "'" to make xdg_open() working with them 2007-08-11 Jamie McCracken * Put back alarm call to tracker spawn as safeguard 2007-08-10 Laurent Aguerreche * Fixed bug #465176 (IMAP e-mail indexing does not work after first crawl) * Code cleanups in tracker-db-email.{h,c} 2007-08-09 Laurent Aguerreche * Remove an error message while loading file sqlite-stored-procs.sql due to bad checking of returned value of fgets() 2007-08-09 Laurent Aguerreche * Close feature request #397210 (Desensitize Find button when search entry is empty) * Remove warnings at building time in TST * Code cleanups in TST 2007-08-09 Michael Biebl * Add missing function prototype definitions 2007-08-07 Jamie McCracken * Fixed memory leaks * Fixed crasher due to non valid utf-8 creeping through emails 2007-08-07 Laurent Aguerreche * Remove some warnings at building of tracker-extract * Adds more recognized date formats for Postscript files in tracker-extract * Code cleanups in tracker-extract 2007-08-07 Michael Biebl * Generate the D-Bus client-side bindings automatically from the introspection XML file 2007-08-06 Laurent Aguerreche * Adds copyright headers in tracker-preferences' files * Remove some code duplications in tracker-configuration.c * Code cleanups in tracker-preferences 2007-08-05 Marko Anastasov * Implemented tracker_dbus_method_search_get_hit_count. 2007-08-04 Patch from Marcus Fritzsch * fixed crasher in email indexing when parsing mimes * updated applet * added tracker-preferences man page 2007-08-04 Patch from Anders Rune Jensen * Made tracker compilable on windows 2007-08-02 Patch from Marcus Fritzsch * Made generic error display window * fixed crasher in tsts - added check for error when calculating hit count 2007-07-29 Laurent Aguerreche * Makes tracker-extract to export dates only in ISO-8601 format * Fixed dates for emails * cosmetic changes 2007-07-29 Patch from Marcus Fritzsch * Removed small chunk of whitespace from being parsed into indexer 2007-07-26 Laurent Aguerreche * Fixed printing of date for audio files in TST 2007-07-25 Patch from Jerry Tan * updated applet to 0.6.0 settings * fixed crasher and made read tags case insensitive for html extractor 2007-07-25 Jamie McCracken * Based on patch by Marcus Fritzsch * Fixed crawled directory indexing when they are not a subset of watched directories * Removed forced indexing of home dir when no watch dirs specified (home is default in cfg file) 2007-07-24 Michael Biebl * Include the deskbar-applet plugin on make dist * Show if deskbar-applet support is enabled in the ./configure summary 2007-07-18 Patch from Jerry Tan * Fixed command line tracker-tag 2007-07-23 Jamie McCracken * Fixed metadata dates display * Revamped tracker-preferences * added missing prefs * fixed bug with additional growing lines 2007-07-22 Patch from Marcus Fritzsch * fixed service names on command line tools * updated man pages 2007-07-22 Laurent Aguerreche * Fixed potential crasher in tracker_set_language() function * Cosmetic changes 2007-07-22 Jamie McCracken * Fixed deleting of no watch dirs from index * Fixed date formats * Added Crawl directory support (indexing without watching) * Added missing filters for csv, excel, spreadsheets (requires ssindex/gnumeric) and oo draw 2007-07-22 Laurent Aguerreche * Not-named email attachments are not ignored anymore * Fixed removing of saved email attachments from spam emails in Tracker's TMP dir * Fixed message "saved email attachment..." * Added "tracker->email_attachements_dir" variable * Added email_make_tmp_name_for_mail_attachment() function * Added tracker_is_empty_string() function * Fixed SEGFAULT when SIGTERM is sent to Tracker while emails are being indexed * Fixed heuristics to detect a text file * Fixed calls to pango_get_log_attrs() * Unified error messages formats 2007-07-21 Patch from Marcus Fritzsch * updated man pages 2007-07-21 Jamie McCracken * Fixed origin of initial sleep in tracker-prefs - based on patch by Tshepang Lekhonkhobe * Fixed resetting icon in metatile * Always made sure an icon is available in tst * Fixed launch of applications (filtered out %U) 2007-07-18 Jamie McCracken * Fixed crasher in tst * Fixed tagging * created config file if not present when running tracker-prefs 2007-07-18 Patch from Jerry Tan * Added initial sleep to tracker-prefs * fixed email setting too 2007-07-17 Patch from Alexandre Rostovtsev * Fixed poppler extractor * Fix for AMD64 setrlimit 2007-07-17 Patch from Andreas Eckstein * Made tracker.h more c++ compatible 2007-07-17 Jamie McCracken * Queued snippets for generation to prevent delays * Made all tracker calls async * Gconf settings for separator position * Fixed bug in tagbar where instruction text would be saved as keywords 2007-07-17 Laurent Aguerreche * Fixed build of TST * Some cleanups in libtracker-gtk 2007-07-17 Patch from Tshepang Lekhonkhobe * updated README * fixed xdg-open order 2007-07-17 Patch from Marcus Fritzsch * Added MaxTextWords limit to config * small compiler warning fixes 2007-07-17 Jamie McCracken * Fixed metadata tile to display for all cats * Fixed TST to display all cats * Fixed various bugs for the above 2007-07-15 Patch from Marcus Fritzsch * Fixed mem leak and some cleanups * added initial sleep config variable 2007-07-13 Patch from Luca Ferretti * cosmetic changes to tst 2007-07-13 Patch from Jerry Tan * Fixed build for Sun compiler 2007-07-13 Jamie McCracken * Replaced tabs in GUI with a sidebar * Fixed update of metadata tile when navigating with keys instead of mouse * Used theme text colours for snippets 2007-07-12 Patch from Jerry Tan * Added NULL to terminate some string arrays in tracker-metadata-tile.c 2007-07-10 Patch from Jerry Tan * Added GetStatus Dbus nmethod and tracker-status app 2007-07-10 Luca Ferretti * src/tracker-search-tool/tracker-search-tool.c: (do_search): show GtkNotebook labels translated 2007-07-09 Patch from Halton Huo * Fixed various crashers (solaris specific only) 2007-07-09 Luca Ferretti * src/tracker-search-tool/tracker-search-tool.desktop.in.in: mark Name and Comment as translatable * trackerd.desktop.in.in: update Comment 2007-07-09 Patch from Jerry Tan * Fixed crasher on solaris for null mimes 2007-07-09 Patch from Michael Biebl * Removed test-tracker-indexer * small fix to Makefile 2007-07-09 Luca Ferretti * src/trackerd/trackerd.c: (main): inizialize g_thread earlier 2007-07-09 Patch from Tshepang Lekhonkhobe * README: updates * Low Memory mode added to config file * Deskbar handler README 2007-07-09 Jamie McCracken * Optimized tracker_debug and related logging funcs * Made use of Setrlimit for limiting memory specific to i386 arch (its buggy on amd64) * updated to latest gtk xdgmime * modded patch from Halton Huo to fix free problem in tracker_get_vfs_name * bug fixes for email indeixng on solaris * Fixed saving of key metadata so they show up in search tool and UI 2007-07-09 Patch from Jason Kivlighn * Added XMP sidecar support * Added XMP support to extractors 2007-07-07 Jamie McCracken * Added tracker_unlink that converts to filesystem locale before unlinking * fixed crasher in email attachment indexing by using locale encoding for attachemnt files 2007-07-04 Jamie McCracken * removed calls to g_mime_stream_close as they appear to be crashing tracker 2007-07-03 Luca Ferretti * src/tracker-preferences/tracker-preferences.desktop.in.in: Add X-GNOME-Bugzilla-* stuff, remove .png from Icon key, set StartupNotify to true. NOTE: I can't access to bugzilla.gnome.org (??), so "X-GNOME-Bugzilla-Component=general" could be wrong. 2007-07-03 Luca Ferretti * Makefile.am: really remove tracked.desktop on make clean and include trackerd.desktop.in on make dist 2007-07-03 Luca Ferretti * configure.ac: * src/tracker-preferences/Makefile.am: * src/tracker-preferences/tracker-preferences.desktop.in: * src/tracker-preferences/tracker-preferences.desktop.in.in: * src/tracker-search-tool/tracker-search-tool.desktop.in: * src/tracker-search-tool/tracker-search-tool.desktop.in.in: Cleanup .desktop files generation for tracker-search-tool and tracker-preferences, just like trackerd. Now, configure generates .desktop.in from .desktop.in.in replacing @VERSION@ variable, then make generate .desktop from .desktop.in adding translations for Name and Comment keys. Besides, make clean remove .desktop files and make dist includes .desktop.in in released packages. Or, at least, this is the desider behavior... 2007-07-03 Luca Ferretti * Makefile.am: add CLEANFILE to remove tracked.desktop on "clean" rule 2007-07-02 Luca Ferretti * data/icons/Makefile.am: run gtk-update-icon-cache on install-hook and uninstall-hook. See http://live.gnome.org/GnomeGoals/AppIcon 2007-07-02 Luca Ferretti * src/tracker-preferences/Makefile.am: Add -DTRACKER_LOCALEDIR in INCLUDES * src/tracker-preferences/tracker-preferences-main.c: (main): Enable localization at runtime. 2007-07-02 Luca Ferretti * Makefile.am: * configure.ac: Enable localization for trackerd.desktop file. It's useful for gnome-session-properties 2.19/2.20. I'm not sure 'make dist' will include the right files :-( * trackerd.desktop.in: moved... * trackerd.desktop.in.in: ...here, plus changes to enable translations and removal of spurious fr translation. 2007-06-30 Patch from Jason Kivlighn * Added initial XMP support for images to tracker-extract 2007-06-30 Patch from Michael Biebl * fixed typo and removed redundant stuff from configure.ac * moved qdbm into private lib and added option to use system version 2007-06-30 Patch from Eric Lesh * Fixed date display when date is missing in the metadata tile 2007-06-30 Patch from Laurent Aguerreche * Evolution mail fixes * fix bad parsing of summary file * used g_slice * fixed mime type of attachments 2007-06-30 Patch from B Berteh * Downgraded gtk and glade requirements * Added missing functions for those with gtk 2.10 2007-06-30 Patch from Marcus Fritzsch * Fixed invalid double free in tracker-extract * made sure time elapsed returns floating point value 2007-06-30 Patch from Jerry Tan * Fixed crasher in image extractor * fixed coredump in ps extractor on solaris 2007-06-30 Patch from asubedi * Added djvu filter 2007-06-30 Patch from Deji Akingunola * Added OnlyShowIn to desktop file * Added missing config var in configure.ac 2007-04-28 Tshepang Lekhonkhobe * src/trackerd/trackerd.c: * src/trackerd/trackerd-utils.c: Fix verbosity code * README: added a note on how to change inotify limits 2007-06-30 Patch from Anders Rune Jensen * Fixed crasher when getting metadata 2007-06-30 Patch from Luca Bellonda * added use of ~ and realpath for all config filename based variables 2007-06-30 Patch from Tshepang Lekhonkhobe * updated README and ToDo 2007-06-06 Jamie McCracken * Reworked ranking and hit selection * Added support for And/Or * Added IDF (inverse document frequency) ranking for multiple word searches * added preliminary support for wildcards (not fully operational yet) 2007-06-06 Mikkel Kamstrup Erlandsen * python/deskbar-handler/tracker-handler.py: Fix bug 430252, crash on conversion to ascii. 2007-05-26 Claude Paroz * src/tracker-preferences/tracker-preferences.glade: Corrected typo. 2007-05-07 Jamie McCracken * bug fix for crashers in gaim indexing * fixed get metadata method to return original data 2007-05-05 Jamie McCracken *Added application and gaim log indexing * application indexing based on patch by Marcus Rosell 2007-04-30 Jamie McCracken * fixed reset of stats on reindex * removed libmagic from build 2007-05-01 patch from Michael Biebl * updated po/linguas 2007-05-01 Patch from Bjoern Gruening * updated tracker-preferences to use XDG config location 2007-04-30 Jamie McCracken * Reverted to using multiple db connections over one virtual (virtual is 3x slower) * Got stats working * renabled backup of user defined metadata * fixed crashers in email indexing * fixed too many open file descriptors by closing them 2007-04-28 Tshepang Lekhonkhobe * src/trackerd/trackerd.c: * src/trackerd/trackerd-utils.c: Fix verbosity code * README: added a note on how to change inotify limits 2007-04-27 Jamie McCracken * Restructured Database to be more extensible * Made use of triggers in sqlite * Cleaned and restructured code to be more extensible and make use of new DB structure * Moved Metadata and Services to desktop files * Backed all user defined data so that they can be restored on reindex * Added --reindex param to trackerd * Moved all database files to XDG dirs * Separated expendable embedded data (in $Home/.cache) from user defined ones (in $HOME/.local/share/tracker/data) * Imporved stat collation * make process thread do the watching for fast startup * added 5 second delay prior to watch/index so as not to slow down boot time * Removed libmagic support * Fixed file move issues * Default Verbosity is to output almost nothing so as not to pollute xsession-errors * Fixed bugs in Dbus interfaces * Fixed bugs/crashes during indexing * Fixed bug whereby directories exceeding the max number of watches would not be indexed (also fixed/applicable to NFS mounts) * Fixed email attachment indexing * Improved text parsing 2007-04-05 Edward Duffy * src/tracker-search-tool/tracker-search-tool.c: "xalign" property given an int, instead of float. Thanks to Jay Langseth for point this out. 2007-03-23 Wouter Bolsterlee reviewed by: Jamie McCracken * src/tracker-search-tool/tracker-search-tool-callbacks.c: (show_file_selector_cb): Default to $HOME for saved searches. Fixes bug #421535. 2007-03-15 Pema Geyleg * configure.ac: Added 'dz' to ALL_LINGUAS 2007-03-11 Edward Duffy * src/tracker-extract/tracker-extract-imagemagick.c: Don't send '-ping' to GIMP xcf files (#416905) 2007-03-08 Jamie McCracken * Revamped parsing of text * Now uses pango automatically for CJK texts * Added optional accent stripper 2007-03-08 patch from Michael Biebl * Added new icons * Removed old and installed in correct places for themes 2007-03-07 Edward Duffy * src/tracker-extract/tracker-extract-imagemagick.c: Check exit code of 'identify' 2007-03-07 Josep Puigdemont i Casamajó * configure.ac: Added "ca" to ALL_LINGUAS. 2007-03-06 Mikkel Kamstrup Erlandsen * python/deskbar-handler/tracker-handler.py: Check that Tracker is available via dbus activation or don't mark the handler as available. 2007-03-05 Edward Duffy * src/trackerd/tracker-dbus-search.c: * src/tracker-search-tool/tracker-search-tool.c: Added tracker_dbus_method_search_suggest and support in the GUI 2007-03-04 Jamie McCracken * Removed polling functionality * Startup checks now include test for deletions in dirs that have changed * Index directories bottom up so indexing resumes from where it left off if stopped * made sure tmp dir and /proc and /dev are not indexed 2007-03-04 Mikkel Kamstrup Erlandsen * python/deskbar-handler/tracker-handler.py: Work around dependency for deskbar 2.18. We can do with 2.16 now (hopefully). 2007-03-03 Edward Duffy * src/tracker-search-tool/tracker-search-tool.c: Preserve search terms when switching tabs (#399022) 2007-03-03 Edward Duffy * configure.ac: * trackerd.desktop.in: * src/tracker-search-tool.desktop.in: Add X-GNOME-Bugzilla-* keys to the .desktop files (#407348) 2007-03-03 Edward Duffy * src/trackerd/tracker-db-sqlite.c: Fix tracker_db_get_files_by_mime (#409729) 2007-03-03 Patch from jerry tan * Replaced stdout with tmp_stdout so it compiles under solaris 2007-03-03 Patch from Neil Patel * Fixed drag and drop of an email create a desktop file * Fixed crasher with tile 2007-03-03 Edward Duffy * src/tracker--search-tool/tracker-search-tool.c: Update metadata tile when tabs change. Closes #413971 * inotify limit now uses system setting 2007-03-03 Luca Ferretti * src/tracker-search-tool/tracker-search-tool.c: (update_page_count_label): Fix some HIG, i18n and icon issue in Tracker search too. See bug #412255 for details. 2007-03-02 Mikkel Kamstrup Erlandsen * Add email support to deskbar handler 2007-03-01 Patch from Neil Patel * Made drag and drop of an email create a desktop file * desktop file launches evolution with correct uri. * made thumbs bigger in tile 2007-03-01 Jamie McCracken * Made configure auto build stuff like libtracker-gtk if dependencies are met * changed --enable-preferences to --disable-preferences 2007-03-01 patch from Michael Biebl * Cleaned up libtracker-gtk with John Stowers * removed optional dependency on libtracker-gtk for tst * added localisation 2007-03-01 patch from John Stowers * Add libtracker-gtk 2007-02-28 Jamie McCracken * Removed superflous subfolders from imap uri 2007-02-28 Patch from Tshepang Lekhonkhobe * Patch for README file 2007-02-28 Patch from Anders Rune Jensen * Fix mem leak in Fam handler 2007-02-28 Patch from Michael Biebl * added realpath support to thumbnailer 2007-02-26 Jamie McCracken * Fixed email issues * Now handles deleted and junk emails (these are removed when trackerd is next started) * Fixed bugs with text Files not being detected 2007-02-26 Luca Ferretti * src/trackerd/trackerd.c: Use "VALUE" not "value" in --help for -t and -v explanation as any other option 2007-02-18 Jamie McCracken * made sure we call gmime_stream_close before unreffing to release file descriptors * a few memory leaks plugged 2007-02-13 Patch from Tshepang Lekhonkhobe * tracker.cfg: replaced the unused EnableDebugLogging entry with Verbosity * remove unnecessary checks for tracker->verbosity * some spelling corrections and other minor changes * lowered tracker-preferences' GTK+2.0 version requirement from 2.10 to 2.8 * README fixes 2007-02-12 Patch from Gergan Penkov * Added missing function prototype 2007-02-12 Jamie McCracken * lots of bug fixes to get imap email support functional 2007-02-11 Luca Ferretti * src/tracker-preferences/tracker-preferences.c: (tracker_preferences_init): Fix the glade name of buttonbox area. 2007-02-10 Jamie McCracken * finished adding evolution email support * added revamped tab interface to tracker-search-tool * added email searching support to tst * added new methods to get hit counts by service * added cropping to tst display * split up sql scripts * added evolution display of emails in tst 2007-02-10 Patch from Saleem Abdulrasool * Added preferences capplet 2007-01-29 Jamie McCracken * fixed bug for service types * fixed mplayer bug with audio/video.Duration 2007-01-28 Jamie McCracken * fixed bug where moving a file would not update index of the new filename * made some of the db data static 2007-01-28 Patch from Michael Biebl * removed python header from deskbar module * changed Max results to 10 2007-01-28 Patch from Laurent Aguerreche * email fixes * improved imap4 support * memory leak fix in indexer 2007-01-27 Patch from Saleem Abdulrasool * Made deskbar-handler installation optional 2007-01-27 Nickolay V. Shmyrev * configure.ac: added ru to ALL_LINGUAS. 2007-01-25 Jamie McCracken * fixed update of embedded keywords * added deskbar handler to tarball and installation * updated man page for trackerd 2007-01-24 Patch from Michael Biebl * converted xdgmime to private lib 2007-01-24 Jamie McCracken * Added magic.h to check_headers in configure.ac * Created tracker_info and tracker_debug and replaced all the g_log functions that were polluting xsession-errors 2007-01-23 Jamie McCracken * Improved message display * Made sure all external stuff is fully protected from excessive memory/cpu * Repaired mplayer backend and make it used when gstreamer returns nothing * Added libmagic for extra mime checks 2007-01-22 Patch from Michael Biebl * Fix to get test suite built 2007-01-22 Luca Ferretti * src/libtracker/tracker-stats.c: Port tracker-stats to GOption and mark translatable strings. Fix bug 397940. 2007-01-21 Patch from Daniel Fullmer * fix for parallel make 2007-01-21 Patch from Michael Biebl * Updated License info * added LGPL Copying.Lib to libtracker 2007-01-21 Jamie McCracken * Completed optimisation of indexing * Added a verbosity command line param * Made sure all indeixng occurs under a single transaction * removed superflous code 2007-01-21 Kjartan Maraas * configure.ac: Added nb to ALL_LINGUAS. 2007-01-19 Jamie McCracken * changed mmap back to shared as optimisation would destroy the index * made indexing super fast * smoothed out indexing so that it (virtually) never slows the system down * made default full throttle (turbo) * Added new high speed index flusher * Improved word descriminator 2007-01-14 Jamie McCracken * added throttling param to control speed of indexing (--throttle) * adjusted default throttling so that cpu ~50% during heavy indexin * throttled tracker daemon at strategic points * removed erroneous cache word deletion when delete_directry * removed problem statement that was somehow deleting the cache db * Improved word breaker and fixed index roots not being indexed * changed shared mmap to private for qdbm to work on FUSE 2007-01-12 Patch from Michael Biebl * Fixed make distcheck * added bzip2 build * fix for configure.in -> configure.ac move 2007-01-12 Jamie McCracken * Sped up word breaker and made it use less memory * Fixed bug where root dirs were not getting indexed properly * Added some sleeping to reduce stress on machine when heavily indexing 2007-01-11 Patch from Saleem Abdulrasool * Detect dbus service directory 2007-01-11 Patch from Michael Biebl * based on patch from Saleem Abdulrasool * removed mysql files * cleaned up build for sqlite 2007-01-10 B Berteh * added README for deskbar handler and nautilus tags * remove temporary included image files left by wvText 2007-01-10 Jamie McCracken * Merged all extraction into one thread to lessen queueing overhead * disabled some code in the emails section * added some more email db support routines * improved support for email attachments indexing 2007-01-10 Patch from Saleem Abdulrasool * Build fixes * fixed build of test suite * fixed --enable-debug-code configure arg * made libpng a mandatory dependency * added check for thumbnail directory and create it if necessary 2007-01-09 Ignacio Casal Quinteiro * configure.in: Added 'gl' to ALL_LINGUAS. 2007-01-07 Tshepang Lekhonkhobe * README: Ensured all lines over 79 colums were reduced for readability * README: Added xdg-utils, libpng, libexif, and libgsf as dependencies * t-s-t: Added xdg-open to 'Open Folder' with a fallback to gnome-open 2007-01-07 Priit Laes * configure.in: Added 'et' (Estonian) to LINGUAS. 2007-01-03 Tshepang Lekhonkhobe * Added a note on the reason why SQLite is statically-linked 2007-01-03 Laurent Aguerreche * improved email support * added imap support * linked in db email support 2007-01-02 Jamie McCracken * Added new crawler to speed up indexing 2007-01-02 Matic Zgur * configure.in: Added sl to ALL_LINGUAS. 2007-01-01 Patch from Bjoern Gruening * Added tex filter support 2007-01-01 Jamie McCracken * Added db support for emails * added indexing support for emails * optimised metadata insertion 2007-01-01 David Lodge * configure.in: Added en_GB 2006-12-23 Jamie McCracken * Added debug compile option * fixed memory leaks during indexing * Made Database changes to support new Metadata engine * Changed metadata to reflect RDF style (using colon instead of fullstop for class/metadata) * Added Dublin Core metadata * modified code to use new metadata names and also Dublin Core * added support for metadata relationships * made metadata support more than one value per item * made keywords use the new metadata engine. * changed keyword metadata to "DC:Keywords" * Applied some Dublin Core relationships to existing metadata * Made RDF QUery function with new metadata engine and also metadata relationships * Used file command to check to see if files are plain text or not * split filenames by hyphen and underscore so individual parts will show up in searches * index meaningful numbers (IE all numbers at least 5 digits long so searchers can now be done for things like telephone no.s, bank accounts, ISBN etc) * modified snippet to start/end on a word break if possible 2006-12-19 Francisco Javier F. Serrador * configure.in: Added 'es' to ALL_LINGUAS 2006-12-16 Luca Ferretti * src/tracker-search-tool/tracker-search-tool.desktop.in: Update launcher description to match GNOME HIG. 2006-12-16 Luca Ferretti * src/tracker-search-tool/tracker-search-tool.c: (update_search_counts), (update_constraint_info), (get_desktop_item_name): Comment out some unused strings from gnome-search-tool and change other "Search for Files" window title strings to "Tracker Search Tool". But those should be unused too. Now all strings marked as translatable should really appears in the GUI. 2006-12-14 Ilkka Tuohela * configure.in: Added 'fi' and 'sv' to ALL_LINGUAS 2006-12-03 Eugenio * added a QT based search tool to python directory 2006-11-30 Luca Ferretti * src/trackerd/trackerd.c: Add a missing : in --help message to match other tools. 2006-11-30 Luca Ferretti * src/trackerd/trackerd.c: Change command line options and enable i18n. Fore more info about changes, see http://mail.gnome.org/archives/tracker-list/2006-November/msg00382.html 2006-11-29 Patch from Michael Biebl * cleaned up makefiles for debian compliance * removed debian subfolder from cvs * fixed make dist 2006-11-29 Jamie McCracken * Cleaned up Makefiles * set executable scripts to libdir and not datadir * added missing license/copyright info to files 2006-11-27 Edward Duffy * made thumbnailing fdo compliant 2006-11-27 Jamie McCracken * fixed crasher in snippet generator and made it more utf-8 friendly 2006-11-26 Eugenio * updated fuse based trackerdfs * omplete support for move/copy/create dir/file 2006-11-26 Gergan Penkov * Updated configure.in to support more distro firendly options 2006-11-21 Deji Akingunola * removed extra trackerd.desktop file * fixed t-s-t desktop file 2006-11-21 Luca Ferretti * python/FUSE/trackerfs.py: Updated by Eugenio Cutolo. 2006-11-21 Luca Ferretti * src/libtracker/tracker-search-tool.c: Reduce the number of translable messages using C style comment blocks to exclude unused functions and remove _() macros from unused strings. Change the window title to match the launcher label. 2006-11-21 Luca Ferretti * src/libtracker/tracker-tag.c: * src/libtracker/tracker-search.c: Fix a couple of typos in translatable messages. 2006-11-21 Luca Ferretti * src/libtracker/tracker-tag.c: * src/libtracker/tracker-search.c: Standardized error messages. 2006-11-20 Luca Ferretti * configure.in: Add a check for glib >= 2.12.0 and define HAVE_RECENT_GLIB. * src/libtracker/tracker-tag.c: Use g_option_context_set_summary only if HAVE_RECENT_GLIB is defined. 2006-11-20 Jamie McCracken * updateded desktop files * fixed t-s-t to let back/forward buttons to remain sensitive if applicable * fixed resizing of columns in t-s-t * improved snippet generation * made snippet call async in t-s-t * made use of tracker's mime instead of slower Gnome-vfs mime detection in t-s-t 2006-11-19 Jamie McCracken * fixed snippets so that multiple terms are highlighted * used a copied version of function g_utf8_strcasestr from gtksourceview to provide caseless utf-8 searching * used utf-8 casefold and normalization in parser * tidied up t-s-t * made font colour of snippet much clearer * made snippets wrap around when resizing t-s-t * added icon to both t-s-t and desktop file * reduced sqlite cache usage 2006-11-18 Jamie McCracken * Limited tracker-extracts memory usage using setrlimit * prevents unreasonable memory usage (especially mistaken treatment of large binary files as video files) * fixed rdf bug where a search term without a query could not be executed 2006-11-18 Laurent Aguerreche * added more tmeplate filters * improved use of tmp directory for temporary stuff 2006-11-16 Laurent Aguerreche * added missing OOO templates to our filters 2006-11-16 Eugenio * added fuse based trackerdfs to our python tools 2006-11-16 Edward Duffy * added timeout to all external processes used by tracker 2006-11-16 Luca Ferretti * src/libtracker/tracker-tag.c: Add l10n/i18n support, changing some messages for a better translation experience. 2006-11-15 Edward Duffy * added xdg-open to t-s-t with fallback to gnome-open 2006-11-15 Laurent Aguerreche * added desktop files to debs 2006-11-15 Luca Ferretti * */.cvsignore: Add cvs ingore files. 2006-11-12 Laurent Aguerreche * changed html filter to use w3m 2006-11-12 Gergan Penkov * fixed dbus warning 2006-11-12 Edward Duffy * added abiword and xml text filters 2006-11-12 Deji Akingunola * added tracker.spec file * added trackerd.desktop file 2006-11-12 Jamie McCracken * fixed fam backend 2006-11-11 Jamie McCracken * fixed bug in rdf query so that non file objects are supported by default * fixed gstreamer extractor to time out after a few seconds (this prevents it hanging with some movie files) 2006-11-10 Edward Duffy * Downgraded libpoppler requirements 2006-11-10 Deji Akingunola * added .desktop file for tracker-search-tool 2006-11-10 Luca Ferretti * configure.in: Replace AM_GLIB_DEFINE_LOCALEDIR with a custom test and AC_DEFINE due to the bug #343825 (glib vs. autoconf >= 2.60). See also http://lists.debian.org/debian-gtk-gnome/2006/06/msg00001.html (from Laurent Aguerreche) 2006-11-10 Luca Ferretti * debian/tracker-dev.docs: * debian/tracker-dev.install: Removed from cvs (from Laurent Aguerreche) 2006-11-09 Luca Ferretti * src/libtracker/tracker-search.c: Restore #include (maybe needed on some systems) and move setlocale() before *textdomain() (from Laurent Aguerreche) 2006-11-09 Luca Ferretti * Makefile.am: * debian/tracker-utils.manpages: * dedian/tracker.manpages: Add missing manpages for deb packages which have to be distributed by "make dist" (patch by Laurent Aguerreche) 2006-11-09 Hendrik Richter * configure.in: Added "de" to ALL_LINGUAS 2006-11-09 Luca Ferretti * src/libtracker/tracker-search.c: Restore "setlocale" call. Now localization should work at runtime for this tool (by Laurent Aguerreche) 2006-11-09 Luca Ferretti * fixed "make dist" for intltool-* stuff (by Laurent Aguerreche) 2006-11-07 Luca Ferretti * added internationlisation support to tracker and t-s-t 2006-11-07 Laurent Aguerreche * fixed bad comment tag in mplayer extractor 2006-11-07 Julien * fixed bug in tracker-query so that service types are enabled 2006-11-07 Jamie McCracken * fixed bug in plain text sniffer 2006-11-05 * cleanups to remove compiler warnings 2006-11-05 Laurent Aguerreche * improved use of tmp directory * added gstreamer based extractor for audio and video tags * cleaned up other extractors 2006-11-01 Jamie McCracken * emebedded sqlite with threadsafe mode enabled * inlined sqlite code and made it a prvate non-installable lib which is statically linked in * fixed initilaisations of vars in mp3-extract to prevent segfaults 2006-11-01 Luca Ferretti * fixed build (Makefile, not MakeFile) 2006-10-30 Laurent Aguerreche * fixed and cleaned debian build * fixed build of man pages 2006-10-30 Samuel Cormier-Iijima * created python based notification applet for tracker 2006-10-29 Bastien Nocera * totem parsing speedup 2006-10-29 Laurent Aguerreche * Updated debian build * cleaned up process * added new package for tracker-search-tool 2006-10-29 Jamie McCracken * fixed tag error when setting a new tag on a file 2006-10-29 Eskil Bylund * fixed window sizing of tracker-search-tool * added buttonbox for prev/next buttons in t-s-t 2006-10-29 Ulrik Mikaelsson * fixed leak in GetMetadataForFilesInFolder * fixed field checking in GetMetadataForFilesInFolder * added dbus argument error handling * fixed issue with tracker-tag not reporting file not found * added comamnd line args to t-s-t 2006-10-29 tobutaz * imporved ioprio detection and operation 2006-10-29 Mikkel Kamstrup Erlandsen * added grey lettering for snippet 2006-10-29 Baptiste Mille-Mathias * added initial manpages for the tracker command line tools 2006-10-22 Richard Quirk * fixed potential crasher in tracker_db_search_text 2006-10-22 Jamie McCracken * updated debian folder and files to build debs * fixed tracker.pc to use libtrackerclient * fixed bug where data flushing to qdbm could end up in an infinite loop 2006-10-22 Eskil Bylund * build fix for make dist * fix for tracker-search-tool's handling of filenames by escaping them 2006-10-16 Jamie McCracken * Fixed gui * added buttons * cleaned up code * created dbus methods to get snippets 2006-10-17 Edward Duffy * Made a totem extractor * Fix for pdf extractor 2006-10-16 Jamie McCracken * Added optional periodic fsync and fast mode to make tracker more background friendly * Added intermediate temp storage of words so that most common words are applied at the end to prevent fragmentation * Added sheduling * Made sure tracker daemon is now really smooth * fixed a few leaks 2006-10-16 Edward Duffy * Made an mplayer extractor * Fix for potential crasher in tracker-extract * Fix for autotools 2006-10-11 Jamie McCracken * Fixed crasher by applying a mutex to guard non-threadsafe stemmer 2006-10-12 Marcus Fritzsch * Patch to make sure ignore dirs argument is treated as an array 2006-10-11 Jamie McCracken * Created command line options for trackerd * Created more extensive options for tuning performance/memory and disk space usage - new config file format * Removed LibExtractor dependency * created new mp3 extractor for id3 id3v21, id3v22, id3v23 and id3v24 * added snowball stemmers (as a static library) * added multi language stopword files * added support for determining which language to use by default based on locale * made sure only lstat is used to prevent symlink directories from being followed 2006-10-11 Jedy Wang * Patch to improve compilation on Solaris 2006-10-08 Jamie McCracken * Created tracker-search-tool (based on gnome-search-tool) * Bug fix for handling uri's without a leading backslash in indexing * tuned indexer 2006-10-07 Laurent Aguerreche * Made Thunderbird backend aware of vfolders 2006-10-05 Laurent Aguerreche * Email uri fixes 2006-10-05 Jamie McCracken * blocked extraction of non-regular files 2006-10-05 Marcus Fritzsch * Patch to make sure NULL is returned if no date is available in tracker_db_get_field_def 2006-10-03 Laurent Aguerreche * Cleaned up tracker-db-sqlite source * Fixed potential crasher where g_free was being used on a g_lice allocation 2006-10-03 Jamie McCracken * fixed retrieval of metadata types * fixed Metadata.Get method * fixed Files.GetByMimeType * added python stuff to repository * added lyrics.py ripped from rhythmbox and modded by Samuel Cormier-Iijima * added nautilus tag tabs written by Edward Duffy 2006-10-03 Edward Duffy * added libgsf extractor for ms office files * added open document thumbnailers * fix for sqlite sql * fixed auto tagging 2006-10-03 Anders Aagaard * added ionice support 2006-10-02 Laurent Aguerreche * Force email body to return plain text instead of html * Fixed signedness warnings in xdgmime 2006-10-02 Jamie McCracken * restructured database for email support * Fixed RDF Query to work with sqlite * Added sqlite sql functions (display of dates) * Added keywords support to rdf query * Changed most of the a{sv} dbus methods to aas * Modified command line tools to use aas * removed redundant dbus methods and parameters 2006-10-01 Laurent Aguerreche * Added Kmail email support * Added fixes for sqlite 2006-10-01 Jamie McCracken * restructured database * Used Curia instead of Depot for inverted index as its more scalable * Fixed issues with new indexer * Fixed keywords to update indexer properly * Fixed keyword search and list methods * Added auto tag support for Doc.Keywords and Image.Keywords (based on patch by Edward Duffy) * Auto optimize index after first run and automatically after user settable no of updates 2006-09-27 Edward Duffy * made internal extractors external and intgrated into tracker-extract * added extractors for images 2006-09-27 Jamie McCracken * fix bug with search text (correct no of results now returned) * got search mime , search location and search mime location working * replaced bzip compression with zlib 2006-09-26 Samuel Cormier-Iijima * Added #ifdefs to make libpoppler usage optional 2006-09-26 Jamie McCracken * fix bug with get_metadata routine expecting metadata name and not metadata id 2006-09-25 Jamie McCracken * Integrated new indexer and parser into tracker/sqlite * Added support for insert, update and delete * performs differential indexing for updates * got tracker-search to function with it 2006-09-25 Edward Duffy * added internal extractors for pdf, OpenDocument, Abiword and Postscript 2006-09-25 Fabien VALLON * Did an initial ogg extractor 2006-09-25 Laurent Aguerreche * Added thunderbird email support * Added fixes for detecting deleted and junk emails in Evolution mail parser 2006-09-21 Laurent Aguerreche * Added detection of deleted and junk messages to email indexing 2006-09-21 Edward Duffy * added jpeg and png thumbnailers 2006-09-21 Samuel Cormier-Iijima * Inotify patch to clean up code * Also made sure inotify timeout for file move detection is removed when no moved files are pending (this prevents tracker from peridoically waking up) * added g_message support for logging messages 2006-09-21 Laurent Aguerreche * Added initial email indexing support * Added indexing of evolution emails * Added indexing of email attachments 2006-09-21 Jamie McCracken * Created Test suite for new indexer * fixed bugs in indexer 2006-09-19 Jamie McCracken * Finished tracker's new indexer 2006-09-19 Fabien VALLON * Added retrieval of tracke number to tracker-extract 2006-09-18 Samuel Cormier-Iijima * Added search by service option to tracker-search 2006-09-17 Samuel Cormier-Iijima * Added Goption and limit option to tracker-search 2006-09-16 Jamie McCracken * Fixed erroneous rdf query where returned values were null 2006-09-16 Samuel Cormier-Iijima * Patch to fix sqlite sql * Patch to fix race condition in request thread 2006-09-16 Jamie McCracken * More work on tracker-indexer 2006-09-12 Samuel Cormier-Iijima * Patch to fix segfault when retrieveing metadata * Patch to use g_slice_new0 instead of g_slice_new 2006-09-11 Samuel Cormier-Iijima * Patch to fix sending of null values on Dbus * Also fix for erroneous g_free on a g_slice allocation 2006-09-13 Jamie McCracken * Tidied up tracker-GUI * Inline libsexy widget * extended parser to support line by line indexing * added more functionality to new indexer 2006-09-13 Edward Duffy * Enhanced tracker GUI * fixed display of sexy icon entry 2006-09-13 Jaime Frutos Morales * Patch to add skeleton for tracker GUI 2006-09-11 Samuel Cormier-Iijima * Patch to add Goption support for tracker-tag 2006-09-11 Laurent Aguerreche * Added option to disable thumbnail generation 2006-09-11 Jamie McCracken * Added bug fixes to sqlite functionality 2006-09-10 Jamie McCracken * Added rough sqlite support 2006-09-10 Laurent Aguerreche * Fixed symlink problem * More code cleanup 2006-09-07 Laurent Aguerreche * Handled Dbus Connection shutdown gracefully * tracker deamon now shuts down smoothly when dbus session bus is stopped * Big code cleanup 2006-09-06 Jamie McCracken * Finishsed db abstractions * Added initial sqlite support 2006-09-02 Laurent Aguerreche * Fix for Rdf-query parser to allow "contains" function to be called more easily 2006-09-02 Laurent Aguerreche * Added locale handling for non utf-8 files * Made sure all filenames passed to posix system calls are translated to user's locale * made sure all results are displayed in user's locale * cleaned up code 2006-09-02 Jamie McCracken * Added more abstractions for db calls 2006-08-25 Jamie McCracken * Improved thread synchronisation speed * Fixed potential deadlock as pointed out by Laurent Aguerreche * Improved exiting 2006-08-21 Gergan Penkov * Fix sql for an SP 2006-08-21 Jamie McCracken * Improved thread synchronisation using G_COND and g_cond_signal and g_cond_wait * Eliminated redundant mutexes (file available/metadata available) * Restructured threads to be more efficient * Added two phase program halt so that stuff ends gracefully and all threads are exited smoothly 2006-08-21 Laurent Aguerreche * Patch to fix signal handling amongst threads * Jamie McCracken heavily modified this patch to make sure it avoids deadlocks and race conditions 2006-08-19 Laurent Aguerreche * Patch to fix debain build * split up tracker into several debs * Fixed make dist in autofoo 2006-08-19 Jamie McCracken * Abstracted all mysql specific stuff into tracker-db-mysql * Paved the way to support alternative backends like sqlite/qdbm 2006-08-13 Jamie McCracken * Added new tracker-file-convert to convert text file into list of unique words with associated counts * Added support for stemming * Added new parsing word breaker * Added experimental (but currently disabled) qdbm indexing (tracker-indexer c) 2006-08-13 Marcus Fritzsch * Patch to make sure a dbus reply is sent if the rdf query string is NULL or erroneous 2006-08-03 Marcus Fritzsch * Patch to make sure query is not null in tracker_exec_sql 2006-08-03 Jamie McCracken * Added new Dbus methods for File Exists and File GetServiceType 2006-08-02 Jamie McCracken * Added new command line tool tracker-files 2006-08-02 Edward Duffy * Patch for small fix to XdgMime 2006-08-02 Jedy Wang * Patch to add build instructions for Solaris to README file 2006-08-02 Laurent Aguerreche * Patch to fix sql 2006-08-01 Jamie McCracken * Added offset parameter to search methods 2006-07-31 Jedy Wang * Patch to improve compilation on Solaris 2006-07-31 Jamie McCracken * Added realpath for file parameters in command line tools * Improved search terms to *and* them by default * added support for OR in search terms * added support for excluding a search term * added bugfixed XDGMIME from Beagle to prevent crashes 2006-07-30 Marcus Fritzsch * Patch to make build more debian friendly 2006-07-30 Jedy Wang * Patch to fix crasher on solaris 2006-07-30 Christoph Laimburg * Patch to replace deprecated dbus call (dbus_connection_disconnect) 2006-07-30 Samuel Cormier-Iijima * Patch to add RegExp rdf query extension support 2006-07-30 Samuel Cormier-Iijima * Modified patch to make no watch directories parameter functional 2006-07-30 Jamie McCracken * Added new command line tools (tracker-tag) * Fixed bugs in tracker-search methods * Fixed bugs in tracker-query 2006-07-25 Jamie McCracken * Sorted out libtracker * updated to reflect new dbus interfaces * Added new command line tools 2006-07-22 Jamie McCracken * Created new dbus interface for Search and Files * Added new methods to create richer dbus functionality * Ported over existing metadata methods to new interface 2006-07-18 Jamie McCracken * Created new dbus interface for Keywords * Added new methods for adding, removing and searching keywords 2006-07-11 Jamie McCracken * Created new dbus interface for Metadata * Added new methods for registering and querying metadata types * Ported over existing metadata methods to new interface 2006-06-30 Jamie McCracken * Added New Dbus Interface Methods * Added GetStats, GetServices and GetVersion 2006-06-12 Jamie McCracken * Reworked rdf query functionality * Optimised it for performamce * Added new extensions for Contains and StartsWith 2006-05-17 Gergan Penkov * Fix for conifgure in (added ssl linking due to bug in mysql) 2006-05-14 Jamie McCracken * Improved metadata support for Exif fields * Created new stats for indexed files * Created new file orientated services 2006-05-07 Jamie McCracken * Fixed crasher in date parser * Improved UTF-8 conversion of metadata * Improved Inotify header checks (now looks for sys/inotify h as well as linux/inotify h) * Fixed build issues on FC5 2006-05-05 Jamie McCracken * Hugely optimised indexing when many files are waiting to be indexed * Mass queueing of files no longer blocks the main thread * Fixed minor memory leak in new date parser 2006-05-01 Jamie McCracken * Migrated embedded database to mysql 5 * Removed all parameterized queries and replaced with stored procedures * New stored procedures to encapsulate DB functionality and remove most DB logic from application * Simplified C code when interfacing with DB * Added support for parsing dates in various formats including conversion to/from ISO 8601 format * Fixed MsWord filter to prevent looping (WvText causes inotify to report file write change causing endless looping) * Redesigned DB structure to be more generic and service orientated * Added support for service types (first class objects) to DB * Renamed tables to be more service orientated * Added DB versioning data to DB so future DB changes can be implemented painlessly (and without requiring a rebuild of all indexed data) 2006-04-22 Dan Nicolaescu * Patch to fix correct use of argv * Ensure correct message printed if wrong no of arguments supplied 2006-04-22 Dan Nicolaescu * Patch to fix build for Fedora Core 5 2006-04-22 Nate Nielsen * Fix compile warnings, crasher 2006-03-28 Jamie McCracken * Redesigned Dbus Interface to be more generic and cleaned up code * Corrected search results of hyphenated search terms * Added support for maximum hit count to search queries * Added optional support for sorting search results by relevance score 2006-03-12 Jamie McCracken * Updated to latest XDGMime * Fixed bugs with filename metadata type not being updated in a file move operation * Improved speed of some intoify operations 2006-02-27 Jamie McCracken * Added inotify support * Optimised inotify move support * Improved Build system * Can use an external libextractor if found during compilation * Fixed some leaks * Fixed threading issues with new inotify backend 2006-01-14 Jamie McCracken * Updated libtracker to be more usable especially for Nautilus search 2006-01-11 Jamie McCracken * Improved file change handling by creating a pending file queue and a pending File Database table This allows changes awaiting processing by the tracker daemon to be handled much more efficiently with respect to memory usage 2006-01-06 Jamie McCracken * Added fallback polling mechanism to trackerd c This kicks in if iNotify/FAM is not available (IE if home directory is on an NFS mount) or if iNotify/FAM watch limits have been exceeded 2005-12-13 Jamie McCracken * Imported initial version of Tracker into CVS 2005-09-15 Jamie McCracken * Tracker Project started