diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /gnome-base/gconf | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | gnome-base/gconf/files/gconf-2.24.0-no-gconfd.patch | 19 | ||||
-rw-r--r-- | gnome-base/gconf/files/gconf-2.28.0-entry-set-value-sigsegv.patch | 18 | ||||
-rw-r--r-- | gnome-base/gconf/files/gconf-3.2.6-gsettings-data-convert-paths.patch | 41 | ||||
-rw-r--r-- | gnome-base/gconf/files/gconf-3.2.6-mconvert-crasher.patch | 45 | ||||
-rw-r--r-- | gnome-base/gconf/files/gconf-3.2.6-spew-console-error.patch | 83 | ||||
-rw-r--r-- | gnome-base/gconf/gconf-3.2.6-r3.ebuild | 127 | ||||
-rw-r--r-- | gnome-base/gconf/metadata.xml | 10 |
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> |