rpms/tracker/devel tracker-post_0.6.4_fixes.patch, NONE, 1.1 tracker.spec, 1.25, 1.26

Deji Akingunola (deji) fedora-extras-commits at redhat.com
Sat Dec 15 03:54:29 UTC 2007


Author: deji

Update of /cvs/extras/rpms/tracker/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv14159

Modified Files:
	tracker.spec 
Added Files:
	tracker-post_0.6.4_fixes.patch 
Log Message:
* Fri Dec 14 2007 Deji Akingunola <dakingun at gmail.com> - 0.6.4-2
- Backport crasher fixes from upstream svn trunk


tracker-post_0.6.4_fixes.patch:

--- NEW FILE tracker-post_0.6.4_fixes.patch ---
#Fix crasher where index name is null during merging and fixed invalid log file
--- src/trackerd/trackerd.c	2007/12/11 02:57:07	1070
+++ src/trackerd/trackerd.c	2007/12/11 18:25:27	1074
@@ -2486,12 +2486,6 @@
 
  	tracker->is_running = FALSE;
 
-	tracker->log_file = g_build_filename (tracker->root_dir, "tracker.log", NULL);
-
-	tracker->dbus_con = tracker_dbus_init ();
-	
-	add_local_dbus_connection_monitoring (tracker->dbus_con);
-
 	/* Make a temporary directory for Tracker into g_get_tmp_dir() directory */
 	gchar *tmp_dir;
 
@@ -2505,6 +2499,18 @@
 	tracker->config_dir = g_strdup (g_get_user_config_dir ());
 	tracker->user_data_dir = g_build_filename (tracker->root_dir, "data", NULL);
 
+	tracker->log_file = g_build_filename (tracker->root_dir, "tracker.log", NULL);
+
+	/* reset log file */
+	tracker_unlink (tracker->log_file);
+
+	tracker_log ("starting log");
+
+	tracker->dbus_con = tracker_dbus_init ();
+	
+	add_local_dbus_connection_monitoring (tracker->dbus_con);
+
+
 	g_free (tmp_dir);
 
 	/* remove an existing one */
@@ -2636,9 +2642,7 @@
 	ioprio ();
 #endif
 
-	/* reset log file */
-	tracker_unlink (tracker->log_file);
-
+	
 	/* deal with config options with defaults, config file and option params */
 	set_defaults ();

