diff options
author | Gilles Dartiguelongue <eva@gentoo.org> | 2009-10-29 23:46:26 +0000 |
---|---|---|
committer | Gilles Dartiguelongue <eva@gentoo.org> | 2009-10-29 23:46:26 +0000 |
commit | f117b5c01ae37ea0dba809417544bec0ad68e9ca (patch) | |
tree | 46e6ee0b5546b81f1500e923f2199b09b991dc33 /gnome-base/gnome-session | |
parent | Initial ebuild for GNOME 2.28. (diff) | |
download | gentoo-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/gnome-session')
-rw-r--r-- | gnome-base/gnome-session/ChangeLog | 12 | ||||
-rw-r--r-- | gnome-base/gnome-session/files/gnome-session-2.27.91-gentoo-branding.patch | 14 | ||||
-rw-r--r-- | gnome-base/gnome-session/files/gnome-session-2.28.0-do-not-keep-zombie-clients.patch | 50 | ||||
-rw-r--r-- | gnome-base/gnome-session/files/gnome-session-2.28.0-xsmp-stop-throw-error.patch | 31 | ||||
-rw-r--r-- | gnome-base/gnome-session/gnome-session-2.24.3.ebuild | 71 | ||||
-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.xml | 1 |
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> |