[GConf2] Make gconftool-2 --makefile-install-rule force a config reload -HUP
Ray Strode
rstrode at fedoraproject.org
Mon Apr 15 14:27:07 UTC 2013
commit 9a453412c7ab61fbaa4ff75808ebc229684cb830
Author: Ray Strode <rstrode at redhat.com>
Date: Mon Apr 15 10:25:59 2013 -0400
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 <rstrode at redhat.com> 3.2.6-4
+- Make pkill -HUP -f gconfd-2 work again
+
* Fri Apr 12 2013 Ray Strode <rstrode at redhat.com> 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);
More information about the scm-commits
mailing list