diff options
author | Joe Marcus Clarke <marcus@FreeBSD.org> | 2007-03-19 05:14:07 +0000 |
---|---|---|
committer | Joe Marcus Clarke <marcus@FreeBSD.org> | 2007-03-19 05:14:07 +0000 |
commit | 951c257ea3655de6e80c26a36c18c69ee8047ea8 (patch) | |
tree | 249b59a23d9c6fae8db5e5639385f6273d237705 /x11/gnome-session | |
parent | 91926e92b73e3751382216a16044c5d8b24ad126 (diff) | |
download | ports-951c257ea3655de6e80c26a36c18c69ee8047ea8.tar.gz ports-951c257ea3655de6e80c26a36c18c69ee8047ea8.zip |
Notes
Diffstat (limited to 'x11/gnome-session')
-rw-r--r-- | x11/gnome-session/Makefile | 21 | ||||
-rw-r--r-- | x11/gnome-session/distinfo | 12 | ||||
-rw-r--r-- | x11/gnome-session/files/patch-data_Makefile.in | 20 | ||||
-rw-r--r-- | x11/gnome-session/files/patch-dbus | 429 | ||||
-rw-r--r-- | x11/gnome-session/files/patch-gnome-session_Makefile.in | 26 | ||||
-rw-r--r-- | x11/gnome-session/files/patch-gnome-session_gsm-dbus.c | 35 | ||||
-rw-r--r-- | x11/gnome-session/pkg-plist | 7 |
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 |