--- src/trackerd/tracker-indexer.c	2007/12/10 23:37:31	1068
+++ src/trackerd/tracker-indexer.c	2007/12/11 21:16:02	1076
@@ -215,7 +215,7 @@
 	}
 
 	if (!word_index) {
-		tracker_log ("%s index was not closed properly and caused error %s- attempting repair", name, dperrmsg (dpecode));
+		tracker_error ("%s index was not closed properly and caused error %s- attempting repair", name, dperrmsg (dpecode));
 		if (dprepair (name)) {
 			word_index = dpopen (name, DP_OWRITER | DP_OCREAT | DP_ONOLCK, tracker->min_index_bucket_count);
 		} else {
@@ -228,6 +228,16 @@
 }
 
 
+static inline char *
+get_index_file (const char *name)
+{
+	char *word_dir;
+
+	word_dir = g_build_filename (tracker->data_dir, name, NULL);
+
+	return word_dir;
+}
+
 Indexer *
 tracker_indexer_open (const gchar *name)
 {
@@ -237,7 +247,7 @@
 
 	if (!name) return NULL;
 
-	word_dir = g_build_filename (tracker->data_dir, name, NULL);
+	word_dir = get_index_file (name);
 
 	word_index = open_index (word_dir);
 	
@@ -504,7 +514,7 @@
 }
 
 static void
-move_index (Indexer *src_index, Indexer *dest_index)
+move_index (Indexer *src_index, Indexer *dest_index, const char *fname)
 {
 
 	if (!src_index || !dest_index) {
@@ -515,8 +525,6 @@
 	/* remove existing main index */
 	g_mutex_lock (dest_index->word_mutex);
 
-	char *fname = dpname (dest_index->word_index);
-
 	dpclose (dest_index->word_index);
 
 	dpremove (fname);
@@ -526,7 +534,9 @@
 	tracker_indexer_close (src_index);
 		
 	/* rename and reopen final index as main index */
-			
+		
+	tracker_log ("renaming %s to %s", final_name, fname);
+	
 	rename (final_name, fname);
 
 	dest_index->word_index = open_index (fname);	
@@ -535,7 +545,6 @@
 		tracker_error ("index creation failure for %s from %s", fname, final_name);
 	}
 
-	g_free (fname);
 	g_free (final_name);		
 
 	g_mutex_unlock (dest_index->word_mutex);
@@ -556,7 +565,7 @@
 	if (type == INDEX_TYPE_FILES) {
 
 		g_return_if_fail (tracker->file_index);
-
+		
 		prefix = "file-index.tmp.";
 
 		index_list = g_slist_prepend (index_list, tracker->file_index);
@@ -571,7 +580,7 @@
 		prefix = "email-index.tmp.";
 
 		g_return_if_fail (tracker->email_index);
-
+		
 		index_list = g_slist_prepend (index_list, tracker->email_index);
 
 		char *tmp = g_build_filename (tracker->data_dir, "email-index-final", NULL);
@@ -748,6 +757,9 @@
 			g_free (str);
 		}
 
+
+		
+
 		/* dont free last entry as that is the main index */
 		if (lst->next) {
 
@@ -757,7 +769,17 @@
 
 
 		} else {
-			move_index (final_index, index);
+			if (type == INDEX_TYPE_FILES) {
+
+				char *fname = get_index_file ("file-index.db");
+				move_index (final_index, tracker->file_index, fname);	
+				g_free (fname);
+
+			} else {
+				char *fname = get_index_file ("email-index.db");
+				move_index (final_index, tracker->email_index, fname);
+				g_free (fname);
+			}
 		}		
 	}
 	 


Index: tracker.spec
===================================================================
RCS file: /cvs/extras/rpms/tracker/devel/tracker.spec,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- tracker.spec	11 Dec 2007 19:58:25 -0000	1.25
+++ tracker.spec	15 Dec 2007 03:53:53 -0000	1.26
@@ -1,11 +1,12 @@
 Summary:	An object database, tag/metadata database, search tool and indexer
 Name:		tracker
 Version:	0.6.4
-Release:	1%{?dist}
+Release:	2%{?dist}
 License:	GPLv2+
 Group:		Applications/System
 URL:		http://www.gnome.org/~jamiemcc/tracker/
 Source0:	http://www.gnome.org/~jamiemcc/tracker/%{name}-%{version}.tar.bz2
+Patch0:		tracker-post_0.6.4_fixes.patch
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires:	gmime-devel, poppler-devel, gettext
 BuildRequires:	gnome-desktop-devel, gamin-devel, libnotify-devel
@@ -50,6 +51,8 @@
 
 %prep
 %setup -q
+%patch0 -p0 -b .fix
+
 %define deskbar_applet_ver %(pkg-config --modversion deskbar-applet)
 %if "%deskbar_applet_ver" >= "2.19.4"
  %define deskbar_applet_dir %(pkg-config --variable modulesdir deskbar-applet)
@@ -72,10 +75,6 @@
 rm -rf %{buildroot}
 make DESTDIR=%{buildroot} install
 
-# Add an autostart for trackerd (for KDE)
-#mkdir -p %{buildroot}%{_datadir}/autostart
-#cp -pr trackerd.desktop %{buildroot}%{_datadir}/autostart/
-
 desktop-file-install --delete-original			\
 	--vendor="fedora"				\
 	--dir=%{buildroot}%{_datadir}/applications	\
@@ -134,10 +133,12 @@
 %{deskbar_applet_dir}/tracker*.py*
 %{_datadir}/icons/*/*/apps/tracker.*
 %{_datadir}/applications/*.desktop
-#%{_datadir}/autostart/*.desktop
 %{_sysconfdir}/xdg/autostart/tracker-applet.desktop
 
 %changelog
+* Fri Dec 14 2007 Deji Akingunola <dakingun at gmail.com> - 0.6.4-2
+- Backport crasher fixes from upstream svn trunk
+
 * Mon Dec 11 2007 Deji Akingunola <dakingun at gmail.com> - 0.6.4-1
 - Version 0.6.4
 




More information about the fedora-extras-commits mailing list