aboutsummaryrefslogtreecommitdiff
path: root/x11/gnome-session
diff options
context:
space:
mode:
authorJoe Marcus Clarke <marcus@FreeBSD.org>2007-03-19 05:14:07 +0000
committerJoe Marcus Clarke <marcus@FreeBSD.org>2007-03-19 05:14:07 +0000
commit951c257ea3655de6e80c26a36c18c69ee8047ea8 (patch)
tree249b59a23d9c6fae8db5e5639385f6273d237705 /x11/gnome-session
parent91926e92b73e3751382216a16044c5d8b24ad126 (diff)
downloadports-951c257ea3655de6e80c26a36c18c69ee8047ea8.tar.gz
ports-951c257ea3655de6e80c26a36c18c69ee8047ea8.zip
Notes
Diffstat (limited to 'x11/gnome-session')
-rw-r--r--x11/gnome-session/Makefile21
-rw-r--r--x11/gnome-session/distinfo12
-rw-r--r--x11/gnome-session/files/patch-data_Makefile.in20
-rw-r--r--x11/gnome-session/files/patch-dbus429
-rw-r--r--x11/gnome-session/files/patch-gnome-session_Makefile.in26
-rw-r--r--x11/gnome-session/files/patch-gnome-session_gsm-dbus.c35
-rw-r--r--x11/gnome-session/pkg-plist7
7 files changed, 78 insertions, 472 deletions
diff --git a/x11/gnome-session/Makefile b/x11/gnome-session/Makefile
index 0aecfac1bbd4..de1faae3983e 100644
--- a/x11/gnome-session/Makefile
+++ b/x11/gnome-session/Makefile
@@ -3,17 +3,16 @@
# Whom: Joe Marcus Clarke <marcus@FreeBSD.org>
#
# $FreeBSD$
-# $MCom: ports/x11/gnome-session/Makefile,v 1.96 2006/10/07 19:45:39 marcus Exp $
+# $MCom: ports/x11/gnome-session/Makefile,v 1.110 2007/03/18 20:55:55 marcus Exp $
#
PORTNAME= gnome-session
-PORTVERSION= 2.16.3
+PORTVERSION= 2.18.0
+PORTREVISION= 3
CATEGORIES= x11 gnome
MASTER_SITES= ${MASTER_SITE_GNOME} \
- ${MASTER_SITE_LOCAL:S/$/:local/} \
- http://people.FreeBSD.org/~adamw/images/gnome_splashes/2.12/:local
-MASTER_SITE_SUBDIR= sources/gnome-session/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/} \
- adamw/:local
+ http://www.marcuscom.com/downloads/:local
+MASTER_SITE_SUBDIR= sources/gnome-session/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/}
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
${SPLASHES}:local
DIST_SUBDIR= gnome2
@@ -27,6 +26,7 @@ LIB_DEPENDS= dbus-glib-1.2:${PORTSDIR}/devel/dbus-glib \
gnome-keyring.0:${PORTSDIR}/security/gnome-keyring
RUN_DEPENDS= ${LOCALBASE}/libexec/gnome-settings-daemon:${PORTSDIR}/sysutils/gnome-control-center
+INSTALLS_ICONS= yes
USE_GETTEXT= yes
USE_BZIP2= yes
USE_XLIB= yes
@@ -34,6 +34,7 @@ USE_GNOME= gnomeprefix gnomehack intlhack gnomedesktop
GNOME_DESKTOP_VERSION=2
USE_GMAKE= yes
GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --mandir=${PREFIX}/man
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include -I${X11BASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib"
@@ -42,18 +43,18 @@ MAN1= gnome-session.1 gnome-wm.1 session-properties.1 \
MAN5= default.session.5
GCONF_SCHEMAS= gnome-session.schemas
-SPLASHES= freebsd-splashes-gnome-2.12.1.tar
+SPLASHES= freebsd-splashes-gnome-2.18_1.tar
post-extract:
cd ${WRKDIR} && ${TAR} xf ${DISTDIR}/${DIST_SUBDIR}/${SPLASHES}
post-install:
- ${INSTALL_DATA} ${WRKSRC}/gnome-session/gnome-splash.png \
+ ${INSTALL_DATA} ${WRKSRC}/data/gnome-splash.png \
${PREFIX}/share/gnome/pixmaps/splash/original-gnome-splash.png
# ${INSTALL_DATA} ${WRKDIR}/freebsd-splashes-gnome-2.12/domix-splash-2.12.png \
# ${PREFIX}/share/gnome/pixmaps/splash/gnome-splash.png
-.for splash in MaMBaNgGaoX-2.12.png adamw-piggy-2.12.png adamw-trophy-2.12.png andreas-slogan-2.12.png andreas-splash-2.12.png domix-splash-2.12.png domix-splash2-2.12.png mumija-2.12.png mumija2-2.12.png mumija3-2.12.png tremulant-2.12.png tremulant-blood-2.12.png tremulant-brushed-metal-2.12.png
- ${INSTALL_DATA} ${WRKDIR}/freebsd-splashes-gnome-2.12/${splash} \
+.for splash in MaMBaNgGaoX-2.12.png adamw-piggy-2.12.png adamw-trophy-2.12.png andreas-slogan-2.12.png andreas-splash-2.12.png domix-splash-2.12.png domix-splash2-2.12.png mumija-2.12.png mumija2-2.12.png mumija3-2.12.png tremulant-2.12.png tremulant-blood-2.12.png tremulant-brushed-metal-2.12.png franz-splash_218.png adamw-bat-2.18.jpg adamw-conky-2.18.png adamw-cow-2.18.png adamw-mouth-2.18.png adamw-swing-2.18.png
+ ${INSTALL_DATA} ${WRKDIR}/freebsd-splashes-gnome-2.18/${splash} \
${PREFIX}/share/gnome/pixmaps/splash
.endfor
diff --git a/x11/gnome-session/distinfo b/x11/gnome-session/distinfo
index b6f8d04ceab4..b4bcd8ea2c2a 100644
--- a/x11/gnome-session/distinfo
+++ b/x11/gnome-session/distinfo
@@ -1,6 +1,6 @@
-MD5 (gnome2/gnome-session-2.16.3.tar.bz2) = d35a7f541adecc112b7c73f95353a183
-SHA256 (gnome2/gnome-session-2.16.3.tar.bz2) = 00135b65275f17343bcfc25f37249d3f6449a3c9243f60b4cd4e3d6b4505b142
-SIZE (gnome2/gnome-session-2.16.3.tar.bz2) = 683140
-MD5 (gnome2/freebsd-splashes-gnome-2.12.1.tar) = 4a098f0f2295c3333acff185d4bed5aa
-SHA256 (gnome2/freebsd-splashes-gnome-2.12.1.tar) = c7008fc8f43cf07e3d84cbf0bd9b2846fa31aaf37d4f97993b185b4155f8ee27
-SIZE (gnome2/freebsd-splashes-gnome-2.12.1.tar) = 1280000
+MD5 (gnome2/gnome-session-2.18.0.tar.bz2) = 830dbabe74474da49018889d27eefaae
+SHA256 (gnome2/gnome-session-2.18.0.tar.bz2) = 4a1ce73fedcfae94673eeef2655937ff6c9ebc2f52ba817466659d2b583df330
+SIZE (gnome2/gnome-session-2.18.0.tar.bz2) = 707392
+MD5 (gnome2/freebsd-splashes-gnome-2.18_1.tar) = 80eb8c52fcf9fe977e0bf8ed48b85fe5
+SHA256 (gnome2/freebsd-splashes-gnome-2.18_1.tar) = fcca0f6eb759a4ef0211ecd61340f84ce8ad4d7493f725ac8613724faadbb508
+SIZE (gnome2/freebsd-splashes-gnome-2.18_1.tar) = 1630720
diff --git a/x11/gnome-session/files/patch-data_Makefile.in b/x11/gnome-session/files/patch-data_Makefile.in
new file mode 100644
index 000000000000..17d12d395c3b
--- /dev/null
+++ b/x11/gnome-session/files/patch-data_Makefile.in
@@ -0,0 +1,20 @@
+--- data/Makefile.in.orig Sun Jan 28 20:39:50 2007
++++ data/Makefile.in Sun Jan 28 20:41:03 2007
+@@ -253,7 +253,7 @@ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ SUBDIRS = icons
+-defaultdir = $(datadir)/gnome
++defaultdir = $(datadir)
+ default_in_files = default.session.in
+ default_DATA = $(default_in_files:.session.in=.session)
+ settingsdir = $(datadir)/applications
+@@ -271,7 +271,7 @@ EXTRA_DIST = \
+ session-properties.desktop.in
+
+ CLEANFILES = default.session gnome-session.schemas session-properties.desktop
+-all: all-recursive
++all: all-recursive default.session
+
+ .SUFFIXES:
+ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
diff --git a/x11/gnome-session/files/patch-dbus b/x11/gnome-session/files/patch-dbus
deleted file mode 100644
index e7982166670a..000000000000
--- a/x11/gnome-session/files/patch-dbus
+++ /dev/null
@@ -1,429 +0,0 @@
---- gnome-session/gsm-dbus.h.orig Sun Apr 23 23:01:47 2006
-+++ gnome-session/gsm-dbus.h Sun Apr 23 23:00:53 2006
-@@ -0,0 +1,27 @@
-+/* gsm-dbus.h - Handle the dbus-daemon process.
-+ *
-+ * Copyright (c) 2006 Julio M. Merino Vidal <jmmv@NetBSD.org>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2, or (at your option)
-+ * any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-+ * 02111-1307, USA.
-+ */
-+
-+#ifndef GSM_DBUS_H
-+#define GSM_DBUS_H
-+
-+gboolean gsm_dbus_daemon_start (void);
-+void gsm_dbus_daemon_stop (void);
-+
-+#endif /* GSM_DBUS_H */
---- gnome-session/gsm-dbus.c.orig Sun Apr 23 23:09:40 2006
-+++ gnome-session/gsm-dbus.c Sun Apr 23 23:10:21 2006
-@@ -0,0 +1,360 @@
-+/* gsm-dbus.c - Handle the dbus-daemon process.
-+ *
-+ * Copyright (c) 2006 Julio M. Merino Vidal <jmmv@NetBSD.org>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2, or (at your option)
-+ * any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-+ * 02111-1307, USA.
-+ */
-+
-+#if HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
-+#include <sys/wait.h>
-+
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <limits.h>
-+#include <signal.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+
-+#include <glib.h>
-+#include <glib/gprintf.h>
-+
-+#include "gsm-dbus.h"
-+
-+static pid_t dbus_daemon_pid = 0;
-+
-+static gboolean have_dbus_daemon (void);
-+static gboolean have_running_instance (void);
-+static int read_line (int, char *, ssize_t);
-+static void start_child (int, int);
-+static void start_parent (int, int, pid_t);
-+
-+/* ---------------------------------------------------------------------
-+ * PUBLIC INTERFACE
-+ * --------------------------------------------------------------------- */
-+
-+/*
-+ * Starts the dbus-daemon if not already running and attaches it to the
-+ * current environment by defining DBUS_SESSION_BUS_ADDRESS. Returns
-+ * true if we launch a new dbus-daemon so that we know if we have to call
-+ * gsm_dbus_daemon_stop later on or not.
-+ *
-+ * This function can only be called if dbus-daemon is not already running
-+ * (i.e., if gnome-session is starting up or if gsm_dbus_daemon_stop was
-+ * previously called).
-+ */
-+gboolean
-+gsm_dbus_daemon_start (void)
-+{
-+ int address_pipe[2];
-+ int pid_pipe[2];
-+ pid_t tmp_pid;
-+
-+ g_assert (dbus_daemon_pid == 0);
-+
-+ if (have_running_instance ())
-+ return FALSE;
-+ if (! have_dbus_daemon ())
-+ return FALSE;
-+
-+ /*
-+ * At this point, dbus-daemon is not running for the current session
-+ * and the binary exists. Spawn it.
-+ */
-+
-+ if (pipe (address_pipe) == -1)
-+ {
-+ g_printerr ("Cannot create address pipe for dbus-daemon\n");
-+ return FALSE;
-+ }
-+
-+ if (pipe (pid_pipe) == -1)
-+ {
-+ close (address_pipe[0]);
-+ close (address_pipe[1]);
-+ g_printerr ("Cannot create pid pipe for dbus-daemon\n");
-+ return FALSE;
-+ }
-+
-+ tmp_pid = fork ();
-+ if (tmp_pid == -1)
-+ {
-+ close (address_pipe[0]);
-+ close (address_pipe[1]);
-+ close (pid_pipe[0]);
-+ close (pid_pipe[1]);
-+ g_printerr ("Cannot create child process for dbus-daemon\n");
-+ return FALSE;
-+ }
-+ else if (tmp_pid == 0)
-+ {
-+ close (address_pipe[0]);
-+ close (pid_pipe[0]);
-+ start_child (address_pipe[1], pid_pipe[1]);
-+ /* NOTREACHED */
-+ }
-+ else
-+ {
-+ close (address_pipe[1]);
-+ close (pid_pipe[1]);
-+ start_parent (address_pipe[0], pid_pipe[0], tmp_pid);
-+ }
-+
-+ g_assert (dbus_daemon_pid != 0);
-+ return TRUE;
-+}
-+
-+/*
-+ * Stops the running dbus-daemon. Can only be called if we own the process;
-+ * i.e., if gsm_dbus_daemon_start returned true.
-+ */
-+void
-+gsm_dbus_daemon_stop (void)
-+{
-+ g_assert (dbus_daemon_pid != 0);
-+
-+ if (kill (dbus_daemon_pid, SIGTERM) == -1)
-+ g_printerr ("Failed to kill dbus-daemon (pid %d)\n",
-+ dbus_daemon_pid);
-+ else
-+ {
-+ dbus_daemon_pid = 0;
-+ g_unsetenv ("DBUS_SESSION_BUS_ADDRESS");
-+ }
-+}
-+
-+/* ---------------------------------------------------------------------
-+ * PRIVATE FUNCTIONS
-+ * --------------------------------------------------------------------- */
-+
-+/*
-+ * Check whether the dbus-daemon binary is in the path and raise an
-+ * appropriate error message if it is not.
-+ */
-+static gboolean
-+have_dbus_daemon (void)
-+{
-+ gboolean result;
-+ gchar *file_name;
-+
-+ file_name = g_find_program_in_path ("dbus-daemon");
-+ if (file_name == NULL)
-+ g_printerr ("Cannot locate dbus-daemon\n");
-+ result = file_name != NULL;
-+ g_free (file_name);
-+
-+ return result;
-+}
-+
-+/*
-+ * Check whether there is a dbus-daemon session instance currently running
-+ * (not spawned by us). If there is, do nothing and return TRUE.
-+ */
-+static gboolean
-+have_running_instance (void)
-+{
-+ const gchar *address_str;
-+
-+ g_assert (dbus_daemon_pid == 0);
-+
-+ address_str = g_getenv ("DBUS_SESSION_BUS_ADDRESS");
-+ return address_str != NULL;
-+}
-+
-+/*
-+ * Reads a single line from the given file descriptor and stores it in the
-+ * buffer pointed to by 'buf'.
-+ *
-+ * After finding the first new line character, the function returns. This
-+ * is to avoid reading dbus' pid multiple times from its file descriptor.
-+ */
-+static int
-+read_line (int fd, char *buf, ssize_t bufsize)
-+{
-+ gboolean discard, done;
-+ ssize_t bytes;
-+
-+ bytes = 0;
-+ discard = FALSE;
-+ done = FALSE;
-+ do
-+ {
-+ ssize_t i, result;
-+
-+ result = read (fd, &buf[bytes], bufsize - bytes);
-+ if (result < 0)
-+ return -1;
-+ else if (result > 0 && !discard)
-+ {
-+ if (bytes + result < bufsize)
-+ bytes += result;
-+ else
-+ bytes = bufsize - 1;
-+ }
-+ else
-+ done = TRUE;
-+
-+ for (i = 0; !discard && i < bytes; i++)
-+ if (buf[i] == '\n')
-+ {
-+ buf[i] = '\0';
-+ discard = TRUE;
-+ }
-+ }
-+ while (!done);
-+
-+ g_assert (bytes >= 0 && bytes < bufsize);
-+ buf[bytes] = '\0';
-+
-+ return bytes;
-+}
-+
-+/*
-+ * Code run by the child process after the fork to launch dbus-demon.
-+ *
-+ * As the child, this execs dbus-daemon, connecting it to the appropriate
-+ * file descriptors.
-+ */
-+static void
-+start_child (int address_fd, int pid_fd)
-+{
-+ gchar address_str[16];
-+ gchar pid_str[16];
-+ int fd;
-+ long open_max;
-+
-+ open_max = sysconf (_SC_OPEN_MAX);
-+ for (fd = 0; fd < open_max; fd++)
-+ {
-+ if (fd != STDIN_FILENO && fd != STDOUT_FILENO && fd != STDERR_FILENO &&
-+ fd != address_fd && fd != pid_fd)
-+ fcntl (fd, F_SETFD, FD_CLOEXEC);
-+ }
-+
-+ g_snprintf (address_str, sizeof (address_str), "%d", address_fd);
-+ g_snprintf (pid_str, sizeof (pid_str), "%d", pid_fd);
-+
-+ execlp ("dbus-daemon",
-+ "dbus-daemon",
-+ "--fork",
-+ "--print-address", address_str,
-+ "--print-pid", pid_str,
-+ "--session",
-+ NULL);
-+
-+ g_printerr ("Could not launch dbus-daemon\n");
-+
-+ exit (EXIT_FAILURE);
-+}
-+
-+/*
-+ * Code run by the parent process after the fork to launch dbus-demon.
-+ *
-+ * As the parent, this waits until dbus-daemon forks itself again and
-+ * fetches its address and pid to later take its ownership.
-+ */
-+static void
-+start_parent (int address_fd, int pid_fd, pid_t child)
-+{
-+ char address_str[256];
-+ char pid_str[256];
-+ char *tmp_ep;
-+ int exitstat;
-+ unsigned long tmp_num;
-+ ssize_t bytes;
-+
-+ g_assert (child > 0);
-+
-+ /*
-+ * dbus-daemon --fork causes our child process to exit prematurely
-+ * because it is not the real daemon. See if it worked correctly
-+ * and clean it up to avoid a zombie.
-+ *
-+ * Life could be much easier if dbus-daemon had a --no-fork flag.
-+ * But, as it hasn't it, we cannot assume that it will not fork,
-+ * because we have no control over its configuration file.
-+ */
-+ if (waitpid (child, &exitstat, 0) == -1)
-+ {
-+ close (address_fd);
-+ close (pid_fd);
-+
-+ g_printerr ("Failed to get dbus-daemon status\n");
-+ return;
-+ }
-+ if (!WIFEXITED (exitstat) || WEXITSTATUS (exitstat) != EXIT_SUCCESS)
-+ {
-+ close (address_fd);
-+ close (pid_fd);
-+
-+ g_printerr ("dbus-daemon exited unexpectedly\n");
-+ return;
-+ }
-+
-+ /*
-+ * Fetch dbus-daemon address.
-+ */
-+ bytes = read_line (address_fd, address_str, sizeof (address_str));
-+ if (bytes == -1 || bytes == 0)
-+ {
-+ close (address_fd);
-+ close (pid_fd);
-+
-+ g_printerr ("Failed to get dbus-daemon's address\n");
-+ return;
-+ }
-+
-+ /*
-+ * Fetch dbus-daemon pid.
-+ */
-+ bytes = read_line (pid_fd, pid_str, sizeof (pid_str));
-+ if (bytes == -1 || bytes == 0)
-+ {
-+ close (address_fd);
-+ close (pid_fd);
-+
-+ g_printerr ("Failed to get dbus-daemon's pid\n");
-+ return;
-+ }
-+
-+ close (address_fd);
-+ close (pid_fd);
-+
-+ /*
-+ * Convert the string printed in pid_fd to a pid value. Do the usual
-+ * strtoul dance to check for a valid number.
-+ */
-+ errno = 0;
-+ tmp_num = strtoul(pid_str, &tmp_ep, 10);
-+ if (pid_str[0] == '\0' || *tmp_ep != '\0')
-+ {
-+ g_printerr ("dbus-daemon pid invalid (not a number)\n");
-+ return;
-+ }
-+ if (errno == ERANGE && tmp_num == ULONG_MAX)
-+ {
-+ g_printerr ("dbus-daemon pid invalid (out of range)\n");
-+ return;
-+ }
-+ dbus_daemon_pid = tmp_num;
-+
-+ /*
-+ * All right! Tell our future children about the new born dbus-daemon.
-+ */
-+ g_setenv ("DBUS_SESSION_BUS_ADDRESS", address_str, TRUE);
-+}
---- gnome-session/main.c.orig Wed Jul 26 08:46:36 2006
-+++ gnome-session/main.c Mon Aug 7 21:17:49 2006
-@@ -43,6 +43,7 @@
- #include "command.h"
- #include "splash-widget.h"
- #include "util.h"
-+#include "gsm-dbus.h"
- #include "gsm-sound.h"
- #include "gsm-gsd.h"
- #include "gsm-keyring.h"
-@@ -329,6 +330,7 @@
- Session *the_session;
- gboolean splashing;
- gboolean a_t_support;
-+ gboolean dbus_daemon_owner;
- GError *err;
- int status;
- char *display_str;
-@@ -419,6 +421,7 @@
- fprintf (stderr, "SESSION_MANAGER=%s\n", getenv ("SESSION_MANAGER"));
- gnome_window_icon_set_default_from_file (GNOME_ICONDIR"/gnome-session.png");
-
-+ dbus_daemon_owner = gsm_dbus_daemon_start ();
-
- /* Make sure children see the right value for DISPLAY. This is
- useful if --display was specified on the command line. */
-@@ -502,6 +505,9 @@
- gsm_sound_logout ();
-
- gsm_keyring_daemon_stop ();
-+
-+ if (dbus_daemon_owner)
-+ gsm_dbus_daemon_stop ();
-
- g_object_unref (gconf_client);
- gsm_shutdown_gconfd ();
diff --git a/x11/gnome-session/files/patch-gnome-session_Makefile.in b/x11/gnome-session/files/patch-gnome-session_Makefile.in
index a80f576a42a3..b07ad029e3dd 100644
--- a/x11/gnome-session/files/patch-gnome-session_Makefile.in
+++ b/x11/gnome-session/files/patch-gnome-session_Makefile.in
@@ -1,14 +1,5 @@
--- gnome-session/Makefile.in.orig Sun Apr 23 23:01:30 2006
+++ gnome-session/Makefile.in Sun Apr 23 23:06:41 2006
-@@ -67,7 +67,7 @@ am_gnome_session_OBJECTS = manager.$(OBJ
- remote.$(OBJEXT) logout.$(OBJEXT) splash-widget.$(OBJEXT) \
- gsm-xrandr.$(OBJEXT) gsm-keyring.$(OBJEXT) gsm-gsd.$(OBJEXT) \
- gsm-protocol.$(OBJEXT) gsm-remote-desktop.$(OBJEXT) \
-- gsm-sound.$(OBJEXT) gsm-at-startup.$(OBJEXT) \
-+ gsm-sound.$(OBJEXT) gsm-at-startup.$(OBJEXT) gsm-dbus.$(OBJEXT) \
- gsm-multiscreen.$(OBJEXT) gsm-typebuiltins.$(OBJEXT) \
- gdm-logout-action.$(OBJEXT) util.$(OBJEXT) $(am__objects_1)
- gnome_session_OBJECTS = $(am_gnome_session_OBJECTS)
@@ -310,7 +310,7 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
@@ -18,20 +9,3 @@
INCLUDES = \
$(GNOME_SESSION_CFLAGS) \
$(STANDARD_PROPERTIES_CFLAGS) \
-@@ -386,6 +386,8 @@ gnome_session_SOURCES = \
- splash-widget.h \
- gsm-xrandr.c \
- gsm-xrandr.h \
-+ gsm-dbus.c \
-+ gsm-dbus.h \
- gsm-keyring.c \
- gsm-keyring.h \
- gsm-gsd.c \
-@@ -610,6 +612,7 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsm-sound.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsm-typebuiltins.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsm-xrandr.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gsm-dbus.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ice.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logout-test.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logout.Po@am__quote@
diff --git a/x11/gnome-session/files/patch-gnome-session_gsm-dbus.c b/x11/gnome-session/files/patch-gnome-session_gsm-dbus.c
new file mode 100644
index 000000000000..76de78b45ffe
--- /dev/null
+++ b/x11/gnome-session/files/patch-gnome-session_gsm-dbus.c
@@ -0,0 +1,35 @@
+--- gnome-session/gsm-dbus.c.orig Mon Jan 8 17:32:28 2007
++++ gnome-session/gsm-dbus.c Thu Jan 11 13:17:41 2007
+@@ -281,6 +281,7 @@ start_parent (int address_fd, int pid_fd
+ int exitstat;
+ unsigned long tmp_num;
+ ssize_t bytes;
++ int i;
+
+ g_assert (child > 0);
+
+@@ -326,14 +327,17 @@ start_parent (int address_fd, int pid_fd
+ /*
+ * Fetch dbus-daemon pid.
+ */
+- bytes = read_line (pid_fd, pid_str, sizeof (pid_str));
+- if (bytes == -1 || bytes == 0)
++ for (i = 0; i < 2; i++)
+ {
+- close (address_fd);
+- close (pid_fd);
+-
+- g_printerr ("Failed to get dbus-daemon's pid\n");
+- return;
++ bytes = read_line (pid_fd, pid_str, sizeof (pid_str));
++ if (bytes == -1 || bytes == 0)
++ {
++ close (address_fd);
++ close (pid_fd);
++
++ g_printerr ("Failed to get dbus-daemon's pid\n");
++ return;
++ }
+ }
+
+ close (address_fd);
diff --git a/x11/gnome-session/pkg-plist b/x11/gnome-session/pkg-plist
index 71e9b3048ab3..14d40f3c9f84 100644
--- a/x11/gnome-session/pkg-plist
+++ b/x11/gnome-session/pkg-plist
@@ -5,7 +5,6 @@ bin/gnome-session-save
bin/gnome-wm
share/gnome/applications/session-properties.desktop
share/gnome/default.session
-share/gnome/default.wm
share/gnome/pixmaps/splash/MaMBaNgGaoX-2.12.png
share/gnome/pixmaps/splash/adamw-piggy-2.12.png
share/gnome/pixmaps/splash/adamw-trophy-2.12.png
@@ -13,6 +12,7 @@ share/gnome/pixmaps/splash/andreas-slogan-2.12.png
share/gnome/pixmaps/splash/andreas-splash-2.12.png
share/gnome/pixmaps/splash/domix-splash-2.12.png
share/gnome/pixmaps/splash/domix-splash2-2.12.png
+share/gnome/pixmaps/splash/franz-splash_218.png
share/gnome/pixmaps/splash/gnome-splash.png
share/gnome/pixmaps/splash/mumija-2.12.png
share/gnome/pixmaps/splash/mumija2-2.12.png
@@ -21,6 +21,11 @@ share/gnome/pixmaps/splash/original-gnome-splash.png
share/gnome/pixmaps/splash/tremulant-2.12.png
share/gnome/pixmaps/splash/tremulant-blood-2.12.png
share/gnome/pixmaps/splash/tremulant-brushed-metal-2.12.png
+share/icons/hicolor/16x16/apps/session-properties.png
+share/icons/hicolor/22x22/apps/session-properties.png
+share/icons/hicolor/24x24/apps/session-properties.png
+share/icons/hicolor/32x32/apps/session-properties.png
+share/icons/hicolor/scalable/apps/session-properties.svg
share/locale/af/LC_MESSAGES/gnome-session-2.0.mo
share/locale/am/LC_MESSAGES/gnome-session-2.0.mo
share/locale/ar/LC_MESSAGES/gnome-session-2.0.mo