commit:     fe6bac8296ebbf1da3f8bdb366f47ed4229fa163
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 15 14:13:09 2019 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Fri Feb 15 14:14:28 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fe6bac82

app-misc/tracker: fix database upgrade from tracker-1

Without the added patch tracker-store actually fails to upgrade
the database from tracker-1 times to tracker-2 and exits, thus
for users that had used tracker-1 already tracker-2 wouldn't
actually work at all. This patch fixes it for me at least.
This might only be a problem when upgrading from tracker-1 only
now, while having sqlite at v3.25 or newer, but this will be the
case for only main tree users.

Bug: https://bugs.gentoo.org/672308
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 .../tracker/files/2.1.7-upgrade-path-fix.patch     | 33 ++++++++++++++++++++++
 ...racker-2.1.7.ebuild => tracker-2.1.7-r1.ebuild} |  1 +
 2 files changed, 34 insertions(+)

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 00000000000..a1fa32738d8
--- /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 <carl...@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/tracker-2.1.7.ebuild 
b/app-misc/tracker/tracker-2.1.7-r1.ebuild
similarity index 98%
rename from app-misc/tracker/tracker-2.1.7.ebuild
rename to app-misc/tracker/tracker-2.1.7-r1.ebuild
index 24923cfd409..c9232427a4b 100644
--- a/app-misc/tracker/tracker-2.1.7.ebuild
+++ b/app-misc/tracker/tracker-2.1.7-r1.ebuild
@@ -52,6 +52,7 @@ PATCHES=(
        "${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() {

Reply via email to