app-misc/tracker: fix database upgrade from tracker-1
authorMart Raudsepp <leio@gentoo.org>
Fri, 15 Feb 2019 14:13:09 +0000 (16:13 +0200)
committerMart Raudsepp <leio@gentoo.org>
Fri, 15 Feb 2019 14:14:28 +0000 (16:14 +0200)
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@gentoo.org>
app-misc/tracker/files/2.1.7-upgrade-path-fix.patch [new file with mode: 0644]
app-misc/tracker/tracker-2.1.7-r1.ebuild [moved from app-misc/tracker/tracker-2.1.7.ebuild with 98% similarity]

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 (file)
index 0000000..a1fa327
--- /dev/null
@@ -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
+
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 24923cfd4090ba9364d4be4a72a9107cd09eccd0..c9232427a4bcdbeda24ae1cc819b3153c7ed271c 100644 (file)
@@ -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() {