summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /gnome-base/gconf
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'gnome-base/gconf')
-rw-r--r--gnome-base/gconf/Manifest1
-rw-r--r--gnome-base/gconf/files/gconf-2.24.0-no-gconfd.patch19
-rw-r--r--gnome-base/gconf/files/gconf-2.28.0-entry-set-value-sigsegv.patch18
-rw-r--r--gnome-base/gconf/files/gconf-3.2.6-gsettings-data-convert-paths.patch41
-rw-r--r--gnome-base/gconf/files/gconf-3.2.6-mconvert-crasher.patch45
-rw-r--r--gnome-base/gconf/files/gconf-3.2.6-spew-console-error.patch83
-rw-r--r--gnome-base/gconf/gconf-3.2.6-r3.ebuild127
-rw-r--r--gnome-base/gconf/metadata.xml10
8 files changed, 344 insertions, 0 deletions
diff --git a/gnome-base/gconf/Manifest b/gnome-base/gconf/Manifest
new file mode 100644
index 000000000000..a6d6b61aba56
--- /dev/null
+++ b/gnome-base/gconf/Manifest
@@ -0,0 +1 @@
+DIST GConf-3.2.6.tar.xz 1559904 SHA256 1912b91803ab09a5eed34d364bf09fe3a2a9c96751fde03a4e0cfa51a04d784c SHA512 35f5f659f9d03f7531a7102adacbda0eb310d8a55a831c768c91a82e07dae21247726e00e0e411f63b1de9ade0f042ded572a3ea4a4b2ad3135231f344540b58 WHIRLPOOL ef38b5fb25b3cf915052ce00f926a0a9bf8ecb5771c2db0fd6f5f11531a8edb1c098a036eaaa20490e3de87a0a5eb411542f86d8c6a2be8ac45dcae0b29d3414
diff --git a/gnome-base/gconf/files/gconf-2.24.0-no-gconfd.patch b/gnome-base/gconf/files/gconf-2.24.0-no-gconfd.patch
new file mode 100644
index 000000000000..8ca6a0d4fc09
--- /dev/null
+++ b/gnome-base/gconf/files/gconf-2.24.0-no-gconfd.patch
@@ -0,0 +1,19 @@
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN GConf-2.23.2.old/gconf/gconftool.c GConf-2.23.2/gconf/gconftool.c
+--- GConf-2.23.2.old/gconf/gconftool.c 2008-06-28 05:27:33.000000000 -0400
++++ GConf-2.23.2/gconf/gconftool.c 2008-09-23 10:20:00.000000000 -0400
+@@ -856,6 +856,7 @@ main (int argc, char** argv)
+ {
+ g_print (_("GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL is set, not installing schemas\n"));
+ makefile_install_mode = FALSE;
++ return 0;
+ }
+
+ if (makefile_uninstall_mode &&
+@@ -863,6 +864,7 @@ main (int argc, char** argv)
+ {
+ g_print (_("GCONF_DISABLE_MAKEFILE_SCHEMA_UNINSTALL is set, not uninstalling schemas\n"));
+ makefile_uninstall_mode = FALSE;
++ return 0;
+ }
+
+ if (makefile_install_mode || makefile_uninstall_mode)
diff --git a/gnome-base/gconf/files/gconf-2.28.0-entry-set-value-sigsegv.patch b/gnome-base/gconf/files/gconf-2.28.0-entry-set-value-sigsegv.patch
new file mode 100644
index 000000000000..680b1a159b4a
--- /dev/null
+++ b/gnome-base/gconf/files/gconf-2.28.0-entry-set-value-sigsegv.patch
@@ -0,0 +1,18 @@
+From: Romain Perier <mrpouet@gentoo.org>
+Date: Wed, 4 Nov 2009 11:58:25 +0100
+Subject: Do not segfault when entry is NULL
+
+---
+ gconf/gconf-value.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+--- a/gconf/gconf-value.c
++++ b/gconf/gconf-value.c
+@@ -1609,6 +1609,7 @@ void
+ gconf_entry_set_value (GConfEntry *entry,
+ const GConfValue *val)
+ {
++ g_return_if_fail (entry != NULL);
+ gconf_entry_set_value_nocopy (entry,
+ val ? gconf_value_copy (val) : NULL);
+ }
diff --git a/gnome-base/gconf/files/gconf-3.2.6-gsettings-data-convert-paths.patch b/gnome-base/gconf/files/gconf-3.2.6-gsettings-data-convert-paths.patch
new file mode 100644
index 000000000000..dc6c66b1c644
--- /dev/null
+++ b/gnome-base/gconf/files/gconf-3.2.6-gsettings-data-convert-paths.patch
@@ -0,0 +1,41 @@
+From 405f865c07261a95c8c9a09a84ab679c6dd0a330 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Thu, 24 Oct 2013 16:27:24 -0400
+Subject: gsettings-data-convert: Warn (and fix) invalid schema paths
+
+See https://bugzilla.gnome.org/show_bug.cgi?id=704802
+
+https://bugzilla.gnome.org/show_bug.cgi?id=710836
+
+diff --git a/gsettings/gsettings-data-convert.c b/gsettings/gsettings-data-convert.c
+index 9b2d1d0..160ed41 100644
+--- a/gsettings/gsettings-data-convert.c
++++ b/gsettings/gsettings-data-convert.c
+@@ -182,7 +182,23 @@ handle_file (const gchar *filename)
+ }
+
+ if (schema_path[1] != NULL)
+- settings = g_settings_new_with_path (schema_path[0], schema_path[1]);
++ {
++ char *compat_path_alloced = NULL;
++ char *compat_path;
++ /* Work around broken .convert files:
++ https://bugzilla.gnome.org/show_bug.cgi?id=704802
++ */
++ if (!g_str_has_suffix (schema_path[1], "/"))
++ {
++ g_warning ("Schema file '%s' has missing trailing / in '%s'",
++ filename, schema_path[1]);
++ compat_path = compat_path_alloced = g_strconcat (schema_path[1], "/", NULL);
++ }
++ else
++ compat_path = schema_path[1];
++ settings = g_settings_new_with_path (schema_path[0], compat_path);
++ g_free (compat_path_alloced);
++ }
+ else
+ settings = g_settings_new (schema_path[0]);
+
+--
+cgit v0.10.1
+
diff --git a/gnome-base/gconf/files/gconf-3.2.6-mconvert-crasher.patch b/gnome-base/gconf/files/gconf-3.2.6-mconvert-crasher.patch
new file mode 100644
index 000000000000..54681bcb0e86
--- /dev/null
+++ b/gnome-base/gconf/files/gconf-3.2.6-mconvert-crasher.patch
@@ -0,0 +1,45 @@
+From 98ff7acca7595f508b094506195aeffaf2e8b74c Mon Sep 17 00:00:00 2001
+From: Stefan Sauer <ensonic@users.sf.net>
+Date: Wed, 23 Jan 2013 08:11:18 +0100
+Subject: mconvert: enable recursive scheme lookup and fix a crasher
+
+The recursive scheme lookup is needed to scan the whole settings path. The crash
+would happen in the case of a misconfiguration (e.g. building gconf from source
+and running uninstalled while the configure settings don't match the one used to
+create the installed package).
+
+diff --git a/gsettings/gsettings-data-convert.c b/gsettings/gsettings-data-convert.c
+index a8af942..9b2d1d0 100644
+--- a/gsettings/gsettings-data-convert.c
++++ b/gsettings/gsettings-data-convert.c
+@@ -22,6 +22,7 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <stdlib.h>
+ #include <unistd.h>
+ #include <errno.h>
+
+@@ -90,6 +91,10 @@ get_writable_client (void)
+ GSList *addresses;
+
+ addresses = get_writable_source_path ();
++ if (!addresses) {
++ g_printf("No writable gconf locations found\n");
++ exit (1);
++ }
+ engine = gconf_engine_get_local_for_addresses (addresses, NULL);
+ gconf_address_list_free (addresses);
+
+@@ -155,7 +160,7 @@ handle_file (const gchar *filename)
+
+ schema_path = g_strsplit (groups[i], ":", 2);
+
+- schema = g_settings_schema_source_lookup (source, schema_path[0], FALSE);
++ schema = g_settings_schema_source_lookup (source, schema_path[0], TRUE);
+ if (schema == NULL)
+ {
+ if (verbose)
+--
+cgit v0.10.1
+
diff --git a/gnome-base/gconf/files/gconf-3.2.6-spew-console-error.patch b/gnome-base/gconf/files/gconf-3.2.6-spew-console-error.patch
new file mode 100644
index 000000000000..26503f7216ea
--- /dev/null
+++ b/gnome-base/gconf/files/gconf-3.2.6-spew-console-error.patch
@@ -0,0 +1,83 @@
+From b0895e1998ebc83ab030ec0f17c0685439f5b404 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode@redhat.com>
+Date: Mon, 15 Apr 2013 09:57:34 -0400
+Subject: dbus: Don't spew to console when unable to connect to dbus daemon
+
+Instead pass the error up for the caller to decide what to do.
+
+This prevent untrappable warning messages from showing up at the
+console if gconftool --makefile-install-rule is called.
+
+diff --git a/gconf/gconf-dbus.c b/gconf/gconf-dbus.c
+index 5610fcf..048e3ea 100644
+--- a/gconf/gconf-dbus.c
++++ b/gconf/gconf-dbus.c
+@@ -105,7 +105,7 @@ static GHashTable *engines_by_db = NULL;
+ static GHashTable *engines_by_address = NULL;
+ static gboolean dbus_disconnected = FALSE;
+
+-static gboolean ensure_dbus_connection (void);
++static gboolean ensure_dbus_connection (GError **error);
+ static gboolean ensure_service (gboolean start_if_not_found,
+ GError **err);
+ static gboolean ensure_database (GConfEngine *conf,
+@@ -383,7 +383,7 @@ gconf_engine_detach (GConfEngine *conf)
+ }
+
+ static gboolean
+-ensure_dbus_connection (void)
++ensure_dbus_connection (GError **err)
+ {
+ DBusError error;
+
+@@ -392,7 +392,9 @@ ensure_dbus_connection (void)
+
+ if (dbus_disconnected)
+ {
+- g_warning ("The connection to DBus was broken. Can't reinitialize it.");
++ g_set_error (err, GCONF_ERROR,
++ GCONF_ERROR_NO_SERVER,
++ "The connection to DBus was broken. Can't reinitialize it.");
+ return FALSE;
+ }
+
+@@ -402,7 +404,10 @@ ensure_dbus_connection (void)
+
+ if (!global_conn)
+ {
+- g_warning ("Client failed to connect to the D-BUS daemon:\n%s", error.message);
++ g_set_error (err, GCONF_ERROR,
++ GCONF_ERROR_NO_SERVER,
++ "Client failed to connect to the D-BUS daemon:\n%s",
++ error.message);
+
+ dbus_error_free (&error);
+ return FALSE;
+@@ -431,13 +436,8 @@ ensure_service (gboolean start_if_not_found,
+
+ if (global_conn == NULL)
+ {
+- if (!ensure_dbus_connection ())
+- {
+- g_set_error (err, GCONF_ERROR,
+- GCONF_ERROR_NO_SERVER,
+- _("No D-BUS daemon running\n"));
+- return FALSE;
+- }
++ if (!ensure_dbus_connection (err))
++ return FALSE;
+
+ g_assert (global_conn != NULL);
+ }
+@@ -2512,7 +2512,7 @@ gconf_ping_daemon (void)
+ {
+ if (global_conn == NULL)
+ {
+- if (!ensure_dbus_connection ())
++ if (!ensure_dbus_connection (NULL))
+ {
+ return FALSE;
+ }
+--
+cgit v0.10.1
+
diff --git a/gnome-base/gconf/gconf-3.2.6-r3.ebuild b/gnome-base/gconf/gconf-3.2.6-r3.ebuild
new file mode 100644
index 000000000000..560dd2485a5d
--- /dev/null
+++ b/gnome-base/gconf/gconf-3.2.6-r3.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+GCONF_DEBUG="yes"
+GNOME_ORG_MODULE="GConf"
+GNOME2_LA_PUNT="yes"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit eutils gnome2 multilib-minimal python-r1
+
+DESCRIPTION="GNOME configuration system and daemon"
+HOMEPAGE="http://projects.gnome.org/gconf/"
+
+LICENSE="LGPL-2+"
+SLOT="2"
+KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
+IUSE="debug +introspection ldap policykit"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
+ >=dev-libs/dbus-glib-0.100.2:=[${MULTILIB_USEDEP}]
+ >=sys-apps/dbus-1.6.18-r1:=[${MULTILIB_USEDEP}]
+ >=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}]
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5:= )
+ ldap? ( >=net-nds/openldap-2.4.38-r1:=[${MULTILIB_USEDEP}] )
+ policykit? ( sys-auth/polkit:= )
+"
+DEPEND="${RDEPEND}
+ dev-libs/libxslt
+ dev-util/gtk-doc-am
+ >=dev-util/intltool-0.35
+ >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}]
+"
+RDEPEND="${RDEPEND}
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-gtklibs-20140508-r1
+ !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)]
+ )"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+pkg_setup() {
+ kill_gconf
+}
+
+src_prepare() {
+ # Do not start gconfd when installing schemas, fix bug #238276, upstream #631983
+ epatch "${FILESDIR}/${PN}-2.24.0-no-gconfd.patch"
+
+ # Do not crash in gconf_entry_set_value() when entry pointer is NULL, upstream #631985
+ epatch "${FILESDIR}/${PN}-2.28.0-entry-set-value-sigsegv.patch"
+
+ # From 'master'
+ # mconvert: enable recursive scheme lookup and fix a crasher
+ epatch "${FILESDIR}/${P}-mconvert-crasher.patch"
+
+ # dbus: Don't spew to console when unable to connect to dbus daemon
+ epatch "${FILESDIR}/${P}-spew-console-error.patch"
+
+ # gsettings-data-convert: Warn (and fix) invalid schema paths
+ epatch "${FILESDIR}/${P}-gsettings-data-convert-paths.patch"
+
+ gnome2_src_prepare
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ gnome2_src_configure \
+ --disable-static \
+ --enable-gsettings-backend \
+ --with-gtk=3.0 \
+ --disable-orbit \
+ $(multilib_native_use_enable introspection) \
+ $(use_with ldap openldap) \
+ $(multilib_native_use_enable policykit defaults-service)
+
+ if multilib_is_native_abi; then
+ ln -s "${S}"/doc/gconf/html doc/gconf/html || die
+ fi
+}
+
+multilib_src_install() {
+ gnome2_src_install
+}
+
+multilib_src_install_all() {
+ python_replicate_script "${ED}"/usr/bin/gsettings-schema-convert
+
+ keepdir /etc/gconf/gconf.xml.mandatory
+ keepdir /etc/gconf/gconf.xml.defaults
+ # Make sure this directory exists, bug #268070, upstream #572027
+ keepdir /etc/gconf/gconf.xml.system
+
+ echo "CONFIG_PROTECT_MASK=\"/etc/gconf\"" > 50gconf
+ echo 'GSETTINGS_BACKEND="gconf"' >> 50gconf
+ doenvd 50gconf
+ dodir /root/.gconfd
+}
+
+pkg_preinst() {
+ kill_gconf
+}
+
+pkg_postinst() {
+ kill_gconf
+
+ # change the permissions to avoid some gconf bugs
+ einfo "changing permissions for gconf dirs"
+ find "${EPREFIX}"/etc/gconf/ -type d -exec chmod ugo+rx "{}" \;
+
+ einfo "changing permissions for gconf files"
+ find "${EPREFIX}"/etc/gconf/ -type f -exec chmod ugo+r "{}" \;
+}
+
+kill_gconf() {
+ # This function will kill all running gconfd-2 that could be causing troubles
+ if [ -x "${EPREFIX}"/usr/bin/gconftool-2 ]
+ then
+ "${EPREFIX}"/usr/bin/gconftool-2 --shutdown
+ fi
+
+ return 0
+}
diff --git a/gnome-base/gconf/metadata.xml b/gnome-base/gconf/metadata.xml
new file mode 100644
index 000000000000..40c5d90d727f
--- /dev/null
+++ b/gnome-base/gconf/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<use>
+ <flag name="ldap">Build backend which enables default mail accounts,
+ addressbooks and calendars for Evolution to be configured using each
+ user's LDAP entry."</flag>
+</use>
+</pkgmetadata>