summaryrefslogtreecommitdiff
path: root/devel/GConf2
diff options
context:
space:
mode:
authorjmmv <jmmv@pkgsrc.org>2003-12-14 19:44:38 +0000
committerjmmv <jmmv@pkgsrc.org>2003-12-14 19:44:38 +0000
commit1f59b2ab218ac238e618d9f3097139415267517e (patch)
tree2e87b8006bb2a51ada3713ee25a6a9574ddea9e9 /devel/GConf2
parent39baefe344a857ec81a1aa8fe07087371fea3299 (diff)
downloadpkgsrc-1f59b2ab218ac238e618d9f3097139415267517e.tar.gz
Update to 2.4.0.1, from PR pkg/23697 by Min Sik Kim.
2.4.0 - print usage message when no options passed to gconftool - API docs updates - fix UTF-8 handling for command line output - fix reliability of writing out XML - ensure recursive unsets get synced - fix flag value that was "0" - fix recursive preloading - fix a memleak - fix some gconftool messages/segfaults 2.3.3 - new gconf_client_notify() API to fake a notification - fixes to gconftool --dump feature - implement schema uninstallation in gconftool so packages can avoid leaving junk - fix build issues with linc-free ORBit - new gconf_client_recursive_unset API - fix gcc 3.3 strict aliasing warnings 2.3.2 - fix build on Cygwin - don't complain about missing saved_state in syslog - improve gconf-sanity-check error text - added --get-type, --get-list-size and --get-list-element - exported gconf_entry_copy - cleaned up headers for C++ - added missing GCONF_CLIENT_GET_CLASS - hackaround fix for 2.3.1 lockfile breakage
Diffstat (limited to 'devel/GConf2')
-rw-r--r--devel/GConf2/Makefile4
-rw-r--r--devel/GConf2/Makefile.common8
-rw-r--r--devel/GConf2/PLIST45
-rw-r--r--devel/GConf2/buildlink2.mk15
-rw-r--r--devel/GConf2/distinfo11
-rw-r--r--devel/GConf2/files/deinstall.tmpl4
-rw-r--r--devel/GConf2/patches/patch-aa16
-rw-r--r--devel/GConf2/patches/patch-ac28
-rw-r--r--devel/GConf2/patches/patch-ae306
9 files changed, 52 insertions, 385 deletions
diff --git a/devel/GConf2/Makefile b/devel/GConf2/Makefile
index 976d282fc11..ac83beff388 100644
--- a/devel/GConf2/Makefile
+++ b/devel/GConf2/Makefile
@@ -1,10 +1,9 @@
-# $NetBSD: Makefile,v 1.18 2003/12/04 19:48:24 xtraeme Exp $
+# $NetBSD: Makefile,v 1.19 2003/12/14 19:44:38 jmmv Exp $
#
.include "../../devel/GConf2/Makefile.common"
PKGNAME= ${DISTNAME:S/GConf/GConf2/}
-PKGREVISION= 4
USE_PKGINSTALL= YES
@@ -27,7 +26,6 @@ post-install:
.include "../../devel/glib2/buildlink2.mk"
.include "../../devel/popt/buildlink2.mk"
.include "../../net/ORBit2/buildlink2.mk"
-.include "../../net/linc/buildlink2.mk"
.include "../../textproc/libxml2/buildlink2.mk"
.include "../../textproc/xmlcatmgr/buildlink2.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/devel/GConf2/Makefile.common b/devel/GConf2/Makefile.common
index aac24a1f201..2096f892ad5 100644
--- a/devel/GConf2/Makefile.common
+++ b/devel/GConf2/Makefile.common
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile.common,v 1.7 2003/12/09 00:54:29 reed Exp $
+# $NetBSD: Makefile.common,v 1.8 2003/12/14 19:44:38 jmmv Exp $
#
-DISTNAME= GConf-2.2.0
+DISTNAME= GConf-2.4.0.1
CATEGORIES= devel gnome
-MASTER_SITES= ${MASTER_SITE_GNOME:=sources/GConf/2.2/}
+MASTER_SITES= ${MASTER_SITE_GNOME:=sources/GConf/2.4/}
EXTRACT_SUFX= .tar.bz2
MAINTAINER= jmmv@NetBSD.org
@@ -30,5 +30,5 @@ PKG_SYSCONFSUBDIR= gconf
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
CONFIGURE_ARGS+= --with-html-dir=${PREFIX}/share/doc/html
-CONFIGURE_ARGS+= --enable-gtk-doc=no
+CONFIGURE_ARGS+= --disable-gtk-doc
CONFIGURE_ARGS+= --enable-gconf-source=xml::${PKG_SYSCONFDIR}/gconf.xml.defaults
diff --git a/devel/GConf2/PLIST b/devel/GConf2/PLIST
index b3e46aebad5..2db66285667 100644
--- a/devel/GConf2/PLIST
+++ b/devel/GConf2/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.10 2003/02/24 17:19:35 jmmv Exp $
+@comment $NetBSD: PLIST,v 1.11 2003/12/14 19:44:38 jmmv Exp $
bin/gconftool-2
include/gconf/2/gconf/gconf-changeset.h
include/gconf/2/gconf/gconf-client.h
@@ -20,57 +20,36 @@ lib/libgconf-2.so.5.0
lib/pkgconfig/gconf-2.0.pc
libexec/gconfd-2
share/aclocal/gconf-2.m4
-share/doc/html/gconf/c120.html
-share/doc/html/gconf/c21.html
-share/doc/html/gconf/c381.html
-share/doc/html/gconf/c490.html
-share/doc/html/gconf/conventions.html
-share/doc/html/gconf/gconf-client-reference.html
-share/doc/html/gconf/gconf-client.html
-share/doc/html/gconf/gconf-gconf-backend.html
-share/doc/html/gconf/gconf-gconf-changeset.html
-share/doc/html/gconf/gconf-gconf-engine.html
-share/doc/html/gconf/gconf-gconf-error.html
-share/doc/html/gconf/gconf-gconf-internals.html
-share/doc/html/gconf/gconf-gconf-listeners.html
-share/doc/html/gconf/gconf-gconf-locale.html
-share/doc/html/gconf/gconf-gconf-schema.html
-share/doc/html/gconf/gconf-gconf-sources.html
-share/doc/html/gconf/gconf-gconf-value.html
-share/doc/html/gconf/gconf-gconf.html
-share/doc/html/gconf/gconf-internals-reference.html
-share/doc/html/gconf/gconf-reference.html
-share/doc/html/gconf/gconfclient.html
-share/doc/html/gconf/gconftool.html
-share/doc/html/gconf/index.html
-share/doc/html/gconf/index.sgml
-share/doc/html/gconf/x184.html
-share/doc/html/gconf/x236.html
-share/doc/html/gconf/x289.html
-share/doc/html/gconf/x42.html
-share/doc/html/gconf/x462.html
-share/doc/html/gconf/x485.html
share/examples/GConf2/path
+${PKGLOCALEDIR}/locale/am/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/ar/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/az/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/be/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/bg/LC_MESSAGES/GConf2.mo
+${PKGLOCALEDIR}/locale/bn/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/ca/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/cs/LC_MESSAGES/GConf2.mo
+${PKGLOCALEDIR}/locale/cy/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/da/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/de/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/el/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/es/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/eu/LC_MESSAGES/GConf2.mo
+${PKGLOCALEDIR}/locale/fa/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/fi/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/fr/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/ga/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/gl/LC_MESSAGES/GConf2.mo
+${PKGLOCALEDIR}/locale/hi/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/hu/LC_MESSAGES/GConf2.mo
+${PKGLOCALEDIR}/locale/id/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/it/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/ja/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/ko/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/lv/LC_MESSAGES/GConf2.mo
+${PKGLOCALEDIR}/locale/mk/LC_MESSAGES/GConf2.mo
+${PKGLOCALEDIR}/locale/ml/LC_MESSAGES/GConf2.mo
+${PKGLOCALEDIR}/locale/mn/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/ms/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/nl/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/nn/LC_MESSAGES/GConf2.mo
@@ -82,10 +61,14 @@ ${PKGLOCALEDIR}/locale/ro/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/ru/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/sk/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/sl/LC_MESSAGES/GConf2.mo
+${PKGLOCALEDIR}/locale/sq/LC_MESSAGES/GConf2.mo
+${PKGLOCALEDIR}/locale/sr/LC_MESSAGES/GConf2.mo
+${PKGLOCALEDIR}/locale/sr@Latn/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/sv/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/tr/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/uk/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/vi/LC_MESSAGES/GConf2.mo
+${PKGLOCALEDIR}/locale/yi/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/zh_CN/LC_MESSAGES/GConf2.mo
${PKGLOCALEDIR}/locale/zh_TW/LC_MESSAGES/GConf2.mo
share/sgml/gconf/gconf-1.0.dtd
diff --git a/devel/GConf2/buildlink2.mk b/devel/GConf2/buildlink2.mk
index 537a2ad9e48..c809ec5bda1 100644
--- a/devel/GConf2/buildlink2.mk
+++ b/devel/GConf2/buildlink2.mk
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink2.mk,v 1.18 2003/11/12 01:31:47 salo Exp $
+# $NetBSD: buildlink2.mk,v 1.19 2003/12/14 19:44:38 jmmv Exp $
#
# This Makefile fragment is included by packages that use GConf2.
#
@@ -9,20 +9,12 @@
GCONF2_BUILDLINK2_MK= # defined
BUILDLINK_PACKAGES+= GConf2
-BUILDLINK_DEPENDS.GConf2?= GConf2>=2.2.0nb3
+BUILDLINK_DEPENDS.GConf2?= GConf2>=2.4.0.1
BUILDLINK_PKGSRCDIR.GConf2?= ../../devel/GConf2
EVAL_PREFIX+= BUILDLINK_PREFIX.GConf2=GConf2
BUILDLINK_PREFIX.GConf2_DEFAULT= ${LOCALBASE}
-BUILDLINK_FILES.GConf2+= include/gconf/2/gconf/gconf-changeset.h
-BUILDLINK_FILES.GConf2+= include/gconf/2/gconf/gconf-client.h
-BUILDLINK_FILES.GConf2+= include/gconf/2/gconf/gconf-engine.h
-BUILDLINK_FILES.GConf2+= include/gconf/2/gconf/gconf-enum-types.h
-BUILDLINK_FILES.GConf2+= include/gconf/2/gconf/gconf-error.h
-BUILDLINK_FILES.GConf2+= include/gconf/2/gconf/gconf-listeners.h
-BUILDLINK_FILES.GConf2+= include/gconf/2/gconf/gconf-schema.h
-BUILDLINK_FILES.GConf2+= include/gconf/2/gconf/gconf-value.h
-BUILDLINK_FILES.GConf2+= include/gconf/2/gconf/gconf.h
+BUILDLINK_FILES.GConf2+= include/gconf/2/gconf/*
BUILDLINK_FILES.GConf2+= lib/GConf/2/libgconfbackend-xml.*
BUILDLINK_FILES.GConf2+= lib/libgconf-2.*
@@ -30,7 +22,6 @@ BUILDLINK_FILES.GConf2+= lib/libgconf-2.*
.include "../../devel/glib2/buildlink2.mk"
.include "../../devel/popt/buildlink2.mk"
.include "../../net/ORBit2/buildlink2.mk"
-.include "../../net/linc/buildlink2.mk"
.include "../../textproc/libxml2/buildlink2.mk"
BUILDLINK_TARGETS+= GConf2-buildlink
diff --git a/devel/GConf2/distinfo b/devel/GConf2/distinfo
index 808ec5d66e0..efe3f0ec906 100644
--- a/devel/GConf2/distinfo
+++ b/devel/GConf2/distinfo
@@ -1,9 +1,8 @@
-$NetBSD: distinfo,v 1.6 2003/02/14 20:04:07 jmmv Exp $
+$NetBSD: distinfo,v 1.7 2003/12/14 19:44:38 jmmv Exp $
-SHA1 (GConf-2.2.0.tar.bz2) = 498cfd3d4d26b765fe4e54d7bacef01285a37b02
-Size (GConf-2.2.0.tar.bz2) = 1049910 bytes
-SHA1 (patch-aa) = bbafe6158ed1dd45df5c38264a2a34e1536860da
+SHA1 (GConf-2.4.0.1.tar.bz2) = 190ed06d34699976a9a425e9e14d4ccb26220ba8
+Size (GConf-2.4.0.1.tar.bz2) = 1288876 bytes
+SHA1 (patch-aa) = 7bac8f0cc027a135b8bd1f55f5608a0691b13f51
SHA1 (patch-ab) = eb9ffa0ec87fe21b0f754aef019221d619b37b11
-SHA1 (patch-ac) = 32f8bc70f3f384c7c044104520fa412530b90846
+SHA1 (patch-ac) = de42b523072ff5eac020525c2ccb4ce93ed792c6
SHA1 (patch-ad) = 50b0d919768b179d0209c49aee25a7c64ca5b497
-SHA1 (patch-ae) = 158845de022ac4e6a33782658835c8834044e02f
diff --git a/devel/GConf2/files/deinstall.tmpl b/devel/GConf2/files/deinstall.tmpl
index 929f9200330..693cb277dec 100644
--- a/devel/GConf2/files/deinstall.tmpl
+++ b/devel/GConf2/files/deinstall.tmpl
@@ -1,4 +1,4 @@
-# $NetBSD: deinstall.tmpl,v 1.3 2003/06/20 10:49:18 jmmv Exp $
+# $NetBSD: deinstall.tmpl,v 1.4 2003/12/14 19:44:38 jmmv Exp $
#
# Unregister GConf2 schema files from GConf2's database at install time.
#
@@ -12,7 +12,7 @@ case ${STAGE} in
DEINSTALL)
for f in ${GCONF2_SCHEMAS}; do
GCONF_CONFIG_SOURCE="${GCONF2_CONFIG_SOURCE}" \
- ${GCONFTOOL2} --makefile-deinstall-rule \
+ ${GCONFTOOL2} --makefile-uninstall-rule \
${GCONF2_SCHEMAS_DIR}/$f >/dev/null
done
;;
diff --git a/devel/GConf2/patches/patch-aa b/devel/GConf2/patches/patch-aa
index 84c95cb1e1e..c5409917f1f 100644
--- a/devel/GConf2/patches/patch-aa
+++ b/devel/GConf2/patches/patch-aa
@@ -1,11 +1,11 @@
-$NetBSD: patch-aa,v 1.3 2003/02/14 20:04:08 jmmv Exp $
+$NetBSD: patch-aa,v 1.4 2003/12/14 19:44:38 jmmv Exp $
Disable GTK2 support. This is a workaround until bug #102825 gets fixed.
See http://bugzilla.gnome.org/show_bug.cgi?id=102825 for more details.
-
---- configure.orig 2003-01-21 04:29:24.000000000 +0100
-+++ configure 2003-02-13 13:16:42.000000000 +0100
-@@ -8549,6 +8549,7 @@
+
+--- configure.orig 2003-10-25 23:07:14.000000000 +0000
++++ configure 2003-10-25 23:08:46.000000000 +0000
+@@ -18961,6 +18961,7 @@
fi
@@ -13,7 +13,7 @@ See http://bugzilla.gnome.org/show_bug.cgi?id=102825 for more details.
if test "$PKG_CONFIG" = "no" ; then
echo "*** The pkg-config script could not be found. Make sure it is"
echo "*** in your path, or set the PKG_CONFIG environment variable"
-@@ -8592,6 +8593,7 @@
+@@ -19004,6 +19005,7 @@
echo "*** See http://www.freedesktop.org/software/pkgconfig"
fi
fi
@@ -21,7 +21,7 @@ See http://bugzilla.gnome.org/show_bug.cgi?id=102825 for more details.
if test $succeeded = yes; then
HAVE_GTK=yes
-@@ -8645,6 +8647,7 @@
+@@ -19057,6 +19059,7 @@
fi
@@ -29,7 +29,7 @@ See http://bugzilla.gnome.org/show_bug.cgi?id=102825 for more details.
if test "$PKG_CONFIG" = "no" ; then
echo "*** The pkg-config script could not be found. Make sure it is"
echo "*** in your path, or set the PKG_CONFIG environment variable"
-@@ -8688,6 +8691,7 @@
+@@ -19100,6 +19103,7 @@
echo "*** See http://www.freedesktop.org/software/pkgconfig"
fi
fi
diff --git a/devel/GConf2/patches/patch-ac b/devel/GConf2/patches/patch-ac
index 8049617ba57..ab3ef8cadfc 100644
--- a/devel/GConf2/patches/patch-ac
+++ b/devel/GConf2/patches/patch-ac
@@ -1,17 +1,19 @@
-$NetBSD: patch-ac,v 1.1 2003/02/14 20:04:10 jmmv Exp $
+$NetBSD: patch-ac,v 1.2 2003/12/14 19:44:38 jmmv Exp $
---- gconf/Makefile.in.orig 2003-01-21 04:30:18.000000000 +0100
-+++ gconf/Makefile.in
-@@ -136,7 +136,7 @@ NULL =
-
- GCONFD_BINARY_NAME = gconfd-2
-
--INCLUDES = -I$(top_srcdir) -I$(top_builddir) $(DEPENDENT_WITH_XML_AND_GTK_CFLAGS) -DG_LOG_DOMAIN=\"GConf\" -DGCONF_LOCALE_DIR=\""$(gconflocaledir)"\" -DGCONF_SRCDIR=\""$(absolute_top_srcdir)"\" -DGCONF_CONFDIR=\""$(sysconfdir)/gconf/$(MAJOR_VERSION)"\" -DGCONF_ETCDIR=\""$(sysconfdir)/gconf"\" -DGCONF_BINDIR=\""$(bindir)"\" -DGCONF_SERVERDIR=\""$(libexecdir)"\" -DGCONF_BUILDDIR=\""$(top_builddir)"\" -DGCONF_BACKEND_DIR=\""$(pkglibdir)/$(MAJOR_VERSION)"\" -DVERSION=\""$(VERSION)"\" -DGCONF_ENABLE_INTERNALS=1 -DGCONFD=\""$(GCONFD_BINARY_NAME)"\" $(NULL)
-+INCLUDES = -I$(top_srcdir) -I$(top_builddir) $(DEPENDENT_WITH_XML_AND_GTK_CFLAGS) -DG_LOG_DOMAIN=\"GConf\" -DGCONF_LOCALE_DIR=\""$(gconflocaledir)"\" -DGCONF_SRCDIR=\""$(absolute_top_srcdir)"\" -DGCONF_CONFDIR=\""$(sysconfdir)/$(MAJOR_VERSION)"\" -DGCONF_ETCDIR=\""$(sysconfdir)"\" -DGCONF_BINDIR=\""$(bindir)"\" -DGCONF_SERVERDIR=\""$(libexecdir)"\" -DGCONF_BUILDDIR=\""$(top_builddir)"\" -DGCONF_BACKEND_DIR=\""$(pkglibdir)/$(MAJOR_VERSION)"\" -DVERSION=\""$(VERSION)"\" -DGCONF_ENABLE_INTERNALS=1 -DGCONFD=\""$(GCONFD_BINARY_NAME)"\" $(NULL)
-
-
- EFENCE =
-@@ -614,8 +614,8 @@ $(CORBA_SOURCECODE): $(srcdir)/GConfX.id
+--- gconf/Makefile.in.orig 2003-10-25 23:27:25.000000000 +0000
++++ gconf/Makefile.in 2003-10-25 23:29:40.000000000 +0000
+@@ -148,8 +148,8 @@
+ -DG_LOG_DOMAIN=\"GConf\" \
+ -DGCONF_LOCALE_DIR=\""$(gconflocaledir)"\" \
+ -DGCONF_SRCDIR=\""$(absolute_top_srcdir)"\" \
+- -DGCONF_CONFDIR=\""$(sysconfdir)/gconf/$(MAJOR_VERSION)"\" \
+- -DGCONF_ETCDIR=\""$(sysconfdir)/gconf"\" \
++ -DGCONF_CONFDIR=\""$(sysconfdir)/$(MAJOR_VERSION)"\" \
++ -DGCONF_ETCDIR=\""$(sysconfdir)"\" \
+ -DGCONF_BINDIR=\""$(bindir)"\" \
+ -DGCONF_SERVERDIR=\""$(libexecdir)"\" \
+ -DGCONF_BUILDDIR=\""$(top_builddir)"\" \
+@@ -606,8 +606,8 @@
$(ORBIT_IDL) $(srcdir)/GConfX.idl
install-data-local:
diff --git a/devel/GConf2/patches/patch-ae b/devel/GConf2/patches/patch-ae
deleted file mode 100644
index fbbd0d191f6..00000000000
--- a/devel/GConf2/patches/patch-ae
+++ /dev/null
@@ -1,306 +0,0 @@
-$NetBSD: patch-ae,v 1.1 2003/02/14 20:04:10 jmmv Exp $
-
-Implement a --makefile-deinstall-rule option. This is beeing tracked in
-bug #104487. See http://bugzilla.gnome.org/show_bug.cgi?id=104487
-
---- gconf/gconftool.c.orig 19 Sep 2002 02:49:08 -0000
-+++ gconf/gconftool.c 26 Jan 2003 21:15:51 -0000
-@@ -52,6 +52,7 @@
- static const char* config_source = NULL;
- static int use_local_source = FALSE;
- static int makefile_install_mode = FALSE;
-+static int makefile_deinstall_mode = FALSE;
- static int break_key_mode = FALSE;
- static int break_dir_mode = FALSE;
- static int short_docs_mode = FALSE;
-@@ -282,6 +283,15 @@
- NULL
- },
- {
-+ "makefile-deinstall-rule",
-+ '\0',
-+ POPT_ARG_NONE,
-+ &makefile_deinstall_mode,
-+ 0,
-+ N_("Properly deinstalls schema files on the command line from the database. GCONF_CONFIG_SOURCE environment variable should be set to a non-default config source or set to the empty string to use the default."),
-+ NULL
-+ },
-+ {
- "break-key",
- '\0',
- POPT_ARG_NONE,
-@@ -376,6 +386,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_deinstall(GConfEngine* conf, const gchar** args);
- static int do_recursive_list(GConfEngine* conf, const gchar** args);
- static int do_all_pairs(GConfEngine* conf, const gchar** args);
- static void list_pairs_in_dir(GConfEngine* conf, const gchar* dir, guint depth);
-@@ -499,7 +510,8 @@
-
- if (ping_gconfd && (shutdown_gconfd || set_mode || get_mode || unset_mode ||
- all_subdirs_mode || all_entries_mode || recursive_list ||
-- spawn_gconfd || dir_exists || schema_file || makefile_install_mode ||
-+ spawn_gconfd || dir_exists || schema_file ||
-+ makefile_install_mode || makefile_deinstall_mode ||
- break_key_mode || break_dir_mode || short_docs_mode ||
- long_docs_mode || schema_name_mode))
- {
-@@ -510,7 +522,8 @@
- if (dir_exists && (shutdown_gconfd || set_mode || get_mode || unset_mode ||
- all_subdirs_mode || all_entries_mode || recursive_list ||
- spawn_gconfd || schema_file || makefile_install_mode ||
-- break_key_mode || break_dir_mode || short_docs_mode ||
-+ makefile_deinstall_mode || break_key_mode ||
-+ break_dir_mode || short_docs_mode ||
- long_docs_mode || schema_name_mode))
- {
- fprintf(stderr, _("--dir-exists option must be used by itself.\n"));
-@@ -520,7 +533,8 @@
- if (schema_file && (shutdown_gconfd || set_mode || get_mode || unset_mode ||
- all_subdirs_mode || all_entries_mode || recursive_list ||
- spawn_gconfd || dir_exists || makefile_install_mode ||
-- break_key_mode || break_dir_mode || short_docs_mode ||
-+ makefile_deinstall_mode || break_key_mode ||
-+ break_dir_mode || short_docs_mode ||
- long_docs_mode || schema_name_mode))
- {
- fprintf(stderr, _("--install-schema-file must be used by itself.\n"));
-@@ -530,6 +544,7 @@
-
- if (makefile_install_mode && (shutdown_gconfd || set_mode || get_mode || unset_mode ||
- all_subdirs_mode || all_entries_mode || recursive_list ||
-+ makefile_deinstall_mode ||
- spawn_gconfd || dir_exists || schema_file ||
- break_key_mode || break_dir_mode || short_docs_mode ||
- long_docs_mode || schema_name_mode))
-@@ -539,10 +554,24 @@
- }
-
-
-+ if (makefile_deinstall_mode && (shutdown_gconfd || set_mode || get_mode ||
-+ unset_mode || all_subdirs_mode ||
-+ all_entries_mode || recursive_list ||
-+ makefile_install_mode ||
-+ spawn_gconfd || dir_exists || schema_file ||
-+ break_key_mode || break_dir_mode || short_docs_mode ||
-+ long_docs_mode || schema_name_mode))
-+ {
-+ fprintf(stderr, _("--makefile-deinstall-rule must be used by itself.\n"));
-+ return 1;
-+ }
-+
-+
- if (break_key_mode && (shutdown_gconfd || set_mode || get_mode || unset_mode ||
- all_subdirs_mode || all_entries_mode || recursive_list ||
- spawn_gconfd || dir_exists || schema_file ||
-- makefile_install_mode || break_dir_mode || short_docs_mode ||
-+ makefile_install_mode || makefile_deinstall_mode ||
-+ break_dir_mode || short_docs_mode ||
- long_docs_mode || schema_name_mode))
- {
- fprintf(stderr, _("--break-key must be used by itself.\n"));
-@@ -553,7 +582,8 @@
- if (break_dir_mode && (shutdown_gconfd || set_mode || get_mode || unset_mode ||
- all_subdirs_mode || all_entries_mode || recursive_list ||
- spawn_gconfd || dir_exists || schema_file ||
-- break_key_mode || makefile_install_mode || short_docs_mode ||
-+ break_key_mode || makefile_install_mode ||
-+ makefile_deinstall_mode || short_docs_mode ||
- long_docs_mode || schema_name_mode))
- {
- fprintf(stderr, _("--break-directory must be used by itself.\n"));
-@@ -608,8 +638,15 @@
- g_print (_("GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL is set, not installing schemas\n"));
- makefile_install_mode = FALSE;
- }
--
-- if (makefile_install_mode)
-+
-+ if (makefile_deinstall_mode &&
-+ g_getenv ("GCONF_DISABLE_MAKEFILE_SCHEMA_DEINSTALL"))
-+ {
-+ g_print (_("GCONF_DISABLE_MAKEFILE_SCHEMA_DEINSTALL is set, not deinstalling schemas\n"));
-+ makefile_deinstall_mode = FALSE;
-+ }
-+
-+ if (makefile_install_mode || makefile_deinstall_mode)
- {
- g_assert (config_source == NULL);
-
-@@ -701,6 +738,16 @@
- return retval;
- }
-
-+ if (makefile_deinstall_mode)
-+ {
-+ const gchar** args = poptGetArgs(ctx);
-+ gint retval = do_makefile_deinstall (conf, args);
-+
-+ gconf_engine_unref (conf);
-+
-+ return retval;
-+ }
-+
- if (break_key_mode)
- {
- const gchar** args = poptGetArgs(ctx);
-@@ -2158,7 +2205,7 @@
- }
-
- static void
--hash_foreach(gpointer key, gpointer value, gpointer user_data)
-+hash_foreach_install(gpointer key, gpointer value, gpointer user_data)
- {
- SchemaInfo* info;
- GConfSchema* schema;
-@@ -2186,6 +2233,36 @@
- gconf_schema_free(schema);
- }
-
-+static void
-+hash_foreach_deinstall(gpointer key, gpointer value, gpointer user_data)
-+{
-+ SchemaInfo* info;
-+ GConfSchema* schema;
-+ GError* error = NULL;
-+
-+ info = user_data;
-+ schema = value;
-+
-+ //if (!gconf_engine_set_schema(info->conf, info->key, schema, &error))
-+ if (!gconf_engine_unset(info->conf, info->key, &error))
-+ {
-+ g_assert(error != NULL);
-+
-+ fprintf(stderr, _("WARNING: failed to deinstall schema `%s' locale `%s': %s\n"),
-+ info->key, gconf_schema_get_locale(schema), error->message);
-+ g_error_free(error);
-+ error = NULL;
-+ }
-+ else
-+ {
-+ g_assert(error == NULL);
-+ printf(_("Deinstalled schema `%s' from locale `%s'\n"),
-+ info->key, gconf_schema_get_locale(schema));
-+ }
-+
-+ gconf_schema_free(schema);
-+}
-+
-
- static int
- process_key_list(GConfEngine* conf, const gchar* schema_name, GSList* keylist)
-@@ -2197,22 +2274,47 @@
-
- while (tmp != NULL)
- {
-- if (!gconf_engine_associate_schema(conf, tmp->data, schema_name, &error))
-+ if (!makefile_deinstall_mode)
- {
-- g_assert(error != NULL);
--
-- fprintf(stderr, _("WARNING: failed to associate schema `%s' with key `%s': %s\n"),
-- schema_name, (gchar*)tmp->data, error->message);
-- g_error_free(error);
-- error = NULL;
-+ if (!gconf_engine_associate_schema(conf, tmp->data, schema_name,
-+ &error))
-+ {
-+ g_assert(error != NULL);
-+
-+ fprintf(stderr, _("WARNING: failed to associate schema `%s' "
-+ "with key `%s': %s\n"),
-+ schema_name, (gchar*)tmp->data, error->message);
-+ g_error_free(error);
-+ error = NULL;
-+ }
-+ else
-+ {
-+ g_assert(error == NULL);
-+ printf(_("Attached schema `%s' to key `%s'\n"),
-+ schema_name, (gchar*)tmp->data);
-+ }
- }
- else
- {
-- g_assert(error == NULL);
-- printf(_("Attached schema `%s' to key `%s'\n"),
-- schema_name, (gchar*)tmp->data);
-+ if (!gconf_engine_associate_schema(conf, tmp->data, NULL,
-+ &error))
-+ {
-+ g_assert(error != NULL);
-+
-+ fprintf(stderr, _("WARNING: failed to deassociate schema `%s' "
-+ "with key `%s': %s\n"),
-+ schema_name, (gchar*)tmp->data, error->message);
-+ g_error_free(error);
-+ error = NULL;
-+ }
-+ else
-+ {
-+ g_assert(error == NULL);
-+ printf(_("Deattached schema `%s' from key `%s'\n"),
-+ schema_name, (gchar*)tmp->data);
-+ }
- }
--
-+
- tmp = g_slist_next(tmp);
- }
-
-@@ -2292,8 +2394,11 @@
- return 1;
- }
-
-- /* Now install each schema in the hash into the GConfEngine */
-- g_hash_table_foreach(info.hash, hash_foreach, &info);
-+ /* Now (de)install each schema in the hash into the GConfEngine */
-+ if (makefile_deinstall_mode)
-+ g_hash_table_foreach(info.hash, hash_foreach_deinstall, &info);
-+ else
-+ g_hash_table_foreach(info.hash, hash_foreach_install, &info);
-
- g_hash_table_destroy(info.hash);
-
-@@ -2416,6 +2521,38 @@
- if (args == NULL)
- {
- fprintf(stderr, _("Must specify some schema files to install\n"));
-+ return 1;
-+ }
-+
-+ while (*args)
-+ {
-+ if (do_load_schema_file(conf, *args) != 0)
-+ return 1;
-+
-+ ++args;
-+ }
-+
-+ gconf_engine_suggest_sync(conf, &err);
-+
-+ if (err != NULL)
-+ {
-+ fprintf(stderr, _("Error syncing config data: %s"),
-+ err->message);
-+ g_error_free(err);
-+ return 1;
-+ }
-+
-+ return 0;
-+}
-+
-+static int
-+do_makefile_deinstall(GConfEngine* conf, const gchar** args)
-+{
-+ GError* err = NULL;
-+
-+ if (args == NULL)
-+ {
-+ fprintf(stderr, _("Must specify some schema files to deinstall\n"));
- return 1;
- }
-