From 7b692afdf1117b5e9a12900c920ef7f192ed77de Mon Sep 17 00:00:00 2001 From: marcus Date: Thu, 8 Jul 2004 21:19:17 +0000 Subject: Fix a BIG bug where the GConf schemas wouldn't acually apply at install time. A 2.7.3.1 is being rolled to correct this, but this is so bad, I figured we should have a fix in our tree ASAP. We can all blame mezz for the impact of this bug. The only real solution is for all devel users to do a portupgrade -rf gconf2. Relax, mezz, I was just kidding about blaming you :-). I'm serious about the portupgrade, though. git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@2466 df743ca5-7f9a-e211-a948-0013205c9059 --- devel/gconf2/Makefile | 1 + devel/gconf2/files/patch-gconf_gconftool.c | 89 ++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 devel/gconf2/files/patch-gconf_gconftool.c (limited to 'devel/gconf2') diff --git a/devel/gconf2/Makefile b/devel/gconf2/Makefile index 246b158c0..3597b6cd2 100644 --- a/devel/gconf2/Makefile +++ b/devel/gconf2/Makefile @@ -7,6 +7,7 @@ PORTNAME= gconf2 PORTVERSION= 2.7.3 +PORTREVISION= 1 CATEGORIES= devel gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/GConf/2.7 diff --git a/devel/gconf2/files/patch-gconf_gconftool.c b/devel/gconf2/files/patch-gconf_gconftool.c new file mode 100644 index 000000000..c7ea143f7 --- /dev/null +++ b/devel/gconf2/files/patch-gconf_gconftool.c @@ -0,0 +1,89 @@ +--- gconf/gconftool.c.orig Thu Jul 8 17:10:37 2004 ++++ gconf/gconftool.c Thu Jul 8 17:15:05 2004 +@@ -460,8 +460,7 @@ + + static int do_break_key(GConfEngine* conf, const gchar** args); + static int do_break_directory(GConfEngine* conf, const gchar** args); +-static int do_makefile_install(GConfEngine* conf, const gchar** args); +-static int do_makefile_uninstall(GConfEngine* conf, const gchar** args); ++static int do_makefile_install(GConfEngine* conf, const gchar** args, gboolean unload); + static int do_recursive_list(GConfEngine* conf, const gchar** args); + static int do_dump_values(GConfEngine* conf, const gchar** args); + static int do_all_pairs(GConfEngine* conf, const gchar** args); +@@ -888,7 +887,7 @@ + if (makefile_install_mode) + { + const gchar** args = poptGetArgs(ctx); +- gint retval = do_makefile_install (conf, args); ++ gint retval = do_makefile_install (conf, args, FALSE); + + gconf_engine_unref (conf); + +@@ -898,7 +897,7 @@ + if (makefile_uninstall_mode) + { + const gchar** args = poptGetArgs(ctx); +- gint retval = do_makefile_uninstall (conf, args); ++ gint retval = do_makefile_uninstall (conf, args, TRUE); + + gconf_engine_unref (conf); + +@@ -3381,7 +3380,7 @@ + { + GError* error = NULL; + +- if (!gconf_engine_associate_schema(conf, tmp->data, unload ? schema_name : NULL, &error)) ++ if (!gconf_engine_associate_schema(conf, tmp->data, !unload ? schema_name : NULL, &error)) + { + g_assert(error != NULL); + +@@ -3708,7 +3707,7 @@ + } + + static int +-do_makefile_install(GConfEngine* conf, const gchar** args) ++do_makefile_install(GConfEngine* conf, const gchar** args, gboolean unload) + { + GError* err = NULL; + +@@ -3720,39 +3719,7 @@ + + while (*args) + { +- if (do_load_file(conf, LOAD_SCHEMA_FILE, FALSE, *args, NULL) != 0) +- return 1; +- +- ++args; +- } +- +- gconf_engine_suggest_sync(conf, &err); +- +- if (err != NULL) +- { +- g_printerr (_("Error syncing config data: %s"), +- err->message); +- g_error_free(err); +- return 1; +- } +- +- return 0; +-} +- +-static int +-do_makefile_uninstall(GConfEngine* conf, const gchar** args) +-{ +- GError* err = NULL; +- +- if (args == NULL) +- { +- g_printerr (_("Must specify some schema files to uninstall\n")); +- return 1; +- } +- +- while (*args) +- { +- if (do_load_file(conf, LOAD_SCHEMA_FILE, TRUE, *args, NULL) != 0) ++ if (do_load_file(conf, LOAD_SCHEMA_FILE, unload, *args, NULL) != 0) + return 1; + + ++args; -- cgit v1.2.3