diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-02-16 12:59:29 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-02-16 12:59:29 +0000 |
commit | 79599515788b85b18aa655e7b7f8cc05c1bbddd8 (patch) | |
tree | ade7cb031f363fad64c77139dea7aa3d81908537 /app-misc/tracker | |
parent | 6bc2e4d7c5906e46a8f275a876ead6ec41aca5bb (diff) |
gentoo resync : 16.02.1018
Diffstat (limited to 'app-misc/tracker')
-rw-r--r-- | app-misc/tracker/Manifest | 12 | ||||
-rw-r--r-- | app-misc/tracker/files/2.1.7-doc-options.patch | 66 | ||||
-rw-r--r-- | app-misc/tracker/files/2.1.7-fix-library-symlinks.patch | 71 | ||||
-rw-r--r-- | app-misc/tracker/files/2.1.7-glib-2.60-compat.patch | 169 | ||||
-rw-r--r-- | app-misc/tracker/files/2.1.7-prevent-stack-smashing.patch | 39 | ||||
-rw-r--r-- | app-misc/tracker/files/2.1.7-test-fix.patch | 49 | ||||
-rw-r--r-- | app-misc/tracker/files/2.1.7-upgrade-path-fix.patch | 33 | ||||
-rw-r--r-- | app-misc/tracker/metadata.xml | 4 | ||||
-rw-r--r-- | app-misc/tracker/tracker-1.12.4-r1.ebuild (renamed from app-misc/tracker/tracker-1.12.4.ebuild) | 9 | ||||
-rw-r--r-- | app-misc/tracker/tracker-2.1.7-r1.ebuild | 100 |
10 files changed, 541 insertions, 11 deletions
diff --git a/app-misc/tracker/Manifest b/app-misc/tracker/Manifest index b43b8fe382a4..20249aa73a8f 100644 --- a/app-misc/tracker/Manifest +++ b/app-misc/tracker/Manifest @@ -1,3 +1,11 @@ +AUX 2.1.7-doc-options.patch 2121 BLAKE2B 08344eae558de800f1081c7a12a3b373915adf94881fc9f72eb6ef86a7cb23daff01fb1d970bfff96f016e4347ad350d2637f1a06b425507bf56f92d92eec165 SHA512 f32f432751ac92d92bd8e83f5252af7b347cd08eb0c6c5e8c5582ad343856ac45a293d5f15adae7167cf216e4b0ac24ab1e298711c478638750ae8a697c4363c +AUX 2.1.7-fix-library-symlinks.patch 2937 BLAKE2B f26621b37fbd3f4e58289b8182bf56afcef760d6aceaa5b286389676c27dc529f62b5b4be26dd7ba28d6cbe865cf1d0e3e0b0c76bd4e026cfeff25b63b7d98a3 SHA512 0ddadfebdd8f3b8275b9f16c110e63c557549cc903e0fe8b2df4975fb69d3c529bfa6e7a4f7e78dfca2845b6b6b561a5d608bc139e74d45788d0bed477bb5eaf +AUX 2.1.7-glib-2.60-compat.patch 7341 BLAKE2B 64a322db244551b15c037aaca8f868ced632c25600e1e7c83a22eb532535e9d4eb317e0f9aa0df8b52c86077af839dcfba2f4846e91a37e42d325b7681379b98 SHA512 d14c760626541e3ac0cce55bd837a5ca4a0e627d43aea491d1f1cbbca0ab445317519506a2ae2a22416b39ce9708926683ac9dd3be244d9ae2eb53e5b2675f8d +AUX 2.1.7-prevent-stack-smashing.patch 1669 BLAKE2B 8c0e603f8c2aafe0cb2b381feaf5c7f87afdfde764f1940735617cbad12afc02e25df9b9a848a580d4e5b969cd0f55b889ba50f5618c33cb9f9e5966d82ea996 SHA512 0d7374605e6221f14877539db2e17d4536ce45adc25d76adfb78043d3d699a291a213aeccd4e0bc4338a10454bb93c47270cfc525b258bf2a1029e856c1b47a9 +AUX 2.1.7-test-fix.patch 1674 BLAKE2B 5e0ff6c8d8ece11ec49c818521fbb248c13e09b14860b33e93229f41db36779aebeb3b398fc3d4c590332280cd98e756787755c54b2a600e031abe45746fbe26 SHA512 588eacbe421355b252cb98d00ef67b0205b6c9437e58ff893da822732d338cf453583b0cde3b71940c5dd24d562b0aa32cd7c0f7bd978c382eddb77527adc3f2 +AUX 2.1.7-upgrade-path-fix.patch 1251 BLAKE2B ea343e15348ddfe8a8a36fc9060d14dc5e8ec2a777e473ab39041692d67c4a5c0ebd8793f6896b49e2c353c25167b5dc42e167222f566757fdd9504d2906928b SHA512 965055c9526fa523d11b77c6bb3bddaa1323dd06d5cccb2f638f89402380b746e11e60f828ecfb4b35e20715a97f940980edbb6a6d2416356c4a84da0ac476c4 DIST tracker-1.12.4.tar.xz 5051884 BLAKE2B 99cc85fc4d49691eb0a73e4f1776d9971b5cbe5844478825e473137b4d7b13e2578065be497da57285abc2d3cf4c6d1ed1b077a01cd68dc093e18ddd7674c1f1 SHA512 e81af22733c7d80535c79e23a4b3edbbcf888eede1dff071d466518054e90d4c207af76bcb4d8c73dc20729ae2eab60444ca91ee7ae09e96c0da2fdab97752c1 -EBUILD tracker-1.12.4.ebuild 7571 BLAKE2B 7077e2536921cbf564bf92e9ec226f9e10379567f0d47dd89fbfcd1bc8318d4c286e100c759a4f8b9a2d696330748dfa4b973236fbf5c498413c3a0654603c1b SHA512 4ddf3e6d98f74601af816a3a404a06934faff2aec56f3fda2613c915997c8dc5868bca417a3ff7f1d4b5073eed7ddf768e8f947b8f85a46a58b5c60c87ba3c58 -MISC metadata.xml 1561 BLAKE2B ce0e9984983c7e0f249af4d375361f64236fb38d105b9ce2cee6c12519c70d4e8c7801a6000adfe777b2f9bb787c47779246b148dbbb5ec6fb6e94356413d8d3 SHA512 89deedce6c26547cdc8a2b3ff1880662125b73f490293156904a942acf632e1325dbc3657cdd6a1ca53cdb7556adbd96fea2705759a0a5503e80ae95d90045c4 +DIST tracker-2.1.7.tar.xz 2572740 BLAKE2B 0db8379502a37d0fc0c4b905a55a8642011c76368a94609b71afa5b6d59fa8a9220c302588a8217ea8626faccedd6b62e8fc96b19d4fb2cbaf1b550fbc55cf0d SHA512 75203af91ec43641caf2a3870100b8c5affb613e442e5a271edafe68ac7c6551256f288e435ce4fc8cb6f9ee0ea54871ebba90e085d0baeba4914815d3be15a0 +EBUILD tracker-1.12.4-r1.ebuild 7448 BLAKE2B b1552ee19ab27c1a2fb7ec5fa43de63f53f88da98d77772c979a4941bcff54299d991e20f432155652152d1b3315ffc64eaeed9073261c2f428c334f5f576e41 SHA512 b84d10c8f9979fe3e66007c7e20b229d181c9e1961a92aa70500c6461197ac4a976cc7849e4901107bb4aedb3195540ec12e577f9ab368ea4aa10059ddcf3131 +EBUILD tracker-2.1.7-r1.ebuild 2921 BLAKE2B 9632ed938972d26a439fb6891875cd3174118114b9344a2eef2e8e10f0392efcea50c055a61a3a9cc13e1bb7d75e51bb060ee5d9db3acacd00c3885ae5e58c29 SHA512 aee64e41dbf027436257a7ad391f1bb506314876d1038a20f700c062c4fa64ac9c7aacca1fd94ac8f5bd3cf43d4d139411f01868ffe732318abaf48f634ba970 +MISC metadata.xml 1545 BLAKE2B 1fee1210e27ad5a33c7e121372a64ed7d70c5c8169ce7b2688ff395cb56a218d53a8c5561701498d52d7772be1ce77d44275c938ad9486dc039e2f301bb14b6d SHA512 b379f0ca9737f7847ec7e0e83148ef354a56433d5fcd45996feaa86d9773c60b97f226ca21aba48aaba31f17ead8ea1922d408193328f477d58449ed3a732f71 diff --git a/app-misc/tracker/files/2.1.7-doc-options.patch b/app-misc/tracker/files/2.1.7-doc-options.patch new file mode 100644 index 000000000000..9b25349f659f --- /dev/null +++ b/app-misc/tracker/files/2.1.7-doc-options.patch @@ -0,0 +1,66 @@ +From cff7f988fd2ed7894c3d16144e799d994637d3cf Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp <leio@gentoo.org> +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 new file mode 100644 index 000000000000..85ddb6baa22b --- /dev/null +++ b/app-misc/tracker/files/2.1.7-fix-library-symlinks.patch @@ -0,0 +1,71 @@ +From d52a7bed9fdeef77bdcafd66c748adce14fde42d Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> +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 new file mode 100644 index 000000000000..93737f79857d --- /dev/null +++ b/app-misc/tracker/files/2.1.7-glib-2.60-compat.patch @@ -0,0 +1,169 @@ +From 43b10233d4cce38230c357d885662291d2e5e978 Mon Sep 17 00:00:00 2001 +From: Iain Lane <iainl@gnome.org> +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<string,string>.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 new file mode 100644 index 000000000000..1f25f115d419 --- /dev/null +++ b/app-misc/tracker/files/2.1.7-prevent-stack-smashing.patch @@ -0,0 +1,39 @@ +From 4238b0a27a3621f4181d38821a4eaee9f0ac1244 Mon Sep 17 00:00:00 2001 +From: Andrea Azzarone <andrea.azzarone@canonical.com> +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 new file mode 100644 index 000000000000..b3dedaa9e6ec --- /dev/null +++ b/app-misc/tracker/files/2.1.7-test-fix.patch @@ -0,0 +1,49 @@ +From 77059dd4b98f422c1e474b9ee53cc05dde875cce Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp <leio@gentoo.org> +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 new file mode 100644 index 000000000000..a1fa32738d88 --- /dev/null +++ b/app-misc/tracker/files/2.1.7-upgrade-path-fix.patch @@ -0,0 +1,33 @@ +From d7e31d6940efdb6716689136774a94cfdfd83189 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho <carlosg@gnome.org> +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/metadata.xml b/app-misc/tracker/metadata.xml index 64efbfdb6eb6..7516a51a113d 100644 --- a/app-misc/tracker/metadata.xml +++ b/app-misc/tracker/metadata.xml @@ -16,10 +16,8 @@ for ODT.</flag> <flag name="iptc">Enable extraction of IPTC data from pictures</flag> <flag name="iso">Enable extraction of metadata from ISO disk images</flag> + <flag name="miners">Install the <pkg>app-misc/tracker-miners</pkg> package for actual data mining support for tracker</flag> <flag name="miner-fs">Enable tracker-miner-fs (required for filesystem indexing)</flag> - <flag name="nautilus">Enable tracker to integrate with - <pkg>gnome-base/nautilus</pkg> by providing entries in its context menu - </flag> <flag name="playlist">Add support for playlists</flag> <flag name="stemmer">Add word stemming via <pkg>dev-libs/snowball-stemmer</pkg>.</flag> <flag name="thunderbird">Install email data miner plugin for diff --git a/app-misc/tracker/tracker-1.12.4.ebuild b/app-misc/tracker/tracker-1.12.4-r1.ebuild index 509c22fab243..1e40f5389097 100644 --- a/app-misc/tracker/tracker-1.12.4.ebuild +++ b/app-misc/tracker/tracker-1.12.4-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -12,9 +12,7 @@ HOMEPAGE="https://wiki.gnome.org/Projects/Tracker" LICENSE="GPL-2+ LGPL-2.1+" SLOT="0/100" -IUSE="cue elibc_glibc exif ffmpeg firefox-bookmarks flac gif gsf gstreamer -gtk iptc +iso +jpeg libav +miner-fs mp3 nautilus networkmanager pdf playlist -rss seccomp stemmer test thunderbird +tiff upnp-av upower +vorbis +xml xmp xps" +IUSE="cue elibc_glibc exif ffmpeg firefox-bookmarks flac gif gsf gstreamer gtk iptc +iso +jpeg libav +miner-fs mp3 networkmanager pdf playlist rss seccomp stemmer test thunderbird +tiff upnp-av upower +vorbis +xml xmp xps" KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86" @@ -90,6 +88,7 @@ DEPEND="${RDEPEND} ${PYTHON_DEPS} $(vala_depend) dev-util/gdbus-codegen + dev-util/glib-utils >=dev-util/gtk-doc-am-1.8 >=dev-util/intltool-0.40.0 >=sys-devel/gettext-0.17 @@ -98,7 +97,6 @@ DEPEND="${RDEPEND} >=dev-libs/dbus-glib-0.82-r1 >=sys-apps/dbus-1.3.1[X] ) " -PDEPEND="nautilus? ( ~gnome-extra/nautilus-tracker-tags-${PV} )" function inotify_enabled() { if linux_config_exists; then @@ -150,7 +148,6 @@ src_configure() { # unicode-support: libunistring, libicu or glib ? # According to NEWS, introspection is required # is not being generated - # nautilus extension is in a separate package, nautilus-tracker-tags # miner-evolution disabled as it's incompatible with current eds gnome2_src_configure \ --disable-hal \ diff --git a/app-misc/tracker/tracker-2.1.7-r1.ebuild b/app-misc/tracker/tracker-2.1.7-r1.ebuild new file mode 100644 index 000000000000..c9232427a4bc --- /dev/null +++ b/app-misc/tracker/tracker-2.1.7-r1.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python3_{4,5,6,7} ) + +inherit bash-completion-r1 eapi7-ver gnome.org linux-info meson python-any-r1 systemd vala xdg + +DESCRIPTION="A tagging metadata database, search tool and indexer" +HOMEPAGE="https://wiki.gnome.org/Projects/Tracker" + +LICENSE="GPL-2+ LGPL-2.1+" +SLOT="0/2.0" +IUSE="gtk-doc +miners networkmanager stemmer" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" + +PV_SERIES=$(ver_cut 1-2) + +# In 2.2.0 util-linux should only be necessary if glib is older than 2.52 at compile-time +RDEPEND=" + >=dev-libs/glib-2.46:2 + >=sys-apps/dbus-1.3.2 + >=dev-libs/gobject-introspection-1.54:= + >=dev-libs/icu-4.8.1.2:= + >=dev-libs/json-glib-1.0 + >=net-libs/libsoup-2.40.1:2.4 + >=dev-libs/libxml2-2.7 + >=dev-db/sqlite-3.20.0 + networkmanager? ( >=net-misc/networkmanager-0.8 ) + stemmer? ( dev-libs/snowball-stemmer ) + sys-apps/util-linux +" +DEPEND="${RDEPEND} + dev-util/glib-utils + >=dev-util/intltool-0.40.0 + $(vala_depend) + gtk-doc? ( >=dev-util/gtk-doc-1.8 + app-text/docbook-xml-dtd:4.1.2 ) + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig + ${PYTHON_DEPS} +" # g-ir-merge needs py3; functional tests need py2, so disabled for now due to mixup +# intltool-merge manually called in meson.build in 2.1.7; properly gone by 2.2.0 +RDEPEND="${RDEPEND} + miners? ( >=app-misc/tracker-miners-${PV_SERIES} ) +" + +PATCHES=( + "${FILESDIR}"/${PV}-doc-options.patch # https://gitlab.gnome.org/GNOME/tracker/merge_requests/58 + "${FILESDIR}"/${PV}-test-fix.patch # https://gitlab.gnome.org/GNOME/tracker/merge_requests/59 + "${FILESDIR}"/${PV}-prevent-stack-smashing.patch + "${FILESDIR}"/${PV}-glib-2.60-compat.patch + "${FILESDIR}"/${PV}-fix-library-symlinks.patch + "${FILESDIR}"/${PV}-upgrade-path-fix.patch +) + +function inotify_enabled() { + if linux_config_exists; then + if ! linux_chkconfig_present INOTIFY_USER; then + ewarn "You should enable the INOTIFY support in your kernel." + ewarn "Check the 'Inotify support for userland' under the 'File systems'" + ewarn "option. It is marked as CONFIG_INOTIFY_USER in the config" + die 'missing CONFIG_INOTIFY' + fi + else + einfo "Could not check for INOTIFY support in your kernel." + fi +} + +pkg_setup() { + linux-info_pkg_setup + inotify_enabled + + python-any-r1_pkg_setup +} + +src_prepare() { + xdg_src_prepare + vala_src_prepare +} + +src_configure() { + local emesonargs=( + -Dfts=true + -Dfunctional_tests=false # python2, but g-ir-merge needs py3; https://gitlab.gnome.org/GNOME/tracker/merge_requests/40 + $(meson_use gtk-doc) + -Dman=true + -Dnetwork_manager=$(usex networkmanager yes no) + -Dstemmer=$(usex stemmer yes no) + -Dunicode_support=icu + -Dbash_completion="$(get_bashcompdir)" + -Dsystemd_user_services="$(systemd_get_userunitdir)" + ) + meson_src_configure +} + +src_test() { + dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed' +} |