diff options
author | Jean-Yves Lefort <jylefort@FreeBSD.org> | 2006-05-05 11:01:31 +0000 |
---|---|---|
committer | Jean-Yves Lefort <jylefort@FreeBSD.org> | 2006-05-05 11:01:31 +0000 |
commit | 4b5f69390456fa969c33e75aa6f98fa0efe96e44 (patch) | |
tree | 9c7f68d4b4092ff635d191365a9d889df868684c /devel/gconf2 | |
parent | c460cf67302db885fd3849e81e031813b0c63e2e (diff) | |
download | ports-4b5f69390456fa969c33e75aa6f98fa0efe96e44.tar.gz ports-4b5f69390456fa969c33e75aa6f98fa0efe96e44.zip |
Notes
Diffstat (limited to 'devel/gconf2')
-rw-r--r-- | devel/gconf2/Makefile | 1 | ||||
-rw-r--r-- | devel/gconf2/files/patch-gconf_gconfd.c | 64 | ||||
-rw-r--r-- | devel/gconf2/files/patch-gconf_gconftool.c | 28 |
3 files changed, 93 insertions, 0 deletions
diff --git a/devel/gconf2/Makefile b/devel/gconf2/Makefile index f1c3969a5219..d83e2c0c2e63 100644 --- a/devel/gconf2/Makefile +++ b/devel/gconf2/Makefile @@ -8,6 +8,7 @@ PORTNAME= gconf2 PORTVERSION= 2.14.0 +PORTREVISION= 1 CATEGORIES= devel gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/GConf/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/} diff --git a/devel/gconf2/files/patch-gconf_gconfd.c b/devel/gconf2/files/patch-gconf_gconfd.c new file mode 100644 index 000000000000..ef551cb28e81 --- /dev/null +++ b/devel/gconf2/files/patch-gconf_gconfd.c @@ -0,0 +1,64 @@ +--- gconf/gconfd.c.orig Fri May 5 12:40:23 2006 ++++ gconf/gconfd.c Fri May 5 12:41:43 2006 +@@ -124,12 +124,6 @@ + + static gboolean in_shutdown = FALSE; + +-/* +- * Flag indicating we received a SIGHUP and we should reaload +- * all sources during the next periodic_cleanup() +- */ +-static gboolean need_db_reload = FALSE; +- + /* + * CORBA goo + */ +@@ -410,6 +404,18 @@ + } + + static void ++reload_db (void) ++{ ++ gconf_log (GCL_INFO, _("SIGHUP received, reloading all databases")); ++ ++ logfile_save (); ++ shutdown_databases (); ++ init_databases (); ++ gconf_server_load_sources (); ++ logfile_read (); ++} ++ ++static void + signal_handler (int signo) + { + static gint in_fatal = 0; +@@ -482,8 +488,8 @@ + case SIGHUP: + --in_fatal; + +- /* reload sources during next periodic_cleanup() */ +- need_db_reload = TRUE; ++ /* reload sources immediately */ ++ reload_db (); + break; + #endif + +@@ -864,18 +870,6 @@ + static gboolean + periodic_cleanup_timeout(gpointer data) + { +- if (need_db_reload) +- { +- gconf_log (GCL_INFO, _("SIGHUP received, reloading all databases")); +- +- need_db_reload = FALSE; +- logfile_save (); +- shutdown_databases (); +- init_databases (); +- gconf_server_load_sources (); +- logfile_read (); +- } +- + gconf_log (GCL_DEBUG, "Performing periodic cleanup, expiring cache cruft"); + + drop_old_clients (); diff --git a/devel/gconf2/files/patch-gconf_gconftool.c b/devel/gconf2/files/patch-gconf_gconftool.c new file mode 100644 index 000000000000..c47e5e426927 --- /dev/null +++ b/devel/gconf2/files/patch-gconf_gconftool.c @@ -0,0 +1,28 @@ +--- gconf/gconftool.c.orig Fri May 5 12:36:01 2006 ++++ gconf/gconftool.c Fri May 5 12:39:29 2006 +@@ -3724,6 +3724,8 @@ + static int + do_makefile_install(GConfEngine* conf, const gchar** args, gboolean unload) + { ++ int sync_result; ++ + if (args == NULL) + { + g_printerr (_("Must specify some schema files to install\n")); +@@ -3738,7 +3740,15 @@ + ++args; + } + +- return do_sync (conf); ++ sync_result = do_sync (conf); ++ ++ /* ++ * Send all the gconfd-2 processes a SIGHUP so that they reload the ++ * databases and pick up the added/removed schemas. ++ */ ++ system("/usr/bin/killall -SIGHUP gconfd-2 >/dev/null 2>&1"); ++ ++ return sync_result; + } + + typedef enum { |