Revert "Backport to GLib 2.32.x"

This reverts commit 7514c47babf5937bd6f8ea47b3a5504c03e84d3b.
Revert "Add g_type_init() back, it's deprecated in newer GLib releases but Jolla has an older GLib currently"

This reverts commit 05615628186af8350e6dd9f78951b4f52d49b0de.
Revert "Backporting for older GLib 2.32.x, adding back generating of marshalling of closures"

This reverts commit 5cbfe7247d70c67c0f3e5de037f8ac0ebea809b0.
[update] update to upstream 0.17.6
Squashed 'tracker/' changes from 6eabbe7..802b648

802b648 Release 0.17.6
76f3704 tracker-extract: Remove obsolete xine extractor
83023a8 tracker-extract: Add Gibest hash calculation to GStreamer
9386642 tracker-extract: Remove obsolete GStreamer fallbacks
6158fdb tracker-extract: Remove obsolete totem-video-indexer extractor
0439489 tracker-needle: Use BusType.SESSION for getting tracker-store stats
030ca6c tracker-miner-{rss|evolution}: Fix DBus session used to TRACKER_IPC_BUS
df04124 build: Move FTS feature check to m4 file with cache check too
8092dd1 tracker-extract: Removed support for libstreamanalyzer
30dd98e build: Make libmediaart a soft dependency, not hard
ae4741e tracker-extract: Don't report < 0 nfo:width for images with GStreamer discoverer
ddc70c5 Updated Lithuanian translation
0fb8c96 build: Fix typos in configure.ac for fts4 and sqlite_safe
1f1eb09 libtracker-{common,data,extract}: do not maintain LT versioning
2ea889a build: Fix error message when running configure for tracker-miner-fs
25a017e docs: remove the --low-memory option from tracker-store man page
bda7573 build: Remove references to QT dependency in configure.ac
36db1c5 tracker-extract: Remove the need for fork() and sub-processes with PDF extraction
8765cbb all: Make GBusType configurable with TRACKER_BUS_TYPE
6a58916 Updated French translation
38dbb37 Updated Galician translation
1d00122 Updated Polish translation
7cf994e Updated Spanish translation
20ab5be Updated Brazilian Portuguese translation
443714e tracker-extract: Make logging clearer if we fail on no modules or no data
bfa333d Updated Korean translation
6776fac Updated French translation
6c4a0aa Updated Czech translation
160179a Updated French translation
8a778d6 Updated Brazilian Portuguese translation
bf2a149 Updated Lithuanian translation
bbeaac2 Updated Korean translation
a6f0219 Updated Galician translations
503c8e4 Updated Polish translation
a2171cd Updated POTFILES.in and POTFILES.skip
2963354 tracker-extract: Fixed epub extractor so it doesn't use broken ontology
737755d tracker-extract: Improve logging, too many debug statements
5818f84 libtracker-extract: Lookup rules after maybe initializing in get_fallback_rdf_types()
e4a3d82 libtracker-extract: Fix leak on .rule file error
061930d data: Add tracker-extract autostart file
705f1c4 tracker-extract: set nfo:Video on the gstreamer guess rule for completeness
b3bc600 libtracker-miner: Dispose GFileInfo objects ASAP when crawling
d106a98 Updated Russian translation
f0fc3f8 miner-fs: Plug leak
ec0f8af libtracker-extract: Plug leak
fc07b23 build: libicu version requirement doesn't need to be so high, 4.8.1.1 is lowest
bbb4e8e build: Add version for libicu in the build requirements
8e980e1 miner-fs: Do not leak the UpDevice
4573870 libtracker-fts: Free the list
fcee1d0 libtracker-miner: Do not leak the TrackerSparqlConnection
49718b0 [l10n] Updated Italian translation.
45613d7 Updated Latvian translation
24e57e9 Updated Traditional Chinese translation(Hong Kong and Taiwan)
c7a9c23 Updated Czech translation
6ceb0cf Updated Lithuanian translation
91b894a Updated Chinese (China) translation
629b23c Updated Spanish translation
658eeb2 libtracker-miner: Don't print uninitalised sparql variable for update_array_cb
1a381d5 libtracker-data: getting FTS multivalued properties used unintialised variable
499577d all: Removed dead code from coverity report
8bfbde8 libtracker-data: Protect potential NULL dereference in _db_cursor_iter_next()
aced0e1 Updated Polish translation
e7a46d9 tracker-sandbox: Locale and dbus fixes
0a185e6 tracker-sandbox: Make this Python script +x
2a48cc2 tracker-extract: Make it clearer where MIME type came from in debug
24b64ca Updated Galician translations
4ba4746 Updated Brazilian Portuguese translation
9401bf9 tracker-sparql: Support properties with --tree and case insensitivity with --search
b5b6b6f Updated Spanish translation
3ced369 Release 0.17.5
6e1f29c tracker-extract: Don't leak FD on tiff extractor when opening file
6a941d4 libtracker-miner: Remove >= 0 g_assert() on uint
a8034b1 Updated Galician translations
71ea40b Possible use of uninitialized value
ea33ff0 Updated Lithuanian translation
c771b91 Updated Czech translation
0c9706c man-pages: Update paths in tracker-extract.1
4b0bb22 extract: set nfo:Document on FallbackRdfTypes for text documents
ac69d7a Updated Brazilian Portuguese translation
75ed835 Updated Polish translation
7568804 tracker-miner-fs: Fix documentation for 'low-disk-space-limit', was in MB not %
a6ecf19 build: Improve description of build switches
9c0cee2 build: Change configure's --disable-unzip-ps-gz-files to --enable* like others.
47c2852 build: Change configure's --disable-libxml2 to --enable-libxml2, like others.
0b702fd build: Remove configure args for GdkPixbuf/Qt* used for mediaart
f311407 build: Remove configure args for Nemo, was used for media art
15b00e6 build: Remove configure args for libsecret and gnome-keyring
7a33d51 Merge branch 'extract-rules-fix'
3148ec1 build: Remove the need for Makefile.extractdirs
f8cfcdc libtracker-extract: Fix example mockup.rule file, we no longer include @modulesdir@
7a58399 libtracker-extract: Don't break compilation due to missing rules/modules dir
d582ac2 libtracker-miner: Unset priv->current_index_root when the TrackerFileNotifier is finished
1b600b1 functional-tests: fix invalid SPARQL s/nao:hasTag:prefLabel/nao:prefLabel/
853eb94 functional-tests: Use GraphUpdated signal from store, not miner-fs Idle status
98781aa functional-tests: Don't require miner-fs being idle for testing data inserted
73e9adc functional-tests: 400-extractor.py expects different arguments
a29bff1 functional-tests: Start/stop processes in correct order, miner after extract
02ee5a8 functional-tests: Increase default timeout 90s->180s, 90s isn't long enough sometimes
f9b846e functional-tests: Don't rely on just tracker-control -t to kill tests in time
c7ebf4a functional-tests: Fix regression introduced in commit 690eecb1
16b6600 Updated Spanish translation
e765a5e libtracker-miner: Fix typo introduced by my previous commit
51fd82d libtracker-miner: Protect against NULL thumbnailer
00bb4dc libtracker-extract: define back extract[rules|modules]dir for Makefile.am to use
008f0ba libtracker-extract: Make this a package-private library
d67ace9 libtracker-miner: clear thumbnailer internal objects on init() failure
de2db11 Updated Chinese (China) translation
048f776 Updated Czech translation
140dad0 Updated Polish translation
3da58d0 Release 0.17.4
7663670 Updated Lithuanian translation
9fe977b rss: Fix compilation with rss miner enabled
e476919 Updated Brazilian Portuguese translation
4e9e66c tracker-sparql: Various improvements/fixes for --tree command line option
5360130 Release 0.17.3
95107a2 tracker-sparql: Add new command line features for help with the ontology
ac77e0c libtracker-control: Add missing gio.h include
73c0dec tests: Updated gtester scripts to improve testing system
f9ab05d libtracker-control: remove generated vapi/deps files on distclean
349326c po: Add tracker-miner-online.c
97ee865 libtracker-extract: Fix distcheck
d1d5fe4 libtracker-miner: Fixed all documentation warnings
400d22f docs: Make sure we fix cross referenced library symbols
8eae234 Merge branch 'api-cleanup'
79f0974 libtracker-miner: Make sure we compile if we don't HAVE_NETWORK_MANAGER
8b9cd06 tests: Fix build in libtracker-miner
e94b1c5 libtracker-miner: Add padding pointers to *Class structs
bcf258d docs: Add missing TrackerDecorator type to .types
b6a0300 libtracker-miner: remove private namespace symbols from being exported
914c5e8 libtracker-miner: Remove TrackerMinerWeb and helper objects
f507aa9 rss: Implement TrackerMinerOnline
0c2e04e libtracker-miner: Add TrackerMinerOnline
dddc6c9 libtracker-control: New separate library, just contains TrackerMinerManager
26a3c0e tracker-writeback: Remove unneeded code using TrackerMinerManager
6ac8e9a libtracker-miner: Make TrackerCrawler private
488ba49 libtracker-miner: Move TrackerStorage to libtracker-common
1472c7d libtracker-miner: Avoid use of TrackerCrawler in TrackerMinerManager
33faab0 tracker-control: Avoid usage of TrackerCrawler
fdd3d48 libtracker-miner: hide media-art header
1ea2253 libtracker-miner: Turn thumbnailer into an object
60fdc9b libtracker-extract: Make it completely private
f9a4a0f TrackerDecorator: Add writable "priority-rdf-types" property
998349a TrackerExtractDecorator: Remove useless goto.
0c3efea TrackerExtractController: Fix coding style
88470fb TrackerExtractController: Avoid useless string comparaison
16302cc TrackerDecorator: Query the type of removed elements
bc62c64 Add TrackerExtractController to pause/resume the miner
f4e54b6 tracker-extract: add "wait-for-miner-fs" setting
72ec134 TrackerExtractDecorator: Add ClearRdfTypes DBus method
c6fd84d TrackerDecorator: Sort elem_queue to extract important files first
9d9fb0b TrackerDecorator: Replace the elements GQueue with a TrackerPriorityQueue
927164d TrackerDecorator: Query the rdf:type for each element in the queue
263870c TrackerExtractDecorator: Add priority dbus interface
62ed8b5 TrackerExtractDecorator: Fix pause/resume
167b293 tracker-extract: Fix TrackerConfig not handling change notification
e3d4fdf TrackerPriorityQueue: Add node-based API
25fb3e2 TrackerDecorator: remove the "(boxed)" annotation
82175b7 Merge branch 'prioritized-crawling'
0dcf4d2 Release 0.17.2
cae7562 build: Fixed the way locales are included for FireFox and Thunderbird
a47951f tracker-needle: Fixed GTK+ 3.0 deprecations.
dac48ad tracker-needle: Fixed typo in Makefile.am, VALACFLAGS was not being used
6b761e7 build: Make sure --target-glib used with Vala is the correct GLib version
8055171 miner-fs: Set the priority flag on mounted volumes.
f5c764c libtracker-miner: Obey the "priority" flag when adding files to processing queues
24a4c24 libtracker-miner: Add/handle a "priority" TrackerDirectoryFlag
fd5a83c libtracker-miner: Detach early the processed file in TrackerFileNotifier
0077545 tracker-extract: Split generic gstreamer/libav extract rules
069f743 Fix build on firefox plugin
e3f6295 Added Polish translations of Firefox and Thunderbird extensions
cb32373 tracker-extract: Use a fully expanded name for the decorator nie:DataSource
5244d97 libtracker-common: Add define for the tracker: ontology prefix
dede7ab libtracker-miner: Ensure the decorator nie:DataSource is queried as an IRI
2babd17 tracker-needle: Go to search results from entry box by pressing Down
016e2dd tracker-needle: Don't list emails as "Documents"
c53e772 thunderbird: Update tracker-sparql binary check to look for -1.0
377dde0 firefox: Update tracker-sparql binary check to look for -1.0
a74d26e Merge branch 'thunderbird-24'
b7a6815 build: Use API version 1.0 instead of bumping it every stable release series.
4e692dc Trackerbird: Add fr-FR and es-ES locales
63e6bc7 Trackerbird: added UI localization.
33b4958 plugins/thunderbird: Escape folder names in URIs
c71a40f plugins/thunderbird: Port to Thunderbird 24
0098b19 plugins/thunderbird: Fix formatting in plugin.js
183c706 plugins/thunderbird: Add more debug messages
65ee4e5 [l10n] Updated Italian translation.
6ed75c4 Revert "TrackerDecorator: Remove unused argument in element_remove_link()"
3dca874 TrackerDecorator: Make sure to flush remaining sparql updates when finished
476eb8c TrackerDecorator: Fix infinite loop
f804134 TrackerDecorator: Remove unused argument in element_remove_link()
9c8900f Updated Galician translations
87e54e2 Merge branch 'use-libmediaart'
356b270 build: depend on libmediaart
187dfd4 TrackerFileSystem: Fix warning when registering a property twice
d8f5e85 TrackerDecoratorInfo: register as boxed type
94d4a85 tracker_decorator_next(): Queue tasks when a query is needed
e0cd92d TrackerDecorator: Fix a compilator warning
8efa928 TrackerDecorator: Avoid code duplication
5325c8f TrackerDecorator: Make _prepend_ids and _delete_ids singular
c8dfd0b tracker-sandbox: Fix license address
f004a87 Updated Brazilian Portuguese translation
ae11345 Updated Indonesian translation
ff88ff1 Updated Traditional Chinese translation(Hong Kong and Taiwan)
a67f1a5 Partially revert previous FSF translation commit
ea2b25f Updated FSF's address
77c8b79 Updated Czech translation
f232845 Release 0.17.1
aaeb484 Updated translation by Erwin Poeze
40b0cbe build: Require Vala >= 0.18.0
34cb178 Updated Spanish translation
b5678b0 Updated Polish translation
fbaf73b Updated POTFILES.in
60e8db2 Merge branch 'wip/passive-extraction'
1bde38f extract: Remove --disable-shutdown argument
5490013 extract: Plug a leak
b42f7ce extract,msoffice: call g_free() on the right pointer
2de3acb extract,mp3: Plug a leak
100e62c extract,gst: Ensure GstDiscovererInfo structs aren't leaked
02f3cfd extract,gif: Plug a leak
e4d5a4b extract: Ensure a task is added to priv->running_tasks just once
cb82079 extract: Do not leak info for unhandled files
dadcd16 decorator: Do not leak TrackerDecoratorInfo structs
dbbb79b decorator: Plug a leak
7dfe0d8 decorator: do not estimate remaining time when 0 elements have been processed
edcb447 libtracker-miner: Updated documentation with TrackerDecorator* APIs
6dafddf libtracker-miner: Improved warnings in cases of failure t with mount events
9bd48da libtracker-miner, tracker-extract: Fix include order
bd5dc8f libtracker-miner: Clearer error message for decorator class ID failures
68471ab libtracker-miner: Use g_slice_new0() instead of g_new0() where it makes sense
ed02bf2 tracker-extract: remove now nonexistent #include
89f040b tracker-extract: Remove TrackerController
a1934fd ontology: set tracker:notify on nfo:Video
814de78 tracker-extract: Turn into a full-blown miner
465baf6 tracker-extract: Add TrackerExtractDecorator
e1c7d08 tracker-extract: Do not add statistics data if no module handled the file
00105b1 libtracker-miner: Add TrackerDecoratorFS
630aaab libtracker-miner: Add TrackerDecorator
7128e32 ontologies: Add static nie:DataSource for tracker-extractor
ebb3ee3 miner-fs: Set relevant rdf:types on files
9d12ab0 miner-fs: Remove code that calls tracker extract
e79d2ad tracker-extract: Set FallbackRdfTypes on all .rule files
b3a0374 libtracker-extract: Read FallbackRdfTypes as a string list in .rule files
ecf27ea Fix compile warnings in tracker-fts.c
8456f52 Fix fts:offsets()
b3fb86e libtracker-data: new 'tracker:unaccent' method
8e00e18 libtracker-data: new 'tracker:normalize' method
bf12da7 libtracker-data: remove unneeded fallback methods to use glib as unicode support
79ac944 Updated Galician translations
162ae96 tracker-ioprio, tracker-sched: Fix includes
dfc40a3 Updated Brazilian Portuguese translation
dfacaac Revert "Updated Brazilian Portuguese translation"
26d30e1 Updated Brazilian Portuguese translation

