1. 14 Jul, 2019 2 commits
    • Sam Thursfield's avatar
      Replace TrackerDomainOntology class with a simpler function · 2148096b
      Sam Thursfield authored
      This allows us to remove some code from libtracker-miners-common, but
      the motivation is actually to fix a name conflict between
      libtracker-common and libtracker-miners-common.
      
      Previously we were prevented from linking statically to
      libtracker-miner, and prevented from using link-time optimization,
      due to the duplicate GTypes.
      
      The code is now diverged from that in libtracker-common, but it's
      unlikely to see major changes because the "domain ontology" format is
      part of Tracker's public API.
      
      Fixes: GNOME/tracker#116
      2148096b
    • Sam Thursfield's avatar
      Rename config.h to config-miners.h · 54144c9a
      Sam Thursfield authored
      This fixes compile warnings which show up when we build with
      -Dtracker_core=subproject. This is an example of the kind of
      warning:
      
          [7/186] Compiling C object 'subprojects/tracker/src/tracker-store/7bb4675@@tracker-store@exe/tracker-config.c.o'.
          In file included from ../subprojects/tracker/src/tracker-store/tracker-config.c:21:
          subprojects/tracker/./config.h:25: warning: "GETTEXT_PACKAGE" redefined
             25 | #define GETTEXT_PACKAGE "tracker"
                |
          In file included from <command-line>:
          ./config.h:25: note: this is the location of the previous definition
             25 | #define GETTEXT_PACKAGE "tracker-miners"
                |
      54144c9a
  2. 13 Nov, 2018 2 commits
  3. 30 Sep, 2018 2 commits
  4. 30 Aug, 2018 1 commit
  5. 29 Aug, 2018 1 commit
  6. 11 Aug, 2018 2 commits
    • Sam Thursfield's avatar
      Allow use of domain rules that aren't installed into /usr · 5a58a451
      Sam Thursfield authored
      Currently Tracker domain rules must be installed inside Tracker's data
      directory (usually /usr/share/tracker). This is limiting as it means
      only system packages can add them. A program installed into /opt is
      unable to use a custom domain, for example. Since Tracker is implemented
      as a system of daemons, it's not particularly straight forward to work
      around this by setting XDG_DATA_DIRS= to point somewhere non-standard
      either.
      
      This patch removes this restriction in a simple way: it allows users to
      pass a full path to the domain rule, rather than just the base name.
      5a58a451
    • Sam Thursfield's avatar
      tracker_domain_ontology_get_domain() should return only the domain name · d7076fff
      Sam Thursfield authored
      We should be consistent about what the name of a Tracker domain actually
      is. In the domain rule we specify Domain=org.freedesktop (for the
      default rule) or Domain=org.example.App (for a custom domain). But
      internally tracker_domain_ontology_get_domain() would return
      org.freedesktop.Tracker1 or org.example.App.Tracker1, i.e. the domain
      name now has '.Tracker1' appended.
      
      This does make sense in most cases, but it means there's no way to get
      the actual name of the domain from a TrackerDomainOntology object. This
      commit changes the existing function to not append '.Tracker1' in the
      value it returns, which means that function can now be used to get the
      base name of the domain. The assumption is that callers are normally
      appending stuff to this base name anyway so it's not much extra effect
      to also append the '.Tracker1' component if needed.
      
      libtracker-common is internal to Tracker so this doesn't constitute a
      public API break.
      d7076fff
  7. 16 Dec, 2017 1 commit
    • Sam Thursfield's avatar
      Rename libtracker-common to libtracker-miners-common · 3cee7b92
      Sam Thursfield authored
      We made a big compromise when splitting tracker core from tracker-miners
      in that the common code that was needed by both parts would end up
      duplicated. It's ugly but it works fine at the moment and allows us to
      keep all of the common code private.
      
      I had an issue when trying to embed tracker core into tracker-miners as
      a Meson subproject though. Having two targets named tracker-common
      caused confusion as duplicate targets aren't allowed, but they are not
      quite equivalent so we can't just pick one or the other.
      
      To work around this, I've renamed the copy in this repo to
      tracker-miners-common. This only affects the target names, not the
      actual function names.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=789725
      3cee7b92
  8. 05 Oct, 2017 1 commit
  9. 04 Oct, 2017 1 commit
  10. 10 Aug, 2017 1 commit
  11. 03 Aug, 2017 1 commit
    • Carlos Garnacho's avatar
      Remove code not related to miners · 63af0cfe
      Carlos Garnacho authored
      The miners are being split from the core tracker package.
      
      On both autotools/meson builds, datadir and libdir for
      private data has been changed to be separate from the tracker
      core. Same goes for the gettext package and other bits.
      
      Additionally, avoid installing the dbus xml descriptions.
      That's fairly non-standard and unnecessary with introspection.
      63af0cfe
  12. 06 Jul, 2017 1 commit
  13. 29 Jun, 2017 6 commits
    • Carlos Garnacho's avatar
      tracker-miner-fs: If there is a domain, set a watch on it · 5af321b4
      Carlos Garnacho authored
      And exit as soon as the name vanishes. It may safely continue
      its operations on the next startup.
      5af321b4
    • Carlos Garnacho's avatar
      tracker-miner-fs: Add --domain-ontology switch · 4ba8fa4b
      Carlos Garnacho authored
      This allows running tracker-miner-fs on other domain ontologies
      moderated by a tracker-store daemon. The switch does:
      1) Set up the ontology domain for the default TrackerSparqlConnection
      2) Make the miner use a DBus name relative to the domain
      
      In result, tracker-miner-fs can take a different DBus name and talk
      to other tracker-store instances than the default.
      4ba8fa4b
    • Carlos Garnacho's avatar
      libtracker-miner: Add TrackerMinerProxy object · 9831c102
      Carlos Garnacho authored
      And shift all miner dbus handling from TrackerMiner. This object
      takes a TrackerMiner and implements the org.freedesktop.Tracker1.Miner
      interface for it on DBus.
      
      One notable difference in handling here is that libtracker-miner
      does not try to own DBus names anymore, that is left up to the caller.
      The registered object will be available on whatever dbus name the
      caller does register.
      
      For compatibility, all TrackerMiner implementations around have been
      made to request their usual name.
      9831c102
    • Carlos Garnacho's avatar
      tracker-miner-fs: Implement initial crawling fully here · d85a4778
      Carlos Garnacho authored
      It seems this setting was just ignored at on libtracker-miner since the
      introduction of TrackerFileNotifier. And it does not make a lot of sense
      either, crawling is done for 2 purposes: checking mtimes and setting up
      monitors.
      
      So we have individual toggles for each of those, but if neither happens
      we could just not start the miner as well, which is most similar to the
      tracker-miner-fs behavior when this setting was introduced.
      d85a4778
    • Carlos Garnacho's avatar
      libtracker-miner: Remove tracker_miner_fs_set_mtime_checking() · c07c6575
      Carlos Garnacho authored
      This is just used to set the TRACKER_DIRECTORY_FLAG_CHECK_MTIME flag on
      the TrackerIndexingTree for all files. Given libtracker-miner has this
      fine grained switch and all use of it happens in src/miners/fs, just move
      the global toggle there and remove it from libtracker-miner API.
      
      The only usage of this flag inside libtracker-miner happened inside
      tracker_miner_fs_directory_add(), which was superseded by
      TrackerIndexingTree too and is scheduled for removal.
      c07c6575
    • Carlos Garnacho's avatar
      tracker-miner-fs: Adopt DBManager API to manipulate stamp files · 2df688a7
      Carlos Garnacho authored
      Those just matter for indexing purposes, so move all management here.
      tracker-extract has just been made to equate SCHED_IDLE_FIRST_INDEX to
      SCHED_ALWAYS.
      2df688a7
  14. 08 Jun, 2017 1 commit
    • Sam Thursfield's avatar
      Remove Maemo/Meego leftovers · 809b5676
      Sam Thursfield authored
      This removes various code paths that we believe to be unused.
      
        * The userguides miner has been removed altogether.
        * The application miner no longer parses MeeGo-style .desktop files
        * The TRACKER_DISABLE_MEEGOTOUCH_LOCALE environment flag is gone
          (it already did nothing)
        * Character set detection with libmeegotouch is removed, only enca
          or libicu are supported
        * Meego-specific flags are gone from .desktop files
        * Functional tests have lost their vestigal Scratchbox and Aegis support
      
      There are 5 ontologies referencing Maemo, 4 of which are largely unused.
      These have been kept around in case anyone is using them outside
      Tracker.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=783555
      809b5676
  15. 09 Oct, 2016 1 commit
  16. 27 Dec, 2014 1 commit
  17. 10 Dec, 2014 1 commit
  18. 27 Oct, 2014 1 commit
    • Martyn Russell's avatar
      libtracker-common: Moved tracker-ontologies.h into libtracker-sparql · a4d60c19
      Martyn Russell authored
      The Namespace has been cleaned up too, all APIs now start with:
      
        TRACKER_PREFIX_
      
      or
      
        TRACKER_DATASOURCE_
      
      The well known definition for the TrackerMinerFS graph has also been changed
      to:
      
        TRACKER_OWN_GRAPH_URN
      
      because it now applies to more than just the TrackerMinerFS, we're using it
      in:
      
        tracker-writeback
        tracker-miner-apps
        tracker-miner-user-guides
        ...
        libtracker-data
      
      It should probably be internal actually.
      a4d60c19
  19. 01 Aug, 2014 1 commit
    • Sam Thursfield's avatar
      Processes shouldn't install the signal handler until the main loop starts · 4ab254d9
      Sam Thursfield authored
      The signal handler we install calls g_main_loop_quit() when SIGTERM or SIGINT
      are raised, but this is only useful if the loop was started. Sending SIGTERM or
      SIGINT to a Tracker process while it is starting up fails to stop the process,
      and triggers the following a warning:
      
        GLib-CRITICAL **: g_main_loop_quit: assertion 'loop != NULL' failed
      
      Ideally we'd call initialize_signal_handler from an idle once the main
      loop has started, but installing it just before the loop starts should
      be a big improvement.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=734144
      4ab254d9
  20. 29 Apr, 2014 2 commits
  21. 17 Mar, 2014 1 commit
  22. 20 Feb, 2014 1 commit
    • Carlos Garnacho's avatar
      libtracker-miner: Turn thumbnailer into an object · 1ea22530
      Carlos Garnacho authored
      TrackerMinerFS in libtracker-miner was already doing most of the
      tracker_thumbnailer_* calls necessary. The only API required on
      callers only was tracker_thumbnailer_init/shutdown(). So just
      turn this into an object so all usage is kept private to
      libtracker-miner, and we can remove these headers out of the
      public.
      1ea22530
  23. 13 Jan, 2014 1 commit
  24. 08 Mar, 2013 2 commits
  25. 24 Jan, 2012 1 commit
  26. 29 Nov, 2011 1 commit
  27. 28 Nov, 2011 1 commit
  28. 27 Nov, 2011 1 commit
    • Jürg Billeter's avatar
      Remove g_thread_init calls · 9295f595
      Jürg Billeter authored
      Calling g_thread_init with GLib 2.31 requires explicit dependency on
      gthread-2.0. However, g_type_init initializes threads since GLib 2.24,
      so it is no longer needed.
      9295f595
  29. 25 Nov, 2011 1 commit