aboutsummaryrefslogtreecommitdiff
path: root/x11/gdm
diff options
context:
space:
mode:
Diffstat (limited to 'x11/gdm')
-rw-r--r--x11/gdm/Makefile17
-rw-r--r--x11/gdm/distinfo6
-rw-r--r--x11/gdm/files/gdm.in2
-rw-r--r--x11/gdm/files/gdm.pam.in2
-rw-r--r--x11/gdm/files/patch-configure109
-rw-r--r--x11/gdm/files/patch-daemon-gdm-xdmcp-display-factory.c42
-rw-r--r--x11/gdm/files/patch-daemon_gdm-display-access-file.c12
-rw-r--r--x11/gdm/files/patch-daemon_gdm-session-worker.c20
-rw-r--r--x11/gdm/files/patch-gui_simple-greeter_gdm-greeter-login-window.c155
-rw-r--r--x11/gdm/files/patch-gui_simple-greeter_gdm-languages.c28
-rw-r--r--x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c25
-rw-r--r--x11/gdm/files/patch-gui_simple-greeter_gdm-user.c12
-rw-r--r--x11/gdm/files/patch-hal-keyboard31
-rw-r--r--x11/gdm/pkg-install4
-rw-r--r--x11/gdm/pkg-plist14
15 files changed, 351 insertions, 128 deletions
diff --git a/x11/gdm/Makefile b/x11/gdm/Makefile
index 9a6e1a7baf58..0d362dad07d7 100644
--- a/x11/gdm/Makefile
+++ b/x11/gdm/Makefile
@@ -3,12 +3,12 @@
# Whom: Joe Marcus Clarke <marcus@FreeBSD.org>
#
# $FreeBSD$
-# $MCom: ports-stable/x11/gdm/Makefile,v 1.8 2009/04/15 23:39:01 kwm Exp $
+# $MCom: ports/x11/gdm/Makefile,v 1.164 2009/11/28 05:59:03 mezz Exp $
#
PORTNAME= gdm
-PORTVERSION= 2.26.1
-PORTREVISION= 7
+PORTVERSION= 2.28.1
+PORTREVISION= 1
CATEGORIES= x11 gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome2
@@ -18,8 +18,10 @@ COMMENT= GNOME 2 version of xdm display manager
BUILD_DEPENDS= zenity:${PORTSDIR}/x11/zenity
LIB_DEPENDS= ck-connector.0:${PORTSDIR}/sysutils/consolekit \
+ polkit-gtk-1.0:${PORTSDIR}/sysutils/polkit-gnome \
execinfo:${PORTSDIR}/devel/libexecinfo \
- hal.1:${PORTSDIR}/sysutils/hal
+ hal.1:${PORTSDIR}/sysutils/hal \
+ canberra-gtk.0:${PORTSDIR}/audio/libcanberra
RUN_DEPENDS= zenity:${PORTSDIR}/x11/zenity \
${LOCALBASE}/libexec/gnome-settings-daemon:${PORTSDIR}/sysutils/gnome-settings-daemon \
gnome-session:${PORTSDIR}/x11/gnome-session
@@ -35,8 +37,8 @@ INSTALLS_ICONS= yes
USE_RC_SUBR= gdm
USE_GNOME_SUBR= yes
USE_GMAKE= yes
-USE_GNOME= gnomehack intlhack gnomehier libgnomeui librsvg2 gnomedocutils \
- gnomeprefix gnomepanel
+USE_GNOME= gnomehack intlhack gnomehier gconf2 libglade2 librsvg2 \
+ gnomedocutils gnomeprefix gnomepanel
GCONF_SCHEMAS= gdm-simple-greeter.schemas
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-working-directory=${PREFIX}/etc/gdm/home
@@ -81,6 +83,8 @@ post-patch:
${WRKSRC}/data/session-setup.entries
@${REINPLACE_CMD} -e 's|/usr/X11R6|${LOCALBASE}|g' \
${WRKSRC}/configure ${WRKSRC}/daemon/*.c ${WRKSRC}/po/*.po
+ @${REINPLACE_CMD} -e 's|/usr/lib|${LOCALBASE}/lib|g' \
+ ${WRKSRC}/data/greeter-autostart/*.desktop.in*
post-install:
${INSTALL_DATA} ${WRKSRC}/data/gconf.path \
@@ -94,7 +98,6 @@ post-install:
${PREFIX}/etc/gdm/custom.conf.default
${MKDIR} ${PREFIX}/share/xsessions
${INSTALL_DATA} ${WRKDIR}/gdm.pam ${PREFIX}/etc/pam.d/gdm
- @${MKDIR} ${PREFIX}/etc/gdm/Sessions
@${SED} -e 's|%%PREFIX%%|${PREFIX}|g' < ${PKGDIR}/pkg-message \
| /usr/bin/fmt 75 79 > ${PKGMESSAGE}
@${CAT} ${PKGMESSAGE}
diff --git a/x11/gdm/distinfo b/x11/gdm/distinfo
index e0eb9e84b26e..c2b797f0de19 100644
--- a/x11/gdm/distinfo
+++ b/x11/gdm/distinfo
@@ -1,3 +1,3 @@
-MD5 (gnome2/gdm-2.26.1.tar.bz2) = c2c15f8b741962f278fa7e790aaa9a2b
-SHA256 (gnome2/gdm-2.26.1.tar.bz2) = 34abc69bdfd1b6bb6d1f64dd1e34652c61310dc69305712d7aeec6203678fa4c
-SIZE (gnome2/gdm-2.26.1.tar.bz2) = 2526832
+MD5 (gnome2/gdm-2.28.1.tar.bz2) = 917dc80f5ef6adcdc15193de238476db
+SHA256 (gnome2/gdm-2.28.1.tar.bz2) = da77a6fd9d4cc76b68dd4354839f953f8df5fb7921c7777b80256916533a3e7a
+SIZE (gnome2/gdm-2.28.1.tar.bz2) = 2332716
diff --git a/x11/gdm/files/gdm.in b/x11/gdm/files/gdm.in
index a6a0a8d70eec..7190a891e9ac 100644
--- a/x11/gdm/files/gdm.in
+++ b/x11/gdm/files/gdm.in
@@ -1,6 +1,6 @@
#!/bin/sh
# $FreeBSD$
-# $MCom$
+# $MCom: ports/x11/gdm/files/gdm.in,v 1.38 2009/09/26 13:42:01 marcus Exp $
# PROVIDE: gdm
# REQUIRE: LOGIN cleanvar moused syscons dbus hald
diff --git a/x11/gdm/files/gdm.pam.in b/x11/gdm/files/gdm.pam.in
index 014d6c8151e9..1f16ea8e8ca2 100644
--- a/x11/gdm/files/gdm.pam.in
+++ b/x11/gdm/files/gdm.pam.in
@@ -1,6 +1,6 @@
#
# $FreeBSD$
-# $MCom$
+# $MCom: ports/x11/gdm/files/gdm.pam.in,v 1.8 2009/09/26 13:42:01 marcus Exp $
#
# PAM configuration for the "gdm" service
#
diff --git a/x11/gdm/files/patch-configure b/x11/gdm/files/patch-configure
index baa14aa863dd..220aa1cb6ac2 100644
--- a/x11/gdm/files/patch-configure
+++ b/x11/gdm/files/patch-configure
@@ -1,68 +1,137 @@
---- configure.orig 2009-05-02 22:45:53.000000000 -0400
-+++ configure 2009-05-02 22:47:16.000000000 -0400
-@@ -19163,15 +19163,18 @@ if test -n "$DAEMON_CFLAGS"; then
- if test -n "$PKG_CONFIG" && \
- { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-glib-1 >= \$DBUS_GLIB_REQUIRED_VERSION
+--- configure.orig 2009-09-22 12:26:34.000000000 +0200
++++ configure 2009-09-22 12:29:51.000000000 +0200
+@@ -22494,10 +22494,12 @@
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-glib-1 >= \$DBUS_GLIB_REQUIRED_VERSION
gobject-2.0 >= \$GLIB_REQUIRED_VERSION
+ gio-2.0 >= \$GLIB_REQUIRED_VERSION
+ hal
\"") >&5
($PKG_CONFIG --exists --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
+ hal
") 2>&5
ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+@@ -22519,10 +22521,12 @@
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-glib-1 >= \$DBUS_GLIB_REQUIRED_VERSION
+ gobject-2.0 >= \$GLIB_REQUIRED_VERSION
+ gio-2.0 >= \$GLIB_REQUIRED_VERSION
++ hal
+ \"") >&5
+ ($PKG_CONFIG --exists --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
+ gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
++ hal
+ ") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+@@ -22530,6 +22534,7 @@
+ pkg_cv_COMMON_LIBS=`$PKG_CONFIG --libs "dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
+ gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
++ hal
+ " 2>/dev/null`
+ else
+ pkg_failed=yes
+@@ -22551,11 +22556,13 @@
+ COMMON_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
+ gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
++ hal
+ " 2>&1`
+ else
+ COMMON_PKG_ERRORS=`$PKG_CONFIG --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
+ gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
++ hal
+ " 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+@@ -22564,6 +22571,7 @@
+ { { echo "$as_me:$LINENO: error: Package requirements (dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
+ gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
++ hal
+ ) were not met:
+
+ $COMMON_PKG_ERRORS
+@@ -22578,6 +22586,7 @@
+ echo "$as_me: error: Package requirements (dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
+ gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
++ hal
+ ) were not met:
+
+ $COMMON_PKG_ERRORS
+@@ -22634,10 +22643,12 @@
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-glib-1 >= \$DBUS_GLIB_REQUIRED_VERSION
+ gobject-2.0 >= \$GLIB_REQUIRED_VERSION
+ gio-2.0 >= \$GLIB_REQUIRED_VERSION
++ hal
+ \"") >&5
+ ($PKG_CONFIG --exists --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
+ gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
++ hal
+ ") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+@@ -22645,6 +22656,7 @@
pkg_cv_DAEMON_CFLAGS=`$PKG_CONFIG --cflags "dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
+ hal
" 2>/dev/null`
else
pkg_failed=yes
-@@ -19185,15 +19188,18 @@ if test -n "$DAEMON_LIBS"; then
- if test -n "$PKG_CONFIG" && \
- { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-glib-1 >= \$DBUS_GLIB_REQUIRED_VERSION
+@@ -22659,10 +22671,12 @@
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"dbus-glib-1 >= \$DBUS_GLIB_REQUIRED_VERSION
gobject-2.0 >= \$GLIB_REQUIRED_VERSION
+ gio-2.0 >= \$GLIB_REQUIRED_VERSION
+ hal
\"") >&5
($PKG_CONFIG --exists --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
+ hal
") 2>&5
ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+@@ -22670,6 +22684,7 @@
pkg_cv_DAEMON_LIBS=`$PKG_CONFIG --libs "dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
+ hal
" 2>/dev/null`
else
pkg_failed=yes
-@@ -19214,10 +19220,12 @@ fi
- if test $_pkg_short_errors_supported = yes; then
+@@ -22691,11 +22706,13 @@
DAEMON_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
+ hal
" 2>&1`
else
DAEMON_PKG_ERRORS=`$PKG_CONFIG --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
+ hal
" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
-@@ -19225,6 +19233,7 @@ fi
-
- { { $as_echo "$as_me:$LINENO: error: Package requirements (dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
+@@ -22704,6 +22721,7 @@
+ { { echo "$as_me:$LINENO: error: Package requirements (dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
+ hal
) were not met:
$DAEMON_PKG_ERRORS
-@@ -19238,6 +19247,7 @@ See the pkg-config man page for more det
- " >&5
- $as_echo "$as_me: error: Package requirements (dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
+@@ -22718,6 +22736,7 @@
+ echo "$as_me: error: Package requirements (dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
gobject-2.0 >= $GLIB_REQUIRED_VERSION
+ gio-2.0 >= $GLIB_REQUIRED_VERSION
+ hal
) were not met:
diff --git a/x11/gdm/files/patch-daemon-gdm-xdmcp-display-factory.c b/x11/gdm/files/patch-daemon-gdm-xdmcp-display-factory.c
index 63fb5db1c176..692c275167b8 100644
--- a/x11/gdm/files/patch-daemon-gdm-xdmcp-display-factory.c
+++ b/x11/gdm/files/patch-daemon-gdm-xdmcp-display-factory.c
@@ -1,5 +1,5 @@
---- daemon/gdm-xdmcp-display-factory.c.orig 2009-03-16 16:12:08.000000000 -0400
-+++ daemon/gdm-xdmcp-display-factory.c 2009-05-16 18:17:26.000000000 -0400
+--- daemon/gdm-xdmcp-display-factory.c.orig 2009-07-20 03:09:09.000000000 +0200
++++ daemon/gdm-xdmcp-display-factory.c 2009-07-20 09:54:25.000000000 +0200
@@ -35,6 +35,7 @@
#include <netdb.h>
#include <arpa/inet.h>
@@ -46,7 +46,7 @@
if (bind (sock, ai->ai_addr, ai->ai_addrlen) < 0) {
g_warning ("bind: %s", g_strerror (errno));
close (sock);
-@@ -833,7 +849,7 @@ gdm_xdmcp_send_willing (GdmXdmcpDisplayF
+@@ -835,7 +851,7 @@ gdm_xdmcp_send_willing (GdmXdmcpDisplayF
XdmcpFlush (factory->priv->socket_fd,
&factory->priv->buf,
(XdmcpNetaddr)gdm_address_peek_sockaddr_storage (address),
@@ -55,7 +55,7 @@
g_free (status.data);
}
-@@ -877,7 +893,7 @@ gdm_xdmcp_send_unwilling (GdmXdmcpDispla
+@@ -879,7 +895,7 @@ gdm_xdmcp_send_unwilling (GdmXdmcpDispla
XdmcpFlush (factory->priv->socket_fd,
&factory->priv->buf,
(XdmcpNetaddr)gdm_address_peek_sockaddr_storage (address),
@@ -64,7 +64,7 @@
last_time = time (NULL);
}
-@@ -986,7 +1002,7 @@ gdm_xdmcp_send_forward_query (GdmXdmcpDi
+@@ -988,7 +1004,7 @@ gdm_xdmcp_send_forward_query (GdmXdmcpDi
XdmcpFlush (factory->priv->socket_fd,
&factory->priv->buf,
(XdmcpNetaddr)gdm_address_peek_sockaddr_storage (ic->chosen_address),
@@ -73,7 +73,7 @@
g_free (port.data);
g_free (addr.data);
-@@ -1689,7 +1705,7 @@ gdm_xdmcp_really_send_managed_forward (G
+@@ -1691,7 +1707,7 @@ gdm_xdmcp_really_send_managed_forward (G
XdmcpFlush (factory->priv->socket_fd,
&factory->priv->buf,
(XdmcpNetaddr)gdm_address_peek_sockaddr_storage (address),
@@ -82,7 +82,7 @@
g_free (addr.data);
}
-@@ -1770,7 +1786,7 @@ gdm_xdmcp_send_got_managed_forward (GdmX
+@@ -1772,7 +1788,7 @@ gdm_xdmcp_send_got_managed_forward (GdmX
XdmcpFlush (factory->priv->socket_fd,
&factory->priv->buf,
(XdmcpNetaddr)gdm_address_peek_sockaddr_storage (address),
@@ -91,7 +91,7 @@
}
static gboolean
-@@ -1943,7 +1959,7 @@ gdm_xdmcp_send_decline (GdmXdmcpDisplayF
+@@ -1945,7 +1961,7 @@ gdm_xdmcp_send_decline (GdmXdmcpDisplayF
XdmcpFlush (factory->priv->socket_fd,
&factory->priv->buf,
(XdmcpNetaddr)gdm_address_peek_sockaddr_storage (address),
@@ -100,7 +100,7 @@
/* Send MANAGED_FORWARD to indicate that the connection
* reached some sort of resolution */
-@@ -2091,7 +2107,7 @@ gdm_xdmcp_send_accept (GdmXdmcpDisplayFa
+@@ -2093,7 +2109,7 @@ gdm_xdmcp_send_accept (GdmXdmcpDisplayFa
XdmcpFlush (factory->priv->socket_fd,
&factory->priv->buf,
(XdmcpNetaddr)gdm_address_peek_sockaddr_storage (address),
@@ -109,25 +109,7 @@
host = NULL;
gdm_address_get_numeric_info (address, &host, NULL);
-@@ -2309,8 +2325,6 @@ gdm_xdmcp_handle_request (GdmXdmcpDispla
- authorization_data.data = (CARD8 *) cookie->data;
- authorization_data.length = cookie->len;
-
-- g_array_free (cookie, TRUE);
--
- /* the addrs are NOT copied */
- gdm_xdmcp_send_accept (factory,
- address,
-@@ -2319,6 +2333,8 @@ gdm_xdmcp_handle_request (GdmXdmcpDispla
- &authentication_data,
- &authorization_name,
- &authorization_data);
-+
-+ g_array_free (cookie, TRUE);
- }
- }
- } else {
-@@ -2422,7 +2438,7 @@ gdm_xdmcp_send_failed (GdmXdmcpDisplayFa
+@@ -2424,7 +2440,7 @@ gdm_xdmcp_send_failed (GdmXdmcpDisplayFa
XdmcpFlush (factory->priv->socket_fd,
&factory->priv->buf,
(XdmcpNetaddr)gdm_address_peek_sockaddr_storage (address),
@@ -136,7 +118,7 @@
}
static void
-@@ -2446,7 +2462,7 @@ gdm_xdmcp_send_refuse (GdmXdmcpDisplayFa
+@@ -2448,7 +2464,7 @@ gdm_xdmcp_send_refuse (GdmXdmcpDisplayFa
XdmcpFlush (factory->priv->socket_fd,
&factory->priv->buf,
(XdmcpNetaddr)gdm_address_peek_sockaddr_storage (address),
@@ -145,7 +127,7 @@
/*
* This was from a forwarded query quite apparently so
-@@ -2717,7 +2733,7 @@ gdm_xdmcp_send_alive (GdmXdmcpDisplayFac
+@@ -2719,7 +2735,7 @@ gdm_xdmcp_send_alive (GdmXdmcpDisplayFac
XdmcpFlush (factory->priv->socket_fd,
&factory->priv->buf,
(XdmcpNetaddr)gdm_address_peek_sockaddr_storage (address),
diff --git a/x11/gdm/files/patch-daemon_gdm-display-access-file.c b/x11/gdm/files/patch-daemon_gdm-display-access-file.c
deleted file mode 100644
index 0f54784eca16..000000000000
--- a/x11/gdm/files/patch-daemon_gdm-display-access-file.c
+++ /dev/null
@@ -1,12 +0,0 @@
---- daemon/gdm-display-access-file.c.orig 2009-04-16 01:32:41.000000000 +0200
-+++ daemon/gdm-display-access-file.c 2009-04-16 01:33:17.000000000 +0200
-@@ -41,6 +41,9 @@
- #include "gdm-display-access-file.h"
- #include "gdm-common.h"
-
-+/* OpenBSD defines 255, glibc defines 64. */
-+#define HOST_NAME_MAX 64
-+
- struct _GdmDisplayAccessFilePrivate
- {
- char *username;
diff --git a/x11/gdm/files/patch-daemon_gdm-session-worker.c b/x11/gdm/files/patch-daemon_gdm-session-worker.c
index 0c56d5da4419..362a116eaa79 100644
--- a/x11/gdm/files/patch-daemon_gdm-session-worker.c
+++ b/x11/gdm/files/patch-daemon_gdm-session-worker.c
@@ -1,5 +1,5 @@
---- daemon/gdm-session-worker.c.orig 2009-04-14 10:01:14.000000000 -0400
-+++ daemon/gdm-session-worker.c 2009-05-31 15:52:10.000000000 -0400
+--- daemon/gdm-session-worker.c.orig 2009-09-21 22:05:27.000000000 +0200
++++ daemon/gdm-session-worker.c 2009-09-22 12:33:59.000000000 +0200
@@ -31,6 +31,9 @@
#include <errno.h>
#include <grp.h>
@@ -8,9 +8,9 @@
+#include <login_cap.h>
+#endif
- #include <security/pam_appl.h>
-
-@@ -332,7 +335,7 @@ gdm_session_execute (const char *file,
+ #ifdef HAVE_LOGINDEVPERM
+ #include <libdevinfo.h>
+@@ -340,7 +343,7 @@ gdm_session_execute (const char *file,
* what to search if PATH is unset. POSIX may, dunno.
*/
@@ -19,8 +19,8 @@
}
len = strlen (file) + 1;
-@@ -1757,11 +1760,12 @@ gdm_session_worker_start_user_session (G
- char **environment;
+@@ -1995,15 +1998,16 @@ gdm_session_worker_start_user_session (G
+ char *cachedirname;
char *home_dir;
int fd;
+#ifdef HAVE_LOGINCAP
@@ -28,6 +28,10 @@
+ struct passwd *pwent = getpwnam (login);
+#endif
+ /* Make sure cachedir gets created before we drop to user */
+ cachedirname = gdm_session_worker_create_cachedir (worker);
+ g_free (cachedirname);
+
- if (setuid (worker->priv->uid) < 0) {
- g_debug ("GdmSessionWorker: could not reset uid - %s", g_strerror (errno));
- _exit (1);
@@ -36,7 +40,7 @@
if (setsid () < 0) {
g_debug ("GdmSessionWorker: could not set pid '%u' as leader of new session and process group - %s",
-@@ -1769,6 +1773,28 @@ gdm_session_worker_start_user_session (G
+@@ -2011,6 +2015,28 @@ gdm_session_worker_start_user_session (G
_exit (2);
}
diff --git a/x11/gdm/files/patch-gui_simple-greeter_gdm-greeter-login-window.c b/x11/gdm/files/patch-gui_simple-greeter_gdm-greeter-login-window.c
new file mode 100644
index 000000000000..55f6d7ec8bd2
--- /dev/null
+++ b/x11/gdm/files/patch-gui_simple-greeter_gdm-greeter-login-window.c
@@ -0,0 +1,155 @@
+--- gui/simple-greeter/gdm-greeter-login-window.c.orig 2009-10-24 20:05:24.000000000 -0400
++++ gui/simple-greeter/gdm-greeter-login-window.c 2009-10-24 20:11:02.000000000 -0400
+@@ -56,10 +56,6 @@
+ #include <dbus/dbus-glib.h>
+ #include <dbus/dbus-glib-lowlevel.h>
+
+-#ifdef HAVE_DEVICEKIT_POWER
+-#include <devkit-power-gobject/devicekit-power.h>
+-#endif
+-
+ #include "gdm-settings-client.h"
+ #include "gdm-settings-keys.h"
+ #include "gdm-profile.h"
+@@ -83,6 +79,10 @@
+ #define CK_SEAT_INTERFACE "org.freedesktop.ConsoleKit.Seat"
+ #define CK_SESSION_INTERFACE "org.freedesktop.ConsoleKit.Session"
+
++#define GPM_DBUS_NAME "org.freedesktop.PowerManagement"
++#define GPM_DBUS_PATH "/org/freedesktop/PowerManagement"
++#define GPM_DBUS_INTERFACE "org.freedesktop.PowerManagement"
++
+ #define GLADE_XML_FILE "gdm-greeter-login-window.glade"
+
+ #define KEY_GREETER_DIR "/apps/gdm/simple-greeter"
+@@ -477,22 +477,46 @@ adjust_other_login_visibility(GdmGreeter
+ }
+ }
+
+-#ifdef HAVE_DEVICEKIT_POWER
+ static gboolean
+ can_suspend (GdmGreeterLoginWindow *login_window)
+ {
+- gboolean ret;
+- DkpClient *dkp_client;
++ DBusGConnection *connection;
++ DBusGProxy *proxy;
++ GError *error;
++ gboolean ret;
++ gboolean res;
++
++ error = NULL;
++ connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
++ if (error != NULL) {
++ g_warning ("Couldn't connect to power manager: %s", error->message);
++ g_error_free (error);
++ return FALSE;
++ }
++ proxy = dbus_g_proxy_new_for_name (connection,
++ GPM_DBUS_NAME,
++ GPM_DBUS_PATH,
++ GPM_DBUS_INTERFACE);
++
++ ret = FALSE;
++
++ res = dbus_g_proxy_call (proxy, "CanSuspend",
++ &error,
++ G_TYPE_INVALID,
++ G_TYPE_BOOLEAN,
++ &ret,
++ G_TYPE_INVALID);
++ if (!res) {
++ if (error != NULL) {
++ g_warning ("Could not ask power manager if user can suspend: %s",
++ error->message);
++ g_error_free (error);
++ }
++ ret = FALSE;
++ }
+
+- /* use DeviceKit-power to get data */
+- dkp_client = dkp_client_new ();
+- g_object_get (dkp_client,
+- "can-suspend", &ret,
+- NULL);
+- g_object_unref (dkp_client);
+- return ret;
++ return ret;
+ }
+-#endif
+
+ static void
+ remove_sensitize_power_buttons_timeout (GdmGreeterLoginWindow *login_window)
+@@ -544,11 +568,7 @@ switch_mode (GdmGreeterLoginWindow *logi
+
+ show_restart_buttons = get_show_restart_buttons (login_window);
+
+-#ifdef HAVE_DEVICEKIT_POWER
+ show_suspend_button = can_suspend (login_window);
+-#else
+- show_suspend_button = FALSE;
+-#endif
+
+ /* we want to run this even if we're supposed to
+ be in the mode already so that we reset everything
+@@ -634,25 +654,39 @@ do_disconnect (GdmGreeterLoginWindow *lo
+ gtk_main_quit ();
+ }
+
+-#ifdef HAVE_DEVICEKIT_POWER
+ static void
+ do_suspend (GdmGreeterLoginWindow *login_window)
+ {
+- gboolean ret;
+- DkpClient *dkp_client;
+- GError *error = NULL;
+-
+- /* use DeviceKit-power to get data */
+- dkp_client = dkp_client_new ();
+- ret = dkp_client_suspend (dkp_client, &error);
+- if (!ret) {
++ GError *error;
++ DBusGConnection *connection;
++ DBusGProxy *proxy;
++
++ g_debug ("GdmGreeterLoginWindow: Suspend button clicked");
++
++ error = NULL;
++ connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
++ if (error != NULL) {
+ g_warning ("Couldn't suspend: %s", error->message);
+ g_error_free (error);
+ return;
+ }
+- g_object_unref (dkp_client);
++ proxy = dbus_g_proxy_new_for_name (connection,
++ GPM_DBUS_NAME,
++ GPM_DBUS_PATH,
++ GPM_DBUS_INTERFACE);
++ error = NULL;
++ dbus_g_proxy_call (proxy,
++ "Suspend",
++ &error,
++ G_TYPE_INVALID,
++ G_TYPE_INVALID);
++ if (error != NULL) {
++ g_warning ("Couldn't suspend: %s", error->message);
++ g_error_free (error);
++ return;
++ }
++ g_object_unref (proxy);
+ }
+-#endif
+
+ static void
+ delete_entry_text (GtkWidget *entry)
+@@ -971,9 +1005,7 @@ static void
+ suspend_button_clicked (GtkButton *button,
+ GdmGreeterLoginWindow *login_window)
+ {
+-#ifdef HAVE_DEVICEKIT_POWER
+ do_suspend (login_window);
+-#endif
+ }
+
+
diff --git a/x11/gdm/files/patch-gui_simple-greeter_gdm-languages.c b/x11/gdm/files/patch-gui_simple-greeter_gdm-languages.c
index 9116dc917a64..675925aa926b 100644
--- a/x11/gdm/files/patch-gui_simple-greeter_gdm-languages.c
+++ b/x11/gdm/files/patch-gui_simple-greeter_gdm-languages.c
@@ -1,5 +1,5 @@
---- gui/simple-greeter/gdm-languages.c.orig 2008-11-22 17:16:42.000000000 -0500
-+++ gui/simple-greeter/gdm-languages.c 2008-11-22 17:29:05.000000000 -0500
+--- gui/simple-greeter/gdm-languages.c.orig 2009-07-20 03:09:09.000000000 +0200
++++ gui/simple-greeter/gdm-languages.c 2009-07-20 10:02:41.000000000 +0200
@@ -168,13 +168,13 @@ gdm_parse_language_name (const char *nam
*codesetp = NULL;
}
@@ -16,7 +16,16 @@
}
if (modifierp != NULL) {
-@@ -353,7 +353,7 @@ add_locale (const char *language_name)
+@@ -314,7 +314,7 @@ language_name_has_translations (const ch
+ const char *name;
+ gboolean has_translations;
+
+- path = g_build_filename (GNOMELOCALEDIR, language_name, "LC_MESSAGES", NULL);
++ path = g_build_filename ("/usr/share/locale", language_name, "LC_MESSAGES", NULL);
+
+ has_translations = FALSE;
+ dir = g_dir_open (path, 0, NULL);
+@@ -352,7 +352,7 @@ add_locale (const char *language_name)
if (language_name_is_utf8 (language_name)) {
name = g_strdup (language_name);
} else {
@@ -25,20 +34,11 @@
if (!language_name_is_utf8 (name)) {
g_free (name);
-@@ -482,7 +482,7 @@ select_dirs (const struct dirent *dirent
- struct stat st;
- char *path;
-
-- path = g_build_filename (GNOMELOCALEDIR, dirent->d_name, NULL);
-+ path = g_build_filename ("/usr/share/locale", dirent->d_name, NULL);
- if (g_stat (path, &st) == 0) {
- mode = st.st_mode;
- }
-@@ -502,7 +502,7 @@ collect_locales_from_directory (void)
+@@ -501,7 +501,7 @@ collect_locales_from_directory (void)
int ndirents;
int cnt;
-- ndirents = scandir (GNOMELOCALEDIR, &dirents, select_dirs, alphasort);
+- ndirents = scandir (LIBLOCALEDIR, &dirents, select_dirs, alphasort);
+ ndirents = scandir ("/usr/share/locale", &dirents, select_dirs, alphasort);
for (cnt = 0; cnt < ndirents; ++cnt) {
diff --git a/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c b/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c
index d666bc1fd826..d0a5d73f5e47 100644
--- a/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c
+++ b/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c
@@ -1,12 +1,20 @@
---- gui/simple-greeter/gdm-user-manager.c.orig 2008-04-29 13:38:43.000000000 -0400
-+++ gui/simple-greeter/gdm-user-manager.c 2008-05-03 13:27:52.000000000 -0400
-@@ -1269,17 +1269,23 @@ reload_passwd (GdmUserManager *manager)
- GSList *old_users;
+--- gui/simple-greeter/gdm-user-manager.c.orig 2009-09-21 16:05:27.000000000 -0400
++++ gui/simple-greeter/gdm-user-manager.c 2009-10-14 12:58:37.000000000 -0400
+@@ -65,6 +65,8 @@
+
+ #ifdef __sun
+ #define DEFAULT_MINIMAL_UID 100
++#elif defined(__FreeBSD__)
++#define DEFAULT_MINIMAL_UID 1000
+ #else
+ #define DEFAULT_MINIMAL_UID 500
+ #endif
+@@ -1366,17 +1368,24 @@ reload_passwd (GdmUserManager *manager)
GSList *new_users;
GSList *list;
-- FILE *fp;
+ GSList *dup;
+#ifndef __FreeBSD__
-+ FILE *fp;
+ FILE *fp;
+#endif
old_users = NULL;
@@ -15,6 +23,7 @@
+#ifdef __FreeBSD__
+ setpwent ();
+#else
++
errno = 0;
fp = fopen (PATH_PASSWD, "r");
if (fp == NULL) {
@@ -25,7 +34,7 @@
g_hash_table_foreach (manager->priv->users, listify_hash_values_hfunc, &old_users);
g_slist_foreach (old_users, (GFunc) g_object_ref, NULL);
-@@ -1292,7 +1298,11 @@ reload_passwd (GdmUserManager *manager)
+@@ -1390,7 +1399,11 @@ reload_passwd (GdmUserManager *manager)
}
}
@@ -37,7 +46,7 @@
GdmUser *user;
user = NULL;
-@@ -1355,7 +1365,11 @@ reload_passwd (GdmUserManager *manager)
+@@ -1461,7 +1474,11 @@ reload_passwd (GdmUserManager *manager)
out:
/* Cleanup */
diff --git a/x11/gdm/files/patch-gui_simple-greeter_gdm-user.c b/x11/gdm/files/patch-gui_simple-greeter_gdm-user.c
index 049b75b42036..fae89ec079d8 100644
--- a/x11/gdm/files/patch-gui_simple-greeter_gdm-user.c
+++ b/x11/gdm/files/patch-gui_simple-greeter_gdm-user.c
@@ -1,14 +1,14 @@
---- gui/simple-greeter/gdm-user.c.orig 2009-05-16 17:52:57.000000000 -0400
-+++ gui/simple-greeter/gdm-user.c 2009-05-16 18:08:08.000000000 -0400
-@@ -412,6 +412,7 @@ _gdm_user_update (GdmUser *u
+--- gui/simple-greeter/gdm-user.c.orig 2009-07-20 03:09:09.000000000 +0200
++++ gui/simple-greeter/gdm-user.c 2009-07-20 10:09:41.000000000 +0200
+@@ -427,6 +427,7 @@ _gdm_user_update (GdmUser *u
/* Display Name */
if (pwent->pw_gecos && pwent->pw_gecos[0] != '\0') {
gchar *first_comma;
+ gchar *ampersand;
+ gchar *real_name_utf8;
- first_comma = strchr (pwent->pw_gecos, ',');
- if (first_comma) {
-@@ -425,6 +426,23 @@ _gdm_user_update (GdmUser *u
+ real_name_utf8 = g_locale_to_utf8 (pwent->pw_gecos, -1, NULL, NULL, NULL);
+@@ -443,6 +444,23 @@ _gdm_user_update (GdmUser *u
g_free (real_name);
real_name = NULL;
}
diff --git a/x11/gdm/files/patch-hal-keyboard b/x11/gdm/files/patch-hal-keyboard
index a712f04a128a..904f1cdaccaa 100644
--- a/x11/gdm/files/patch-hal-keyboard
+++ b/x11/gdm/files/patch-hal-keyboard
@@ -1,6 +1,5 @@
-diff -up gdm-2.25.2/daemon/gdm-session-direct.c.system-keyboard gdm-2.25.2/daemon/gdm-session-direct.c
---- daemon/gdm-session-direct.c.system-keyboard 2008-08-26 15:04:00.000000000 -0400
-+++ daemon/gdm-session-direct.c 2009-02-24 22:55:02.656566009 -0500
+--- daemon/gdm-session-direct.c.orig 2009-07-20 03:09:09.000000000 +0200
++++ daemon/gdm-session-direct.c 2009-07-20 10:14:45.000000000 +0200
@@ -45,6 +45,8 @@
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-lowlevel.h>
@@ -10,7 +9,7 @@ diff -up gdm-2.25.2/daemon/gdm-session-direct.c.system-keyboard gdm-2.25.2/daemo
#include "gdm-session-direct.h"
#include "gdm-session.h"
#include "gdm-session-private.h"
-@@ -595,14 +597,66 @@ get_default_language_name (GdmSessionDir
+@@ -597,14 +599,66 @@ get_default_language_name (GdmSessionDir
return setlocale (LC_MESSAGES, NULL);
}
@@ -80,23 +79,19 @@ diff -up gdm-2.25.2/daemon/gdm-session-direct.c.system-keyboard gdm-2.25.2/daemo
}
static char *
-@@ -1971,9 +2025,10 @@ setup_session_environment (GdmSessionDir
+@@ -1953,8 +2007,8 @@ setup_session_environment (GdmSessionDir
"GDM_LANG",
get_language_name (session));
-- gdm_session_direct_set_environment_variable (session,
-- "GDM_KEYBOARD_LAYOUT",
-- get_layout_name (session));
-+ if (g_strcmp0 (get_layout_name (session), get_system_default_layout (session)) != 0)
-+ gdm_session_direct_set_environment_variable (session,
-+ "GDM_KEYBOARD_LAYOUT",
-+ get_layout_name (session));
-
- gdm_session_direct_set_environment_variable (session,
- "DISPLAY",
-diff -up gdm-2.25.2/daemon/gdm-session-settings.c.system-keyboard gdm-2.25.2/daemon/gdm-session-settings.c
---- daemon/gdm-session-settings.c.system-keyboard 2008-08-26 15:04:00.000000000 -0400
-+++ daemon/gdm-session-settings.c 2009-02-24 22:51:00.158815919 -0500
+- if (strcmp (get_layout_name (session),
+- get_default_layout_name (session)) == 0) {
++ if (g_strcmp0 (get_layout_name (session),
++ get_default_layout_name (session)) != 0) {
+ gdm_session_direct_set_environment_variable (session,
+ "GDM_KEYBOARD_LAYOUT",
+ get_layout_name (session));
+--- daemon/gdm-session-settings.c.orig 2009-05-19 17:18:12.000000000 +0200
++++ daemon/gdm-session-settings.c 2009-07-20 10:10:15.000000000 +0200
@@ -149,8 +149,7 @@ gdm_session_settings_set_layout_name (Gd
{
g_return_if_fail (GDM_IS_SESSION_SETTINGS (settings));
diff --git a/x11/gdm/pkg-install b/x11/gdm/pkg-install
index 4adf27abbb43..97ae6b4832be 100644
--- a/x11/gdm/pkg-install
+++ b/x11/gdm/pkg-install
@@ -17,6 +17,9 @@ POST-INSTALL)
${MKDIR} -p /var/run/gdm
${CHOWN} root:${GROUP} /var/run/gdm
${CHMOD} 1777 /var/run/gdm
+ ${MKDIR} -p /var/cache/gdm
+ ${CHMOD} 1755 /var/cache/gdm
+ ${CHOWN} root:${GROUP} /var/cache/gdm
${CHOWN} root:wheel ${PKG_PREFIX}/share/gdm
${CHMOD} 0755 ${PKG_PREFIX}/share/gdm
${MKDIR} -p ${PKG_PREFIX}/etc/gdm/home
@@ -29,6 +32,7 @@ POST-INSTALL)
${CHMOD} 1750 ${PKG_PREFIX}/etc/gdm/home/.gconf.mandatory
${CHMOD} 1640 ${PKG_PREFIX}/etc/gdm/home/.gconf.mandatory/*.xml
+ ${MKDIR} -p ${PKG_PREFIX}/etc/gdm/Sessions
${MKDIR} -p ${PKG_PREFIX}/etc/dm/Sessions
exit 0
;;
diff --git a/x11/gdm/pkg-plist b/x11/gdm/pkg-plist
index cfe404abd8bd..95025aa6c2aa 100644
--- a/x11/gdm/pkg-plist
+++ b/x11/gdm/pkg-plist
@@ -35,6 +35,7 @@ sbin/gdm-stop
%%DATADIR%%/autostart/LoginWindow/gok.desktop
%%DATADIR%%/autostart/LoginWindow/metacity.desktop
%%DATADIR%%/autostart/LoginWindow/orca-screen-reader.desktop
+%%DATADIR%%/autostart/LoginWindow/polkit-gnome-authentication-agent-1.desktop
%%DATADIR%%/gconf.path
%%DATADIR%%/gdb-cmd
%%DATADIR%%/gdm-greeter-login-window.glade
@@ -43,6 +44,7 @@ share/gnome-2.0/ui/GNOME_FastUserSwitchApplet.xml
share/gnome/help/gdm/C/gdm.xml
share/gnome/help/gdm/C/legal.xml
share/gnome/help/gdm/de/gdm.xml
+share/gnome/help/gdm/el/gdm.xml
share/gnome/help/gdm/en_GB/gdm.xml
share/gnome/help/gdm/es/gdm.xml
share/gnome/help/gdm/fr/gdm.xml
@@ -66,8 +68,10 @@ share/locale/be@latin/LC_MESSAGES/gdm.mo
share/locale/bg/LC_MESSAGES/gdm.mo
share/locale/bn/LC_MESSAGES/gdm.mo
share/locale/bn_IN/LC_MESSAGES/gdm.mo
+share/locale/br/LC_MESSAGES/gdm.mo
share/locale/bs/LC_MESSAGES/gdm.mo
share/locale/ca/LC_MESSAGES/gdm.mo
+share/locale/ca@valencia/LC_MESSAGES/gdm.mo
share/locale/crh/LC_MESSAGES/gdm.mo
share/locale/cs/LC_MESSAGES/gdm.mo
share/locale/cy/LC_MESSAGES/gdm.mo
@@ -77,6 +81,7 @@ share/locale/dz/LC_MESSAGES/gdm.mo
share/locale/el/LC_MESSAGES/gdm.mo
share/locale/en_CA/LC_MESSAGES/gdm.mo
share/locale/en_GB/LC_MESSAGES/gdm.mo
+share/locale/eo/LC_MESSAGES/gdm.mo
share/locale/es/LC_MESSAGES/gdm.mo
share/locale/et/LC_MESSAGES/gdm.mo
share/locale/eu/LC_MESSAGES/gdm.mo
@@ -97,6 +102,7 @@ share/locale/is/LC_MESSAGES/gdm.mo
share/locale/it/LC_MESSAGES/gdm.mo
share/locale/ja/LC_MESSAGES/gdm.mo
share/locale/ka/LC_MESSAGES/gdm.mo
+share/locale/kk/LC_MESSAGES/gdm.mo
share/locale/kn/LC_MESSAGES/gdm.mo
share/locale/ko/LC_MESSAGES/gdm.mo
share/locale/ku/LC_MESSAGES/gdm.mo
@@ -148,6 +154,7 @@ share/locale/zh_TW/LC_MESSAGES/gdm.mo
share/locale/zu/LC_MESSAGES/gdm.mo
share/omf/gdm/gdm-C.omf
share/omf/gdm/gdm-de.omf
+share/omf/gdm/gdm-el.omf
share/omf/gdm/gdm-en_GB.omf
share/omf/gdm/gdm-es.omf
share/omf/gdm/gdm-fr.omf
@@ -200,6 +207,7 @@ share/pixmaps/nohost.png
@dirrm share/gnome/help/gdm/fr
@dirrm share/gnome/help/gdm/es
@dirrm share/gnome/help/gdm/en_GB
+@dirrm share/gnome/help/gdm/el
@dirrm share/gnome/help/gdm/de
@dirrm share/gnome/help/gdm/C
@dirrm share/gnome/help/gdm
@@ -222,6 +230,8 @@ share/pixmaps/nohost.png
@unexec /bin/rm -rf /var/gdm 2>/dev/null || /usr/bin/true
@unexec /bin/rm -rf /var/log/gdm 2>/dev/null || /usr/bin/true
@unexec /bin/rm -rf /var/run/gdm 2>/dev/null || /usr/bin/true
+@unexec rmdir /var/cache/gdm 2>/dev/null || /usr/bin/true
+@unexec rmdir /var/cache 2>/dev/null || /usr/bin/true
@dirrmtry share/locale/zu/LC_MESSAGES
@dirrmtry share/locale/zu
@dirrmtry share/locale/zh_HK/LC_MESSAGES
@@ -256,6 +266,8 @@ share/pixmaps/nohost.png
@dirrmtry share/locale/mai
@dirrmtry share/locale/ku/LC_MESSAGES
@dirrmtry share/locale/ku
+@dirrmtry share/locale/kk/LC_MESSAGES
+@dirrmtry share/locale/kk
@dirrmtry share/locale/hy/LC_MESSAGES
@dirrmtry share/locale/hy
@dirrmtry share/locale/fur/LC_MESSAGES
@@ -264,6 +276,8 @@ share/pixmaps/nohost.png
@dirrmtry share/locale/dz
@dirrmtry share/locale/crh/LC_MESSAGES
@dirrmtry share/locale/crh
+@dirrmtry share/locale/ca@valencia/LC_MESSAGES
+@dirrmtry share/locale/ca@valencia
@dirrmtry share/locale/bn_IN/LC_MESSAGES
@dirrmtry share/locale/bn_IN
@dirrmtry share/locale/be@latin/LC_MESSAGES