git-subtree-dir: tracker
git-subtree-split: 802b648868e828d0814d443a78ee7615fe3b3a4c
Merge commit '9ad5b1b3211166a4bba49d731418b5a960e92291' into upstreaming-0.17.5

Conflicts:
	tracker/configure.ac
	tracker/data/dbus/Makefile.am
	tracker/data/miners/Makefile.am
	tracker/src/libtracker-extract/Makefile.am
	tracker/src/tracker-extract/tracker-extract-gstreamer.c
	tracker/src/tracker-extract/tracker-extract.c
	tracker/src/tracker-extract/tracker-media-art-qt.cpp
	tracker/src/tracker-extract/tracker-media-art.c
	tracker/src/tracker-extract/tracker-media-art.h
	tracker/tests/libtracker-common/Makefile.am
Bring packaging to 0.17.6
Fix packaging and add systemd service for tracker-extract for 0.17.6
Fix nemo problems while moving towards 0.17.6
Fix rpm build
Merge pull request #24 from pvanhoof/upstreaming-0.17.6

Upstreaming 0.17.6
libtracker-miner: Make crawler take a maximum recursion depth

TrackerCrawler gets now the maximum depth to recurse into as a parameter
to tracker_crawler_start(), this can be used to divide crawling into
units bigger than individual folders. A value of -1 can be passed
to have it recurse with no restrictions as with the previous recurse=TRUE
argument.
libtracker-miner: Add tracker_file_system_get_file_type()

