From 9a453412c7ab61fbaa4ff75808ebc229684cb830 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 15 Apr 2013 10:25:59 -0400 Subject: [PATCH] Make gconftool-2 --makefile-install-rule force a config reload -HUP --- GConf2.spec | 5 ++- macros.gconf2 | 1 + workaround-crash.patch | 83 +++++++++--------------------------------- 3 files changed, 22 insertions(+), 67 deletions(-) diff --git a/GConf2.spec b/GConf2.spec index 537102d..735ea0f 100644 --- a/GConf2.spec +++ b/GConf2.spec @@ -6,7 +6,7 @@ Summary: A process-transparent configuration system Name: GConf2 Version: 3.2.6 -Release: 3%{?dist} +Release: 4%{?dist} License: LGPLv2+ and GPLv2+ Group: System Environment/Base #VCS: git:git://git.gnome.org/gconf @@ -152,6 +152,9 @@ fi %doc %{_mandir}/man1/gsettings-schema-convert.1* %changelog +* Mon Apr 15 2013 Ray Strode 3.2.6-4 +- Make pkill -HUP -f gconfd-2 work again + * Fri Apr 12 2013 Ray Strode 3.2.6-3 - Update GConf upgrade macros (Patch from Michael Schwendt) Resolves: #920615 diff --git a/macros.gconf2 b/macros.gconf2 index 928ec70..84f225e 100644 --- a/macros.gconf2 +++ b/macros.gconf2 @@ -82,5 +82,6 @@ for schema in %{*} ; do \ export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` \ gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/"$schema".schemas > /dev/null || : \ fi \ + pkill -HUP -f gconfd-2 || : \ done \ %{nil} diff --git a/workaround-crash.patch b/workaround-crash.patch index f57f2fc..50ce7a2 100644 --- a/workaround-crash.patch +++ b/workaround-crash.patch @@ -1,37 +1,10 @@ -diff -up GConf-3.2.5/gconf/gconfd.c.workaround-crash GConf-3.2.5/gconf/gconfd.c ---- GConf-3.2.5/gconf/gconfd.c.workaround-crash 2012-03-07 13:08:55.000000000 -0500 -+++ GConf-3.2.5/gconf/gconfd.c 2012-09-24 10:04:22.604652720 -0400 -@@ -1053,63 +1053,6 @@ static GSList* main_loops = NULL; - static guint timeout_id = 0; - static gboolean need_log_cleanup = FALSE; +diff -up GConf-3.2.6/gconf/gconfd.c.workaround-crash GConf-3.2.6/gconf/gconfd.c +--- GConf-3.2.6/gconf/gconfd.c.workaround-crash 2013-04-15 10:12:54.480753142 -0400 ++++ GConf-3.2.6/gconf/gconfd.c 2013-04-15 10:12:53.457736847 -0400 +@@ -1076,17 +1076,6 @@ periodic_cleanup_timeout(gpointer data) + #endif + drop_old_databases (); --static gboolean --periodic_cleanup_timeout(gpointer data) --{ -- if (need_db_reload) -- { -- gconf_log (GCL_INFO, _("SIGHUP received, reloading all databases")); -- -- need_db_reload = FALSE; --#ifdef HAVE_CORBA -- logfile_save (); -- shutdown_databases (); -- init_databases (); -- gconf_server_load_sources (); -- logfile_read (); --#endif --#ifdef HAVE_DBUS -- reload_databases (); --#endif -- } -- -- gconf_log (GCL_DEBUG, "Performing periodic cleanup, expiring cache cruft"); -- --#ifdef HAVE_CORBA -- drop_old_clients (); --#endif -- drop_old_databases (); -- -#ifdef HAVE_DBUS - if (no_databases_in_use () && gconfd_dbus_client_count () == 0) -#else @@ -43,44 +16,22 @@ diff -up GConf-3.2.5/gconf/gconfd.c.workaround-crash GConf-3.2.5/gconf/gconfd.c - return FALSE; - } - -- /* expire old locale cache entries */ -- gconfd_locale_cache_expire (); -- --#ifdef HAVE_CORBA -- if (!need_log_cleanup) -- { -- gconf_log (GCL_DEBUG, "No log file saving needed in periodic cleanup handler"); -- return TRUE; -- } -- -- /* Compress the running state file */ -- logfile_save (); --#endif -- -- need_log_cleanup = FALSE; -- -- return TRUE; --} + /* expire old locale cache entries */ + gconfd_locale_cache_expire (); + +@@ -1105,7 +1094,6 @@ periodic_cleanup_timeout(gpointer data) + + return TRUE; + } - void gconfd_need_log_cleanup (void) { -@@ -1123,26 +1066,14 @@ gconf_main(void) - - loop = g_main_loop_new (NULL, TRUE); - -- if (main_loops == NULL) -- { -- gulong timeout_len = 60*0.5; /* 60 s/min * .5 min */ -- -- g_assert(timeout_id == 0); -- timeout_id = g_timeout_add_seconds (timeout_len, -- periodic_cleanup_timeout, -- NULL); -- -- } -- +@@ -1131,14 +1119,14 @@ gconf_main(void) + } + main_loops = g_slist_prepend(main_loops, loop); ++ main_loops = g_slist_prepend(main_loops, loop); g_main_loop_run (loop);