Avoid conflicts between libtracker-common and libtracker-miners-common
We have code duplicated between tracker core and tracker-miners, and if we're not careful this causes conflicts because they both try to register a GType with the same name (TrackerDomainOntology).
I recently tried to make libtracker-common into a static library (!101 (merged)), and was rewarded with this breakage:
(tracker-extract:30499): GLib-GObject-WARNING **: 17:02:03.353: cannot register existing type 'TrackerDomainOntology'
(tracker-extract:30499): GLib-GObject-WARNING **: 17:02:03.353: cannot add private field to invalid (non-instantiatable) type '<invalid>'
(tracker-extract:30499): GLib-GObject-CRITICAL **: 17:02:03.353: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
(tracker-extract:30499): GLib-CRITICAL **: 17:02:03.353: g_once_init_leave: assertion 'result != 0' failed
(tracker-extract:30499): GLib-GIO-CRITICAL **: 17:02:03.353: g_initable_new_valist: assertion 'G_TYPE_IS_INITABLE (object_type)' failed
This issue isn't simple to fix. It's not entirely clear what we should do with TrackerDomainOntology, as we don't want to make it public. We could rename it in tracker-miners, but that might be ugly.
Edited by Sam Thursfield