summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2009-10-29 23:46:26 +0000
committerGilles Dartiguelongue <eva@gentoo.org>2009-10-29 23:46:26 +0000
commitf117b5c01ae37ea0dba809417544bec0ad68e9ca (patch)
tree46e6ee0b5546b81f1500e923f2199b09b991dc33 /gnome-base
parentInitial ebuild for GNOME 2.28. (diff)
downloadgentoo-2-f117b5c01ae37ea0dba809417544bec0ad68e9ca.tar.gz
gentoo-2-f117b5c01ae37ea0dba809417544bec0ad68e9ca.tar.bz2
gentoo-2-f117b5c01ae37ea0dba809417544bec0ad68e9ca.zip
New version for GNOME 2.28. Clean up old revision.
(Portage version: 2.2_rc46/cvs/Linux x86_64)
Diffstat (limited to 'gnome-base')
-rw-r--r--gnome-base/gnome-session/ChangeLog12
-rw-r--r--gnome-base/gnome-session/files/gnome-session-2.27.91-gentoo-branding.patch14
-rw-r--r--gnome-base/gnome-session/files/gnome-session-2.28.0-do-not-keep-zombie-clients.patch50
-rw-r--r--gnome-base/gnome-session/files/gnome-session-2.28.0-xsmp-stop-throw-error.patch31
-rw-r--r--gnome-base/gnome-session/gnome-session-2.24.3.ebuild71
-rw-r--r--gnome-base/gnome-session/gnome-session-2.28.0.ebuild (renamed from gnome-base/gnome-session/gnome-session-2.26.1-r1.ebuild)51
-rw-r--r--gnome-base/gnome-session/metadata.xml1
7 files changed, 139 insertions, 91 deletions
diff --git a/gnome-base/gnome-session/ChangeLog b/gnome-base/gnome-session/ChangeLog
index 64661006144e..91e776e60c53 100644
--- a/gnome-base/gnome-session/ChangeLog
+++ b/gnome-base/gnome-session/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for gnome-base/gnome-session
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-session/ChangeLog,v 1.242 2009/10/29 11:11:19 mrpouet Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-session/ChangeLog,v 1.243 2009/10/29 23:46:26 eva Exp $
+
+*gnome-session-2.28.0 (29 Oct 2009)
+
+ 29 Oct 2009; Gilles Dartiguelongue <eva@gentoo.org>
+ -gnome-session-2.24.3.ebuild, -gnome-session-2.26.1-r1.ebuild,
+ +files/gnome-session-2.27.91-gentoo-branding.patch,
+ +gnome-session-2.28.0.ebuild,
+ +files/gnome-session-2.28.0-do-not-keep-zombie-clients.patch,
+ +files/gnome-session-2.28.0-xsmp-stop-throw-error.patch, metadata.xml:
+ New version for GNOME 2.28. Clean up old revision.
*gnome-session-2.26.2-r1 (29 Oct 2009)
diff --git a/gnome-base/gnome-session/files/gnome-session-2.27.91-gentoo-branding.patch b/gnome-base/gnome-session/files/gnome-session-2.27.91-gentoo-branding.patch
new file mode 100644
index 000000000000..60e7dbb238c2
--- /dev/null
+++ b/gnome-base/gnome-session/files/gnome-session-2.27.91-gentoo-branding.patch
@@ -0,0 +1,14 @@
+Our own splash for world domination (updated for 2.27.91)
+
+---
+--- data/gnome-session.schemas.in.in
++++ data/gnome-session.schemas.in.in
+@@ -40,7 +40,7 @@
+ <applyto>/apps/gnome-session/options/splash_image</applyto>
+ <owner>gnome</owner>
+ <type>string</type>
+- <default>splash/gnome-splash.png</default>
++ <default>splash/gentoo-splash.png</default>
+ <locale name="C">
+ <short>Preferred Image to use for login splash screen</short>
+ <long>This is a relative path value based off the $datadir/pixmaps/ directory. Sub-directories and image names are valid values. Changing this value will effect the next session login.</long>
diff --git a/gnome-base/gnome-session/files/gnome-session-2.28.0-do-not-keep-zombie-clients.patch b/gnome-base/gnome-session/files/gnome-session-2.28.0-do-not-keep-zombie-clients.patch
new file mode 100644
index 000000000000..56abe4292e53
--- /dev/null
+++ b/gnome-base/gnome-session/files/gnome-session-2.28.0-do-not-keep-zombie-clients.patch
@@ -0,0 +1,50 @@
+From: Romain Perier <mrpouet@gentoo.org>
+Date: Fri, 23 Oct 2009 14:17:40 +0200
+Subject: [PATCH] Avoid to keep zombie clients in the case when a IceError is thrown between accept_ice_connection() and accept_xsmp_connection()
+
+Assuming the following behaviour:
+An "Ice packet" is caught by accept_ice_connection() and the new Ice connection is accepted,
+then a GsmXsmpClient is instancied and stored in GsmXsmpServer's table.
+gsm_store_add() function emits the "ADDED" signal, which calls gsm_manager.c:on_store_client_added() (connected to ADDED signal),
+this previous callback install some signals EXCEPT "disconnect" signal on this new client.
+Now before the client being registered by libSM and before accept_xsmp_connection() is invoked, an IceError is thrown.
+gsm_xsmp_client.c:client_iochannel_watch() catchs this error :
+What is the default behaviour of this function when a IceProcessMessagesIOError is detected ?
+- the status of the client is changed to GSM_CLIENT_FAILED
+- then the "disconnect" signal is emited on this object (a client)
+
+=> a problem occurs, because the "disconnect" signal is not connected yet (done by GsmManager on a registered xsmp client)
+=> so the client is able to be freed (depending on the counter reference)
+=> but the client is not removed from the GsmManager's table.
+Conclusion: the client is a "zombie".
+
+The solution is to connect the "disconnect" client in gsm_manager.c:on_store_client_added(), and in a case like that
+its works perfectly :)
+
+=> NO timeout executed on logout/reboot/shutdown ;)
+
+---
+ gnome-session/gsm-manager.c | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
+index ee90716..06c6a02 100644
+--- a/gnome-session/gsm-manager.c
++++ b/gnome-session/gsm-manager.c
+@@ -1988,9 +1988,11 @@ on_store_client_added (GsmStore *store,
+ "end-session-response",
+ G_CALLBACK (on_client_end_session_response),
+ manager);
+-
++ g_signal_connect (client,
++ "disconnected",
++ G_CALLBACK (on_client_disconnected),
++ manager);
+ g_signal_emit (manager, signals [CLIENT_ADDED], 0, id);
+- /* FIXME: disconnect signal handler */
+ }
+
+ static void
+--
+1.6.5.1
+
diff --git a/gnome-base/gnome-session/files/gnome-session-2.28.0-xsmp-stop-throw-error.patch b/gnome-base/gnome-session/files/gnome-session-2.28.0-xsmp-stop-throw-error.patch
new file mode 100644
index 000000000000..eacc76f73753
--- /dev/null
+++ b/gnome-base/gnome-session/files/gnome-session-2.28.0-xsmp-stop-throw-error.patch
@@ -0,0 +1,31 @@
+From ff15cffb457715179a69cc8e05212a19ffbd4a25 Mon Sep 17 00:00:00 2001
+From: Romain Perier <mrpouet@gentoo.org>
+Date: Wed, 14 Oct 2009 11:06:19 +0200
+Subject: [PATCH] Throw an error from xsmp_stop() when the client is not registered, it's fixes a SIGSEGV
+
+---
+ gnome-session/gsm-xsmp-client.c | 9 +++++++++
+ 1 files changed, 9 insertions(+), 0 deletions(-)
+
+diff --git a/gnome-session/gsm-xsmp-client.c b/gnome-session/gsm-xsmp-client.c
+index bc3f77e..7e7ad99 100644
+--- a/gnome-session/gsm-xsmp-client.c
++++ b/gnome-session/gsm-xsmp-client.c
+@@ -713,6 +713,15 @@ xsmp_stop (GsmClient *client,
+
+ g_debug ("GsmXSMPClient: xsmp_stop ('%s')", xsmp->priv->description);
+
++ /*FIXME: What do we do if the client can't be stoped ?
++ * (probably a cleaner solution exists...) */
++ if (xsmp->priv->conn == NULL) {
++ g_set_error (error,
++ GSM_CLIENT_ERROR,
++ GSM_CLIENT_ERROR_NOT_REGISTERED,
++ "Client is not registered");
++ return FALSE;
++ }
+ SmsDie (xsmp->priv->conn);
+
+ return TRUE;
+--
+1.6.5
diff --git a/gnome-base/gnome-session/gnome-session-2.24.3.ebuild b/gnome-base/gnome-session/gnome-session-2.24.3.ebuild
deleted file mode 100644
index 1dedecfcef1c..000000000000
--- a/gnome-base/gnome-session/gnome-session-2.24.3.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-session/gnome-session-2.24.3.ebuild,v 1.1 2009/03/17 08:32:33 nirbheek Exp $
-
-inherit autotools eutils gnome2
-
-DESCRIPTION="Gnome session manager"
-HOMEPAGE="http://www.gnome.org/"
-SRC_URI="${SRC_URI}
- branding? ( mirror://gentoo/gentoo-splash.png )"
-
-LICENSE="GPL-2 LGPL-2 FDL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
-
-IUSE="branding ipv6 policykit"
-
-RDEPEND=">=dev-libs/glib-2.16
- >=gnome-base/libgnomeui-2.2
- >=x11-libs/gtk+-2.11.1
- >=gnome-base/libglade-2.3.6
- >=dev-libs/dbus-glib-0.76
- >=gnome-base/gnome-keyring-2.21.92
- >=gnome-base/gconf-2
- >=x11-libs/startup-notification-0.9
- policykit? ( >=gnome-extra/policykit-gnome-0.7 )
-
- x11-apps/xdpyinfo"
-DEPEND="${RDEPEND}
- >=sys-devel/gettext-0.10.40
- >=dev-util/pkgconfig-0.17
- >=dev-util/intltool-0.40
- !<gnome-base/gdm-2.20.4"
-# gnome-base/gdm does not provide gnome.desktop anymore
-
-DOCS="AUTHORS ChangeLog NEWS README"
-
-pkg_setup() {
- # TODO: convert libnotify to a configure option
- G2CONF="${G2CONF} $(use_enable ipv6) $(use_enable policykit polkit)"
-}
-
-src_unpack() {
- gnome2_src_unpack
-
- # Patch for Gentoo Branding (bug #42687)
- use branding && epatch "${FILESDIR}/${PN}-2.17.90.1-gentoo-branding.patch"
-
- # Fix automagic dependency on policykit, upstream bug #551766
- epatch "${FILESDIR}/${PN}-2.23.5-polkit-automagic.patch"
-
- # Fix shutdown/restart capability, upstream bug #549150
- epatch "${FILESDIR}/${PN}-2.24.2-shutdown.patch"
-
- intltoolize --force --copy --automake || die "intltoolize failed"
- eautoreconf
-}
-
-src_install() {
- gnome2_src_install
-
- dodir /etc/X11/Sessions
- exeinto /etc/X11/Sessions
- doexe "${FILESDIR}/Gnome"
-
- # Our own splash for world domination
- if use branding ; then
- insinto /usr/share/pixmaps/splash/
- doins "${DISTDIR}/gentoo-splash.png"
- fi
-}
diff --git a/gnome-base/gnome-session/gnome-session-2.26.1-r1.ebuild b/gnome-base/gnome-session/gnome-session-2.28.0.ebuild
index 787f22e8de35..d03edd6fa967 100644
--- a/gnome-base/gnome-session/gnome-session-2.26.1-r1.ebuild
+++ b/gnome-base/gnome-session/gnome-session-2.28.0.ebuild
@@ -1,30 +1,29 @@
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-session/gnome-session-2.26.1-r1.ebuild,v 1.2 2009/06/28 11:22:58 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-session/gnome-session-2.28.0.ebuild,v 1.1 2009/10/29 23:46:26 eva Exp $
EAPI="2"
-inherit eutils gnome2 autotools
+inherit eutils gnome2
DESCRIPTION="Gnome session manager"
HOMEPAGE="http://www.gnome.org/"
SRC_URI="${SRC_URI}
- mirror://gentoo/${P}-gentoo-patches.tar.bz2
+ mirror://gentoo/${PN}-2.26.2-session-saving-button.patch.bz2
branding? ( mirror://gentoo/gentoo-splash.png )"
LICENSE="GPL-2 LGPL-2 FDL-1.1"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+KEYWORDS="~amd64 ~x86"
-IUSE="branding doc ipv6 policykit elibc_FreeBSD"
+IUSE="branding doc ipv6 +splash elibc_FreeBSD"
RDEPEND=">=dev-libs/glib-2.16
- >=x11-libs/gtk+-2.11.1
- >=gnome-base/libglade-2.3.6
+ >=x11-libs/gtk+-2.14.0
>=dev-libs/dbus-glib-0.76
>=gnome-base/gconf-2
>=x11-libs/startup-notification-0.9
- policykit? ( >=gnome-extra/policykit-gnome-0.7 )
+ >=sys-apps/devicekit-power-008
elibc_FreeBSD? ( dev-libs/libexecinfo )
x11-libs/libSM
@@ -49,27 +48,41 @@ pkg_setup() {
# TODO: convert libnotify to a configure option
G2CONF="${G2CONF}
--docdir=/usr/share/doc/${PF}
+ --with-default-wm=gnome-wm
+ $(use_enable splash)
$(use_enable doc docbook-docs)
- $(use_enable ipv6)
- $(use_enable policykit polkit)"
+ $(use_enable ipv6)"
+
+ if use branding && ! use splash; then
+ ewarn "You have disabled splash but enabled branding support"
+ ewarn "splash support has been auto-enabled for branding"
+ G2CONF="${G2CONF} --enable-splash"
+ fi
}
src_prepare() {
gnome2_src_prepare
# Patch for Gentoo Branding (bug #42687)
- use branding && epatch "${FILESDIR}/${PN}-2.17.90.1-gentoo-branding.patch"
+ use branding && epatch "${FILESDIR}/${PN}-2.27.91-gentoo-branding.patch"
# Fix shutdown/restart capability, upstream bug #549150
- epatch "${WORKDIR}/${PN}-2.26.1-shutdown.patch"
+ # FIXME: Needs updating for 2.27.91 (package is currently masked)
+ #epatch "${FILESDIR}/${PN}-2.26.2-shutdown.patch"
# Add "session saving" button back, upstream bug #575544
- epatch "${WORKDIR}/${PN}-2.26.1-session-saving-button.patch"
-
- # build fix for bsd, check for execinfo and link to it if needed
- # bug #275524, gnome bug #587088
- epatch "${FILESDIR}/${P}-execinfo.patch"
- eautoreconf
+ # FIXME: Needs updating for 2.27.91 (package is currently masked)
+ #epatch "${WORKDIR}/${PN}-2.26.2-session-saving-button.patch"
+
+ # Throw an error in xsmp_stop() when the client isn't registered,
+ # it's fixes a segfault, patch import from upstream bug #598211.
+ epatch "${FILESDIR}/${P}-xsmp-stop-throw-error.patch"
+
+ # Avoid to keep zombie clients in the case when a IceError is thrown
+ # between accept_ice_connection() and accept_xsmp_connection(),
+ # this patch should fix the timeout executed for some logout/shutdown
+ # /reboot. (patch commented out)
+ epatch "${FILESDIR}/${P}-do-not-keep-zombie-clients.patch"
}
src_install() {
@@ -80,7 +93,7 @@ src_install() {
doexe "${FILESDIR}/Gnome" || die "doexe failed"
# Our own splash for world domination
- if use branding ; then
+ if use branding; then
insinto /usr/share/pixmaps/splash/
doins "${DISTDIR}/gentoo-splash.png" || die "doins failed"
fi
diff --git a/gnome-base/gnome-session/metadata.xml b/gnome-base/gnome-session/metadata.xml
index fa475007ee22..5b30c087373e 100644
--- a/gnome-base/gnome-session/metadata.xml
+++ b/gnome-base/gnome-session/metadata.xml
@@ -5,5 +5,6 @@
<use>
<flag name="policykit">Enable <pkg>sys-auth/policykit</pkg>
authentication support</flag>
+ <flag name="splash">Enable gnome splash screen</flag>
</use>
</pkgmetadata>