summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2010-11-04 23:22:29 +0000
committerGilles Dartiguelongue <eva@gentoo.org>2010-11-04 23:22:29 +0000
commit50f60f742df753c740fa58cfcc410e2b288e97e2 (patch)
tree2fa106c93715d2ff979654849e0d98f34e7b107b /gnome-base/gdm/files
parentAdded upstream patch to build against system boost (diff)
downloadhistorical-50f60f742df753c740fa58cfcc410e2b288e97e2.tar.gz
historical-50f60f742df753c740fa58cfcc410e2b288e97e2.tar.bz2
historical-50f60f742df753c740fa58cfcc410e2b288e97e2.zip
Version bump. Update all patches against master and stop shipping them in a separate tarball, their size does not justify it.
Package-Manager: portage-2.2.0_alpha3/cvs/Linux x86_64
Diffstat (limited to 'gnome-base/gdm/files')
-rw-r--r--gnome-base/gdm/files/gdm-2.32.0-automagic-libxklavier-support.patch60
-rw-r--r--gnome-base/gdm/files/gdm-2.32.0-broken-VT-detection.patch98
-rw-r--r--gnome-base/gdm/files/gdm-2.32.0-custom-session.patch51
-rw-r--r--gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch126
-rw-r--r--gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch27
-rw-r--r--gnome-base/gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch32
6 files changed, 394 insertions, 0 deletions
diff --git a/gnome-base/gdm/files/gdm-2.32.0-automagic-libxklavier-support.patch b/gnome-base/gdm/files/gdm-2.32.0-automagic-libxklavier-support.patch
new file mode 100644
index 000000000000..90c1cef3ffac
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-2.32.0-automagic-libxklavier-support.patch
@@ -0,0 +1,60 @@
+From 481fe43b653b443ecfa8d4f3aa88d734d17cccd5 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 2 Nov 2010 23:21:27 +0100
+Subject: [PATCH 6/6] fix libxklavier automagic support
+
+libxklavier support is optional, make that fact explicit.
+---
+ configure.ac | 28 +++++++++++++++++++---------
+ 1 files changed, 19 insertions(+), 9 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 71d0247..10dbb72 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -129,17 +129,26 @@ SIMPLE_GREETER_LIBS="$SIMPLE_GREETER_LIBS -lm"
+ AC_SUBST(SIMPLE_GREETER_CFLAGS)
+ AC_SUBST(SIMPLE_GREETER_LIBS)
+
+-PKG_CHECK_MODULES(LIBXKLAVIER,
+- libxklavier >= $LIBXKLAVIER_REQUIRED_VERSION,
+- have_libxklavier=yes,
+- have_libxklavier=no)
+-if test "x$have_libxklavier" = "xyes" ; then
+- AC_DEFINE(HAVE_LIBXKLAVIER, [], [Define if we have libxklavier])
++AC_ARG_ENABLE([libxklavier],
++ AS_HELP_STRING([--enable-libxklavier],
++ [Enable libxklavier support @<:@default=yes@:>@]),
++ enable_libxklavier=$enableval,
++ enable_libxklavier=yes)
++have_libxklavier=no
++if test "x$enable_libxklavier" = "xyes"; then
++ PKG_CHECK_MODULES(LIBXKLAVIER,
++ libxklavier >= $LIBXKLAVIER_REQUIRED_VERSION,
++ have_libxklavier=yes,
++ have_libxklavier=no)
++ if test "x$have_libxklavier" = "xyes" ; then
++ AC_DEFINE(HAVE_LIBXKLAVIER, [], [Define if we have libxklavier])
++ fi
++ AC_SUBST(HAVE_LIBXKLAVIER)
++ AC_SUBST(LIBXKLAVIER_CFLAGS)
++ AC_SUBST(LIBXKLAVIER_LIBS)
+ fi
++
+ AM_CONDITIONAL(HAVE_LIBXKLAVIER, test x$have_libxklavier = xyes)
+-AC_SUBST(HAVE_LIBXKLAVIER)
+-AC_SUBST(LIBXKLAVIER_CFLAGS)
+-AC_SUBST(LIBXKLAVIER_LIBS)
+
+ PKG_CHECK_MODULES(SIMPLE_CHOOSER,
+ dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
+@@ -1467,5 +1476,6 @@ echo \
+ SELinux support: ${with_selinux}
+ ConsoleKit support: ${use_console_kit}
+ UPower support: ${have_upower}
++ Libxklavier support: ${have_libxklavier}
+ Build with RBAC: ${msg_rbac_shutdown}
+ "
+--
+1.7.3.1
+
diff --git a/gnome-base/gdm/files/gdm-2.32.0-broken-VT-detection.patch b/gnome-base/gdm/files/gdm-2.32.0-broken-VT-detection.patch
new file mode 100644
index 000000000000..475a9394d3a7
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-2.32.0-broken-VT-detection.patch
@@ -0,0 +1,98 @@
+From 75b80587960b4cee6bd849a34d9e84dd46b91abc Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 2 Nov 2010 23:18:21 +0100
+Subject: [PATCH 3/6] Fix VT grab problem causing GDM to grab VT2 instead of 7
+
+Gentoo bug: #261339
+
+---
+ common/gdm-settings-keys.h | 1 +
+ daemon/gdm-server.c | 15 ++++++++++++---
+ data/gdm.schemas.in.in | 5 +++++
+ 3 files changed, 18 insertions(+), 3 deletions(-)
+
+diff --git a/common/gdm-settings-keys.h b/common/gdm-settings-keys.h
+index 65a1628..e64eba0 100644
+--- a/common/gdm-settings-keys.h
++++ b/common/gdm-settings-keys.h
+@@ -27,6 +27,7 @@ G_BEGIN_DECLS
+
+ #define GDM_KEY_USER "daemon/User"
+ #define GDM_KEY_GROUP "daemon/Group"
++#define GDM_KEY_VT "daemon/VT"
+ #define GDM_KEY_AUTO_LOGIN_ENABLE "daemon/AutomaticLoginEnable"
+ #define GDM_KEY_AUTO_LOGIN_USER "daemon/AutomaticLogin"
+ #define GDM_KEY_TIMED_LOGIN_ENABLE "daemon/TimedLoginEnable"
+diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
+index 339f3cc..f25d6f1 100644
+--- a/daemon/gdm-server.c
++++ b/daemon/gdm-server.c
+@@ -47,7 +47,9 @@
+
+ #include "gdm-common.h"
+ #include "gdm-signal-handler.h"
+-
++#include "gdm-settings.h"
++#include "gdm-settings-direct.h"
++#include "gdm-settings-keys.h"
+ #include "gdm-server.h"
+
+ extern char **environ;
+@@ -83,7 +85,7 @@ struct GdmServerPrivate
+ char *parent_display_name;
+ char *parent_auth_file;
+ char *chosen_hostname;
+-
++ char *vt;
+ guint child_watch_id;
+ };
+
+@@ -686,7 +688,7 @@ gdm_server_start (GdmServer *server)
+ gboolean res;
+
+ /* fork X server process */
+- res = gdm_server_spawn (server, NULL);
++ res = gdm_server_spawn (server, server->priv->vt);
+
+ return res;
+ }
+@@ -937,6 +939,8 @@ gdm_server_class_init (GdmServerClass *klass)
+ static void
+ gdm_server_init (GdmServer *server)
+ {
++ int vt;
++ gboolean has_vt;
+
+ server->priv = GDM_SERVER_GET_PRIVATE (server);
+
+@@ -944,6 +948,11 @@ gdm_server_init (GdmServer *server)
+ server->priv->command = g_strdup (X_SERVER " -br -verbose");
+ server->priv->log_dir = g_strdup (LOGDIR);
+
++ has_vt = gdm_settings_direct_get_int (GDM_KEY_VT, &vt);
++ if (has_vt) {
++ server->priv->vt = g_strdup_printf ("vt %d", vt);
++ }
++
+ add_ready_handler (server);
+ }
+
+diff --git a/data/gdm.schemas.in.in b/data/gdm.schemas.in.in
+index 514117d..948e403 100644
+--- a/data/gdm.schemas.in.in
++++ b/data/gdm.schemas.in.in
+@@ -23,6 +23,11 @@
+ <default>@GDM_GROUPNAME@</default>
+ </schema>
+ <schema>
++ <key>daemon/VT</key>
++ <signature>i</signature>
++ <default>7</default>
++ </schema>
++ <schema>
+ <key>daemon/AutomaticLoginEnable</key>
+ <signature>b</signature>
+ <default>false</default>
+--
+1.7.3.1
+
diff --git a/gnome-base/gdm/files/gdm-2.32.0-custom-session.patch b/gnome-base/gdm/files/gdm-2.32.0-custom-session.patch
new file mode 100644
index 000000000000..c48cb0743a2e
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-2.32.0-custom-session.patch
@@ -0,0 +1,51 @@
+From 2dc0d268c7cc5d6133a9594adcd67dc543288b8f Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 2 Nov 2010 23:19:07 +0100
+Subject: [PATCH 4/6] make custom session work
+
+Gentoo bug: #216984
+
+fix custom sessions not doing sourcing in the proper order.
+---
+ data/Xsession.in | 18 +++++++++---------
+ 1 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/data/Xsession.in b/data/Xsession.in
+index b2d98f2..0da187d 100755
+--- a/data/Xsession.in
++++ b/data/Xsession.in
+@@ -153,15 +153,6 @@ if [ -n "$GDM_LANG" ]; then
+ export LANG
+ fi
+
+-# run all system xinitrc shell scripts.
+-if [ -d /etc/X11/xinit/xinitrc.d ]; then
+- for i in /etc/X11/xinit/xinitrc.d/* ; do
+- if [ -x "$i" -a ! -d "$i" ]; then
+- . "$i"
+- fi
+- done
+-fi
+-
+ if [ "x$command" = "xcustom" ] ; then
+ if [ -x "$HOME/.xsession" ]; then
+ command="$HOME/.xsession"
+@@ -189,6 +180,15 @@ if [ "x$command" = "xdefault" ] ; then
+ fi
+ fi
+
++# run all system xinitrc shell scripts.
++if [ -d /etc/X11/xinit/xinitrc.d ]; then
++ for i in /etc/X11/xinit/xinitrc.d/* ; do
++ if [ -x "$i" ]; then
++ . "$i"
++ fi
++ done
++fi
++
+ # add ssh-agent if found
+ sshagent="`gdmwhich ssh-agent`"
+ if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
+--
+1.7.3.1
+
diff --git a/gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch b/gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch
new file mode 100644
index 000000000000..2ae7f610bd45
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-2.32.0-fix-daemonize-regression.patch
@@ -0,0 +1,126 @@
+From 7f5104b242e6b36e6143183b14582d362763ff2a Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 2 Nov 2010 23:16:51 +0100
+Subject: [PATCH 2/6] daemonize so that the boot process can continue
+
+Gentoo bug: #236701
+
+Originally from: Dan Nicholson <dbn.lists@gmail.com>
+
+Fork gdm-binary, except when -nodaemon is used
+
+gdm-binary now forks and the parent terminates, except when the
+-nodaemon or --nodaemon options are used. This provides compatibility
+with xdm. Fixes bug #550170.
+
+---
+ daemon/main.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 64 insertions(+), 0 deletions(-)
+
+diff --git a/daemon/main.c b/daemon/main.c
+index 5b8d66b..191b6e3 100644
+--- a/daemon/main.c
++++ b/daemon/main.c
+@@ -513,6 +513,56 @@ is_debug_set (void)
+ return debug;
+ }
+
++static void
++dup_dev_null (int fd, int flags)
++{
++ int nullfd;
++ int dupfd;
++
++ VE_IGNORE_EINTR (nullfd = open ("/dev/null", flags));
++ if (G_UNLIKELY (nullfd < 0)) {
++ gdm_fail (_("Cannot open /dev/null: %s!"),
++ strerror (errno));
++ exit (EXIT_FAILURE);
++ }
++
++ VE_IGNORE_EINTR (dupfd = dup2 (nullfd, fd));
++ if (G_UNLIKELY (dupfd < 0)) {
++ gdm_fail (_("Cannot duplicate /dev/null: %s!"),
++ strerror (errno));
++ exit (EXIT_FAILURE);
++ }
++
++ VE_IGNORE_EINTR (close (nullfd));
++}
++
++static void
++daemonify (void)
++{
++ pid_t pid;
++
++ pid = fork ();
++
++ /* terminate the parent */
++ if (pid > 0)
++ exit (EXIT_SUCCESS);
++
++ if (G_UNLIKELY (pid < 0)) {
++ gdm_fail (_("fork () failed: %s!"), strerror (errno));
++ exit (EXIT_FAILURE);
++ }
++
++ if (G_UNLIKELY (setsid () < 0)) {
++ gdm_fail (_("setsid () failed: %s!"), strerror (errno));
++ exit (EXIT_FAILURE);
++ }
++
++ /* reopen stdin, stdout, stderr with /dev/null */
++ dup_dev_null (STDIN_FILENO, O_RDONLY);
++ dup_dev_null (STDOUT_FILENO, O_RDWR);
++ dup_dev_null (STDERR_FILENO, O_RDWR);
++}
++
+ int
+ main (int argc,
+ char **argv)
+@@ -523,14 +573,17 @@ main (int argc,
+ DBusGConnection *connection;
+ GError *error;
+ int ret;
++ int i;
+ gboolean res;
+ gboolean xdmcp_enabled;
+ GdmSignalHandler *signal_handler;
+ static gboolean do_timed_exit = FALSE;
+ static gboolean print_version = FALSE;
+ static gboolean fatal_warnings = FALSE;
++ static gboolean no_daemon = FALSE;
+ static GOptionEntry entries [] = {
+ { "fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &fatal_warnings, N_("Make all warnings fatal"), NULL },
++ { "nodaemon", 0, 0, G_OPTION_ARG_NONE, &no_daemon, N_("Do not fork into the background"), NULL },
+ { "timed-exit", 0, 0, G_OPTION_ARG_NONE, &do_timed_exit, N_("Exit after a time (for debugging)"), NULL },
+ { "version", 0, 0, G_OPTION_ARG_NONE, &print_version, N_("Print GDM version"), NULL },
+
+@@ -547,6 +600,14 @@ main (int argc,
+
+ g_type_init ();
+
++ /* preprocess the arguments to support the xdm style
++ * -nodaemon option
++ */
++ for (i = 0; i < argc; i++) {
++ if (strcmp (argv[i], "-nodaemon") == 0)
++ argv[i] = "--nodaemon";
++ }
++
+ context = g_option_context_new (_("GNOME Display Manager"));
+ g_option_context_add_main_entries (context, entries, NULL);
+ g_option_context_set_ignore_unknown_options (context, TRUE);
+@@ -617,6 +678,9 @@ main (int argc,
+ exit (-1);
+ }
+
++ if (no_daemon == FALSE)
++ daemonify ();
++
+ /* pid file */
+ delete_pid ();
+ write_pid ();
+--
+1.7.3.1
+
diff --git a/gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch b/gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch
new file mode 100644
index 000000000000..e563aa42513f
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-2.32.0-selinux-remove-attr.patch
@@ -0,0 +1,27 @@
+From 41badd6d2ca652a875fec3eea420ae876023076d Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 2 Nov 2010 23:15:54 +0100
+Subject: [PATCH 1/6] remove unneeded linker directive for selinux
+
+Gentoo bug: #41022
+
+---
+ configure.ac | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ed07dce..71d0247 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -873,7 +873,7 @@ if test "x$with_selinux" = "xyes" ; then
+ AC_CHECK_LIB(selinux,setexeccon,/bin/true)
+ AC_CHECK_LIB(selinux,is_selinux_enabled,/bin/true)
+ AC_DEFINE(HAVE_SELINUX, 1, [Define if have selinux])
+- EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux -lattr"
++ EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux"
+ fi
+
+ dnl ---------------------------------------------------------------------------
+--
+1.7.3.1
+
diff --git a/gnome-base/gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch b/gnome-base/gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch
new file mode 100644
index 000000000000..b1cddf1758c4
--- /dev/null
+++ b/gnome-base/gdm/files/gdm-2.32.0-xinitrc-ssh-agent.patch
@@ -0,0 +1,32 @@
+From 1cb1841da3a8fedc1671637e2828d5e361af21fa Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Tue, 2 Nov 2010 23:19:31 +0100
+Subject: [PATCH 5/6] ssh-agent handling must be done at xinitrc.d
+
+Gentoo bug: #220603
+---
+ data/Xsession.in | 8 --------
+ 1 files changed, 0 insertions(+), 8 deletions(-)
+
+diff --git a/data/Xsession.in b/data/Xsession.in
+index 0da187d..aa49b90 100755
+--- a/data/Xsession.in
++++ b/data/Xsession.in
+@@ -189,14 +189,6 @@ if [ -d /etc/X11/xinit/xinitrc.d ]; then
+ done
+ fi
+
+-# add ssh-agent if found
+-sshagent="`gdmwhich ssh-agent`"
+-if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
+- command="$sshagent -- $command"
+-elif [ -z "$sshagent" ] ; then
+- echo "$0: ssh-agent not found!"
+-fi
+-
+ echo "$0: Setup done, will execute: $command"
+
+ eval exec $command
+--
+1.7.3.1
+