public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Alexandre Restovtsev" <tetromino@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gnome:master commit in: gnome-base/gconf/, gnome-base/gconf/files/
Date: Wed, 14 Mar 2012 02:32:05 +0000 (UTC)	[thread overview]
Message-ID: <1331692107.52c3daca89069a4ae99da9cef86d383a7b7c9030.tetromino@gentoo> (raw)

commit:     52c3daca89069a4ae99da9cef86d383a7b7c9030
Author:     Alexandre Rostovtsev <tetromino <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 14 02:21:43 2012 +0000
Commit:     Alexandre Restovtsev <tetromino <AT> gmail <DOT> com>
CommitDate: Wed Mar 14 02:28:27 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=52c3daca

gnome-base/gconf: add 3.2.5 and a live ebuild

---
 .../gconf/files/gconf-2.24.0-no-gconfd.patch       |   19 ++++
 .../gconf-2.28.0-entry-set-value-sigsegv.patch     |   18 ++++
 gnome-base/gconf/gconf-3.2.5.ebuild                |  106 ++++++++++++++++++++
 gnome-base/gconf/gconf-9999.ebuild                 |  106 ++++++++++++++++++++
 4 files changed, 249 insertions(+), 0 deletions(-)

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 0000000..8ca6a0d
--- /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 0000000..680b1a1
--- /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/gconf-3.2.5.ebuild b/gnome-base/gconf/gconf-3.2.5.ebuild
new file mode 100644
index 0000000..5dff897
--- /dev/null
+++ b/gnome-base/gconf/gconf-3.2.5.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="4"
+GCONF_DEBUG="yes"
+GNOME_ORG_MODULE="GConf"
+GNOME2_LA_PUNT="yes"
+
+inherit eutils gnome2
+if [[ ${PV} = 9999 ]]; then
+	GNOME_LIVE_MODULE="gconf"
+	inherit gnome2-live
+fi
+
+DESCRIPTION="Gnome Configuration System and Daemon"
+HOMEPAGE="http://projects.gnome.org/gconf/"
+
+LICENSE="LGPL-2"
+SLOT="2"
+if [[ ${PV} = 9999 ]]; then
+	KEYWORDS=""
+else
+	KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+fi
+IUSE="debug doc +introspection ldap +orbit policykit"
+# orbit IPC is default for now (dbus IPC is somewhat experimental)
+
+RDEPEND=">=dev-libs/glib-2.31:2
+	>=x11-libs/gtk+-2.90:3
+	>=dev-libs/dbus-glib-0.74
+	>=sys-apps/dbus-1
+	>=dev-libs/libxml2-2:2
+	introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
+	ldap? ( net-nds/openldap )
+	orbit? ( >=gnome-base/orbit-2.4:2 )
+	policykit? ( sys-auth/polkit )"
+DEPEND="${RDEPEND}
+	>=dev-util/intltool-0.35
+	>=dev-util/pkgconfig-0.9
+	doc? ( >=dev-util/gtk-doc-1 )"
+
+pkg_setup() {
+	DOCS="AUTHORS ChangeLog NEWS README TODO"
+	G2CONF="${G2CONF}
+		--enable-gtk
+		--disable-static
+		--enable-gsettings-backend
+		--with-gtk=3.0
+		$(use_enable introspection)
+		$(use_with ldap openldap)
+		$(use_enable orbit)
+		$(use_enable policykit defaults-service)
+		ORBIT_IDL=$(type -P orbit-idl-2)"
+		# Need host's IDL compiler for cross or native build, bug #262747
+	kill_gconf
+}
+
+src_prepare() {
+	gnome2_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"
+}
+
+src_install() {
+	gnome2_src_install
+
+	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 || die "doenv failed"
+	dodir /root/.gconfd || die
+}
+
+pkg_preinst() {
+	kill_gconf
+}
+
+pkg_postinst() {
+	kill_gconf
+
+	# change the permissions to avoid some gconf bugs
+	einfo "changing permissions for gconf dirs"
+	find  /etc/gconf/ -type d -exec chmod ugo+rx "{}" \;
+
+	einfo "changing permissions for gconf files"
+	find  /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 /usr/bin/gconftool-2 ]
+	then
+		/usr/bin/gconftool-2 --shutdown
+	fi
+
+	return 0
+}

