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
+}
next 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