From ac7095fad50859216bfa6aeae59b4569023612ec Mon Sep 17 00:00:00 2001 From: Mart Raudsepp Date: Tue, 26 Feb 2019 03:23:51 +0200 Subject: app-misc/tracker: bump to 2.1.8 Merely includes 2 of the patches we had in 2.1.7-r1, and the pregenerated C for vala code is generated with a different valac version. Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Mart Raudsepp --- app-misc/tracker/files/2.1.7-doc-options.patch | 66 -------- .../tracker/files/2.1.7-fix-library-symlinks.patch | 71 --------- .../tracker/files/2.1.7-glib-2.60-compat.patch | 169 --------------------- .../files/2.1.7-prevent-stack-smashing.patch | 39 ----- app-misc/tracker/files/2.1.7-test-fix.patch | 49 ------ .../tracker/files/2.1.7-upgrade-path-fix.patch | 33 ---- app-misc/tracker/files/2.1.8-doc-options.patch | 66 ++++++++ .../tracker/files/2.1.8-fix-library-symlinks.patch | 71 +++++++++ .../files/2.1.8-prevent-stack-smashing.patch | 39 +++++ app-misc/tracker/files/2.1.8-test-fix.patch | 49 ++++++ 10 files changed, 225 insertions(+), 427 deletions(-) delete mode 100644 app-misc/tracker/files/2.1.7-doc-options.patch delete mode 100644 app-misc/tracker/files/2.1.7-fix-library-symlinks.patch delete mode 100644 app-misc/tracker/files/2.1.7-glib-2.60-compat.patch delete mode 100644 app-misc/tracker/files/2.1.7-prevent-stack-smashing.patch delete mode 100644 app-misc/tracker/files/2.1.7-test-fix.patch delete mode 100644 app-misc/tracker/files/2.1.7-upgrade-path-fix.patch create mode 100644 app-misc/tracker/files/2.1.8-doc-options.patch create mode 100644 app-misc/tracker/files/2.1.8-fix-library-symlinks.patch create mode 100644 app-misc/tracker/files/2.1.8-prevent-stack-smashing.patch create mode 100644 app-misc/tracker/files/2.1.8-test-fix.patch (limited to 'app-misc/tracker/files') diff --git a/app-misc/tracker/files/2.1.7-doc-options.patch b/app-misc/tracker/files/2.1.7-doc-options.patch deleted file mode 100644 index 9b25349f659f..000000000000 --- a/app-misc/tracker/files/2.1.7-doc-options.patch +++ /dev/null @@ -1,66 +0,0 @@ -From cff7f988fd2ed7894c3d16144e799d994637d3cf Mon Sep 17 00:00:00 2001 -From: Mart Raudsepp -Date: Wed, 13 Feb 2019 12:28:53 +0200 -Subject: [PATCH 1/5] build: Separate options for manpages install and gtk-doc - generation ---- - docs/meson.build | 10 +++++++--- - meson.build | 6 +----- - meson_options.txt | 6 ++++-- - 3 files changed, 12 insertions(+), 10 deletions(-) - -diff --git a/docs/meson.build b/docs/meson.build -index 76e59797e..5e1d541bd 100644 ---- a/docs/meson.build -+++ b/docs/meson.build -@@ -1,3 +1,7 @@ --subdir('tools') --subdir('manpages') --subdir('reference') -+if get_option('man') -+ subdir('manpages') -+endif -+if get_option('gtk-doc') -+ subdir('tools') -+ subdir('reference') -+endif -diff --git a/meson.build b/meson.build -index 7d61fe1a7..0fda24151 100644 ---- a/meson.build -+++ b/meson.build -@@ -320,11 +320,7 @@ typelib_dir = gobject_introspection.get_pkgconfig_variable('typelibdir', - define_variable: [ 'libdir', libdir ]) - - subdir('src') -- --if get_option('docs') -- subdir('docs') --endif -- -+subdir('docs') - subdir('examples') - subdir('utils') - -diff --git a/meson_options.txt b/meson_options.txt -index b36ba1d1e..0eb48aac4 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -1,11 +1,13 @@ --option('docs', type: 'boolean', value: true, -- description: 'Enable the documentation') - option('fts', type: 'boolean', value: true, - description: 'Enable the Tracker full-text search feature') - option('functional_tests', type: 'boolean', value: true, - description: 'Enable the Tracker functional test suite') -+option('gtk-doc', type: 'boolean', value: true, -+ description: 'Generate API documentation with gtk-doc') - option('journal', type: 'boolean', value: true, - description: 'Enable database journal backup mechanism') -+option('man', type: 'boolean', value: true, -+ description: 'Install man pages') - - option('network_manager', type: 'combo', choices: ['auto', 'no', 'yes'], value: 'auto', - description: 'Enable connection detection through NetworkManager') --- -2.17.0 - diff --git a/app-misc/tracker/files/2.1.7-fix-library-symlinks.patch b/app-misc/tracker/files/2.1.7-fix-library-symlinks.patch deleted file mode 100644 index 85ddb6baa22b..000000000000 --- a/app-misc/tracker/files/2.1.7-fix-library-symlinks.patch +++ /dev/null @@ -1,71 +0,0 @@ -From d52a7bed9fdeef77bdcafd66c748adce14fde42d Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" -Date: Tue, 6 Nov 2018 07:11:37 +0000 -Subject: [PATCH 5/5] build: Restore right soversion to libraries - -The previous change did not leave the expected .0 symlinks. - -'soversion' is the actual version linked against. To match the scheme -used by libtool, we need to give the libraries a 'version' as well. - -(cherry picked from commit 282cd5aa85852cc7f9e603dae435f6b528c4712a) ---- - meson.build | 3 ++- - src/libtracker-control/meson.build | 1 + - src/libtracker-miner/meson.build | 1 + - src/libtracker-sparql-backend/meson.build | 1 + - 4 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 0fda24151..593b9db44 100644 ---- a/meson.build -+++ b/meson.build -@@ -15,7 +15,8 @@ tracker_interface_age = 0 - tracker_binary_age = 100 * tracker_minor_version + tracker_micro_version - tracker_interface_age - - # This the .Z used in libtracker-sparql-2.0.so.Z --soversion = '0.@0@.@1@'.format(tracker_binary_age - tracker_interface_age, tracker_interface_age) -+soversion = '0' -+libversion = '@0@.@1@.@2@'.format(soversion, tracker_binary_age - tracker_interface_age, tracker_interface_age) - - libdir = join_paths(get_option('prefix'), get_option('libdir')) - datadir = join_paths(get_option('prefix'), get_option('datadir')) -diff --git a/src/libtracker-control/meson.build b/src/libtracker-control/meson.build -index 81578e306..533ac538e 100644 ---- a/src/libtracker-control/meson.build -+++ b/src/libtracker-control/meson.build -@@ -10,6 +10,7 @@ libtracker_control = library('tracker-control-' + tracker_api_version, - tracker_common_enum_header, - c_args: tracker_c_args, - soversion: soversion, -+ version: libversion, - install: true, - install_rpath: tracker_internal_libs_dir, - # This doesn't depend on tracker_common_dep because of -diff --git a/src/libtracker-miner/meson.build b/src/libtracker-miner/meson.build -index e53b21cf9..49c879057 100644 ---- a/src/libtracker-miner/meson.build -+++ b/src/libtracker-miner/meson.build -@@ -60,6 +60,7 @@ libtracker_miner = library( - miner_enums[0], miner_enums[1], miner_sources, - c_args: tracker_c_args, - soversion: soversion, -+ version: libversion, - install: true, - install_rpath: tracker_internal_libs_dir, - # This doesn't depend on tracker_common_dep because of -diff --git a/src/libtracker-sparql-backend/meson.build b/src/libtracker-sparql-backend/meson.build -index c8415efb8..e54333bec 100644 ---- a/src/libtracker-sparql-backend/meson.build -+++ b/src/libtracker-sparql-backend/meson.build -@@ -8,6 +8,7 @@ libtracker_sparql = library('tracker-sparql-' + tracker_api_version, - 'tracker-backend.vala', - - soversion: soversion, -+ version: libversion, - - install: true, - install_rpath: tracker_internal_libs_dir, --- -2.17.0 - diff --git a/app-misc/tracker/files/2.1.7-glib-2.60-compat.patch b/app-misc/tracker/files/2.1.7-glib-2.60-compat.patch deleted file mode 100644 index 93737f79857d..000000000000 --- a/app-misc/tracker/files/2.1.7-glib-2.60-compat.patch +++ /dev/null @@ -1,169 +0,0 @@ -From 43b10233d4cce38230c357d885662291d2e5e978 Mon Sep 17 00:00:00 2001 -From: Iain Lane -Date: Mon, 11 Feb 2019 15:42:14 +0000 -Subject: [PATCH 4/5] libtracker-data: Don't rely on hash table iteration order - being stable - -This is the same problem that was fixed by -c58f7aa419e2c3a69fa7fe583a1fd5e0b9bd0839 on master. Instead of relying -on hash table iteration being stable, pass the GVariantBuilder down and -add directly to it in the right order. - -Forwarded: https://gitlab.gnome.org/GNOME/tracker/merge_requests/55 ---- - .../tracker-sparql-pattern.vala | 4 +-- - src/libtracker-data/tracker-sparql-query.vala | 31 ++++++++++++------- - 2 files changed, 21 insertions(+), 14 deletions(-) - -diff --git a/src/libtracker-data/tracker-sparql-pattern.vala b/src/libtracker-data/tracker-sparql-pattern.vala -index e03ed6f16..033b138a5 100644 ---- a/src/libtracker-data/tracker-sparql-pattern.vala -+++ b/src/libtracker-data/tracker-sparql-pattern.vala -@@ -542,7 +542,7 @@ class Tracker.Sparql.Pattern : Object { - } else if (accept (SparqlTokenType.BLANK_NODE)) { - // _:foo - expect (SparqlTokenType.COLON); -- result = query.generate_bnodeid (get_last_string ().substring (1)); -+ result = query.generate_bnodeid (get_last_string ().substring (1), null); - } else if (current () == SparqlTokenType.STRING_LITERAL1) { - result = expression.parse_string_literal (); - } else if (current () == SparqlTokenType.STRING_LITERAL2) { -@@ -569,7 +569,7 @@ class Tracker.Sparql.Pattern : Object { - } else if (current () == SparqlTokenType.OPEN_BRACKET) { - next (); - -- result = query.generate_bnodeid (null); -+ result = query.generate_bnodeid (null, null); - - string old_subject = current_subject; - bool old_subject_is_var = current_subject_is_var; -diff --git a/src/libtracker-data/tracker-sparql-query.vala b/src/libtracker-data/tracker-sparql-query.vala -index 7944e78e5..69a7e9eba 100644 ---- a/src/libtracker-data/tracker-sparql-query.vala -+++ b/src/libtracker-data/tracker-sparql-query.vala -@@ -284,7 +284,7 @@ public class Tracker.Sparql.Query : Object { - sha1, sha1.substring (8), sha1.substring (12), sha1.substring (16), sha1.substring (20)); - } - -- internal string generate_bnodeid (string? user_bnodeid) { -+ internal string generate_bnodeid (string? user_bnodeid, GLib.VariantBuilder? builder) { - // user_bnodeid is NULL for anonymous nodes - if (user_bnodeid == null) { - return ":%d".printf (++bnodeid); -@@ -310,6 +310,9 @@ public class Tracker.Sparql.Query : Object { - } - - blank_nodes.insert (user_bnodeid, uri); -+ -+ if (builder != null) -+ builder.add ("{ss}", user_bnodeid, uri); - } - - return uri; -@@ -774,7 +777,7 @@ public class Tracker.Sparql.Query : Object { - for (int i = 0; i < n_solutions; i++) { - solution.solution_index = i; - set_location (delete_location); -- parse_construct_triples_block (solution, UpdateType.DELETE); -+ parse_construct_triples_block (solution, UpdateType.DELETE, null); - data_update.update_buffer_might_flush (); - } - -@@ -790,16 +793,20 @@ public class Tracker.Sparql.Query : Object { - for (int i = 0; i < n_solutions; i++) { - uuid_generate (base_uuid); - blank_nodes = new HashTable.full (str_hash, str_equal, g_free, g_free); -+ if (update_blank_nodes != null) -+ update_blank_nodes.open (new GLib.VariantType("a{ss}")); -+ - solution.solution_index = i; - - set_location (insert_location); - parse_construct_triples_block (solution, - insert_is_update ? - UpdateType.UPDATE : -- UpdateType.INSERT); -+ UpdateType.INSERT, -+ update_blank_nodes); - - if (blank && update_blank_nodes != null) { -- update_blank_nodes.add_value (blank_nodes); -+ update_blank_nodes.close (); - } - - data_update.update_buffer_might_flush (); -@@ -870,7 +877,7 @@ public class Tracker.Sparql.Query : Object { - } - } - -- private void parse_construct_triples_block (Solution var_value_map, UpdateType type) throws Sparql.Error, DateError { -+ private void parse_construct_triples_block (Solution var_value_map, UpdateType type, GLib.VariantBuilder? builder) throws Sparql.Error, DateError { - expect (SparqlTokenType.OPEN_BRACE); - - while (current () != SparqlTokenType.CLOSE_BRACE) { -@@ -878,7 +885,7 @@ public class Tracker.Sparql.Query : Object { - - if (accept (SparqlTokenType.GRAPH)) { - var old_graph = current_graph; -- current_graph = parse_construct_var_or_term (var_value_map, type, out is_null); -+ current_graph = parse_construct_var_or_term (var_value_map, type, out is_null, builder); - - if (is_null) { - throw get_error ("'null' not supported for graph"); -@@ -887,7 +894,7 @@ public class Tracker.Sparql.Query : Object { - expect (SparqlTokenType.OPEN_BRACE); - - while (current () != SparqlTokenType.CLOSE_BRACE) { -- current_subject = parse_construct_var_or_term (var_value_map, type, out is_null); -+ current_subject = parse_construct_var_or_term (var_value_map, type, out is_null, builder); - - if (is_null) { - throw get_error ("'null' not supported for subject"); -@@ -906,7 +913,7 @@ public class Tracker.Sparql.Query : Object { - - optional (SparqlTokenType.DOT); - } else { -- current_subject = parse_construct_var_or_term (var_value_map, type, out is_null); -+ current_subject = parse_construct_var_or_term (var_value_map, type, out is_null, builder); - - if (is_null) { - throw get_error ("'null' not supported for subject"); -@@ -925,7 +932,7 @@ public class Tracker.Sparql.Query : Object { - - bool anon_blank_node_open = false; - -- private string? parse_construct_var_or_term (Solution var_value_map, UpdateType type, out bool is_null) throws Sparql.Error, DateError { -+ private string? parse_construct_var_or_term (Solution var_value_map, UpdateType type, out bool is_null, GLib.VariantBuilder? builder) throws Sparql.Error, DateError { - string result = ""; - is_null = false; - if (current () == SparqlTokenType.VAR) { -@@ -947,7 +954,7 @@ public class Tracker.Sparql.Query : Object { - } else if (accept (SparqlTokenType.BLANK_NODE)) { - // _:foo - expect (SparqlTokenType.COLON); -- result = generate_bnodeid (get_last_string ().substring (1)); -+ result = generate_bnodeid (get_last_string ().substring (1), builder); - } else if (current () == SparqlTokenType.MINUS) { - next (); - if (current () == SparqlTokenType.INTEGER || -@@ -994,7 +1001,7 @@ public class Tracker.Sparql.Query : Object { - anon_blank_node_open = true; - next (); - -- result = generate_bnodeid (null); -+ result = generate_bnodeid (null, builder); - - string old_subject = current_subject; - bool old_subject_is_var = current_subject_is_var; -@@ -1061,7 +1068,7 @@ public class Tracker.Sparql.Query : Object { - - private void parse_construct_object (Solution var_value_map, UpdateType type) throws Sparql.Error, DateError { - bool is_null = false; -- string object = parse_construct_var_or_term (var_value_map, type, out is_null); -+ string object = parse_construct_var_or_term (var_value_map, type, out is_null, null); - var data = manager.get_data (); - if (current_subject == null || current_predicate == null || object == null) { - // the SPARQL specification says that triples containing unbound variables --- -2.17.0 - diff --git a/app-misc/tracker/files/2.1.7-prevent-stack-smashing.patch b/app-misc/tracker/files/2.1.7-prevent-stack-smashing.patch deleted file mode 100644 index 1f25f115d419..000000000000 --- a/app-misc/tracker/files/2.1.7-prevent-stack-smashing.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 4238b0a27a3621f4181d38821a4eaee9f0ac1244 Mon Sep 17 00:00:00 2001 -From: Andrea Azzarone -Date: Fri, 18 Jan 2019 16:14:57 +0000 -Subject: [PATCH 3/5] tracker-monitor: Prevent stack smashing - -Make sure to use GPOINTER_TO_UINT when using g_hash_table_lookup_extended() to -prevent stack smashing. This will make sure that in the architectures where -sizeof(GFileMonitorEvent) < sizeof(gpointer), g_hash_table_lookup_extended() -will not write more bytes than prev_event_type can hold. - -Bug-Upstream: https://gitlab.gnome.org/GNOME/tracker/issues/71 -Origin: upstream, commit:63c0a5d4413e53cb76089fda6f56b2d623c5de15 -Applied-Upstream: 2.2.0 ---- - src/libtracker-miner/tracker-monitor.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/libtracker-miner/tracker-monitor.c b/src/libtracker-miner/tracker-monitor.c -index 54cd3e8fb..f2431b646 100644 ---- a/src/libtracker-miner/tracker-monitor.c -+++ b/src/libtracker-miner/tracker-monitor.c -@@ -611,10 +611,12 @@ flush_cached_event (TrackerMonitor *monitor, - GFile *file, - gboolean is_directory) - { -- GFileMonitorEvent prev_event_type; -+ gpointer value = NULL; - - if (g_hash_table_lookup_extended (monitor->priv->cached_events, -- file, NULL, (gpointer*) &prev_event_type)) { -+ file, NULL, &value)) { -+ GFileMonitorEvent prev_event_type = GPOINTER_TO_UINT (value); -+ - g_hash_table_remove (monitor->priv->cached_events, file); - emit_signal_for_event (monitor, prev_event_type, - is_directory, file, NULL); --- -2.17.0 - diff --git a/app-misc/tracker/files/2.1.7-test-fix.patch b/app-misc/tracker/files/2.1.7-test-fix.patch deleted file mode 100644 index b3dedaa9e6ec..000000000000 --- a/app-misc/tracker/files/2.1.7-test-fix.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 77059dd4b98f422c1e474b9ee53cc05dde875cce Mon Sep 17 00:00:00 2001 -From: Mart Raudsepp -Date: Wed, 13 Feb 2019 20:09:45 +0200 -Subject: [PATCH 2/5] libtracker-common: improve test_path_evaluate_name - environment handling - -Under some environments $PWD might not point where we expect, so simply -use g_get_current_dir() instead. -g_getenv() is documented to return a pointer that may get overwritten -by subsequent calls to g_getenv, g_setenv of g_unsetenv. As even after -removing the second g_getenv, there's still g_setenv calls, take a copy. ---- - tests/libtracker-common/tracker-file-utils-test.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/tests/libtracker-common/tracker-file-utils-test.c b/tests/libtracker-common/tracker-file-utils-test.c -index d1ddf3004..71a82a5c8 100644 ---- a/tests/libtracker-common/tracker-file-utils-test.c -+++ b/tests/libtracker-common/tracker-file-utils-test.c -@@ -131,14 +131,14 @@ test_path_list_filter_duplicates_with_exceptions () - static void - test_path_evaluate_name (void) - { -- gchar *result, *expected; -+ gchar *result, *expected, *pwd, *home; - -- const gchar *home = g_getenv ("HOME"); -- const gchar *pwd = g_getenv ("PWD"); - - const gchar *test = "/one/two"; - gchar *parent_dir; - -+ home = g_strdup (g_getenv ("HOME")); -+ pwd = g_get_current_dir (); - g_setenv ("TEST_TRACKER_DIR", test, TRUE); - - -@@ -216,6 +216,8 @@ test_path_evaluate_name (void) - result = tracker_path_evaluate_name (tracker_test_helpers_get_nonutf8 ()); - g_assert_cmpstr (result, ==, tracker_test_helpers_get_nonutf8 ()); - -+ g_free (home); -+ g_free (pwd); - g_unsetenv ("TEST_TRACKER_DIR"); - } - --- -2.17.0 - diff --git a/app-misc/tracker/files/2.1.7-upgrade-path-fix.patch b/app-misc/tracker/files/2.1.7-upgrade-path-fix.patch deleted file mode 100644 index a1fa32738d88..000000000000 --- a/app-misc/tracker/files/2.1.7-upgrade-path-fix.patch +++ /dev/null @@ -1,33 +0,0 @@ -From d7e31d6940efdb6716689136774a94cfdfd83189 Mon Sep 17 00:00:00 2001 -From: Carlos Garnacho -Date: Mon, 17 Dec 2018 13:34:23 +0100 -Subject: [PATCH] libtracker-data: Update FTS if base tables were altered - -That will issue an update of all tables, so the FTS view might be -affected. This is not caught by ontology change tests, as this -is a situation that can only happen when migrating from 1.x databases -ATM. - -(cherry picked from commit 70758fc059e91936e88d5264b195ac291e995144) ---- - src/libtracker-data/tracker-data-manager.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c -index f2addd0df..05a96b4dd 100644 ---- a/src/libtracker-data/tracker-data-manager.c -+++ b/src/libtracker-data/tracker-data-manager.c -@@ -3701,8 +3701,8 @@ tracker_data_ontology_import_into_db (TrackerDataManager *manager, - } - - #if HAVE_TRACKER_FTS -- if (in_update) { -- update_fts = tracker_data_manager_fts_changed (manager); -+ if (base_tables_altered || in_update) { -+ update_fts = base_tables_altered | tracker_data_manager_fts_changed (manager); - - if (update_fts) - tracker_db_interface_sqlite_fts_delete_table (iface); --- -2.17.0 - diff --git a/app-misc/tracker/files/2.1.8-doc-options.patch b/app-misc/tracker/files/2.1.8-doc-options.patch new file mode 100644 index 000000000000..9b25349f659f --- /dev/null +++ b/app-misc/tracker/files/2.1.8-doc-options.patch @@ -0,0 +1,66 @@ +From cff7f988fd2ed7894c3d16144e799d994637d3cf Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp +Date: Wed, 13 Feb 2019 12:28:53 +0200 +Subject: [PATCH 1/5] build: Separate options for manpages install and gtk-doc + generation +--- + docs/meson.build | 10 +++++++--- + meson.build | 6 +----- + meson_options.txt | 6 ++++-- + 3 files changed, 12 insertions(+), 10 deletions(-) + +diff --git a/docs/meson.build b/docs/meson.build +index 76e59797e..5e1d541bd 100644 +--- a/docs/meson.build ++++ b/docs/meson.build +@@ -1,3 +1,7 @@ +-subdir('tools') +-subdir('manpages') +-subdir('reference') ++if get_option('man') ++ subdir('manpages') ++endif ++if get_option('gtk-doc') ++ subdir('tools') ++ subdir('reference') ++endif +diff --git a/meson.build b/meson.build +index 7d61fe1a7..0fda24151 100644 +--- a/meson.build ++++ b/meson.build +@@ -320,11 +320,7 @@ typelib_dir = gobject_introspection.get_pkgconfig_variable('typelibdir', + define_variable: [ 'libdir', libdir ]) + + subdir('src') +- +-if get_option('docs') +- subdir('docs') +-endif +- ++subdir('docs') + subdir('examples') + subdir('utils') + +diff --git a/meson_options.txt b/meson_options.txt +index b36ba1d1e..0eb48aac4 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,11 +1,13 @@ +-option('docs', type: 'boolean', value: true, +- description: 'Enable the documentation') + option('fts', type: 'boolean', value: true, + description: 'Enable the Tracker full-text search feature') + option('functional_tests', type: 'boolean', value: true, + description: 'Enable the Tracker functional test suite') ++option('gtk-doc', type: 'boolean', value: true, ++ description: 'Generate API documentation with gtk-doc') + option('journal', type: 'boolean', value: true, + description: 'Enable database journal backup mechanism') ++option('man', type: 'boolean', value: true, ++ description: 'Install man pages') + + option('network_manager', type: 'combo', choices: ['auto', 'no', 'yes'], value: 'auto', + description: 'Enable connection detection through NetworkManager') +-- +2.17.0 + diff --git a/app-misc/tracker/files/2.1.8-fix-library-symlinks.patch b/app-misc/tracker/files/2.1.8-fix-library-symlinks.patch new file mode 100644 index 000000000000..85ddb6baa22b --- /dev/null +++ b/app-misc/tracker/files/2.1.8-fix-library-symlinks.patch @@ -0,0 +1,71 @@ +From d52a7bed9fdeef77bdcafd66c748adce14fde42d Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Tue, 6 Nov 2018 07:11:37 +0000 +Subject: [PATCH 5/5] build: Restore right soversion to libraries + +The previous change did not leave the expected .0 symlinks. + +'soversion' is the actual version linked against. To match the scheme +used by libtool, we need to give the libraries a 'version' as well. + +(cherry picked from commit 282cd5aa85852cc7f9e603dae435f6b528c4712a) +--- + meson.build | 3 ++- + src/libtracker-control/meson.build | 1 + + src/libtracker-miner/meson.build | 1 + + src/libtracker-sparql-backend/meson.build | 1 + + 4 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 0fda24151..593b9db44 100644 +--- a/meson.build ++++ b/meson.build +@@ -15,7 +15,8 @@ tracker_interface_age = 0 + tracker_binary_age = 100 * tracker_minor_version + tracker_micro_version - tracker_interface_age + + # This the .Z used in libtracker-sparql-2.0.so.Z +-soversion = '0.@0@.@1@'.format(tracker_binary_age - tracker_interface_age, tracker_interface_age) ++soversion = '0' ++libversion = '@0@.@1@.@2@'.format(soversion, tracker_binary_age - tracker_interface_age, tracker_interface_age) + + libdir = join_paths(get_option('prefix'), get_option('libdir')) + datadir = join_paths(get_option('prefix'), get_option('datadir')) +diff --git a/src/libtracker-control/meson.build b/src/libtracker-control/meson.build +index 81578e306..533ac538e 100644 +--- a/src/libtracker-control/meson.build ++++ b/src/libtracker-control/meson.build +@@ -10,6 +10,7 @@ libtracker_control = library('tracker-control-' + tracker_api_version, + tracker_common_enum_header, + c_args: tracker_c_args, + soversion: soversion, ++ version: libversion, + install: true, + install_rpath: tracker_internal_libs_dir, + # This doesn't depend on tracker_common_dep because of +diff --git a/src/libtracker-miner/meson.build b/src/libtracker-miner/meson.build +index e53b21cf9..49c879057 100644 +--- a/src/libtracker-miner/meson.build ++++ b/src/libtracker-miner/meson.build +@@ -60,6 +60,7 @@ libtracker_miner = library( + miner_enums[0], miner_enums[1], miner_sources, + c_args: tracker_c_args, + soversion: soversion, ++ version: libversion, + install: true, + install_rpath: tracker_internal_libs_dir, + # This doesn't depend on tracker_common_dep because of +diff --git a/src/libtracker-sparql-backend/meson.build b/src/libtracker-sparql-backend/meson.build +index c8415efb8..e54333bec 100644 +--- a/src/libtracker-sparql-backend/meson.build ++++ b/src/libtracker-sparql-backend/meson.build +@@ -8,6 +8,7 @@ libtracker_sparql = library('tracker-sparql-' + tracker_api_version, + 'tracker-backend.vala', + + soversion: soversion, ++ version: libversion, + + install: true, + install_rpath: tracker_internal_libs_dir, +-- +2.17.0 + diff --git a/app-misc/tracker/files/2.1.8-prevent-stack-smashing.patch b/app-misc/tracker/files/2.1.8-prevent-stack-smashing.patch new file mode 100644 index 000000000000..1f25f115d419 --- /dev/null +++ b/app-misc/tracker/files/2.1.8-prevent-stack-smashing.patch @@ -0,0 +1,39 @@ +From 4238b0a27a3621f4181d38821a4eaee9f0ac1244 Mon Sep 17 00:00:00 2001 +From: Andrea Azzarone +Date: Fri, 18 Jan 2019 16:14:57 +0000 +Subject: [PATCH 3/5] tracker-monitor: Prevent stack smashing + +Make sure to use GPOINTER_TO_UINT when using g_hash_table_lookup_extended() to +prevent stack smashing. This will make sure that in the architectures where +sizeof(GFileMonitorEvent) < sizeof(gpointer), g_hash_table_lookup_extended() +will not write more bytes than prev_event_type can hold. + +Bug-Upstream: https://gitlab.gnome.org/GNOME/tracker/issues/71 +Origin: upstream, commit:63c0a5d4413e53cb76089fda6f56b2d623c5de15 +Applied-Upstream: 2.2.0 +--- + src/libtracker-miner/tracker-monitor.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/libtracker-miner/tracker-monitor.c b/src/libtracker-miner/tracker-monitor.c +index 54cd3e8fb..f2431b646 100644 +--- a/src/libtracker-miner/tracker-monitor.c ++++ b/src/libtracker-miner/tracker-monitor.c +@@ -611,10 +611,12 @@ flush_cached_event (TrackerMonitor *monitor, + GFile *file, + gboolean is_directory) + { +- GFileMonitorEvent prev_event_type; ++ gpointer value = NULL; + + if (g_hash_table_lookup_extended (monitor->priv->cached_events, +- file, NULL, (gpointer*) &prev_event_type)) { ++ file, NULL, &value)) { ++ GFileMonitorEvent prev_event_type = GPOINTER_TO_UINT (value); ++ + g_hash_table_remove (monitor->priv->cached_events, file); + emit_signal_for_event (monitor, prev_event_type, + is_directory, file, NULL); +-- +2.17.0 + diff --git a/app-misc/tracker/files/2.1.8-test-fix.patch b/app-misc/tracker/files/2.1.8-test-fix.patch new file mode 100644 index 000000000000..b3dedaa9e6ec --- /dev/null +++ b/app-misc/tracker/files/2.1.8-test-fix.patch @@ -0,0 +1,49 @@ +From 77059dd4b98f422c1e474b9ee53cc05dde875cce Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp +Date: Wed, 13 Feb 2019 20:09:45 +0200 +Subject: [PATCH 2/5] libtracker-common: improve test_path_evaluate_name + environment handling + +Under some environments $PWD might not point where we expect, so simply +use g_get_current_dir() instead. +g_getenv() is documented to return a pointer that may get overwritten +by subsequent calls to g_getenv, g_setenv of g_unsetenv. As even after +removing the second g_getenv, there's still g_setenv calls, take a copy. +--- + tests/libtracker-common/tracker-file-utils-test.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/tests/libtracker-common/tracker-file-utils-test.c b/tests/libtracker-common/tracker-file-utils-test.c +index d1ddf3004..71a82a5c8 100644 +--- a/tests/libtracker-common/tracker-file-utils-test.c ++++ b/tests/libtracker-common/tracker-file-utils-test.c +@@ -131,14 +131,14 @@ test_path_list_filter_duplicates_with_exceptions () + static void + test_path_evaluate_name (void) + { +- gchar *result, *expected; ++ gchar *result, *expected, *pwd, *home; + +- const gchar *home = g_getenv ("HOME"); +- const gchar *pwd = g_getenv ("PWD"); + + const gchar *test = "/one/two"; + gchar *parent_dir; + ++ home = g_strdup (g_getenv ("HOME")); ++ pwd = g_get_current_dir (); + g_setenv ("TEST_TRACKER_DIR", test, TRUE); + + +@@ -216,6 +216,8 @@ test_path_evaluate_name (void) + result = tracker_path_evaluate_name (tracker_test_helpers_get_nonutf8 ()); + g_assert_cmpstr (result, ==, tracker_test_helpers_get_nonutf8 ()); + ++ g_free (home); ++ g_free (pwd); + g_unsetenv ("TEST_TRACKER_DIR"); + } + +-- +2.17.0 + -- cgit v1.2.3-65-gdbad