diff --git a/gnome-base/gconf/gconf-9999.ebuild b/gnome-base/gconf/gconf-9999.ebuild
new file mode 100644
index 0000000..5dff897
--- /dev/null
+++ b/gnome-base/gconf/gconf-9999.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="4"
+GCONF_DEBUG="yes"
+GNOME_ORG_MODULE="GConf"
+GNOME2_LA_PUNT="yes"
+
+inherit eutils gnome2
+if [[ ${PV} = 9999 ]]; then
+	GNOME_LIVE_MODULE="gconf"
+	inherit gnome2-live
+fi
+
+DESCRIPTION="Gnome Configuration System and Daemon"
+HOMEPAGE="http://projects.gnome.org/gconf/"
+
+LICENSE="LGPL-2"
+SLOT="2"
+if [[ ${PV} = 9999 ]]; then
+	KEYWORDS=""
+else
+	KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+fi
+IUSE="debug doc +introspection ldap +orbit policykit"
+# orbit IPC is default for now (dbus IPC is somewhat experimental)
+
+RDEPEND=">=dev-libs/glib-2.31:2
+	>=x11-libs/gtk+-2.90:3
+	>=dev-libs/dbus-glib-0.74
+	>=sys-apps/dbus-1
+	>=dev-libs/libxml2-2:2
+	introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
+	ldap? ( net-nds/openldap )
+	orbit? ( >=gnome-base/orbit-2.4:2 )
+	policykit? ( sys-auth/polkit )"
+DEPEND="${RDEPEND}
+	>=dev-util/intltool-0.35
+	>=dev-util/pkgconfig-0.9
+	doc? ( >=dev-util/gtk-doc-1 )"
+
+pkg_setup() {
+	DOCS="AUTHORS ChangeLog NEWS README TODO"
+	G2CONF="${G2CONF}
+		--enable-gtk
+		--disable-static
+		--enable-gsettings-backend
+		--with-gtk=3.0
+		$(use_enable introspection)
+		$(use_with ldap openldap)
+		$(use_enable orbit)
+		$(use_enable policykit defaults-service)
+		ORBIT_IDL=$(type -P orbit-idl-2)"
+		# Need host's IDL compiler for cross or native build, bug #262747
+	kill_gconf
+}
+
+src_prepare() {
+	gnome2_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"
+}
+
+src_install() {
+	gnome2_src_install
+
+	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 || die "doenv failed"
+	dodir /root/.gconfd || die
+}
+
+pkg_preinst() {
+	kill_gconf
+}
+
+pkg_postinst() {
+	kill_gconf
+
+	# change the permissions to avoid some gconf bugs
+	einfo "changing permissions for gconf dirs"
+	find  /etc/gconf/ -type d -exec chmod ugo+rx "{}" \;
+
+	einfo "changing permissions for gconf files"
+	find  /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 /usr/bin/gconftool-2 ]
+	then
+		/usr/bin/gconftool-2 --shutdown
+	fi
+
+	return 0
+}



             reply	other threads:[~2012-03-14  2:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-14  2:32 Alexandre Restovtsev [this message]
  -- strict thread matches above, loose matches on Subject: below --
2011-10-18  7:37 [gentoo-commits] proj/gnome:master commit in: gnome-base/gconf/, gnome-base/gconf/files/ Alexandre Restovtsev
2011-04-14 22:23 Gilles Dartiguelongue

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1331692107.52c3daca89069a4ae99da9cef86d383a7b7c9030.tetromino@gentoo \
    --to=tetromino@gmail.com \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox