From 0ec9878654c9b233de2193043870dd9f2e1fab9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Billeter?= Date: Fri, 1 Apr 2011 15:35:10 +0200 Subject: libtracker-sparql: Use static linking instead of plugins Plugin loading in threads may be problematic in certain environments. As we do not currently support external plugins anyway, this changes libtracker-bus and libtracker-direct to be part of libtracker-sparql. This will also slightly improve initialization performance. Fixes NB#241659. --- configure.ac | 3 +- docs/reference/libtracker-miner/Makefile.am | 2 +- docs/reference/libtracker-sparql/Makefile.am | 2 +- docs/reference/libtracker-sparql/overview.sgml | 11 - docs/tools/Makefile.am | 1 + examples/libtracker-extract/Makefile.am | 2 +- examples/libtracker-miner/Makefile.am | 2 +- examples/libtracker-sparql/Makefile.am | 2 +- src/Makefile.am | 1 + src/libtracker-bus/Makefile.am | 8 +- src/libtracker-bus/tracker-bus.vala | 5 - src/libtracker-data/Makefile.am | 1 - src/libtracker-direct/Makefile.am | 7 +- src/libtracker-direct/tracker-direct.vala | 5 - src/libtracker-extract/Makefile.am | 2 +- src/libtracker-miner/Makefile.am | 2 +- src/libtracker-sparql-backend/.gitignore | 1 + src/libtracker-sparql-backend/Makefile.am | 31 ++ src/libtracker-sparql-backend/tracker-backend.vala | 356 +++++++++++++++++++++ src/libtracker-sparql/Makefile.am | 18 +- src/libtracker-sparql/config.vapi | 23 -- src/libtracker-sparql/tracker-backend.vala | 265 --------------- src/libtracker-sparql/tracker-connection.vala | 160 +-------- src/miners/flickr/Makefile.am | 2 +- src/miners/fs/Makefile.am | 2 +- src/miners/rss/Makefile.am | 2 +- src/plugins/evolution/Makefile.am | 2 +- src/plugins/nautilus/Makefile.am | 2 +- src/tracker-control/Makefile.am | 2 +- src/tracker-extract/Makefile.am | 2 +- src/tracker-needle/Makefile.am | 2 +- src/tracker-search-bar/Makefile.am | 2 +- src/tracker-store/Makefile.am | 2 +- src/tracker-utils/Makefile.am | 2 +- src/tracker-writeback/Makefile.am | 2 +- tests/functional-tests/ipc/Makefile.am | 2 +- .../ipc/test-update-array-performance.c | 3 - tests/libtracker-data/Makefile.am | 2 +- tests/libtracker-extract/Makefile.am | 2 +- tests/libtracker-fts/Makefile.am | 2 +- tests/libtracker-miner/Makefile.am | 2 +- tests/libtracker-sparql/Makefile.am | 2 +- tests/libtracker-sparql/tracker-test.c | 3 - tests/tracker-steroids/Makefile.am | 2 +- tests/tracker-steroids/tracker-test.c | 3 - utils/mtp/Makefile.am | 2 +- utils/services/Makefile.am | 2 +- utils/tracker-resdump/Makefile.am | 2 +- utils/tracker-sql/Makefile.am | 2 +- 49 files changed, 432 insertions(+), 533 deletions(-) create mode 100644 src/libtracker-sparql-backend/.gitignore create mode 100644 src/libtracker-sparql-backend/Makefile.am create mode 100644 src/libtracker-sparql-backend/tracker-backend.vala delete mode 100644 src/libtracker-sparql/config.vapi delete mode 100644 src/libtracker-sparql/tracker-backend.vala diff --git a/configure.ac b/configure.ac index c93a2aa18..2eff9b9f9 100644 --- a/configure.ac +++ b/configure.ac @@ -2012,8 +2012,9 @@ AC_CONFIG_FILES([ src/libtracker-common/Makefile src/libtracker-sparql/Makefile src/libtracker-bus/Makefile - src/libtracker-direct/Makefile src/libtracker-data/Makefile + src/libtracker-direct/Makefile + src/libtracker-sparql-backend/Makefile src/libtracker-fts/Makefile src/libtracker-extract/Makefile src/libtracker-miner/Makefile diff --git a/docs/reference/libtracker-miner/Makefile.am b/docs/reference/libtracker-miner/Makefile.am index b4174fd48..cf1744bcb 100644 --- a/docs/reference/libtracker-miner/Makefile.am +++ b/docs/reference/libtracker-miner/Makefile.am @@ -46,7 +46,7 @@ AM_CPPFLAGS = \ GTKDOC_LIBS = \ $(top_builddir)/src/libtracker-miner/libtracker-miner-@TRACKER_API_VERSION@.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(LIBTRACKER_MINER_LIBS) diff --git a/docs/reference/libtracker-sparql/Makefile.am b/docs/reference/libtracker-sparql/Makefile.am index 3649b66d0..308ac394e 100644 --- a/docs/reference/libtracker-sparql/Makefile.am +++ b/docs/reference/libtracker-sparql/Makefile.am @@ -32,7 +32,7 @@ AM_CPPFLAGS = \ $(LIBTRACKER_SPARQL_CFLAGS) GTKDOC_LIBS = \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(LIBTRACKER_SPARQL_LIBS) diff --git a/docs/reference/libtracker-sparql/overview.sgml b/docs/reference/libtracker-sparql/overview.sgml index 47707b936..0c6673f4e 100644 --- a/docs/reference/libtracker-sparql/overview.sgml +++ b/docs/reference/libtracker-sparql/overview.sgml @@ -115,17 +115,6 @@ $ pkg-config --libs tracker-sparql-0.10 "bus" value means a D-Bus / IPC approach will be forced. - - TRACKER_SPARQL_MODULE_PATH - - As explained in the last paragraph, the backends are - dynamically loaded at run time. The location for these - backends is usually in a set - place: $prefix/lib/tracker-$version/sparql-modules. - This environment variable is mostly useful for the unit - tests and general debugging to override this location. - - TRACKER_SPARQL_CACHE_SIZE diff --git a/docs/tools/Makefile.am b/docs/tools/Makefile.am index 18b7796a6..008b21b29 100644 --- a/docs/tools/Makefile.am +++ b/docs/tools/Makefile.am @@ -12,6 +12,7 @@ AM_CPPFLAGS = \ LDADD = \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(top_builddir)/src/libtracker-data/libtracker-data.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(LIBTRACKER_DATA_LIBS) ontology_graph_SOURCES = \ diff --git a/examples/libtracker-extract/Makefile.am b/examples/libtracker-extract/Makefile.am index 74cdc435f..bba35a11e 100644 --- a/examples/libtracker-extract/Makefile.am +++ b/examples/libtracker-extract/Makefile.am @@ -15,7 +15,7 @@ libextract_mockup_la_SOURCES = tracker-extract-mockup.c libextract_mockup_la_LDFLAGS = $(module_flags) libextract_mockup_la_LIBADD = \ $(top_builddir)/src/libtracker-extract/libtracker-extract-@TRACKER_API_VERSION@.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(BUILD_LIBS) \ $(LIBTRACKER_EXTRACT_LIBS) diff --git a/examples/libtracker-miner/Makefile.am b/examples/libtracker-miner/Makefile.am index 46ba1a268..0e241906b 100644 --- a/examples/libtracker-miner/Makefile.am +++ b/examples/libtracker-miner/Makefile.am @@ -11,7 +11,7 @@ AM_CPPFLAGS = \ LDADD = \ $(top_builddir)/src/libtracker-miner/libtracker-miner-@TRACKER_API_VERSION@.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS) \ $(LIBTRACKER_MINER_LIBS) diff --git a/examples/libtracker-sparql/Makefile.am b/examples/libtracker-sparql/Makefile.am index aaecc6afb..ef417f9fe 100644 --- a/examples/libtracker-sparql/Makefile.am +++ b/examples/libtracker-sparql/Makefile.am @@ -6,7 +6,7 @@ AM_CPPFLAGS = $(BUILD_CFLAGS) \ -I$(top_srcdir)/src \ $(LIBTRACKER_SPARQL_CFLAGS) -LDADD = $(top_builddir)/src/libtracker-sparql/libtracker-sparql-$(TRACKER_API_VERSION).la \ +LDADD = $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-$(TRACKER_API_VERSION).la \ $(BUILD_LIBS) \ $(LIBTRACKER_SPARQL_LIBS) diff --git a/src/Makefile.am b/src/Makefile.am index 3145d58e9..86a85a5ce 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -17,6 +17,7 @@ SUBDIRS = \ libtracker-bus \ libtracker-data \ libtracker-direct \ + libtracker-sparql-backend \ libtracker-extract \ libtracker-miner \ miners \ diff --git a/src/libtracker-bus/Makefile.am b/src/libtracker-bus/Makefile.am index 05af4f81b..704d95667 100644 --- a/src/libtracker-bus/Makefile.am +++ b/src/libtracker-bus/Makefile.am @@ -1,8 +1,6 @@ include $(top_srcdir)/Makefile.decl -modulesdir = $(libdir)/tracker-$(TRACKER_API_VERSION)/sparql-modules - -modules_LTLIBRARIES = libtracker-bus.la +noinst_LTLIBRARIES = libtracker-bus.la AM_VALAFLAGS = \ --includedir=libtracker-bus \ @@ -26,14 +24,10 @@ libtracker_bus_la_SOURCES = \ tracker-bus-fd-cursor.vala libtracker_bus_la_LIBADD = \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-$(TRACKER_API_VERSION).la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS) \ $(LIBTRACKER_BUS_LIBS) -libtracker_bus_la_LDFLAGS = \ - -module -avoid-version -no-undefined - noinst_HEADERS = \ tracker-bus.h diff --git a/src/libtracker-bus/tracker-bus.vala b/src/libtracker-bus/tracker-bus.vala index c46fe2d3c..03ae3f3ca 100644 --- a/src/libtracker-bus/tracker-bus.vala +++ b/src/libtracker-bus/tracker-bus.vala @@ -349,8 +349,3 @@ public class Tracker.Bus.Connection : Tracker.Sparql.Connection { types); } } - -public Tracker.Sparql.Connection? module_init () throws GLib.Error { - Tracker.Sparql.Connection plugin = new Tracker.Bus.Connection (); - return plugin; -} diff --git a/src/libtracker-data/Makefile.am b/src/libtracker-data/Makefile.am index 4434b1b51..cf7ba92be 100644 --- a/src/libtracker-data/Makefile.am +++ b/src/libtracker-data/Makefile.am @@ -47,7 +47,6 @@ libtracker_data_la_SOURCES = \ libtracker_data_la_LIBADD = \ $(top_builddir)/src/gvdb/libgvdb.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(BUILD_LIBS) \ $(LIBTRACKER_DATA_LIBS) diff --git a/src/libtracker-direct/Makefile.am b/src/libtracker-direct/Makefile.am index 64fe2b423..c315adcee 100644 --- a/src/libtracker-direct/Makefile.am +++ b/src/libtracker-direct/Makefile.am @@ -1,8 +1,6 @@ include $(top_srcdir)/Makefile.decl -modulesdir = $(libdir)/tracker-$(TRACKER_API_VERSION)/sparql-modules - -modules_LTLIBRARIES = libtracker-direct.la +noinst_LTLIBRARIES = libtracker-direct.la AM_VALAFLAGS = \ --includedir=libtracker-direct \ @@ -29,9 +27,6 @@ libtracker_direct_la_LIBADD = \ $(BUILD_LIBS) \ $(LIBTRACKER_DIRECT_LIBS) -libtracker_direct_la_LDFLAGS = \ - -module -avoid-version -no-undefined - noinst_HEADERS = \ tracker-direct.h diff --git a/src/libtracker-direct/tracker-direct.vala b/src/libtracker-direct/tracker-direct.vala index 9abf5b72e..87aa6ccd4 100644 --- a/src/libtracker-direct/tracker-direct.vala +++ b/src/libtracker-direct/tracker-direct.vala @@ -120,8 +120,3 @@ public class Tracker.Direct.Connection : Tracker.Sparql.Connection { } } } - -public Tracker.Sparql.Connection? module_init () throws GLib.Error { - Tracker.Sparql.Connection plugin = new Tracker.Direct.Connection (); - return plugin; -} diff --git a/src/libtracker-extract/Makefile.am b/src/libtracker-extract/Makefile.am index 8c722b233..b3af27c86 100644 --- a/src/libtracker-extract/Makefile.am +++ b/src/libtracker-extract/Makefile.am @@ -43,7 +43,7 @@ libtracker_extract_@TRACKER_API_VERSION@_la_LDFLAGS = \ -export-symbols-regex '^tracker_.*' libtracker_extract_@TRACKER_API_VERSION@_la_LIBADD = \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS) \ $(LIBTRACKER_EXTRACT_LIBS) diff --git a/src/libtracker-miner/Makefile.am b/src/libtracker-miner/Makefile.am index a9667bf7d..c41c176c7 100644 --- a/src/libtracker-miner/Makefile.am +++ b/src/libtracker-miner/Makefile.am @@ -66,7 +66,7 @@ libtracker_miner_@TRACKER_API_VERSION@_la_LDFLAGS = \ libtracker_miner_@TRACKER_API_VERSION@_la_LIBADD = \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ -lm \ $(BUILD_LIBS) \ $(LIBTRACKER_MINER_LIBS) diff --git a/src/libtracker-sparql-backend/.gitignore b/src/libtracker-sparql-backend/.gitignore new file mode 100644 index 000000000..f8e59d4d9 --- /dev/null +++ b/src/libtracker-sparql-backend/.gitignore @@ -0,0 +1 @@ +tracker-backend.c diff --git a/src/libtracker-sparql-backend/Makefile.am b/src/libtracker-sparql-backend/Makefile.am new file mode 100644 index 000000000..b7d16fbfa --- /dev/null +++ b/src/libtracker-sparql-backend/Makefile.am @@ -0,0 +1,31 @@ +include $(top_srcdir)/Makefile.decl + +lib_LTLIBRARIES = libtracker-sparql-@TRACKER_API_VERSION@.la + +AM_VALAFLAGS = \ + --pkg gio-2.0 \ + $(BUILD_VALAFLAGS) \ + $(top_srcdir)/src/libtracker-sparql/tracker-sparql-$(TRACKER_API_VERSION).vapi \ + $(top_srcdir)/src/libtracker-bus/tracker-bus.vapi \ + $(top_srcdir)/src/libtracker-direct/tracker-direct.vapi + +AM_CPPFLAGS = \ + $(BUILD_CFLAGS) \ + -I$(top_srcdir)/src \ + -I$(top_builddir)/src \ + $(LIBTRACKER_SPARQL_CFLAGS) + +libtracker_sparql_@TRACKER_API_VERSION@_la_SOURCES = \ + tracker-backend.vala + +libtracker_sparql_@TRACKER_API_VERSION@_la_LIBADD = \ + $(top_builddir)/src/libtracker-sparql/libtracker-sparql.la \ + $(top_builddir)/src/libtracker-bus/libtracker-bus.la \ + $(top_builddir)/src/libtracker-direct/libtracker-direct.la \ + $(BUILD_LIBS) \ + $(LIBTRACKER_SPARQL_LIBS) + +libtracker_sparql_@TRACKER_API_VERSION@_la_LDFLAGS = \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) + -export-symbols-regex '^tracker_sparql_(connection|cursor|builder|escape|error|value|get)_.*' + diff --git a/src/libtracker-sparql-backend/tracker-backend.vala b/src/libtracker-sparql-backend/tracker-backend.vala new file mode 100644 index 000000000..d68b2c6fe --- /dev/null +++ b/src/libtracker-sparql-backend/tracker-backend.vala @@ -0,0 +1,356 @@ +/* + * Copyright (C) 2010, Nokia + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +[DBus (name = "org.freedesktop.Tracker1.Status")] +interface Tracker.Backend.Status : DBusProxy { + public abstract void wait () throws DBusError; +} + +class Tracker.Sparql.Backend : Connection { + Tracker.Sparql.Connection direct = null; + Tracker.Sparql.Connection bus = null; + enum Backend { + AUTO, + DIRECT, + BUS + } + + public override void init () throws Sparql.Error, IOError, DBusError, SpawnError { + Tracker.Backend.Status status = GLib.Bus.get_proxy_sync (BusType.SESSION, + TRACKER_DBUS_SERVICE, + TRACKER_DBUS_OBJECT_STATUS, + DBusProxyFlags.DO_NOT_LOAD_PROPERTIES | DBusProxyFlags.DO_NOT_CONNECT_SIGNALS); + status.set_default_timeout (int.MAX); + + // Makes sure the sevice is available + debug ("Waiting for service to become available..."); + status.wait (); + debug ("Service is ready"); + + try { + debug ("Constructing connection, direct_only=%s", direct_only ? "true" : "false"); + if (load_plugins (direct_only)) { + debug ("Waiting for backend to become available..."); + if (direct != null) { + direct.init (); + } else { + bus.init (); + } + debug ("Backend is ready"); + } + } catch (GLib.Error e) { + throw new Sparql.Error.INTERNAL (e.message); + } + } + + public override Cursor query (string sparql, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError + requires (bus != null || direct != null) { + debug ("%s(): '%s'", Log.METHOD, sparql); + if (direct != null) { + return direct.query (sparql, cancellable); + } else { + return bus.query (sparql, cancellable); + } + } + + public async override Cursor query_async (string sparql, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError + requires (bus != null || direct != null) { + debug ("%s(): '%s'", Log.METHOD, sparql); + if (direct != null) { + return yield direct.query_async (sparql, cancellable); + } else { + return yield bus.query_async (sparql, cancellable); + } + } + + public override void update (string sparql, int priority = GLib.Priority.DEFAULT, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError + requires (bus != null) { + debug ("%s(priority:%d): '%s'", Log.METHOD, priority, sparql); + bus.update (sparql, priority, cancellable); + } + + public override GLib.Variant? update_blank (string sparql, int priority = GLib.Priority.DEFAULT, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError + requires (bus != null) { + debug ("%s(priority:%d): '%s'", Log.METHOD, priority, sparql); + return bus.update_blank (sparql, priority, cancellable); + } + + public async override void update_async (string sparql, int priority = GLib.Priority.DEFAULT, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError + requires (bus != null) { + debug ("%s(priority:%d): '%s'", Log.METHOD, priority, sparql); + yield bus.update_async (sparql, priority, cancellable); + } + + public async override GenericArray? update_array_async (string[] sparql, int priority = GLib.Priority.DEFAULT, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError + requires (bus != null) { + return yield bus.update_array_async (sparql, priority, cancellable); + } + + public async override GLib.Variant? update_blank_async (string sparql, int priority = GLib.Priority.DEFAULT, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError + requires (bus != null) { + debug ("%s(priority:%d): '%s'", Log.METHOD, priority, sparql); + return yield bus.update_blank_async (sparql, priority, cancellable); + } + + public override void load (File file, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError + requires (bus != null) { + var uri = file.get_uri (); + debug ("%s(): '%s'", Log.METHOD, uri); + bus.load (file, cancellable); + } + + public async override void load_async (File file, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError + requires (bus != null) { + var uri = file.get_uri (); + debug ("%s(): '%s'", Log.METHOD, uri); + yield bus.load_async (file, cancellable); + } + + public override Cursor? statistics (Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError + requires (bus != null) { + debug ("%s()", Log.METHOD); + return bus.statistics (cancellable); + } + + public async override Cursor? statistics_async (Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError + requires (bus != null) { + debug ("%s()", Log.METHOD); + return yield bus.statistics_async (cancellable); + } + + // Plugin loading functions + private bool load_plugins (bool direct_only) throws GLib.Error { + string env_backend = Environment.get_variable ("TRACKER_SPARQL_BACKEND"); + Backend backend = Backend.AUTO; + + if (env_backend != null) { + if (env_backend.ascii_casecmp ("direct") == 0) { + backend = Backend.DIRECT; + debug ("Using backend = 'DIRECT'"); + } else if (env_backend.ascii_casecmp ("bus") == 0) { + backend = Backend.BUS; + debug ("Using backend = 'BUS'"); + } else { + warning ("Environment variable TRACKER_SPARQL_BACKEND set to unknown value '%s'", env_backend); + } + } + + if (backend == Backend.AUTO) { + if (direct_only && backend == Backend.AUTO) { + backend = Backend.DIRECT; + debug ("Using backend = 'DIRECT'"); + } else { + debug ("Using backend = 'AUTO'"); + } + } + + if (direct_only && backend == Backend.BUS) { + debug ("Backend set in environment contradicts requested connection type, using environment to override"); + } + + Tracker.Sparql.Connection connection; + + switch (backend) { + case backend.AUTO: + try { + direct = new Tracker.Direct.Connection (); + } catch (Error e) { + debug ("Unable to initialize direct backend"); + } + + bus = new Tracker.Bus.Connection (); + + connection = bus; + break; + + case backend.DIRECT: + connection = direct = new Tracker.Direct.Connection (); + break; + + case backend.BUS: + connection = bus = new Tracker.Bus.Connection (); + break; + + default: + assert_not_reached (); + } + + return connection != null; + } + + static bool direct_only; + static weak Connection? singleton; + static bool log_initialized; + static StaticMutex door; + + public static new Connection get_internal (bool is_direct_only = false, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError, SpawnError { + door.lock (); + + // assign to owned variable to ensure it doesn't get freed between unlock and return + var result = singleton; + if (result != null) { + assert (direct_only == is_direct_only); + door.unlock (); + return result; + } + + log_init (); + + direct_only = is_direct_only; + + result = new Tracker.Sparql.Backend (); + result.init (); + + if (cancellable != null && cancellable.is_cancelled ()) { + door.unlock (); + throw new IOError.CANCELLED ("Operation was cancelled"); + } + + singleton = result; + result.add_weak_pointer ((void**) (&singleton)); + + door.unlock (); + + return singleton; + } + + public async static new Connection get_internal_async (bool is_direct_only = false, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError, SpawnError { + // fast path: avoid extra thread if connection is already available + if (door.trylock ()) { + // assign to owned variable to ensure it doesn't get freed between unlock and return + var result = singleton; + + door.unlock (); + + if (result != null) { + assert (direct_only == is_direct_only); + return result; + } + } + + // run in a separate thread + Sparql.Error sparql_error = null; + IOError io_error = null; + DBusError dbus_error = null; + SpawnError spawn_error = null; + Connection result = null; + var context = MainContext.get_thread_default (); + + g_io_scheduler_push_job (job => { + try { + result = get_internal (is_direct_only, cancellable); + } catch (IOError e_io) { + io_error = e_io; + } catch (Sparql.Error e_spql) { + sparql_error = e_spql; + } catch (DBusError e_dbus) { + dbus_error = e_dbus; + } catch (SpawnError e_spawn) { + spawn_error = e_spawn; + } + + var source = new IdleSource (); + source.set_callback (() => { + get_internal_async.callback (); + return false; + }); + source.attach (context); + + return false; + }); + yield; + + if (sparql_error != null) { + throw sparql_error; + } else if (io_error != null) { + throw io_error; + } else if (dbus_error != null) { + throw dbus_error; + } else if (spawn_error != null) { + throw spawn_error; + } else { + return result; + } + } + + private static void log_init () { + if (log_initialized) { + return; + } + + log_initialized = true; + + // Avoid debug messages + int verbosity = 0; + string env_verbosity = Environment.get_variable ("TRACKER_VERBOSITY"); + if (env_verbosity != null) + verbosity = env_verbosity.to_int (); + + LogLevelFlags remove_levels = 0; + + switch (verbosity) { + // Log level 3: EVERYTHING + case 3: + break; + + // Log level 2: CRITICAL/ERROR/WARNING/INFO/MESSAGE only + case 2: + remove_levels = LogLevelFlags.LEVEL_DEBUG; + break; + + // Log level 1: CRITICAL/ERROR/WARNING/INFO only + case 1: + remove_levels = LogLevelFlags.LEVEL_DEBUG | + LogLevelFlags.LEVEL_MESSAGE; + break; + + // Log level 0: CRITICAL/ERROR/WARNING only (default) + default: + case 0: + remove_levels = LogLevelFlags.LEVEL_DEBUG | + LogLevelFlags.LEVEL_MESSAGE | + LogLevelFlags.LEVEL_INFO; + break; + } + + if (remove_levels != 0) { + GLib.Log.set_handler ("Tracker", remove_levels, remove_log_handler); + } + } + + private static void remove_log_handler (string? log_domain, LogLevelFlags log_level, string message) { + /* do nothing */ + } +} + +public async static Tracker.Sparql.Connection tracker_sparql_connection_get_async (Cancellable? cancellable = null) throws Tracker.Sparql.Error, IOError, DBusError, SpawnError { + return yield Tracker.Sparql.Backend.get_internal_async (false, cancellable); +} + +public static Tracker.Sparql.Connection tracker_sparql_connection_get (Cancellable? cancellable = null) throws Tracker.Sparql.Error, IOError, DBusError, SpawnError { + return Tracker.Sparql.Backend.get_internal (false, cancellable); +} + +public async static Tracker.Sparql.Connection tracker_sparql_connection_get_direct_async (Cancellable? cancellable = null) throws Tracker.Sparql.Error, IOError, DBusError, SpawnError { + return yield Tracker.Sparql.Backend.get_internal_async (true, cancellable); +} + +public static Tracker.Sparql.Connection tracker_sparql_connection_get_direct (Cancellable? cancellable = null) throws Tracker.Sparql.Error, IOError, DBusError, SpawnError { + return Tracker.Sparql.Backend.get_internal (true, cancellable); +} diff --git a/src/libtracker-sparql/Makefile.am b/src/libtracker-sparql/Makefile.am index 38f951201..e863868b0 100644 --- a/src/libtracker-sparql/Makefile.am +++ b/src/libtracker-sparql/Makefile.am @@ -1,8 +1,6 @@ include $(top_srcdir)/Makefile.decl -modulesdir = $(libdir)/tracker-$(TRACKER_API_VERSION)/sparql-modules - -lib_LTLIBRARIES = libtracker-sparql-@TRACKER_API_VERSION@.la +noinst_LTLIBRARIES = libtracker-sparql.la AM_VALAFLAGS = \ --includedir=libtracker-sparql \ @@ -10,35 +8,28 @@ AM_VALAFLAGS = \ --vapi tracker-sparql-$(TRACKER_API_VERSION).vapi \ --pkg gio-2.0 --pkg gmodule-2.0 --pkg posix \ $(BUILD_VALAFLAGS) \ - config.vapi \ $(top_srcdir)/src/vapi/glib-2.0-fixes.vapi AM_CPPFLAGS = \ $(BUILD_CFLAGS) \ - -DSPARQL_MODULES_DIR=\""$(modulesdir)"\" \ -I$(top_srcdir)/src \ -I$(top_builddir)/src \ $(LIBTRACKER_SPARQL_CFLAGS) libtracker_sparqlincludedir = $(includedir)/tracker-$(TRACKER_API_VERSION)/libtracker-sparql -libtracker_sparql_@TRACKER_API_VERSION@_la_SOURCES = \ +libtracker_sparql_la_SOURCES = \ tracker-builder.vala \ tracker-connection.vala \ tracker-cursor.vala \ - tracker-backend.vala \ tracker-utils.vala \ tracker-uri.c \ tracker-init.c -libtracker_sparql_@TRACKER_API_VERSION@_la_LIBADD = \ +libtracker_sparql_la_LIBADD = \ $(BUILD_LIBS) \ $(LIBTRACKER_SPARQL_LIBS) -libtracker_sparql_@TRACKER_API_VERSION@_la_LDFLAGS = \ - -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) - -export-symbols-regex '^tracker_sparql_(connection|cursor|builder|escape|error|value|get)_.*' - libtracker_sparqlinclude_HEADERS = \ tracker-sparql.h @@ -52,7 +43,7 @@ vapi_DATA = \ tracker-sparql-$(TRACKER_API_VERSION).deps BUILT_SOURCES = \ - libtracker_sparql_$(TRACKER_API_VERSION)_la_vala.stamp + libtracker_sparql_la_vala.stamp MAINTAINERCLEANFILES = \ tracker-sparql-$(TRACKER_API_VERSION).vapi \ @@ -60,7 +51,6 @@ MAINTAINERCLEANFILES = \ tracker-sparql.h EXTRA_DIST = \ - config.vapi \ tracker-sparql-$(TRACKER_API_VERSION).vapi \ tracker-sparql-$(TRACKER_API_VERSION).deps \ tracker-sparql.deps diff --git a/src/libtracker-sparql/config.vapi b/src/libtracker-sparql/config.vapi deleted file mode 100644 index 2e593e713..000000000 --- a/src/libtracker-sparql/config.vapi +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (C) 2010, Nokia - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -[CCode (cprefix = "", lower_case_cprefix = "")] -namespace Config { - public const string SPARQL_MODULES_DIR; -} diff --git a/src/libtracker-sparql/tracker-backend.vala b/src/libtracker-sparql/tracker-backend.vala deleted file mode 100644 index b8b120fcd..000000000 --- a/src/libtracker-sparql/tracker-backend.vala +++ /dev/null @@ -1,265 +0,0 @@ -/* - * Copyright (C) 2010, Nokia - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -[DBus (name = "org.freedesktop.Tracker1.Status")] -interface Tracker.Backend.Status : DBusProxy { - public abstract void wait () throws DBusError; -} - -class Tracker.Sparql.Backend : Connection { - bool direct_only; - - Tracker.Sparql.Connection direct = null; - Tracker.Sparql.Connection bus = null; - enum Backend { - AUTO, - DIRECT, - BUS - } - - [CCode (has_target = false)] - private delegate Tracker.Sparql.Connection? ModuleInitFunc () throws GLib.Error; - - public Backend (bool direct_only = false) throws Sparql.Error - requires (Module.supported ()) { - this.direct_only = direct_only; - } - - public override void init () throws Sparql.Error, IOError, DBusError, SpawnError { - Tracker.Backend.Status status = Bus.get_proxy_sync (BusType.SESSION, - TRACKER_DBUS_SERVICE, - TRACKER_DBUS_OBJECT_STATUS, - DBusProxyFlags.DO_NOT_LOAD_PROPERTIES | DBusProxyFlags.DO_NOT_CONNECT_SIGNALS); - status.set_default_timeout (int.MAX); - - // Makes sure the sevice is available - debug ("Waiting for service to become available..."); - status.wait (); - debug ("Service is ready"); - - try { - debug ("Constructing connection, direct_only=%s", direct_only ? "true" : "false"); - if (load_plugins (direct_only)) { - debug ("Waiting for backend to become available..."); - if (direct != null) { - direct.init (); - } else { - bus.init (); - } - debug ("Backend is ready"); - } - } catch (GLib.Error e) { - throw new Sparql.Error.INTERNAL (e.message); - } - } - - public override Cursor query (string sparql, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError - requires (bus != null || direct != null) { - debug ("%s(): '%s'", Log.METHOD, sparql); - if (direct != null) { - return direct.query (sparql, cancellable); - } else { - return bus.query (sparql, cancellable); - } - } - - public async override Cursor query_async (string sparql, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError - requires (bus != null || direct != null) { - debug ("%s(): '%s'", Log.METHOD, sparql); - if (direct != null) { - return yield direct.query_async (sparql, cancellable); - } else { - return yield bus.query_async (sparql, cancellable); - } - } - - public override void update (string sparql, int priority = GLib.Priority.DEFAULT, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError - requires (bus != null) { - debug ("%s(priority:%d): '%s'", Log.METHOD, priority, sparql); - bus.update (sparql, priority, cancellable); - } - - public override GLib.Variant? update_blank (string sparql, int priority = GLib.Priority.DEFAULT, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError - requires (bus != null) { - debug ("%s(priority:%d): '%s'", Log.METHOD, priority, sparql); - return bus.update_blank (sparql, priority, cancellable); - } - - public async override void update_async (string sparql, int priority = GLib.Priority.DEFAULT, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError - requires (bus != null) { - debug ("%s(priority:%d): '%s'", Log.METHOD, priority, sparql); - yield bus.update_async (sparql, priority, cancellable); - } - - public async override GenericArray? update_array_async (string[] sparql, int priority = GLib.Priority.DEFAULT, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError - requires (bus != null) { - return yield bus.update_array_async (sparql, priority, cancellable); - } - - public async override GLib.Variant? update_blank_async (string sparql, int priority = GLib.Priority.DEFAULT, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError - requires (bus != null) { - debug ("%s(priority:%d): '%s'", Log.METHOD, priority, sparql); - return yield bus.update_blank_async (sparql, priority, cancellable); - } - - public override void load (File file, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError - requires (bus != null) { - var uri = file.get_uri (); - debug ("%s(): '%s'", Log.METHOD, uri); - bus.load (file, cancellable); - } - - public async override void load_async (File file, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError - requires (bus != null) { - var uri = file.get_uri (); - debug ("%s(): '%s'", Log.METHOD, uri); - yield bus.load_async (file, cancellable); - } - - public override Cursor? statistics (Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError - requires (bus != null) { - debug ("%s()", Log.METHOD); - return bus.statistics (cancellable); - } - - public async override Cursor? statistics_async (Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError - requires (bus != null) { - debug ("%s()", Log.METHOD); - return yield bus.statistics_async (cancellable); - } - - // Plugin loading functions - private bool load_plugins (bool direct_only) throws GLib.Error { - string env_path = Environment.get_variable ("TRACKER_SPARQL_MODULE_PATH"); - string path; - - if (env_path != null && env_path.length > 0) { - path = env_path; - } else { - path = Config.SPARQL_MODULES_DIR; - } - - File dir = File.new_for_path (path); - string dir_path = dir.get_path (); - - string env_backend = Environment.get_variable ("TRACKER_SPARQL_BACKEND"); - Backend backend = Backend.AUTO; - - if (env_backend != null) { - if (env_backend.ascii_casecmp ("direct") == 0) { - backend = Backend.DIRECT; - debug ("Using backend = 'DIRECT'"); - } else if (env_backend.ascii_casecmp ("bus") == 0) { - backend = Backend.BUS; - debug ("Using backend = 'BUS'"); - } else { - warning ("Environment variable TRACKER_SPARQL_BACKEND set to unknown value '%s'", env_backend); - } - } - - if (backend == Backend.AUTO) { - if (direct_only && backend == Backend.AUTO) { - backend = Backend.DIRECT; - debug ("Using backend = 'DIRECT'"); - } else { - debug ("Using backend = 'AUTO'"); - } - } - - if (direct_only && backend == Backend.BUS) { - debug ("Backend set in environment contradicts requested connection type, using environment to override"); - } - - debug ("Searching for modules in folder '%s' ..", dir_path); - - Tracker.Sparql.Connection connection; - - switch (backend) { - case backend.AUTO: - string direct_path = Module.build_path (dir_path, "tracker-direct"); - direct = load_plugins_from_path (direct_path, false /* required */); - - string bus_path = Module.build_path (dir_path, "tracker-bus"); - bus = load_plugins_from_path (bus_path, true /* required */); - - connection = bus; - break; - - case backend.DIRECT: - string direct_path = Module.build_path (dir_path, "tracker-direct"); - connection = direct = load_plugins_from_path (direct_path, true /* required */); - break; - - case backend.BUS: - string bus_path = Module.build_path (dir_path, "tracker-bus"); - connection = bus = load_plugins_from_path (bus_path, true /* required */); - break; - - default: - assert_not_reached (); - } - - debug ("Finished searching for modules"); - - return connection != null; - } - - private Tracker.Sparql.Connection? load_plugins_from_path (string path, bool required) throws GLib.Error { - try { - // lazy resolving reduces initialization time - Module module = Module.open (path, ModuleFlags.BIND_LOCAL | ModuleFlags.BIND_LAZY); - if (module == null) { - throw new IOError.FAILED ("Failed to load module from path '%s': %s", - path, - Module.error ()); - } - - void *function; - - if (!module.symbol ("module_init", out function)) { - throw new IOError.FAILED ("Failed to find entry point function '%s' in '%s': %s", - "module_init", - path, - Module.error ()); - } - - ModuleInitFunc module_init = (ModuleInitFunc) function; - - assert (module_init != null); - - // We don't want our modules to ever unload - module.make_resident (); - - // Call module init function - Tracker.Sparql.Connection c = module_init (); - - debug ("Loaded module source: '%s'", module.name ()); - - return c; - } catch (GLib.Error e) { - if (required) { - // plugin required => error is fatal - throw e; - } else { - return null; - } - } - } -} - diff --git a/src/libtracker-sparql/tracker-connection.vala b/src/libtracker-sparql/tracker-connection.vala index 8cd708681..030836b1d 100644 --- a/src/libtracker-sparql/tracker-connection.vala +++ b/src/libtracker-sparql/tracker-connection.vala @@ -80,101 +80,6 @@ public errordomain Tracker.Sparql.Error { * non-direct requests. */ public abstract class Tracker.Sparql.Connection : Object { - static bool direct_only; - static weak Connection? singleton; - static bool log_initialized; - static StaticMutex door; - - private static new Connection get_internal (bool is_direct_only = false, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError, SpawnError { - door.lock (); - - // assign to owned variable to ensure it doesn't get freed between unlock and return - var result = singleton; - if (result != null) { - assert (direct_only == is_direct_only); - door.unlock (); - return result; - } - - log_init (); - - /* the True is to assert that direct only is required */ - result = new Backend (is_direct_only); - result.init (); - - if (cancellable != null && cancellable.is_cancelled ()) { - door.unlock (); - throw new IOError.CANCELLED ("Operation was cancelled"); - } - - direct_only = is_direct_only; - singleton = result; - result.add_weak_pointer ((void**) (&singleton)); - - door.unlock (); - - return singleton; - } - - private async static new Connection get_internal_async (bool is_direct_only = false, Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError, SpawnError { - // fast path: avoid extra thread if connection is already available - if (door.trylock ()) { - // assign to owned variable to ensure it doesn't get freed between unlock and return - var result = singleton; - - door.unlock (); - - if (result != null) { - assert (direct_only == is_direct_only); - return result; - } - } - - // run in a separate thread - Sparql.Error sparql_error = null; - IOError io_error = null; - DBusError dbus_error = null; - SpawnError spawn_error = null; - Connection result = null; - var context = MainContext.get_thread_default (); - - g_io_scheduler_push_job (job => { - try { - result = get_internal (is_direct_only, cancellable); - } catch (IOError e_io) { - io_error = e_io; - } catch (Sparql.Error e_spql) { - sparql_error = e_spql; - } catch (DBusError e_dbus) { - dbus_error = e_dbus; - } catch (SpawnError e_spawn) { - spawn_error = e_spawn; - } - - var source = new IdleSource (); - source.set_callback (() => { - get_internal_async.callback (); - return false; - }); - source.attach (context); - - return false; - }); - yield; - - if (sparql_error != null) { - throw sparql_error; - } else if (io_error != null) { - throw io_error; - } else if (dbus_error != null) { - throw dbus_error; - } else if (spawn_error != null) { - throw spawn_error; - } else { - return result; - } - } - /** * tracker_sparql_connection_get_finish: * @_res_: The #GAsyncResult from the callback used to return the #TrackerSparqlConnection @@ -205,9 +110,7 @@ public abstract class Tracker.Sparql.Connection : Object { * * Since: 0.10 */ - public async static new Connection get_async (Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError, SpawnError { - return yield get_internal_async (false, cancellable); - } + public extern async static new Connection get_async (Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError, SpawnError; /** * tracker_sparql_connection_get: @@ -244,9 +147,7 @@ public abstract class Tracker.Sparql.Connection : Object { * * Since: 0.10 */ - public static new Connection get (Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError, SpawnError { - return get_internal (false, cancellable); - } + public extern static new Connection get (Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError, SpawnError; /** * tracker_sparql_connection_get_direct_finish: @@ -279,9 +180,7 @@ public abstract class Tracker.Sparql.Connection : Object { * * Since: 0.10 */ - public async static Connection get_direct_async (Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError, SpawnError { - return yield get_internal_async (true, cancellable); - } + public extern async static Connection get_direct_async (Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError, SpawnError; /** * tracker_sparql_connection_get_direct: @@ -299,58 +198,7 @@ public abstract class Tracker.Sparql.Connection : Object { * * Since: 0.10 */ - public static new Connection get_direct (Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError, SpawnError { - return get_internal (true, cancellable); - } - - private static void log_init () { - if (log_initialized) { - return; - } - - log_initialized = true; - - // Avoid debug messages - int verbosity = 0; - string env_verbosity = Environment.get_variable ("TRACKER_VERBOSITY"); - if (env_verbosity != null) - verbosity = env_verbosity.to_int (); - - LogLevelFlags remove_levels = 0; - - switch (verbosity) { - // Log level 3: EVERYTHING - case 3: - break; - - // Log level 2: CRITICAL/ERROR/WARNING/INFO/MESSAGE only - case 2: - remove_levels = LogLevelFlags.LEVEL_DEBUG; - break; - - // Log level 1: CRITICAL/ERROR/WARNING/INFO only - case 1: - remove_levels = LogLevelFlags.LEVEL_DEBUG | - LogLevelFlags.LEVEL_MESSAGE; - break; - - // Log level 0: CRITICAL/ERROR/WARNING only (default) - default: - case 0: - remove_levels = LogLevelFlags.LEVEL_DEBUG | - LogLevelFlags.LEVEL_MESSAGE | - LogLevelFlags.LEVEL_INFO; - break; - } - - if (remove_levels != 0) { - GLib.Log.set_handler ("Tracker", remove_levels, remove_log_handler); - } - } - - private static void remove_log_handler (string? log_domain, LogLevelFlags log_level, string message) { - /* do nothing */ - } + public extern static new Connection get_direct (Cancellable? cancellable = null) throws Sparql.Error, IOError, DBusError, SpawnError; public virtual void init () throws Sparql.Error, IOError, DBusError, SpawnError { warning ("Interface 'init' not implemented"); diff --git a/src/miners/flickr/Makefile.am b/src/miners/flickr/Makefile.am index c053eca33..6c26c321d 100644 --- a/src/miners/flickr/Makefile.am +++ b/src/miners/flickr/Makefile.am @@ -21,7 +21,7 @@ AM_CPPFLAGS = \ LDADD = \ $(top_builddir)/src/libtracker-miner/libtracker-miner-@TRACKER_API_VERSION@.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(BUILD_LIBS) \ $(TRACKER_MINER_FLICKR_LIBS) diff --git a/src/miners/fs/Makefile.am b/src/miners/fs/Makefile.am index e7667eac2..4c6c9f292 100644 --- a/src/miners/fs/Makefile.am +++ b/src/miners/fs/Makefile.am @@ -43,7 +43,7 @@ tracker_miner_fs_SOURCES = \ tracker_miner_fs_LDADD = \ $(top_builddir)/src/libtracker-miner/libtracker-miner-@TRACKER_API_VERSION@.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-extract/libtracker-extract-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-data/libtracker-data.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ diff --git a/src/miners/rss/Makefile.am b/src/miners/rss/Makefile.am index c752cec53..d38566bb5 100644 --- a/src/miners/rss/Makefile.am +++ b/src/miners/rss/Makefile.am @@ -17,7 +17,7 @@ tracker_miner_rss_SOURCES = \ tracker-miner-rss.c tracker_miner_rss_LDADD = \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-miner/libtracker-miner-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS) \ diff --git a/src/plugins/evolution/Makefile.am b/src/plugins/evolution/Makefile.am index 2c5d7bb90..9717511c6 100644 --- a/src/plugins/evolution/Makefile.am +++ b/src/plugins/evolution/Makefile.am @@ -31,7 +31,7 @@ liborg_freedesktop_Tracker_evolution_plugin_la_SOURCES = \ liborg_freedesktop_Tracker_evolution_plugin_la_LDFLAGS = -module -avoid-version liborg_freedesktop_Tracker_evolution_plugin_la_LIBADD = \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-miner/libtracker-miner-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS) \ diff --git a/src/plugins/nautilus/Makefile.am b/src/plugins/nautilus/Makefile.am index 9581fd81d..cfe229c9d 100644 --- a/src/plugins/nautilus/Makefile.am +++ b/src/plugins/nautilus/Makefile.am @@ -19,6 +19,6 @@ libnautilus_tracker_tags_la_SOURCES = \ libnautilus_tracker_tags_la_LDFLAGS = -module -avoid-version libnautilus_tracker_tags_la_LIBADD = \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(BUILD_LIBS) \ $(TRACKER_NAUTILUS_EXTENSION_LIBS) diff --git a/src/tracker-control/Makefile.am b/src/tracker-control/Makefile.am index 69f6bf9a7..6bcb0f2e1 100644 --- a/src/tracker-control/Makefile.am +++ b/src/tracker-control/Makefile.am @@ -18,7 +18,7 @@ tracker_control_SOURCES = \ tracker_control_LDADD = \ $(top_builddir)/src/libtracker-miner/libtracker-miner-@TRACKER_API_VERSION@.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-data/libtracker-data.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS) \ diff --git a/src/tracker-extract/Makefile.am b/src/tracker-extract/Makefile.am index ade617111..12bebd370 100644 --- a/src/tracker-extract/Makefile.am +++ b/src/tracker-extract/Makefile.am @@ -443,7 +443,7 @@ tracker_extract_SOURCES = \ tracker_extract_LDADD = \ $(top_builddir)/src/libtracker-extract/libtracker-extract-@TRACKER_API_VERSION@.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-miner/libtracker-miner-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS) \ diff --git a/src/tracker-needle/Makefile.am b/src/tracker-needle/Makefile.am index b8e5aedeb..cdbf4c147 100644 --- a/src/tracker-needle/Makefile.am +++ b/src/tracker-needle/Makefile.am @@ -20,7 +20,7 @@ AM_CPPFLAGS = \ -include config.h LDADD = \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-$(TRACKER_API_VERSION).la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-$(TRACKER_API_VERSION).la \ $(BUILD_LIBS) \ $(TRACKER_NEEDLE_LIBS) diff --git a/src/tracker-search-bar/Makefile.am b/src/tracker-search-bar/Makefile.am index b5772dc26..8ba006f92 100644 --- a/src/tracker-search-bar/Makefile.am +++ b/src/tracker-search-bar/Makefile.am @@ -23,7 +23,7 @@ tracker_search_bar_CFLAGS = \ $(TRACKER_SEARCH_BAR_CFLAGS) tracker_search_bar_LDADD = \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS) \ $(TRACKER_SEARCH_BAR_LIBS) diff --git a/src/tracker-store/Makefile.am b/src/tracker-store/Makefile.am index 77c060b36..6ef35326e 100644 --- a/src/tracker-store/Makefile.am +++ b/src/tracker-store/Makefile.am @@ -58,7 +58,7 @@ tracker_store_VALAFLAGS = \ tracker_store_LDADD = \ $(top_builddir)/src/libtracker-data/libtracker-data.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(BUILD_LIBS) \ $(TRACKER_STORE_LIBS) diff --git a/src/tracker-utils/Makefile.am b/src/tracker-utils/Makefile.am index ef7ad973b..7795fb8fd 100644 --- a/src/tracker-utils/Makefile.am +++ b/src/tracker-utils/Makefile.am @@ -8,7 +8,7 @@ AM_CPPFLAGS = \ $(TRACKER_UTILS_CFLAGS) libs = \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-miner/libtracker-miner-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS) \ diff --git a/src/tracker-writeback/Makefile.am b/src/tracker-writeback/Makefile.am index 7afd682c3..f0d0f7c53 100644 --- a/src/tracker-writeback/Makefile.am +++ b/src/tracker-writeback/Makefile.am @@ -63,7 +63,7 @@ tracker_writeback_SOURCES = \ tracker-main.c tracker_writeback_LDADD = \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-miner/libtracker-miner-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS) \ diff --git a/tests/functional-tests/ipc/Makefile.am b/tests/functional-tests/ipc/Makefile.am index 4b5335be3..3ca28a27a 100644 --- a/tests/functional-tests/ipc/Makefile.am +++ b/tests/functional-tests/ipc/Makefile.am @@ -28,7 +28,7 @@ LDADD =\ $(top_builddir)/src/libtracker-data/libtracker-data.la \ $(top_builddir)/src/libtracker-direct/libtracker-direct.la \ $(top_builddir)/src/libtracker-bus/libtracker-bus.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-$(TRACKER_API_VERSION).la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-$(TRACKER_API_VERSION).la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS)\ $(LIBTRACKER_SPARQL_LIBS) diff --git a/tests/functional-tests/ipc/test-update-array-performance.c b/tests/functional-tests/ipc/test-update-array-performance.c index 3f0d7262c..9d3c60f90 100644 --- a/tests/functional-tests/ipc/test-update-array-performance.c +++ b/tests/functional-tests/ipc/test-update-array-performance.c @@ -222,9 +222,6 @@ main (gint argc, gchar **argv) g_type_init (); - /* do not require prior installation */ - g_setenv ("TRACKER_SPARQL_MODULE_PATH", "../../src/libtracker-bus/.libs", TRUE); - connection = tracker_sparql_connection_get (NULL, NULL); g_print ("First run (first update then array)\n"); diff --git a/tests/libtracker-data/Makefile.am b/tests/libtracker-data/Makefile.am index 0ec6d4bbc..916578d6a 100644 --- a/tests/libtracker-data/Makefile.am +++ b/tests/libtracker-data/Makefile.am @@ -44,7 +44,7 @@ AM_CPPFLAGS = \ LDADD = \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(top_builddir)/src/libtracker-data/libtracker-data.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/tests/common/libtracker-testcommon.la \ $(BUILD_LIBS) \ $(LIBTRACKER_DATA_LIBS) diff --git a/tests/libtracker-extract/Makefile.am b/tests/libtracker-extract/Makefile.am index 25b81c40c..d9146d3e6 100644 --- a/tests/libtracker-extract/Makefile.am +++ b/tests/libtracker-extract/Makefile.am @@ -17,7 +17,7 @@ LDADD = \ $(top_builddir)/tests/common/libtracker-testcommon.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(top_builddir)/src/libtracker-extract/libtracker-extract-@TRACKER_API_VERSION@.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(BUILD_LIBS) \ $(LIBTRACKER_EXTRACT_LIBS) diff --git a/tests/libtracker-fts/Makefile.am b/tests/libtracker-fts/Makefile.am index 3535ceccb..d27b15a20 100644 --- a/tests/libtracker-fts/Makefile.am +++ b/tests/libtracker-fts/Makefile.am @@ -24,7 +24,7 @@ AM_CPPFLAGS = \ LDADD = \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(top_builddir)/src/libtracker-data/libtracker-data.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/tests/common/libtracker-testcommon.la \ $(BUILD_LIBS) \ $(LIBTRACKER_FTS_LIBS) diff --git a/tests/libtracker-miner/Makefile.am b/tests/libtracker-miner/Makefile.am index fee07878b..13b5f082f 100644 --- a/tests/libtracker-miner/Makefile.am +++ b/tests/libtracker-miner/Makefile.am @@ -36,7 +36,7 @@ AM_CPPFLAGS = \ LDADD = \ $(top_builddir)/src/libtracker-miner/libtracker-miner-@TRACKER_API_VERSION@.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS) \ $(LIBTRACKER_MINER_LIBS) diff --git a/tests/libtracker-sparql/Makefile.am b/tests/libtracker-sparql/Makefile.am index def341f98..84c0d6ddd 100644 --- a/tests/libtracker-sparql/Makefile.am +++ b/tests/libtracker-sparql/Makefile.am @@ -13,7 +13,7 @@ AM_CPPFLAGS = \ $(LIBTRACKER_SPARQL_CFLAGS) LDADD = \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(BUILD_LIBS) \ $(LIBTRACKER_SPARQL_LIBS) diff --git a/tests/libtracker-sparql/tracker-test.c b/tests/libtracker-sparql/tracker-test.c index 0d0f1d8b7..73f381a82 100644 --- a/tests/libtracker-sparql/tracker-test.c +++ b/tests/libtracker-sparql/tracker-test.c @@ -329,9 +329,6 @@ main (gint argc, gchar **argv) g_type_init (); g_test_init (&argc, &argv, NULL); - /* do not require prior installation */ - g_setenv ("TRACKER_SPARQL_MODULE_PATH", "../../src/libtracker-bus/.libs", TRUE); - #if HAVE_TRACKER_FTS main_loop = g_main_loop_new (NULL, FALSE); g_assert (main_loop != NULL); diff --git a/tests/tracker-steroids/Makefile.am b/tests/tracker-steroids/Makefile.am index 2311d1e56..f17383373 100644 --- a/tests/tracker-steroids/Makefile.am +++ b/tests/tracker-steroids/Makefile.am @@ -13,7 +13,7 @@ AM_CPPFLAGS = \ $(LIBTRACKER_SPARQL_CFLAGS) LDADD = \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS) \ $(LIBTRACKER_SPARQL_LIBS) diff --git a/tests/tracker-steroids/tracker-test.c b/tests/tracker-steroids/tracker-test.c index 2870cc25c..7ce2f55d5 100644 --- a/tests/tracker-steroids/tracker-test.c +++ b/tests/tracker-steroids/tracker-test.c @@ -679,9 +679,6 @@ main (gint argc, gchar **argv) g_type_init (); g_test_init (&argc, &argv, NULL); - /* do not require prior installation */ - g_setenv ("TRACKER_SPARQL_MODULE_PATH", "../../src/libtracker-bus/.libs", TRUE); - connection = tracker_sparql_connection_get (NULL, NULL); insert_test_data (); diff --git a/utils/mtp/Makefile.am b/utils/mtp/Makefile.am index 8f2ab95eb..1b98cada0 100644 --- a/utils/mtp/Makefile.am +++ b/utils/mtp/Makefile.am @@ -11,7 +11,7 @@ noinst_PROGRAMS = mtp-dummy mtp_dummy_SOURCES = mtp-dummy.c mtp_dummy_LDADD = \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS) \ $(LIBTRACKER_SPARQL_LIBS) diff --git a/utils/services/Makefile.am b/utils/services/Makefile.am index 9460f78b2..78dd9bec2 100644 --- a/utils/services/Makefile.am +++ b/utils/services/Makefile.am @@ -12,7 +12,7 @@ AM_CPPFLAGS = \ LDADD = \ $(top_builddir)/src/libtracker-data/libtracker-data.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(BUILD_LIBS) \ $(LIBTRACKER_DATA_LIBS) diff --git a/utils/tracker-resdump/Makefile.am b/utils/tracker-resdump/Makefile.am index d2c63efe1..b26b59ef5 100644 --- a/utils/tracker-resdump/Makefile.am +++ b/utils/tracker-resdump/Makefile.am @@ -20,7 +20,7 @@ LDADD =\ $(top_builddir)/src/libtracker-data/libtracker-data.la \ $(top_builddir)/src/libtracker-direct/libtracker-direct.la \ $(top_builddir)/src/libtracker-bus/libtracker-bus.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-$(TRACKER_API_VERSION).la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-$(TRACKER_API_VERSION).la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ $(BUILD_LIBS)\ $(LIBTRACKER_SPARQL_LIBS) \ diff --git a/utils/tracker-sql/Makefile.am b/utils/tracker-sql/Makefile.am index ceb6a0d48..b86feca2c 100644 --- a/utils/tracker-sql/Makefile.am +++ b/utils/tracker-sql/Makefile.am @@ -11,7 +11,7 @@ INCLUDES = \ LDADD = \ $(top_builddir)/src/libtracker-data/libtracker-data.la \ $(top_builddir)/src/libtracker-common/libtracker-common.la \ - $(top_builddir)/src/libtracker-sparql/libtracker-sparql-@TRACKER_API_VERSION@.la \ + $(top_builddir)/src/libtracker-sparql-backend/libtracker-sparql-@TRACKER_API_VERSION@.la \ $(TRACKER_UTILS_LIBS) tracker_sql_SOURCES = tracker-sql.c -- cgit v1.2.1