diff options
author | 2014-03-19 22:30:36 +0000 | |
---|---|---|
committer | 2014-03-19 22:30:36 +0000 | |
commit | 419d60bca34d4c87cc1e0cfe84de8b0bd91430f8 (patch) | |
tree | bb3a51ec2a0fd887353320ea071c7d4439f36836 /gnome-base | |
parent | Increase EAPI to 5 (diff) | |
download | gentoo-2-419d60bca34d4c87cc1e0cfe84de8b0bd91430f8.tar.gz gentoo-2-419d60bca34d4c87cc1e0cfe84de8b0bd91430f8.tar.bz2 gentoo-2-419d60bca34d4c87cc1e0cfe84de8b0bd91430f8.zip |
Lots of upstream fixes, drop obsolete files
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key A188FBD4)
Diffstat (limited to 'gnome-base')
-rw-r--r-- | gnome-base/gdm/ChangeLog | 16 | ||||
-rw-r--r-- | gnome-base/gdm/files/3.2.1.1/gdm | 11 | ||||
-rw-r--r-- | gnome-base/gdm/files/3.2.1.1/gdm-autologin | 10 | ||||
-rw-r--r-- | gnome-base/gdm/files/3.2.1.1/gdm-fingerprint | 14 | ||||
-rw-r--r-- | gnome-base/gdm/files/3.2.1.1/gdm-password | 11 | ||||
-rw-r--r-- | gnome-base/gdm/files/3.2.1.1/gdm-smartcard | 15 | ||||
-rw-r--r-- | gnome-base/gdm/files/3.2.1.1/gdm-welcome | 9 | ||||
-rw-r--r-- | gnome-base/gdm/files/3.2.1.1/gdm.service | 11 | ||||
-rw-r--r-- | gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch | 195 | ||||
-rw-r--r-- | gnome-base/gdm/files/gdm-3.3.92.1-disable-accessibility.patch | 30 | ||||
-rw-r--r-- | gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch | 192 | ||||
-rw-r--r-- | gnome-base/gdm/files/gdm-3.6.2-gdm-slave.xml-unicode.patch | 27 | ||||
-rwxr-xr-x | gnome-base/gdm/files/gdm-3.7.3.1-disable-accessibility.patch | 34 | ||||
-rwxr-xr-x | gnome-base/gdm/files/gdm-3.7.90-fix-daemonize-regression.patch | 134 | ||||
-rw-r--r-- | gnome-base/gdm/gdm-3.10.0.1-r1.ebuild | 232 |
15 files changed, 247 insertions, 694 deletions
diff --git a/gnome-base/gdm/ChangeLog b/gnome-base/gdm/ChangeLog index d01e03125da0..b794307fea96 100644 --- a/gnome-base/gdm/ChangeLog +++ b/gnome-base/gdm/ChangeLog @@ -1,6 +1,20 @@ # ChangeLog for gnome-base/gdm # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/ChangeLog,v 1.395 2014/03/09 11:58:00 pacho Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/ChangeLog,v 1.396 2014/03/19 22:30:35 pacho Exp $ + +*gdm-3.10.0.1-r1 (19 Mar 2014) + + 19 Mar 2014; Pacho Ramos <pacho@gentoo.org> +gdm-3.10.0.1-r1.ebuild, + -files/3.2.1.1/gdm, -files/3.2.1.1/gdm-autologin, + -files/3.2.1.1/gdm-fingerprint, -files/3.2.1.1/gdm-password, + -files/3.2.1.1/gdm-smartcard, -files/3.2.1.1/gdm-welcome, + -files/3.2.1.1/gdm.service, -files/gdm-2.32.0-fix-vt-problems.patch, + -files/gdm-3.3.92.1-disable-accessibility.patch, + -files/gdm-3.6.0-fix-daemonize-regression.patch, + -files/gdm-3.6.2-gdm-slave.xml-unicode.patch, + -files/gdm-3.7.3.1-disable-accessibility.patch, + -files/gdm-3.7.90-fix-daemonize-regression.patch: + Lots of upstream fixes, drop obsolete files 09 Mar 2014; Pacho Ramos <pacho@gentoo.org> gdm-3.10.0.1.ebuild: x86 stable, bug 499954 diff --git a/gnome-base/gdm/files/3.2.1.1/gdm b/gnome-base/gdm/files/3.2.1.1/gdm deleted file mode 100644 index d965ecac53bc..000000000000 --- a/gnome-base/gdm/files/3.2.1.1/gdm +++ /dev/null @@ -1,11 +0,0 @@ -#%PAM-1.0 -auth optional pam_env.so -auth include system-login -auth required pam_nologin.so - -account include system-login - -password include system-login - -session include system-auth -#Keyring=session optional pam_gnome_keyring.so auto_start diff --git a/gnome-base/gdm/files/3.2.1.1/gdm-autologin b/gnome-base/gdm/files/3.2.1.1/gdm-autologin deleted file mode 100644 index 9d165d6d9cc5..000000000000 --- a/gnome-base/gdm/files/3.2.1.1/gdm-autologin +++ /dev/null @@ -1,10 +0,0 @@ -#%PAM-1.0 -auth optional pam_env.so -auth required pam_nologin.so -auth required pam_permit.so -account include system-login -password include system-login -session include system-auth -# For the keyring to unlock with autologin, you need to set an empty -# password on the keyring. -#Keyring=session optional pam_gnome_keyring.so auto_start diff --git a/gnome-base/gdm/files/3.2.1.1/gdm-fingerprint b/gnome-base/gdm/files/3.2.1.1/gdm-fingerprint deleted file mode 100644 index 7d38de945fd3..000000000000 --- a/gnome-base/gdm/files/3.2.1.1/gdm-fingerprint +++ /dev/null @@ -1,14 +0,0 @@ -#%PAM-1.0 -# Note: no pam_gnome_keyring.so support since the login password is not used -auth optional pam_env.so -auth required pam_tally2.so onerr=succeed -auth required pam_shells.so -auth required pam_nologin.so -auth required pam_fprintd.so -auth optional pam_permit.so - -account include system-login - -password required pam_deny.so - -session include system-auth diff --git a/gnome-base/gdm/files/3.2.1.1/gdm-password b/gnome-base/gdm/files/3.2.1.1/gdm-password deleted file mode 100644 index d965ecac53bc..000000000000 --- a/gnome-base/gdm/files/3.2.1.1/gdm-password +++ /dev/null @@ -1,11 +0,0 @@ -#%PAM-1.0 -auth optional pam_env.so -auth include system-login -auth required pam_nologin.so - -account include system-login - -password include system-login - -session include system-auth -#Keyring=session optional pam_gnome_keyring.so auto_start diff --git a/gnome-base/gdm/files/3.2.1.1/gdm-smartcard b/gnome-base/gdm/files/3.2.1.1/gdm-smartcard deleted file mode 100644 index 5cf884da8713..000000000000 --- a/gnome-base/gdm/files/3.2.1.1/gdm-smartcard +++ /dev/null @@ -1,15 +0,0 @@ -#%PAM-1.0 -auth optional pam_env.so -auth required pam_tally2.so onerr=succeed -auth required pam_shells.so -auth required pam_nologin.so -auth [success=done ignore=ignore default=die] pam_pkcs11.so wait_for_card card_only -auth optional pam_permit.so - -account include system-login - -password optional pam_pkcs11.so -password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 -password optional pam_permit.so - -session include system-auth diff --git a/gnome-base/gdm/files/3.2.1.1/gdm-welcome b/gnome-base/gdm/files/3.2.1.1/gdm-welcome deleted file mode 100644 index 932eefee357f..000000000000 --- a/gnome-base/gdm/files/3.2.1.1/gdm-welcome +++ /dev/null @@ -1,9 +0,0 @@ -#%PAM-1.0 -auth required pam_env.so -auth required pam_permit.so -account required pam_nologin.so -account include system-services -password include system-services -session required pam_loginuid.so -session optional pam_keyinit.so force revoke -session include system-services diff --git a/gnome-base/gdm/files/3.2.1.1/gdm.service b/gnome-base/gdm/files/3.2.1.1/gdm.service deleted file mode 100644 index 63bb08e90219..000000000000 --- a/gnome-base/gdm/files/3.2.1.1/gdm.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=GNOME Display Manager -After=systemd-user-sessions.service - -[Service] -ExecStart=/usr/bin/gdm --nodaemon -Type=dbus -BusName=org.gnome.DisplayManager - -[Install] -WantedBy=graphical.target diff --git a/gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch b/gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch deleted file mode 100644 index f219a1490874..000000000000 --- a/gnome-base/gdm/files/gdm-2.32.0-fix-vt-problems.patch +++ /dev/null @@ -1,195 +0,0 @@ -From 64002e623fea54ab10040206d164c5fdee4a43d2 Mon Sep 17 00:00:00 2001 -From: Nirbheek Chauhan <nirbheek@gentoo.org> -Date: Fri, 15 Apr 2011 22:13:44 +0530 -Subject: [PATCH] Fix VT grab race with getty causing X to grab the wrong VT - -On bootup, if X is spawned without any args, it'll take up the first unused VT. -If GDM starts up before gettys are spawned, X takes up VT1 or VT2 depending on -the init system and bootsplash. - -This is problematic because afterwards getty will come up underneath X, and -cause keyboard problems and eventually crash X. - -So we read /etc/inittab, check for open VTs, compare the two values, and take -the conservative one. ---- - configure.ac | 4 ++ - daemon/Makefile.am | 1 + - daemon/gdm-server.c | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++- - 3 files changed, 110 insertions(+), 1 deletions(-) - -diff --git a/configure.ac b/configure.ac -index ca0f8bb..b9e7462 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -302,6 +302,10 @@ AC_CHECK_TYPE(socklen_t,, - AC_CHECK_HEADERS(sys/sockio.h) - AC_CHECK_FUNCS([setresuid setenv unsetenv clearenv]) - -+dnl Needed for querying the kernel for free VTs -+AC_CHECK_HEADERS(sys/vt.h) -+AC_CHECK_HEADERS(sys/ioctl.h) -+ - dnl checks needed for Darwin compatibility to linux **environ. - AC_CHECK_HEADERS(crt_externs.h) - AC_CHECK_FUNCS(_NSGetEnviron) -diff --git a/daemon/Makefile.am b/daemon/Makefile.am -index da18835..c1b6bda 100644 ---- a/daemon/Makefile.am -+++ b/daemon/Makefile.am -@@ -14,6 +14,7 @@ AM_CPPFLAGS = \ - -DLIBEXECDIR=\"$(libexecdir)\" \ - -DLOGDIR=\"$(logdir)\" \ - -DSBINDIR=\"$(sbindir)\" \ -+ -DSYSCONFDIR=\""$(sysconfdir)"\" \ - -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ - -DGDM_XAUTH_DIR=\"$(GDM_XAUTH_DIR)\" \ - -DGDM_SCREENSHOT_DIR=\"$(GDM_SCREENSHOT_DIR)\" \ -diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c -index 339f3cc..29d16dc 100644 ---- a/daemon/gdm-server.c -+++ b/daemon/gdm-server.c -@@ -26,6 +26,8 @@ - #include <unistd.h> - #include <string.h> - #include <sys/types.h> -+#include <sys/ioctl.h> -+#include <sys/vt.h> - #include <sys/wait.h> - #include <errno.h> - #include <ctype.h> -@@ -42,6 +44,7 @@ - #include <glib/gi18n.h> - #include <glib/gstdio.h> - #include <glib-object.h> -+#include <gio/gio.h> - - #include <X11/Xlib.h> /* for Display */ - -@@ -54,6 +57,8 @@ extern char **environ; - - #define GDM_SERVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_SERVER, GdmServerPrivate)) - -+#define INITTAB SYSCONFDIR"/inittab" -+ - /* These are the servstat values, also used as server - * process exit codes */ - #define SERVER_TIMEOUT 2 /* Server didn't start */ -@@ -674,6 +679,105 @@ gdm_server_spawn (GdmServer *server, - } - - /** -+ * Parse the inittab file used by getty to spawn VTs to find unused ttys -+ */ -+static int -+get_free_vt_from_inittab () -+{ -+ GFile *gfile; -+ GFileInputStream *contents; -+ GDataInputStream *dstream; -+ GRegex *getty; -+ GMatchInfo *tty_match = NULL; -+ GSList *tty_list = NULL; -+ GError *error = NULL; -+ gchar *temp = NULL; -+ int vtno = 0; -+ -+ gfile = g_file_new_for_path (INITTAB); -+ contents = g_file_read (gfile, NULL, &error); -+ g_object_unref (gfile); -+ if (!contents) { -+ if (error) { -+ g_debug ("Unable to open file %s", INITTAB); -+ g_error_free (error); -+ } -+ goto out; -+ } -+ -+ dstream = g_data_input_stream_new (G_INPUT_STREAM (contents)); -+ getty = g_regex_new ("^c[0-9]+:.+getty.+tty([0-9]+)", 0, 0, NULL); -+ g_object_unref (contents); -+ -+ while (1) { -+ temp = g_data_input_stream_read_line (dstream, NULL, NULL, &error); -+ if (!temp) -+ break; -+ if (!g_regex_match (getty, temp, 0, &tty_match)) -+ continue; -+ g_free (temp); -+ temp = g_match_info_fetch (tty_match, 1); -+ if (!temp) -+ continue; -+ tty_list = g_slist_insert_sorted (tty_list, temp, (GCompareFunc)g_strcmp0); -+ g_match_info_free (tty_match); -+ } -+ -+ if (error) { -+ g_debug ("Unable to read line from %s", INITTAB); -+ g_error_free (error); -+ goto free; -+ } -+ -+ /* Ignore holes in vt allocation, just take the last one */ -+ temp = g_slist_last (tty_list)->data; -+ if (temp) -+ vtno = (int) g_ascii_strtoull (temp, NULL, 10) + 1; -+ -+free: -+ g_object_unref (dstream); -+ g_regex_unref (getty); -+ g_slist_free_full (tty_list, g_free); -+ g_free (error); -+out: -+ return vtno; -+} -+ -+/** -+ * Query the VT_* kernel ioctls to find an empty tty -+ */ -+static int -+get_free_vt_from_kernel() -+{ -+ int fd, vtno = 0; -+ -+ fd = open ("/dev/tty0", O_WRONLY, 0); -+ if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) || (vtno == -1)) { -+ vtno = 0; -+ g_debug ("Unable to find a free vt, falling back to Xorg autodetect"); -+ } -+ return vtno; -+} -+ -+static gchar* -+get_free_vt () -+{ -+ int inittab_vtno, kernel_vtno; -+ gchar* vt = NULL; -+ -+ inittab_vtno = get_free_vt_from_inittab(); -+ if (inittab_vtno > 0) -+ g_debug ("Inittab says vt%i is free\n", inittab_vtno); -+ kernel_vtno = get_free_vt_from_kernel(); -+ if (kernel_vtno > 0) -+ g_debug ("Kernel says vt%i is free\n", kernel_vtno); -+ /* Select the greater of the two because getty will use the others */ -+ if (kernel_vtno != 0 && inittab_vtno != 0) -+ vt = g_strdup_printf ("vt%i", kernel_vtno > inittab_vtno ? kernel_vtno : inittab_vtno); -+ return vt; -+} -+ -+/** - * gdm_server_start: - * @disp: Pointer to a GdmDisplay structure - * -@@ -686,7 +790,7 @@ gdm_server_start (GdmServer *server) - gboolean res; - - /* fork X server process */ -- res = gdm_server_spawn (server, NULL); -+ res = gdm_server_spawn (server, get_free_vt()); - - return res; - } --- -1.7.3.4 - diff --git a/gnome-base/gdm/files/gdm-3.3.92.1-disable-accessibility.patch b/gnome-base/gdm/files/gdm-3.3.92.1-disable-accessibility.patch deleted file mode 100644 index 1df7e583e675..000000000000 --- a/gnome-base/gdm/files/gdm-3.3.92.1-disable-accessibility.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -Naur gdm-3.3.92.1//data/00-upstream-settings gdm-3.3.92.1.new//data/00-upstream-settings ---- gdm-3.3.92.1//data/00-upstream-settings 2012-02-08 04:50:32.000000000 +0530 -+++ gdm-3.3.92.1.new//data/00-upstream-settings 2012-03-25 14:24:01.387842352 +0530 -@@ -7,7 +7,7 @@ - # - - [org/gnome/desktop/a11y/keyboard] --enable=true -+enable=false - - [org/gnome/desktop/background] - show-desktop-icons=false -@@ -16,7 +16,7 @@ - exec='/bin/true' - - [org/gnome/desktop/interface] --toolkit-accessibility=true -+toolkit-accessibility=false - - [org/gnome/desktop/lockdown] - disable-application-handlers=true -@@ -35,7 +35,7 @@ - event-sounds=true - - [org/gnome/settings-daemon/plugins/a11y-keyboard] --active=true -+active=false - - [org/gnome/settings-daemon/plugins/a11y-settings] - active=false diff --git a/gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch b/gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch deleted file mode 100644 index 27f207970a8f..000000000000 --- a/gnome-base/gdm/files/gdm-3.6.0-fix-daemonize-regression.patch +++ /dev/null @@ -1,192 +0,0 @@ -From 722d31dc8823090b651b103f0194b6380f2d458e Mon Sep 17 00:00:00 2001 -From: Alexandre Rostovtsev <tetromino@gentoo.org> -Date: Tue, 25 Sep 2012 22:30:29 -0400 -Subject: [PATCH] daemonize so that the boot process can continue - -Gentoo bug: #236701 - -Based on original patch by Dan Nicholson <dbn.lists@gmail.com> and -Gilles Dartiguelongue <eva@gentoo.org>. - -Fork gdm-binary, except when -nodaemon is used - -Makes the gdm main binary fork and daemonize unless the -nodaemon or ---nodaemon options are used. Provides compatibility with xdm. Fixes -bug #550170. - -In daemonized mode, start a new process group, and kill it in our signal -handlers, so that killing gdm kills its spawned processes, and so that -"/etc/init.d/xdm stop" actually works. ---- - configure.ac | 4 ++++ - daemon/Makefile.am | 1 + - daemon/main.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 65 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 61a43d6..a851ba5 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -99,6 +99,10 @@ PKG_CHECK_MODULES(DAEMON, - AC_SUBST(DAEMON_CFLAGS) - AC_SUBST(DAEMON_LIBS) - -+PKG_CHECK_MODULES(LIBDAEMON, libdaemon) -+AC_SUBST(LIBDAEMON_CFLAGS) -+AC_SUBST(LIBDAEMON_LIBS) -+ - GLIB_GSETTINGS - - PKG_CHECK_MODULES(NSS, -diff --git a/daemon/Makefile.am b/daemon/Makefile.am -index bb84765..cf89b47 100644 ---- a/daemon/Makefile.am -+++ b/daemon/Makefile.am -@@ -380,6 +380,7 @@ gdm_binary_LDADD = \ - $(top_builddir)/common/libgdmcommon.la \ - $(XLIB_LIBS) \ - $(DAEMON_LIBS) \ -+ $(LIBDAEMON_LIBS) \ - $(XDMCP_LIBS) \ - $(LIBWRAP_LIBS) \ - $(SYSTEMD_LIBS) \ -diff --git a/daemon/main.c b/daemon/main.c -index 3b8572c..c2fe4fe 100644 ---- a/daemon/main.c -+++ b/daemon/main.c -@@ -34,6 +34,8 @@ - #include <locale.h> - #include <signal.h> - -+#include <libdaemon/dfork.h> -+ - #include <glib.h> - #include <glib/gi18n.h> - #include <glib/gstdio.h> -@@ -336,16 +338,26 @@ signal_cb (int signo, - gpointer data) - { - int ret; -+ static gboolean ignore_signals = FALSE; - - g_debug ("Got callback for signal %d", signo); - - ret = TRUE; - -+ /* don't commit suicide before killing everyone in our process group */ -+ if (ignore_signals) -+ return ret; -+ - switch (signo) { - case SIGFPE: - case SIGPIPE: - /* let the fatal signals interrupt us */ - g_debug ("Caught signal %d, shutting down abnormally.", signo); -+ /* if we daemonized, kill all the processes we spawned */ -+ ignore_signals = TRUE; -+ kill (-getpid (), signo); -+ ignore_signals = FALSE; -+ - ret = FALSE; - - break; -@@ -354,6 +366,11 @@ signal_cb (int signo, - case SIGTERM: - /* let the fatal signals interrupt us */ - g_debug ("Caught signal %d, shutting down normally.", signo); -+ /* if we daemonized, kill all the processes we spawned */ -+ ignore_signals = TRUE; -+ kill (-getpid (), signo); -+ ignore_signals = FALSE; -+ - ret = FALSE; - - break; -@@ -418,13 +435,16 @@ main (int argc, - GOptionContext *context; - GError *error; - int ret; -+ int i; - gboolean res; - 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 }, - -@@ -439,6 +459,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); -@@ -465,6 +493,33 @@ main (int argc, - g_log_set_always_fatal (fatal_mask); - } - -+ if (!no_daemon) { -+ pid_t pid; -+ if (daemon_retval_init () < 0) { -+ g_warning ("Failed to create pipe"); -+ exit (-1); -+ } -+ if ((pid = daemon_fork ()) < 0) { -+ /* Fork failed */ -+ daemon_retval_done (); -+ exit (1); -+ } else if (pid) { -+ /* Parent process: wait 20s for daemon_retval_send() in the daemon process */ -+ if ((ret = daemon_retval_wait (20)) < 0) { -+ g_warning ("Timed out waiting for daemon process: %s", strerror(errno)); -+ exit (255); -+ } else if (ret > 0) { -+ g_warning ("Daemon process returned error code %d", ret); -+ exit (ret); -+ } -+ exit (0); -+ } -+ /* Daemon process */ -+ daemon_close_all (-1); -+ /* Start a new process group so that killing the daemon will kill the processes that it spawned */ -+ setsid (); -+ } -+ - gdm_log_init (); - - settings = gdm_settings_new (); -@@ -519,6 +574,9 @@ main (int argc, - g_timeout_add_seconds (30, (GSourceFunc) timed_exit_cb, main_loop); - } - -+ if (!no_daemon) -+ daemon_retval_send (0); -+ - g_main_loop_run (main_loop); - - g_debug ("GDM finished, cleaning up..."); -@@ -535,6 +593,8 @@ main (int argc, - ret = 0; - - out: -+ if (!no_daemon) -+ daemon_retval_send (ret); - - return ret; - } --- -1.7.12 - diff --git a/gnome-base/gdm/files/gdm-3.6.2-gdm-slave.xml-unicode.patch b/gnome-base/gdm/files/gdm-3.6.2-gdm-slave.xml-unicode.patch deleted file mode 100644 index 2863b752961a..000000000000 --- a/gnome-base/gdm/files/gdm-3.6.2-gdm-slave.xml-unicode.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 72fd8c8da02b47403992945a61d2514d6ee78cf4 Mon Sep 17 00:00:00 2001 -From: Alexandre Rostovtsev <tetromino@gentoo.org> -Date: Fri, 28 Dec 2012 18:50:37 -0500 -Subject: [PATCH] daemon: remove spurious unicode characters from dbus - introspection file - -https://bugzilla.gnome.org/show_bug.cgi?id=690842 ---- - daemon/gdm-slave.xml | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/daemon/gdm-slave.xml b/daemon/gdm-slave.xml -index 547c44e..d055252 100644 ---- a/daemon/gdm-slave.xml -+++ b/daemon/gdm-slave.xml -@@ -14,6 +14,6 @@ - <arg name="address" type="s" direction="out" /> - </method> - -- <property name="session_id" type="s" access="read"/>• -- </interface>• -+ <property name="session_id" type="s" access="read"/> -+ </interface> - </node> --- -1.8.0.2 - diff --git a/gnome-base/gdm/files/gdm-3.7.3.1-disable-accessibility.patch b/gnome-base/gdm/files/gdm-3.7.3.1-disable-accessibility.patch deleted file mode 100755 index bf684640a16d..000000000000 --- a/gnome-base/gdm/files/gdm-3.7.3.1-disable-accessibility.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 07fb1b31d818f308beb1c3800c4b90830b57d01b Mon Sep 17 00:00:00 2001 -From: Sobhan Mohammadpour <sobhanmohammadpour1@yahoo.fr> -Date: Fri, 25 Jan 2013 10:03:31 +0330 -Subject: [PATCH] don't load accessbility - ---- - data/00-upstream-settings | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/data/00-upstream-settings b/data/00-upstream-settings -index 660a295..3993786 100644 ---- a/data/00-upstream-settings -+++ b/data/00-upstream-settings -@@ -7,7 +7,7 @@ - # - - [org/gnome/desktop/a11y/keyboard] --enable=true -+enable=false - - [org/gnome/desktop/background] - show-desktop-icons=false -@@ -16,7 +16,7 @@ show-desktop-icons=false - exec='/bin/true' - - [org/gnome/desktop/interface] --toolkit-accessibility=true -+toolkit-accessibility=false - - [org/gnome/desktop/lockdown] - disable-application-handlers=true --- -1.8.1 - diff --git a/gnome-base/gdm/files/gdm-3.7.90-fix-daemonize-regression.patch b/gnome-base/gdm/files/gdm-3.7.90-fix-daemonize-regression.patch deleted file mode 100755 index 810bd6e83646..000000000000 --- a/gnome-base/gdm/files/gdm-3.7.90-fix-daemonize-regression.patch +++ /dev/null @@ -1,134 +0,0 @@ -From bda248c1e184f92aedf9f8d932ebd20746910d52 Mon Sep 17 00:00:00 2001 -From: Sobhan Mohammadpour <sobhanmohammadpour1@yahoo.fr> -Date: Mon, 4 Mar 2013 21:23:45 +0330 -Subject: [PATCH] gdm-3.7.90 fix daemonize regression - ---- - configure.ac | 4 ++++ - daemon/Makefile.am | 1 + - daemon/main.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 50 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 0918060..d4ea271 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -99,6 +99,10 @@ PKG_CHECK_MODULES(DAEMON, - AC_SUBST(DAEMON_CFLAGS) - AC_SUBST(DAEMON_LIBS) - -+PKG_CHECK_MODULES(LIBDAEMON, libdaemon) -+AC_SUBST(LIBDAEMON_CFLAGS) -+AC_SUBST(LIBDAEMON_LIBS) -+ - GLIB_GSETTINGS - - PKG_CHECK_MODULES(NSS, -diff --git a/daemon/Makefile.am b/daemon/Makefile.am -index ead9096..b810089 100644 ---- a/daemon/Makefile.am -+++ b/daemon/Makefile.am -@@ -385,6 +385,7 @@ gdm_LDADD = \ - $(top_builddir)/common/libgdmcommon.la \ - $(XLIB_LIBS) \ - $(DAEMON_LIBS) \ -+ $(LIBDAEMON_LIBS) \ - $(XDMCP_LIBS) \ - $(LIBWRAP_LIBS) \ - $(SYSTEMD_LIBS) \ -diff --git a/daemon/main.c b/daemon/main.c -index 8176fe3..0151862 100644 ---- a/daemon/main.c -+++ b/daemon/main.c -@@ -34,6 +34,8 @@ - #include <locale.h> - #include <signal.h> - -+#include <libdaemon/dfork.h> -+ - #include <glib.h> - #include <glib/gi18n.h> - #include <glib/gstdio.h> -@@ -329,8 +331,10 @@ main (int argc, - 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 }, - -@@ -343,6 +347,15 @@ main (int argc, - - ret = 1; - -+ /* preprocess the arguments to support the xdm style -+ * -nodaemon option -+ */ -+ int i; -+ 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); -@@ -369,6 +382,33 @@ main (int argc, - g_log_set_always_fatal (fatal_mask); - } - -+ if (!no_daemon) { -+ pid_t pid; -+ if (daemon_retval_init () < 0) { -+ g_warning ("Failed to create pipe"); -+ exit (-1); -+ } -+ if ((pid = daemon_fork ()) < 0) { -+ /* Fork failed */ -+ daemon_retval_done (); -+ exit (1); -+ } else if (pid) { -+ /* Parent process: wait 20s for daemon_retval_send() in the daemon process */ -+ if ((ret = daemon_retval_wait (20)) < 0) { -+ g_warning ("Timed out waiting for daemon process: %s", strerror(errno)); -+ exit (255); -+ } else if (ret > 0) { -+ g_warning ("Daemon process returned error code %d", ret); -+ exit (ret); -+ } -+ exit (0); -+ } -+ /* Daemon process */ -+ daemon_close_all (-1); -+ /* Start a new process group so that killing the daemon will kill the processes that it spawned */ -+ setsid (); -+ } -+ - gdm_log_init (); - - settings = gdm_settings_new (); -@@ -418,6 +458,9 @@ main (int argc, - g_timeout_add_seconds (30, (GSourceFunc) timed_exit_cb, main_loop); - } - -+ if (!no_daemon) -+ daemon_retval_send (0); -+ - g_main_loop_run (main_loop); - - g_debug ("GDM finished, cleaning up..."); -@@ -433,6 +476,8 @@ main (int argc, - ret = 0; - - out: -+ if (!no_daemon) -+ daemon_retval_send (ret); - if (error) { - g_printerr ("%s\n", error->message); - g_clear_error (&error); --- -1.8.1.2 - diff --git a/gnome-base/gdm/gdm-3.10.0.1-r1.ebuild b/gnome-base/gdm/gdm-3.10.0.1-r1.ebuild new file mode 100644 index 000000000000..f947032fbd6b --- /dev/null +++ b/gnome-base/gdm/gdm-3.10.0.1-r1.ebuild @@ -0,0 +1,232 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gdm/gdm-3.10.0.1-r1.ebuild,v 1.1 2014/03/19 22:30:35 pacho Exp $ + +EAPI="5" +GNOME2_LA_PUNT="yes" + +inherit autotools eutils gnome2 pam readme.gentoo systemd user + +DESCRIPTION="GNOME Display Manager for managing graphical display servers and user logins" +HOMEPAGE="https://wiki.gnome.org/GDM" + +SRC_URI="${SRC_URI} + branding? ( http://www.mail-archive.com/tango-artists@lists.freedesktop.org/msg00043/tango-gentoo-v1.1.tar.gz ) + http://dev.gentoo.org/~pacho/gnome/${P}-patches.tar.xz +" + +LICENSE=" + GPL-2+ + branding? ( CC-Sampling-Plus-1.0 ) +" + +SLOT="0" +IUSE="accessibility audit branding fprint +introspection ipv6 plymouth selinux smartcard +systemd tcpd test xinerama" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86" + +# NOTE: x11-base/xorg-server dep is for X_SERVER_PATH etc, bug #295686 +# nspr used by smartcard extension +# dconf, dbus and g-s-d are needed at install time for dconf update +# We need either systemd or >=openrc-0.12 to restart gdm properly, bug #463784 +COMMON_DEPEND=" + app-text/iso-codes + >=dev-libs/glib-2.36:2 + >=x11-libs/gtk+-2.91.1:3 + >=gnome-base/dconf-0.11.6 + >=gnome-base/gnome-settings-daemon-3.1.4 + gnome-base/gsettings-desktop-schemas + >=media-libs/fontconfig-2.5.0 + >=media-libs/libcanberra-0.4[gtk3] + sys-apps/dbus + >=sys-apps/accountsservice-0.6.12 + + x11-apps/sessreg + x11-base/xorg-server + x11-libs/libXi + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXdmcp + x11-libs/libXext + x11-libs/libXft + x11-libs/libXrandr + >=x11-misc/xdg-utils-1.0.2-r3 + + virtual/pam + systemd? ( >=sys-apps/systemd-186[pam] ) + !systemd? ( + >=x11-base/xorg-server-1.14.3-r1 + >=sys-auth/consolekit-0.4.5_p20120320-r2 + !<sys-apps/openrc-0.12 + ) + sys-auth/pambase[systemd?] + + audit? ( sys-process/audit ) + introspection? ( >=dev-libs/gobject-introspection-0.9.12 ) + plymouth? ( sys-boot/plymouth ) + selinux? ( sys-libs/libselinux ) + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) + xinerama? ( x11-libs/libXinerama ) +" +# XXX: These deps are from session and desktop files in data/ directory +# fprintd is used via dbus by gdm-fingerprint-extension +# gnome-session-3.6 needed to avoid freezing with orca +RDEPEND="${COMMON_DEPEND} + >=gnome-base/gnome-session-3.6 + >=gnome-base/gnome-shell-3.1.90 + gnome-extra/polkit-gnome:0 + x11-apps/xhost + x11-themes/gnome-icon-theme-symbolic + + accessibility? ( + >=app-accessibility/orca-3.10 + app-accessibility/caribou + gnome-extra/mousetweaks ) + fprint? ( + sys-auth/fprintd + sys-auth/pam_fprint ) + + !gnome-extra/fast-user-switch-applet +" +DEPEND="${COMMON_DEPEND} + app-text/docbook-xml-dtd:4.1.2 + >=dev-util/intltool-0.40.0 + >=sys-devel/gettext-0.17 + virtual/pkgconfig + x11-proto/inputproto + x11-proto/randrproto + test? ( >=dev-libs/check-0.9.4 ) + xinerama? ( x11-proto/xineramaproto ) +" + +DOC_CONTENTS=" + To make GDM start at boot, run:\n + # systemctl enable gdm.service\n + \n + For passwordless login to unlock your keyring, you need to install + sys-auth/pambase with USE=gnome-keyring and set an empty password + on your keyring. Use app-crypt/seahorse for that.\n + \n + You may need to install app-crypt/coolkey and sys-auth/pam_pkcs11 + for smartcard support +" + +pkg_setup() { + enewgroup gdm + enewgroup video # Just in case it hasn't been created yet + enewuser gdm -1 -1 /var/lib/gdm gdm,video + + # For compatibility with certain versions of nvidia-drivers, etc., need to + # ensure that gdm user is in the video group + if ! egetent group video | grep -q gdm; then + # FIXME XXX: is this at all portable, ldap-safe, etc.? + # XXX: egetent does not have a 1-argument form, so we can't use it to + # get the list of gdm's groups + local g=$(groups gdm) + elog "Adding user gdm to video group" + usermod -G video,${g// /,} gdm || die "Adding user gdm to video group failed" + fi +} + +src_prepare() { + # make custom session work, bug #216984 + epatch "${FILESDIR}/${PN}-3.2.1.1-custom-session.patch" + + # ssh-agent handling must be done at xinitrc.d, bug #220603 + epatch "${FILESDIR}/${PN}-2.32.0-xinitrc-ssh-agent.patch" + + # Gentoo does not have a fingerprint-auth pam stack + epatch "${FILESDIR}/${PN}-3.8.4-fingerprint-auth.patch" + + # Show logo when branding is enabled + use branding && epatch "${FILESDIR}/${PN}-3.8.4-logo.patch" + + # Allow many fixes from 3.10 branch and some from master + epatch "${WORKDIR}/${P}-patches"/*.patch + + eautoreconf + + gnome2_src_prepare +} + +src_configure() { + # PAM is the only auth scheme supported + # even though configure lists shadow and crypt + # they don't have any corresponding code. + # --with-at-spi-registryd-directory= needs to be passed explicitly because + # of https://bugzilla.gnome.org/show_bug.cgi?id=607643#c4 + # Xevie is obsolete, bug #482304 + gnome2_src_configure \ + --with-run-dir=/run/gdm \ + --localstatedir="${EPREFIX}"/var \ + --disable-static \ + --with-xdmcp=yes \ + --enable-authentication-scheme=pam \ + --with-default-pam-config=exherbo \ + --with-at-spi-registryd-directory="${EPREFIX}"/usr/libexec \ + --with-consolekit-directory=${EPREFIX}/usr/lib/ConsoleKit \ + --with-initial-vt=7 \ + --without-xevie \ + $(use_with audit libaudit) \ + $(use_enable ipv6) \ + $(use_with plymouth) \ + $(use_with selinux) \ + $(use_with systemd) \ + $(use_with !systemd console-kit) \ + $(use_enable systemd systemd-journal) \ + $(systemd_with_unitdir) \ + $(use_with tcpd tcp-wrappers) \ + $(use_with xinerama) \ + ITSTOOL=$(type -P true) +} + +src_install() { + gnome2_src_install + + if ! use accessibility ; then + rm "${ED}"/usr/share/gdm/greeter/autostart/orca-autostart.desktop || die + fi + + insinto /etc/X11/xinit/xinitrc.d + newins "${FILESDIR}/49-keychain-r1" 49-keychain + newins "${FILESDIR}/50-ssh-agent-r1" 50-ssh-agent + + # log, etc. + keepdir /var/log/gdm + + # gdm user's home directory + keepdir /var/lib/gdm + fowners gdm:gdm /var/lib/gdm + + # install XDG_DATA_DIRS gdm changes + echo 'XDG_DATA_DIRS="/usr/share/gdm"' > 99xdg-gdm + doenvd 99xdg-gdm + + use branding && newicon "${WORKDIR}/tango-gentoo-v1.1/scalable/gentoo.svg" gentoo-gdm.svg + + readme.gentoo_create_doc +} + +pkg_postinst() { + local d ret + + gnome2_pkg_postinst + + dbus-launch dconf update || die "'dconf update' failed" + + # bug #436456; gdm crashes if /var/lib/gdm subdirs are not owned by gdm:gdm + ret=0 + ebegin "Fixing "${EROOT}"var/lib/gdm ownership" + chown gdm:gdm "${EROOT}var/lib/gdm" || ret=1 + for d in "${EROOT}var/lib/gdm/"{.cache,.config,.local}; do + [[ ! -e "${d}" ]] || chown -R gdm:gdm "${d}" || ret=1 + done + eend ${ret} + + readme.gentoo_print_elog + + if [[ -f "/etc/X11/gdm/gdm.conf" ]]; then + elog "You had /etc/X11/gdm/gdm.conf which is the old configuration" + elog "file. It has been moved to /etc/X11/gdm/gdm-pre-gnome-2.16" + mv /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm-pre-gnome-2.16 + fi +} |