This function is useful to find out the GFileType as stored in the
TrackerFileSystem, as that's stored there from crawling time.
libtracker-miner: Store iri transiently as GFile qdata

For regular files, the data stored in TrackerFileNotifier (and
TrackerFileSystem below) will soon go away after the files are
notified through TrackerFileNotifier signals. In order to avoid
later synchronous queries to check for basic data, just preserve
it as GObject qdata.

This reduces the number of queries performed at the time of
processing those files. Especially noticeable on ::file-created
events, as these queries were done regardless of Tracker knowing
these files are brand new...
libtracker-miner: Perform leveled notification in TrackerFileNotifier

The current notification process involves crawling over index roots
without restrictions, and querying the state of every file in the
store. This is fastest, but can get memory hungry on huge directory
trees.

So split the process in 3 sequencial steps, that are repeated from
top to bottom over the directory hierarchy:

- A directory is crawled, contents that currently exist in the
  filesystem are extracted.
- Only if the directory is an index root, or was checked to exist
  in the store through previous iterations, the directory and all
  contents found are looked up on the store by their uri, new and
  updated contents are detected by comparing mtimes.
- Only if the directory passed #2, and its mtime changed (which
  usually implies something was added or removed, at this stage we
  only have to care of the latter), query all elements in the store
  that nfo:belongsToContainer to it, and check for those files that
  existed in the store but don't exist anymore. Deleted contents
  are detected in this stage.

The change has been done so there is certain compile-time granularity
on the directory processing, currently controlled through the MAX_DEPTH
define. This switch controls the maximum depth on crawled/queried chunks,
which establishes some indirect limit on the number of GFiles (and all
misc data around) that are in memory at the same time.

From testing, first-time crawling performance is completely unaffected,
and second-time crawling on an unchanged directory tree has negligible
decreases. The IN() match on an indexed property like nie:url looks
near constant, and the third more expensive step will only happen
when it is very likely that there are actual changes to process. So
the MAX_DEPTH value has been set to 1 to keep memory usage to a minimum
(tracker-miner-fs now peaks on massif at 24MB when it previously early
grew to ~180MB, indexing 11304 folders and 123428 files)
Merge pull request #25 from pvanhoof/subtree-crawling-tryout

Subtree crawling tryout