This commit is contained in:
parent
da90ae06e2
commit
fe264016b9
gdm-3.28.2.tar.xzgdm-3.30.3.tar.xzgdm-default-wm.patchgdm-disable-wayland-on-unsupported-chipsets.patchgdm-fails-to-restart-gnome-shell.patchgdm-ignore-duplicate-desktop-file.patchgdm-ignore-duplicate-session.patchgdm-kill-user-session.patchgdm-plymouth-vt1.patchgdm-revert-commit-39fb4ff.patchgdm-switch-to-tty1.patchgdm-sysconfig-settings.patchgdm-xauthlocalhostname.patchgdm.changesgdm.spec
3
gdm-3.28.2.tar.xz
Normal file
3
gdm-3.28.2.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:6041a07fbbd28f6e55a15abea6fb650c8ab6988df557da320bd6983e4009b571
|
||||||
|
size 1122352
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:5301fc76e92124a13e123af8eb04af089a249d0200ad8df07a7996f3cfa7c795
|
|
||||||
size 1261224
|
|
@ -1,7 +1,7 @@
|
|||||||
Index: gdm-3.29.90/daemon/gdm-session.c
|
Index: gdm-3.19.2/daemon/gdm-session.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdm-3.29.90.orig/daemon/gdm-session.c 2018-08-03 16:20:50.000000000 +0200
|
--- gdm-3.19.2.orig/daemon/gdm-session.c
|
||||||
+++ gdm-3.29.90/daemon/gdm-session.c 2018-08-04 00:31:42.875646365 +0200
|
+++ gdm-3.19.2/daemon/gdm-session.c
|
||||||
@@ -43,6 +43,8 @@
|
@@ -43,6 +43,8 @@
|
||||||
#include <glib-object.h>
|
#include <glib-object.h>
|
||||||
#include <gio/gio.h>
|
#include <gio/gio.h>
|
||||||
@ -11,7 +11,7 @@ Index: gdm-3.29.90/daemon/gdm-session.c
|
|||||||
#include "gdm-session.h"
|
#include "gdm-session.h"
|
||||||
#include "gdm-session-glue.h"
|
#include "gdm-session-glue.h"
|
||||||
#include "gdm-dbus-util.h"
|
#include "gdm-dbus-util.h"
|
||||||
@@ -541,6 +543,14 @@ get_fallback_session_name (GdmSession *s
|
@@ -523,6 +525,14 @@ get_fallback_session_name (GdmSession *s
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
23
gdm-disable-wayland-on-unsupported-chipsets.patch
Normal file
23
gdm-disable-wayland-on-unsupported-chipsets.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Index: b/data/61-gdm.rules
|
||||||
|
===================================================================
|
||||||
|
--- a/data/61-gdm.rules 2018-02-20 02:16:32.000000000 +0800
|
||||||
|
+++ b/data/61-gdm.rules 2018-04-08 20:31:18.860133428 +0800
|
||||||
|
@@ -1,2 +1,17 @@
|
||||||
|
-# disable Wayland on Cirrus chipsets
|
||||||
|
+# Disable Wayland on specific chipsets
|
||||||
|
+
|
||||||
|
+# Cirrus Logic
|
||||||
|
ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/bin/sh -c '/bin/mkdir /run/gdm ; /usr/bin/printf \"[daemon]\nWaylandEnable=false\" >> /run/gdm/custom.conf'"
|
||||||
|
+
|
||||||
|
+# Matrox Electronics Systems Ltd. MGA G200 server engines
|
||||||
|
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0522", RUN+="/bin/sh -c '/bin/mkdir /run/gdm ; /usr/bin/printf \"[daemon]\nWaylandEnable=false\" >> /run/gdm/custom.conf'"
|
||||||
|
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0524", RUN+="/bin/sh -c '/bin/mkdir /run/gdm ; /usr/bin/printf \"[daemon]\nWaylandEnable=false\" >> /run/gdm/custom.conf'"
|
||||||
|
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0530", RUN+="/bin/sh -c '/bin/mkdir /run/gdm ; /usr/bin/printf \"[daemon]\nWaylandEnable=false\" >> /run/gdm/custom.conf'"
|
||||||
|
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0532", RUN+="/bin/sh -c '/bin/mkdir /run/gdm ; /usr/bin/printf \"[daemon]\nWaylandEnable=false\" >> /run/gdm/custom.conf'"
|
||||||
|
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0533", RUN+="/bin/sh -c '/bin/mkdir /run/gdm ; /usr/bin/printf \"[daemon]\nWaylandEnable=false\" >> /run/gdm/custom.conf'"
|
||||||
|
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0534", RUN+="/bin/sh -c '/bin/mkdir /run/gdm ; /usr/bin/printf \"[daemon]\nWaylandEnable=false\" >> /run/gdm/custom.conf'"
|
||||||
|
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0536", RUN+="/bin/sh -c '/bin/mkdir /run/gdm ; /usr/bin/printf \"[daemon]\nWaylandEnable=false\" >> /run/gdm/custom.conf'"
|
||||||
|
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0538", RUN+="/bin/sh -c '/bin/mkdir /run/gdm ; /usr/bin/printf \"[daemon]\nWaylandEnable=false\" >> /run/gdm/custom.conf'"
|
||||||
|
+
|
||||||
|
+# ASPEED Technology, Inc.
|
||||||
|
+ATTR{vendor}=="0x1a03", ATTR{device}=="0x2000", RUN+="/bin/sh -c '/bin/mkdir /run/gdm ; /usr/bin/printf \"[daemon]\nWaylandEnable=false\" >> /run/gdm/custom.conf'"
|
@ -1,8 +1,8 @@
|
|||||||
Index: gdm-3.29.90/daemon/gdm-display.c
|
diff --git a/daemon/gdm-display.c b/daemon/gdm-display.c
|
||||||
===================================================================
|
index ab84ba4..e1d0996 100644
|
||||||
--- gdm-3.29.90.orig/daemon/gdm-display.c 2018-08-03 16:20:47.000000000 +0200
|
--- a/daemon/gdm-display.c
|
||||||
+++ gdm-3.29.90/daemon/gdm-display.c 2018-08-04 00:31:42.919646968 +0200
|
+++ b/daemon/gdm-display.c
|
||||||
@@ -706,7 +706,7 @@ gdm_display_unmanage (GdmDisplay *self)
|
@@ -673,7 +673,7 @@ gdm_display_unmanage (GdmDisplay *self)
|
||||||
}
|
}
|
||||||
|
|
||||||
elapsed = g_timer_elapsed (self->priv->server_timer, NULL);
|
elapsed = g_timer_elapsed (self->priv->server_timer, NULL);
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
diff --git a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c
|
|
||||||
index 7badafe..2aafce1 100644
|
|
||||||
--- a/libgdm/gdm-sessions.c
|
|
||||||
+++ b/libgdm/gdm-sessions.c
|
|
||||||
@@ -111,6 +111,17 @@ key_file_is_relevant (GKeyFile *key_file)
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static gboolean
|
|
||||||
+find_translated_name (gpointer key,
|
|
||||||
+ gpointer value,
|
|
||||||
+ gpointer user_data)
|
|
||||||
+{
|
|
||||||
+ char *id = key;
|
|
||||||
+ GdmSessionFile *session = value;
|
|
||||||
+ char *translated_name = user_data;
|
|
||||||
+ return g_strcmp0 (session->translated_name, translated_name) == 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static void
|
|
||||||
load_session_file (const char *id,
|
|
||||||
const char *path)
|
|
||||||
@@ -118,7 +129,7 @@ load_session_file (const char *id,
|
|
||||||
GKeyFile *key_file;
|
|
||||||
GError *error;
|
|
||||||
gboolean res;
|
|
||||||
- GdmSessionFile *session;
|
|
||||||
+ GdmSessionFile *session, *psession;
|
|
||||||
|
|
||||||
key_file = g_key_file_new ();
|
|
||||||
|
|
||||||
@@ -154,9 +165,13 @@ load_session_file (const char *id,
|
|
||||||
session->translated_name = g_key_file_get_locale_string (key_file, G_KEY_FILE_DESKTOP_GROUP, "Name", NULL, NULL);
|
|
||||||
session->translated_comment = g_key_file_get_locale_string (key_file, G_KEY_FILE_DESKTOP_GROUP, "Comment", NULL, NULL);
|
|
||||||
|
|
||||||
- g_hash_table_insert (gdm_available_sessions_map,
|
|
||||||
- g_strdup (id),
|
|
||||||
- session);
|
|
||||||
+ psession = g_hash_table_find (gdm_available_sessions_map, find_translated_name, session->translated_name);
|
|
||||||
+
|
|
||||||
+ if(psession)
|
|
||||||
+ g_hash_table_remove (gdm_available_sessions_map, psession->id);
|
|
||||||
+
|
|
||||||
+ g_hash_table_insert (gdm_available_sessions_map, g_strdup (id), session);
|
|
||||||
+
|
|
||||||
out:
|
|
||||||
g_key_file_free (key_file);
|
|
||||||
}
|
|
56
gdm-ignore-duplicate-session.patch
Normal file
56
gdm-ignore-duplicate-session.patch
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
Index: gdm-3.26.2.1/libgdm/gdm-sessions.c
|
||||||
|
===================================================================
|
||||||
|
--- gdm-3.26.2.1.orig/libgdm/gdm-sessions.c
|
||||||
|
+++ gdm-3.26.2.1/libgdm/gdm-sessions.c
|
||||||
|
@@ -202,6 +202,34 @@ collect_sessions_from_directory (const c
|
||||||
|
g_dir_close (dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static gboolean
|
||||||
|
+find_translated_name (const char *id,
|
||||||
|
+ GdmSessionFile *session,
|
||||||
|
+ char *translated_name)
|
||||||
|
+{
|
||||||
|
+ if (g_str_equal (id, "default"))
|
||||||
|
+ return FALSE;
|
||||||
|
+
|
||||||
|
+ return g_str_equal (session->translated_name, translated_name) ? TRUE : FALSE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
+remove_duplicated_session_name (void)
|
||||||
|
+{
|
||||||
|
+ GdmSessionFile *session;
|
||||||
|
+ char *translated_name = NULL;
|
||||||
|
+
|
||||||
|
+ session = g_hash_table_lookup (gdm_available_sessions_map, "default");
|
||||||
|
+ if (session)
|
||||||
|
+ translated_name = session->translated_name;
|
||||||
|
+
|
||||||
|
+ if (translated_name) {
|
||||||
|
+ session = g_hash_table_find (gdm_available_sessions_map, (GHRFunc)find_translated_name, translated_name);
|
||||||
|
+ if (session)
|
||||||
|
+ g_hash_table_remove (gdm_available_sessions_map, session->id);
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void
|
||||||
|
collect_sessions (void)
|
||||||
|
{
|
||||||
|
@@ -233,6 +261,7 @@ collect_sessions (void)
|
||||||
|
#ifdef ENABLE_WAYLAND_SUPPORT
|
||||||
|
#ifdef ENABLE_USER_DISPLAY_SERVER
|
||||||
|
if (g_getenv ("WAYLAND_DISPLAY") == NULL && g_getenv ("RUNNING_UNDER_GDM") != NULL) {
|
||||||
|
+ remove_duplicated_session_name();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@@ -241,6 +270,8 @@ collect_sessions (void)
|
||||||
|
collect_sessions_from_directory (wayland_search_dirs [i]);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
+
|
||||||
|
+ remove_duplicated_session_name();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
@ -1,264 +0,0 @@
|
|||||||
diff --git a/daemon/gdm-display-store.c b/daemon/gdm-display-store.c
|
|
||||||
index fd24334..8c1ae25 100644
|
|
||||||
--- a/daemon/gdm-display-store.c
|
|
||||||
+++ b/daemon/gdm-display-store.c
|
|
||||||
@@ -136,6 +136,35 @@ typedef struct
|
|
||||||
gpointer user_data;
|
|
||||||
} FindClosure;
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+copy_func (StoredDisplay *stored_display,
|
|
||||||
+ FindClosure *closure)
|
|
||||||
+{
|
|
||||||
+ closure->user_data = g_list_append (closure->user_data,
|
|
||||||
+ stored_display->display);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+GList *
|
|
||||||
+gdm_display_store_get_displays (GdmDisplayStore *store)
|
|
||||||
+{
|
|
||||||
+ GList *displays = NULL;
|
|
||||||
+ GList *store_displays = NULL;
|
|
||||||
+ FindClosure closure;
|
|
||||||
+ g_return_val_if_fail (store != NULL, NULL);
|
|
||||||
+
|
|
||||||
+ store_displays = g_hash_table_get_values (store->priv->displays);
|
|
||||||
+
|
|
||||||
+ closure.user_data = displays;
|
|
||||||
+
|
|
||||||
+ g_list_foreach (store_displays,
|
|
||||||
+ (GFunc) copy_func,
|
|
||||||
+ &closure);
|
|
||||||
+ displays = closure.user_data;
|
|
||||||
+
|
|
||||||
+ g_list_free (store_displays);
|
|
||||||
+ return displays;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static gboolean
|
|
||||||
find_func (const char *id,
|
|
||||||
StoredDisplay *stored_display,
|
|
||||||
diff --git a/daemon/gdm-display-store.h b/daemon/gdm-display-store.h
|
|
||||||
index 0aff8ee..cd69518 100644
|
|
||||||
--- a/daemon/gdm-display-store.h
|
|
||||||
+++ b/daemon/gdm-display-store.h
|
|
||||||
@@ -86,6 +86,8 @@ GdmDisplay * gdm_display_store_find (GdmDisplayStore
|
|
||||||
GdmDisplayStoreFunc predicate,
|
|
||||||
gpointer user_data);
|
|
||||||
|
|
||||||
+GList * gdm_display_store_get_displays (GdmDisplayStore *store);
|
|
||||||
+
|
|
||||||
|
|
||||||
G_END_DECLS
|
|
||||||
|
|
||||||
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
|
|
||||||
index cb9f662..a971ba3 100644
|
|
||||||
--- a/daemon/gdm-manager.c
|
|
||||||
+++ b/daemon/gdm-manager.c
|
|
||||||
@@ -2703,9 +2703,7 @@ unexport_display (const char *id,
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
-finish_display (const char *id,
|
|
||||||
- GdmDisplay *display,
|
|
||||||
- GdmManager *manager)
|
|
||||||
+finish_display (GdmDisplay *display)
|
|
||||||
{
|
|
||||||
gdm_display_stop_greeter_session (display);
|
|
||||||
if (gdm_display_get_status (display) == GDM_DISPLAY_MANAGED)
|
|
||||||
@@ -2717,6 +2715,7 @@ static void
|
|
||||||
gdm_manager_dispose (GObject *object)
|
|
||||||
{
|
|
||||||
GdmManager *manager;
|
|
||||||
+ GList *displays = NULL;
|
|
||||||
|
|
||||||
g_return_if_fail (object != NULL);
|
|
||||||
g_return_if_fail (GDM_IS_MANAGER (object));
|
|
||||||
@@ -2758,9 +2757,11 @@ gdm_manager_dispose (GObject *object)
|
|
||||||
g_dbus_interface_skeleton_unexport (G_DBUS_INTERFACE_SKELETON (manager));
|
|
||||||
}
|
|
||||||
|
|
||||||
- gdm_display_store_foreach (manager->priv->display_store,
|
|
||||||
- (GdmDisplayStoreFunc) finish_display,
|
|
||||||
- manager);
|
|
||||||
+ displays = gdm_display_store_get_displays (manager->priv->display_store);
|
|
||||||
+ g_list_foreach (displays,
|
|
||||||
+ (GFunc) finish_display,
|
|
||||||
+ NULL);
|
|
||||||
+ g_list_free (displays);
|
|
||||||
|
|
||||||
gdm_display_store_clear (manager->priv->display_store);
|
|
||||||
|
|
||||||
diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
|
|
||||||
index 06e5a6a..07642cd 100644
|
|
||||||
--- a/daemon/gdm-session-worker.c
|
|
||||||
+++ b/daemon/gdm-session-worker.c
|
|
||||||
@@ -34,6 +34,7 @@
|
|
||||||
#include <errno.h>
|
|
||||||
#include <grp.h>
|
|
||||||
#include <pwd.h>
|
|
||||||
+#include <signal.h>
|
|
||||||
|
|
||||||
#include <security/pam_appl.h>
|
|
||||||
|
|
||||||
@@ -181,6 +182,8 @@ struct GdmSessionWorkerPrivate
|
|
||||||
GdmSessionSettings *user_settings;
|
|
||||||
|
|
||||||
GDBusMethodInvocation *pending_invocation;
|
|
||||||
+
|
|
||||||
+ GMainLoop *main_loop;
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef SUPPORTS_PAM_EXTENSIONS
|
|
||||||
@@ -197,6 +200,7 @@ enum {
|
|
||||||
PROP_0,
|
|
||||||
PROP_SERVER_ADDRESS,
|
|
||||||
PROP_IS_REAUTH_SESSION,
|
|
||||||
+ PROP_MAIN_LOOP,
|
|
||||||
};
|
|
||||||
|
|
||||||
static void gdm_session_worker_class_init (GdmSessionWorkerClass *klass);
|
|
||||||
@@ -2455,6 +2459,13 @@ gdm_session_worker_set_is_reauth_session (GdmSessionWorker *worker,
|
|
||||||
worker->priv->is_reauth_session = is_reauth_session;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+gdm_session_worker_set_main_loop (GdmSessionWorker *worker,
|
|
||||||
+ GMainLoop *main_loop)
|
|
||||||
+{
|
|
||||||
+ worker->priv->main_loop = main_loop;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static void
|
|
||||||
gdm_session_worker_set_property (GObject *object,
|
|
||||||
guint prop_id,
|
|
||||||
@@ -2472,6 +2483,9 @@ gdm_session_worker_set_property (GObject *object,
|
|
||||||
case PROP_IS_REAUTH_SESSION:
|
|
||||||
gdm_session_worker_set_is_reauth_session (self, g_value_get_boolean (value));
|
|
||||||
break;
|
|
||||||
+ case PROP_MAIN_LOOP:
|
|
||||||
+ gdm_session_worker_set_main_loop (self, g_value_get_pointer (value));
|
|
||||||
+ break;
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
|
||||||
break;
|
|
||||||
@@ -2495,6 +2509,9 @@ gdm_session_worker_get_property (GObject *object,
|
|
||||||
case PROP_IS_REAUTH_SESSION:
|
|
||||||
g_value_set_boolean (value, self->priv->is_reauth_session);
|
|
||||||
break;
|
|
||||||
+ case PROP_MAIN_LOOP:
|
|
||||||
+ g_value_set_pointer (value, self->priv->main_loop);
|
|
||||||
+ break;
|
|
||||||
default:
|
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
|
||||||
break;
|
|
||||||
@@ -2764,6 +2781,16 @@ do_open_session (GdmSessionWorker *worker)
|
|
||||||
worker->priv->pending_invocation = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static gboolean
|
|
||||||
+on_shutdown_signal_cb (gpointer user_data)
|
|
||||||
+{
|
|
||||||
+ GMainLoop *mainloop = user_data;
|
|
||||||
+
|
|
||||||
+ g_main_loop_quit (mainloop);
|
|
||||||
+
|
|
||||||
+ return FALSE;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static void
|
|
||||||
do_start_session (GdmSessionWorker *worker)
|
|
||||||
{
|
|
||||||
@@ -2773,6 +2800,9 @@ do_start_session (GdmSessionWorker *worker)
|
|
||||||
error = NULL;
|
|
||||||
res = gdm_session_worker_start_session (worker, &error);
|
|
||||||
if (res) {
|
|
||||||
+ g_unix_signal_add (SIGTERM, on_shutdown_signal_cb, worker->priv->main_loop);
|
|
||||||
+ g_unix_signal_add (SIGINT, on_shutdown_signal_cb, worker->priv->main_loop);
|
|
||||||
+
|
|
||||||
gdm_dbus_worker_complete_start_program (GDM_DBUS_WORKER (worker),
|
|
||||||
worker->priv->pending_invocation,
|
|
||||||
worker->priv->child_pid);
|
|
||||||
@@ -3471,6 +3501,13 @@ gdm_session_worker_class_init (GdmSessionWorkerClass *klass)
|
|
||||||
"is reauth session",
|
|
||||||
FALSE,
|
|
||||||
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
|
|
||||||
+
|
|
||||||
+ g_object_class_install_property (object_class,
|
|
||||||
+ PROP_MAIN_LOOP,
|
|
||||||
+ g_param_spec_pointer ("main-loop",
|
|
||||||
+ "main loop",
|
|
||||||
+ "main loop",
|
|
||||||
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
@@ -3561,13 +3598,15 @@ gdm_session_worker_finalize (GObject *object)
|
|
||||||
|
|
||||||
GdmSessionWorker *
|
|
||||||
gdm_session_worker_new (const char *address,
|
|
||||||
- gboolean is_reauth_session)
|
|
||||||
+ gboolean is_reauth_session,
|
|
||||||
+ GMainLoop *main_loop)
|
|
||||||
{
|
|
||||||
GObject *object;
|
|
||||||
|
|
||||||
object = g_object_new (GDM_TYPE_SESSION_WORKER,
|
|
||||||
"server-address", address,
|
|
||||||
"is-reauth-session", is_reauth_session,
|
|
||||||
+ "main-loop", main_loop,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
return GDM_SESSION_WORKER (object);
|
|
||||||
diff --git a/daemon/gdm-session-worker.h b/daemon/gdm-session-worker.h
|
|
||||||
index 5603e80..24979e4 100644
|
|
||||||
--- a/daemon/gdm-session-worker.h
|
|
||||||
+++ b/daemon/gdm-session-worker.h
|
|
||||||
@@ -51,6 +51,7 @@ typedef struct
|
|
||||||
GType gdm_session_worker_get_type (void);
|
|
||||||
|
|
||||||
GdmSessionWorker * gdm_session_worker_new (const char *server_address,
|
|
||||||
- gboolean is_for_reauth) G_GNUC_MALLOC;
|
|
||||||
+ gboolean is_for_reauth,
|
|
||||||
+ GMainLoop *main_loop) G_GNUC_MALLOC;
|
|
||||||
G_END_DECLS
|
|
||||||
#endif /* GDM_SESSION_WORKER_H */
|
|
||||||
diff --git a/daemon/session-worker-main.c b/daemon/session-worker-main.c
|
|
||||||
index 4a3a8eb..da3e7c6 100644
|
|
||||||
--- a/daemon/session-worker-main.c
|
|
||||||
+++ b/daemon/session-worker-main.c
|
|
||||||
@@ -64,12 +64,6 @@ is_debug_set (void)
|
|
||||||
return debug;
|
|
||||||
}
|
|
||||||
|
|
||||||
-static void
|
|
||||||
-on_sigterm_cb (int signal_number)
|
|
||||||
-{
|
|
||||||
- _exit (EXIT_SUCCESS);
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
int
|
|
||||||
main (int argc,
|
|
||||||
char **argv)
|
|
||||||
@@ -83,8 +77,6 @@ main (int argc,
|
|
||||||
{ NULL }
|
|
||||||
};
|
|
||||||
|
|
||||||
- signal (SIGTERM, on_sigterm_cb);
|
|
||||||
-
|
|
||||||
bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
|
|
||||||
textdomain (GETTEXT_PACKAGE);
|
|
||||||
setlocale (LC_ALL, "");
|
|
||||||
@@ -120,10 +112,10 @@ main (int argc,
|
|
||||||
|
|
||||||
is_for_reauth = g_getenv ("GDM_SESSION_FOR_REAUTH") != NULL;
|
|
||||||
|
|
||||||
- worker = gdm_session_worker_new (address, is_for_reauth);
|
|
||||||
-
|
|
||||||
main_loop = g_main_loop_new (NULL, FALSE);
|
|
||||||
|
|
||||||
+ worker = gdm_session_worker_new (address, is_for_reauth, main_loop);
|
|
||||||
+
|
|
||||||
g_unix_signal_add (SIGUSR1, on_sigusr1_cb, NULL);
|
|
||||||
|
|
||||||
g_main_loop_run (main_loop);
|
|
65
gdm-plymouth-vt1.patch
Normal file
65
gdm-plymouth-vt1.patch
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
Index: gdm-3.26.1/daemon/main.c
|
||||||
|
===================================================================
|
||||||
|
--- gdm-3.26.1.orig/daemon/main.c
|
||||||
|
+++ gdm-3.26.1/daemon/main.c
|
||||||
|
@@ -33,6 +33,8 @@
|
||||||
|
#include <sys/wait.h>
|
||||||
|
#include <locale.h>
|
||||||
|
#include <signal.h>
|
||||||
|
+#include <sys/ioctl.h>
|
||||||
|
+#include <sys/vt.h>
|
||||||
|
|
||||||
|
#include <glib.h>
|
||||||
|
#include <glib/gi18n.h>
|
||||||
|
@@ -302,6 +304,23 @@ block_sigusr1 (void)
|
||||||
|
sigprocmask (SIG_BLOCK, &mask, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void
|
||||||
|
+jump_to_vt (int vt_number)
|
||||||
|
+{
|
||||||
|
+ int fd;
|
||||||
|
+
|
||||||
|
+ fd = open ("/dev/tty0", O_RDWR | O_NOCTTY);
|
||||||
|
+ if (ioctl (fd, VT_ACTIVATE, vt_number) < 0) {
|
||||||
|
+ g_debug ("Gdm: couldn't initiate jump to VT %d: %m",
|
||||||
|
+ vt_number);
|
||||||
|
+ } else if (ioctl (fd, VT_WAITACTIVE, vt_number) < 0) {
|
||||||
|
+ g_debug ("Gdm: couldn't finalize jump to VT %d: %m",
|
||||||
|
+ vt_number);
|
||||||
|
+ }
|
||||||
|
+ close(fd);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
int
|
||||||
|
main (int argc,
|
||||||
|
char **argv)
|
||||||
|
@@ -310,6 +329,7 @@ main (int argc,
|
||||||
|
GOptionContext *context;
|
||||||
|
GError *error = NULL;
|
||||||
|
gboolean res;
|
||||||
|
+ gboolean plymouth_running = FALSE;
|
||||||
|
static gboolean do_timed_exit = FALSE;
|
||||||
|
static gboolean print_version = FALSE;
|
||||||
|
static gboolean fatal_warnings = FALSE;
|
||||||
|
@@ -383,6 +403,8 @@ main (int argc,
|
||||||
|
|
||||||
|
g_chdir ("/");
|
||||||
|
|
||||||
|
+ plymouth_running = g_access("/run/plymouth/pid", F_OK) == 0;
|
||||||
|
+
|
||||||
|
main_loop = g_main_loop_new (NULL, FALSE);
|
||||||
|
|
||||||
|
g_unix_signal_add (SIGTERM, on_shutdown_signal_cb, main_loop);
|
||||||
|
@@ -405,6 +427,10 @@ main (int argc,
|
||||||
|
|
||||||
|
g_main_loop_unref (main_loop);
|
||||||
|
|
||||||
|
+ if (plymouth_running) {
|
||||||
|
+ jump_to_vt (1);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
|
|
||||||
index b1e9b68b..ea328381 100644
|
|
||||||
--- a/daemon/gdm-manager.c
|
|
||||||
+++ b/daemon/gdm-manager.c
|
|
||||||
@@ -1273,6 +1273,7 @@ set_up_automatic_login_session (GdmManager *manager,
|
|
||||||
{
|
|
||||||
GdmSession *session;
|
|
||||||
char *display_session_type = NULL;
|
|
||||||
+ gboolean is_initial;
|
|
||||||
|
|
||||||
/* 0 is root user; since the daemon talks to the session object
|
|
||||||
* directly, itself, for automatic login
|
|
||||||
@@ -1280,11 +1281,12 @@ set_up_automatic_login_session (GdmManager *manager,
|
|
||||||
session = create_user_session_for_display (manager, display, 0);
|
|
||||||
|
|
||||||
g_object_get (G_OBJECT (display),
|
|
||||||
+ "is-initial", &is_initial,
|
|
||||||
"session-type", &display_session_type,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
g_object_set (G_OBJECT (session),
|
|
||||||
- "display-is-initial", FALSE,
|
|
||||||
+ "display-is-initial", is_initial,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
g_debug ("GdmManager: Starting automatic login conversation");
|
|
@ -1,43 +0,0 @@
|
|||||||
Index: gdm-3.30.2/daemon/main.c
|
|
||||||
===================================================================
|
|
||||||
--- gdm-3.30.2.orig/daemon/main.c
|
|
||||||
+++ gdm-3.30.2/daemon/main.c
|
|
||||||
@@ -61,6 +61,29 @@ static GdmSettings *settings =
|
|
||||||
static uid_t gdm_uid = -1;
|
|
||||||
static gid_t gdm_gid = -1;
|
|
||||||
|
|
||||||
+#define SHELLSCRIPT "\
|
|
||||||
+/bin/bash -c \
|
|
||||||
+\'PROCESS=\"X Xwayland\"\;\
|
|
||||||
+R=$(pidof $PROCESS)\;\
|
|
||||||
+while [ $? == 0 ]\;\
|
|
||||||
+do sleep 1\;\
|
|
||||||
+ R=$(pidof $PROCESS)\;\
|
|
||||||
+done\;\
|
|
||||||
+/usr/bin/chvt 1\'\
|
|
||||||
+"
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+jump_to_tty1 ()
|
|
||||||
+{
|
|
||||||
+ g_autoptr(GError) error = NULL;
|
|
||||||
+
|
|
||||||
+ g_spawn_command_line_async (SHELLSCRIPT,
|
|
||||||
+ &error);
|
|
||||||
+
|
|
||||||
+ if (error != NULL)
|
|
||||||
+ g_warning ("Error chvt to tty1: %s", error->message);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static gboolean
|
|
||||||
timed_exit_cb (GMainLoop *loop)
|
|
||||||
{
|
|
||||||
@@ -402,6 +425,8 @@ main (int argc,
|
|
||||||
gdm_settings_direct_shutdown ();
|
|
||||||
gdm_log_shutdown ();
|
|
||||||
|
|
||||||
+ jump_to_tty1 ();
|
|
||||||
+
|
|
||||||
g_main_loop_unref (main_loop);
|
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
|
@ -1,8 +1,8 @@
|
|||||||
Index: gdm-3.29.90/common/Makefile.am
|
Index: b/common/Makefile.am
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdm-3.29.90.orig/common/Makefile.am 2018-08-01 20:59:59.000000000 +0200
|
--- a/common/Makefile.am 2018-01-19 20:09:39.075556951 +0800
|
||||||
+++ gdm-3.29.90/common/Makefile.am 2018-08-04 00:23:24.620553113 +0200
|
+++ b/common/Makefile.am 2018-01-19 20:10:57.572967891 +0800
|
||||||
@@ -46,11 +46,15 @@ libgdmcommon_la_SOURCES = \
|
@@ -52,11 +52,15 @@
|
||||||
gdm-settings-backend.h \
|
gdm-settings-backend.h \
|
||||||
gdm-settings-desktop-backend.c \
|
gdm-settings-desktop-backend.c \
|
||||||
gdm-settings-desktop-backend.h \
|
gdm-settings-desktop-backend.h \
|
||||||
@ -17,11 +17,11 @@ Index: gdm-3.29.90/common/Makefile.am
|
|||||||
+ gdm-sysconfig.h \
|
+ gdm-sysconfig.h \
|
||||||
gdm-log.h \
|
gdm-log.h \
|
||||||
gdm-log.c \
|
gdm-log.c \
|
||||||
$(NULL)
|
$(MKDTEMP_FILES) \
|
||||||
Index: gdm-3.29.90/common/gdm-settings-system-backend.c
|
Index: b/common/gdm-settings-system-backend.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdm-3.29.90/common/gdm-settings-system-backend.c 2018-08-04 00:23:24.620553113 +0200
|
+++ b/common/gdm-settings-system-backend.c 2018-01-19 20:10:57.572967891 +0800
|
||||||
@@ -0,0 +1,369 @@
|
@@ -0,0 +1,369 @@
|
||||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||||
+ *
|
+ *
|
||||||
@ -392,10 +392,10 @@ Index: gdm-3.29.90/common/gdm-settings-system-backend.c
|
|||||||
+
|
+
|
||||||
+ return GDM_SETTINGS_BACKEND (object);
|
+ return GDM_SETTINGS_BACKEND (object);
|
||||||
+}
|
+}
|
||||||
Index: gdm-3.29.90/common/gdm-settings-system-backend.h
|
Index: b/common/gdm-settings-system-backend.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdm-3.29.90/common/gdm-settings-system-backend.h 2018-08-04 00:23:24.620553113 +0200
|
+++ b/common/gdm-settings-system-backend.h 2018-01-19 20:10:57.572967891 +0800
|
||||||
@@ -0,0 +1,56 @@
|
@@ -0,0 +1,56 @@
|
||||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||||
+ *
|
+ *
|
||||||
@ -453,10 +453,10 @@ Index: gdm-3.29.90/common/gdm-settings-system-backend.h
|
|||||||
+G_END_DECLS
|
+G_END_DECLS
|
||||||
+
|
+
|
||||||
+#endif /* __GDM_SETTINGS_SYSTEM_BACKEND_H */
|
+#endif /* __GDM_SETTINGS_SYSTEM_BACKEND_H */
|
||||||
Index: gdm-3.29.90/common/gdm-settings.c
|
Index: b/common/gdm-settings.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdm-3.29.90.orig/common/gdm-settings.c 2018-06-26 19:59:06.000000000 +0200
|
--- a/common/gdm-settings.c 2018-01-19 20:10:02.587982412 +0800
|
||||||
+++ gdm-3.29.90/common/gdm-settings.c 2018-08-04 00:23:24.620553113 +0200
|
+++ b/common/gdm-settings.c 2018-01-19 20:12:09.186231713 +0800
|
||||||
@@ -38,6 +38,7 @@
|
@@ -38,6 +38,7 @@
|
||||||
#include "gdm-settings.h"
|
#include "gdm-settings.h"
|
||||||
|
|
||||||
@ -465,7 +465,7 @@ Index: gdm-3.29.90/common/gdm-settings.c
|
|||||||
|
|
||||||
#define GDM_SETTINGS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_SETTINGS, GdmSettingsPrivate))
|
#define GDM_SETTINGS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_SETTINGS, GdmSettingsPrivate))
|
||||||
|
|
||||||
@@ -198,6 +199,8 @@ gdm_settings_init (GdmSettings *settings
|
@@ -198,6 +199,8 @@
|
||||||
if (backend)
|
if (backend)
|
||||||
settings->priv->backends = g_list_prepend (NULL, backend);
|
settings->priv->backends = g_list_prepend (NULL, backend);
|
||||||
|
|
||||||
@ -474,10 +474,10 @@ Index: gdm-3.29.90/common/gdm-settings.c
|
|||||||
backend = gdm_settings_desktop_backend_new (GDM_RUNTIME_CONF);
|
backend = gdm_settings_desktop_backend_new (GDM_RUNTIME_CONF);
|
||||||
if (backend)
|
if (backend)
|
||||||
settings->priv->backends = g_list_prepend (settings->priv->backends, backend);
|
settings->priv->backends = g_list_prepend (settings->priv->backends, backend);
|
||||||
Index: gdm-3.29.90/common/gdm-sysconfig.c
|
Index: b/common/gdm-sysconfig.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdm-3.29.90/common/gdm-sysconfig.c 2018-08-04 00:23:24.620553113 +0200
|
+++ b/common/gdm-sysconfig.c 2018-01-19 20:10:57.572967891 +0800
|
||||||
@@ -0,0 +1,484 @@
|
@@ -0,0 +1,484 @@
|
||||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||||
+ *
|
+ *
|
||||||
@ -963,10 +963,10 @@ Index: gdm-3.29.90/common/gdm-sysconfig.c
|
|||||||
+ g_strfreev (lines);
|
+ g_strfreev (lines);
|
||||||
+ return result;
|
+ return result;
|
||||||
+}
|
+}
|
||||||
Index: gdm-3.29.90/common/gdm-sysconfig.h
|
Index: b/common/gdm-sysconfig.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
+++ gdm-3.29.90/common/gdm-sysconfig.h 2018-08-04 00:23:24.624553173 +0200
|
+++ b/common/gdm-sysconfig.h 2018-01-19 20:10:57.572967891 +0800
|
||||||
@@ -0,0 +1,43 @@
|
@@ -0,0 +1,43 @@
|
||||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||||
+ *
|
+ *
|
||||||
@ -1011,10 +1011,10 @@ Index: gdm-3.29.90/common/gdm-sysconfig.h
|
|||||||
+G_END_DECLS
|
+G_END_DECLS
|
||||||
+
|
+
|
||||||
+#endif /* __GDM_SYSCONFIG_H */
|
+#endif /* __GDM_SYSCONFIG_H */
|
||||||
Index: gdm-3.29.90/data/gdm.conf-custom.in
|
Index: b/data/gdm.conf-custom.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdm-3.29.90.orig/data/gdm.conf-custom.in 2018-08-01 21:00:01.000000000 +0200
|
--- a/data/gdm.conf-custom.in 2018-01-19 20:09:39.075556951 +0800
|
||||||
+++ gdm-3.29.90/data/gdm.conf-custom.in 2018-08-04 00:23:24.624553173 +0200
|
+++ b/data/gdm.conf-custom.in 2018-01-19 20:10:57.572967891 +0800
|
||||||
@@ -1,4 +1,7 @@
|
@@ -1,4 +1,7 @@
|
||||||
# GDM configuration storage
|
# GDM configuration storage
|
||||||
+#
|
+#
|
||||||
@ -1022,4 +1022,4 @@ Index: gdm-3.29.90/data/gdm.conf-custom.in
|
|||||||
+#
|
+#
|
||||||
|
|
||||||
[daemon]
|
[daemon]
|
||||||
# Uncomment the line below to force the login screen to use Xorg
|
# Uncoment the line below to force the login screen to use Xorg
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Index: gdm-3.29.90/common/gdm-common.c
|
Index: gdm-3.26.1/common/gdm-common.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdm-3.29.90.orig/common/gdm-common.c 2018-08-02 22:02:19.000000000 +0200
|
--- gdm-3.26.1.orig/common/gdm-common.c
|
||||||
+++ gdm-3.29.90/common/gdm-common.c 2018-08-04 00:26:09.874978033 +0200
|
+++ gdm-3.26.1/common/gdm-common.c
|
||||||
@@ -628,6 +628,8 @@ gdm_get_script_environment (const char *
|
@@ -591,6 +591,8 @@ gdm_get_script_environment (const char *
|
||||||
|
|
||||||
if (display_hostname) {
|
if (display_hostname) {
|
||||||
g_hash_table_insert (hash, g_strdup ("REMOTE_HOST"), g_strdup (display_hostname));
|
g_hash_table_insert (hash, g_strdup ("REMOTE_HOST"), g_strdup (display_hostname));
|
||||||
@ -11,7 +11,7 @@ Index: gdm-3.29.90/common/gdm-common.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Runs as root */
|
/* Runs as root */
|
||||||
@@ -839,3 +841,14 @@ gdm_shell_expand (const char *str,
|
@@ -797,3 +799,14 @@ gdm_shell_expand (const char *str,
|
||||||
}
|
}
|
||||||
return g_string_free (s, FALSE);
|
return g_string_free (s, FALSE);
|
||||||
}
|
}
|
||||||
@ -26,22 +26,22 @@ Index: gdm-3.29.90/common/gdm-common.c
|
|||||||
+ return g_strdup ("localhost");
|
+ return g_strdup ("localhost");
|
||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
Index: gdm-3.29.90/common/gdm-common.h
|
Index: gdm-3.26.1/common/gdm-common.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdm-3.29.90.orig/common/gdm-common.h 2018-08-02 22:02:19.000000000 +0200
|
--- gdm-3.26.1.orig/common/gdm-common.h
|
||||||
+++ gdm-3.29.90/common/gdm-common.h 2018-08-04 00:26:09.874978033 +0200
|
+++ gdm-3.26.1/common/gdm-common.h
|
||||||
@@ -56,6 +56,7 @@ char *gdm_generate_random_bytes
|
@@ -54,6 +54,7 @@ const char * gdm_make_temp_dir
|
||||||
gboolean gdm_get_login_window_session_id (const char *seat_id,
|
char *gdm_generate_random_bytes (gsize size,
|
||||||
char **session_id);
|
GError **error);
|
||||||
gboolean gdm_goto_login_session (GError **error);
|
gboolean gdm_goto_login_session (GError **error);
|
||||||
+char *gdm_gethostname (void);
|
+char *gdm_gethostname (void);
|
||||||
|
|
||||||
GPtrArray *gdm_get_script_environment (const char *username,
|
GPtrArray *gdm_get_script_environment (const char *username,
|
||||||
const char *display_name,
|
const char *display_name,
|
||||||
Index: gdm-3.29.90/daemon/gdm-display-access-file.c
|
Index: gdm-3.26.1/daemon/gdm-display-access-file.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdm-3.29.90.orig/daemon/gdm-display-access-file.c 2018-08-03 16:20:47.000000000 +0200
|
--- gdm-3.26.1.orig/daemon/gdm-display-access-file.c
|
||||||
+++ gdm-3.29.90/daemon/gdm-display-access-file.c 2018-08-04 00:26:09.874978033 +0200
|
+++ gdm-3.26.1/daemon/gdm-display-access-file.c
|
||||||
@@ -443,13 +443,10 @@ _get_auth_info_for_display (GdmDisplayAc
|
@@ -443,13 +443,10 @@ _get_auth_info_for_display (GdmDisplayAc
|
||||||
*
|
*
|
||||||
* https://bugs.freedesktop.org/show_bug.cgi?id=43425
|
* https://bugs.freedesktop.org/show_bug.cgi?id=43425
|
||||||
@ -59,11 +59,11 @@ Index: gdm-3.29.90/daemon/gdm-display-access-file.c
|
|||||||
} else {
|
} else {
|
||||||
*family = FamilyWild;
|
*family = FamilyWild;
|
||||||
gdm_display_get_remote_hostname (display, address, NULL);
|
gdm_display_get_remote_hostname (display, address, NULL);
|
||||||
Index: gdm-3.29.90/daemon/gdm-launch-environment.c
|
Index: gdm-3.26.1/daemon/gdm-launch-environment.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdm-3.29.90.orig/daemon/gdm-launch-environment.c 2018-08-03 16:20:48.000000000 +0200
|
--- gdm-3.26.1.orig/daemon/gdm-launch-environment.c
|
||||||
+++ gdm-3.29.90/daemon/gdm-launch-environment.c 2018-08-04 00:26:09.874978033 +0200
|
+++ gdm-3.26.1/daemon/gdm-launch-environment.c
|
||||||
@@ -218,6 +218,11 @@ build_launch_environment (GdmLaunchEnvir
|
@@ -201,6 +201,11 @@ build_launch_environment (GdmLaunchEnvir
|
||||||
g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
|
g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,14 +72,14 @@ Index: gdm-3.29.90/daemon/gdm-launch-environment.c
|
|||||||
+ g_hash_table_insert (hash, g_strdup ("XAUTHLOCALHOSTNAME"), gdm_gethostname ());
|
+ g_hash_table_insert (hash, g_strdup ("XAUTHLOCALHOSTNAME"), gdm_gethostname ());
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
g_hash_table_insert (hash, g_strdup ("RUNNING_UNDER_GDM"), g_strdup ("true"));
|
g_hash_table_insert (hash, g_strdup ("PATH"), g_strdup (g_getenv ("PATH")));
|
||||||
|
|
||||||
return hash;
|
g_hash_table_insert (hash, g_strdup ("RUNNING_UNDER_GDM"), g_strdup ("true"));
|
||||||
Index: gdm-3.29.90/daemon/gdm-session.c
|
Index: gdm-3.26.1/daemon/gdm-session.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gdm-3.29.90.orig/daemon/gdm-session.c 2018-08-04 00:26:09.862977860 +0200
|
--- gdm-3.26.1.orig/daemon/gdm-session.c
|
||||||
+++ gdm-3.29.90/daemon/gdm-session.c 2018-08-04 00:26:09.874978033 +0200
|
+++ gdm-3.26.1/daemon/gdm-session.c
|
||||||
@@ -2578,6 +2578,14 @@ set_up_session_environment (GdmSession *
|
@@ -2570,6 +2570,14 @@ set_up_session_environment (GdmSession *
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
184
gdm.changes
184
gdm.changes
@ -1,175 +1,3 @@
|
|||||||
-------------------------------------------------------------------
|
|
||||||
Tue Mar 19 09:07:58 UTC 2019 - xwang@suse.com
|
|
||||||
|
|
||||||
- Add gdm-revert-commit-39fb4ff.patch: Make auto login successful
|
|
||||||
(bsc#1116011).
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Feb 27 06:21:03 UTC 2019 - bjorn.lie@gmail.com
|
|
||||||
|
|
||||||
- Update to version 3.30.3:
|
|
||||||
+ Screen lock bypass fix (when timed login is enabled)
|
|
||||||
(CVE-2019-3825).
|
|
||||||
+ Updated translations.
|
|
||||||
- Drop gdm-CVE-2019-3825.patch: Fixed upstream.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Feb 20 07:10:14 UTC 2019 - xwang@suse.com
|
|
||||||
|
|
||||||
- Add gdm-kill-user-session.patch: Kill all sessions when stopping
|
|
||||||
gdm service
|
|
||||||
(bsc#1112294 bsc#1120307 bsc#1113245 glgo#GNOME/gdm#400).
|
|
||||||
- Add gdm-switch-to-tty1.patch: Switch to tty1 when stopping gdm
|
|
||||||
service (bsc#1113700).
|
|
||||||
- Drop gdm-plymouth-vt1.patch: Replaced by gdm-switch-to-tty1.patch
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Feb 12 10:49:15 UTC 2019 - Felix Zhang <fezhang@suse.com>
|
|
||||||
|
|
||||||
- Add gdm-CVE-2019-3825.patch: Fix lock screen bypass when timed
|
|
||||||
login is enabled (boo#1124628, glgo#GNOME/gdm#460, CVE-2019-3825)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Dec 21 02:48:21 UTC 2018 - qzheng@suse.com
|
|
||||||
|
|
||||||
- Add gdm-ignore-duplicate-desktop-file.patch to ignore duplicate
|
|
||||||
desktop file with same "Name" value, including symlinks of
|
|
||||||
desktop files (bsc#1112834, glgo#GNOME/gdm#437).
|
|
||||||
- Drop gdm-ignore-duplicate-session.patch, the patch hardcodes
|
|
||||||
"default.desktop" while LightDM and SDDM treat symlinks as
|
|
||||||
aliases.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Nov 7 06:28:27 UTC 2018 - bjorn.lie@gmail.com
|
|
||||||
|
|
||||||
- Update to version 3.30.2:
|
|
||||||
+ Fix autologin crash.
|
|
||||||
+ Unlock keyring again on autologin with newerish systemds.
|
|
||||||
+ Fix initial-setup.
|
|
||||||
+ Updated translations.
|
|
||||||
- Drop patches fixed upstream:
|
|
||||||
+ gdm-fix-autologin.patch.
|
|
||||||
+ gdm-fix-initial-setup.patch.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sat Oct 13 01:04:41 UTC 2018 - luc14n0@linuxmail.org
|
|
||||||
|
|
||||||
- Add upstream patches:
|
|
||||||
+ gdm-fix-autologin.patch: as autologin got reworked and broken,
|
|
||||||
accessing the proper display variable should fix it.
|
|
||||||
+ gdm-fix-initial-setup.patch: as the initial-setup related post
|
|
||||||
work is done when stopping the greeter and this stop is delayed
|
|
||||||
until after the user session is started now, the post work
|
|
||||||
needs to be done before the user session is started.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Oct 1 21:18:00 UTC 2018 - luc14n0@linuxmail.org
|
|
||||||
|
|
||||||
- Re-add still needed 61-gdm.rules removal until glgo#GNOME/gdm#424
|
|
||||||
gets fixed.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Sep 26 10:45:19 UTC 2018 - bjorn.lie@gmail.com
|
|
||||||
|
|
||||||
- Update to version 3.30.1:
|
|
||||||
+ Make udev rule configurable.
|
|
||||||
+ Follow up fixes dealing with login screen reaping from two
|
|
||||||
releases ago.
|
|
||||||
+ Disable wayland on proprietary nvidia machines for now.
|
|
||||||
+ Updated translations.
|
|
||||||
- Drop gdm-make-udev-dir-configurable.patch: Fixed upstream.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Sep 5 02:42:59 UTC 2018 - luc14n0@linuxmail.org
|
|
||||||
|
|
||||||
- Update to version 3.30.0:
|
|
||||||
+ No visible changes for the user.
|
|
||||||
- Drop gdm-ignore-spurios-SeatNew-signal.patch: fixed upstream.
|
|
||||||
- Add gdm-make-udev-dir-configurable.patch: Make udev directory
|
|
||||||
configurable. Patch provided by upstream (glgo#GNOME/gdm!44).
|
|
||||||
- Rebase gdm-ignore-duplicate-session.patch.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sat Sep 1 19:20:01 UTC 2018 - bjorn.lie@gmail.com
|
|
||||||
|
|
||||||
- Update to version 3.29.92:
|
|
||||||
+ Search for sessions in XDG_DATA_DIRS.
|
|
||||||
+ Blacklist some more wayland unfriendly hardware.
|
|
||||||
+ Initial setup fix.
|
|
||||||
+ Flicker fix.
|
|
||||||
+ Misc bug fixes.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Aug 24 03:29:91 UTC 2018 - bjorn.lie@gmail.com
|
|
||||||
|
|
||||||
- Update to version 3.29.91:
|
|
||||||
+ CVE-2018-14424: double free fix.
|
|
||||||
+ Follow up fixes dealing with login screen reaping form last
|
|
||||||
release.
|
|
||||||
+ Add more debug logging.
|
|
||||||
+ Updated translations.
|
|
||||||
- Drop gdm-CVE-2018-14424.patch: Fixed upstream.
|
|
||||||
- Add gdm-ignore-spurios-SeatNew-signal.patch: Fix crashes.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Aug 23 15:03:13 UTC 2018 - bjorn.lie@gmail.com
|
|
||||||
|
|
||||||
- Update to version 3.28.4:
|
|
||||||
+ Add missing gdm-disable-wayland binary (fixes VM boots).
|
|
||||||
+ Disable wayland for certain server cards that mutter can't yet
|
|
||||||
handle sufficiently.
|
|
||||||
- Drop gdm-disable-wayland-on-unsupported-chipsets.patch: Fixed
|
|
||||||
upstream.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Aug 15 23:53:20 UTC 2018 - luc14n0@linuxmail.org
|
|
||||||
|
|
||||||
- Update to version 3.28.3:
|
|
||||||
+ CVE-2018-14424 - double free fix.
|
|
||||||
+ Lifecycle fixes to libgdm/GdmClient.
|
|
||||||
+ Follow up fixes dealing with login screen reaping from last
|
|
||||||
release.
|
|
||||||
+ Allow pam modules to use SIGUSR1.
|
|
||||||
+ Set PWD for user session.
|
|
||||||
+ Tell cirrus not to use wayland.
|
|
||||||
+ Updated translations.
|
|
||||||
- Drop gdm-CVE-2018-14424.patch: fixed upstream.
|
|
||||||
- Rebase gdm-disable-wayland-on-unsupported-chipsets.patch applying
|
|
||||||
it against data/61-gdm.rules.in instead of data/61-gdm.rules to
|
|
||||||
avoid hard coding directories.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Aug 15 06:50:36 UTC 2018 - fezhang@suse.com
|
|
||||||
|
|
||||||
- Add gdm-CVE-2018-14424.patch: Pass the display object rather than
|
|
||||||
the id in the removed signal, fix use-after-free of disposed
|
|
||||||
transient displays (CVE-2018-14424, glgo#GNOME#gdm#401,
|
|
||||||
boo#1103737).
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Aug 3 22:16:38 UTC 2018 - bjorn.lie@gmail.com
|
|
||||||
|
|
||||||
- Update to version 3.29.90:
|
|
||||||
+ Display wayland on certain server machines.
|
|
||||||
+ Lifecycle fixes to libgdm/GdmClient.
|
|
||||||
+ Drop intltool.
|
|
||||||
+ Build goo clean ups
|
|
||||||
+ Kill login screen when not in use.
|
|
||||||
+ Cclean up stale utmp entries.
|
|
||||||
+ Misc fixes.
|
|
||||||
+ Updated translations.
|
|
||||||
- Rebase gdm-disable-wayland-on-unsupported-chipsets.patch.
|
|
||||||
- Disable
|
|
||||||
dm-add-runtime-option-to-disable-starting-X-server-as-u.patch:
|
|
||||||
Needs rebase.
|
|
||||||
- Refresh the following patches with quilt:
|
|
||||||
+ gdm-default-wm.patch.
|
|
||||||
+ gdm-fails-to-restart-gnome-shell.patch.
|
|
||||||
+ gdm-ignore-duplicate-session.patch.
|
|
||||||
+ gdm-plymouth-vt1.patch.
|
|
||||||
+ gdm-sysconfig-settings.patch
|
|
||||||
+ gdm-xauthlocalhostname.patch
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Jul 31 12:43:52 UTC 2018 - bwiedemann@suse.com
|
Tue Jul 31 12:43:52 UTC 2018 - bwiedemann@suse.com
|
||||||
|
|
||||||
@ -181,16 +9,6 @@ Thu Jul 26 11:52:06 UTC 2018 - dimstar@opensuse.org
|
|||||||
|
|
||||||
- Enable pam_keyinit module (boo#1081947).
|
- Enable pam_keyinit module (boo#1081947).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sat Jun 2 02:39:31 UTC 2018 - luc14n0@linuxmail.org
|
|
||||||
|
|
||||||
- Update to version 3.29.1:
|
|
||||||
+ Reference counting fixes for GdmClient- ensure plymouth is quit
|
|
||||||
properly even when local greeter is disabled.
|
|
||||||
+ Make sure GDM doesn't hang when called with unknown command
|
|
||||||
line arguments.
|
|
||||||
- Rebase gdm-xauthlocalhostname.patch.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun May 20 02:19:32 UTC 2018 - luc14n0@linuxmail.org
|
Sun May 20 02:19:32 UTC 2018 - luc14n0@linuxmail.org
|
||||||
|
|
||||||
@ -272,7 +90,7 @@ Mon Mar 12 04:46:37 UTC 2018 - yfjiang@suse.com
|
|||||||
back GNOME to X, the patch targets to provide a better user
|
back GNOME to X, the patch targets to provide a better user
|
||||||
experiences for servers with mgag200 graphic chips, which suffer
|
experiences for servers with mgag200 graphic chips, which suffer
|
||||||
the sluggish keyboard/mouse issues running GNOME on wayland
|
the sluggish keyboard/mouse issues running GNOME on wayland
|
||||||
(bsc#1073550, bsc#1077802). Some of the servers could not
|
(bsc#1073550 bsc#1077802). Some of the servers could not
|
||||||
initiate GNOME in a similar context (bsc#1070933).
|
initiate GNOME in a similar context (bsc#1070933).
|
||||||
|
|
||||||
With the complexity of the problem, Wayland probably needs
|
With the complexity of the problem, Wayland probably needs
|
||||||
|
73
gdm.spec
73
gdm.spec
@ -12,23 +12,21 @@
|
|||||||
# license that conforms to the Open Source Definition (Version 1.9)
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
# published by the Open Source Initiative.
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define systemdsystemunitdir %(pkg-config --variable=systemdsystemunitdir systemd)
|
%define systemdsystemunitdir %(pkg-config --variable=systemdsystemunitdir systemd)
|
||||||
# FIXME: need to check what should be done to enable this (at least adapt the pam files). See bnc#699999
|
# FIXME: need to check what should be done to enable this (at least adapt the pam files). See bnc#699999
|
||||||
%define enable_split_authentication 0
|
%define enable_split_authentication 0
|
||||||
|
|
||||||
Name: gdm
|
Name: gdm
|
||||||
Version: 3.30.3
|
Version: 3.28.2
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: The GNOME Display Manager
|
Summary: The GNOME Display Manager
|
||||||
License: GPL-2.0-or-later
|
License: GPL-2.0-or-later
|
||||||
Group: System/GUI/GNOME
|
Group: System/GUI/GNOME
|
||||||
URL: https://wiki.gnome.org/Projects/GDM
|
URL: https://wiki.gnome.org/Projects/GDM
|
||||||
Source0: https://download.gnome.org/sources/gdm/3.30/%{name}-%{version}.tar.xz
|
Source: http://download.gnome.org/sources/gdm/3.28/%{name}-%{version}.tar.xz
|
||||||
|
|
||||||
Source1: gdm.pamd
|
Source1: gdm.pamd
|
||||||
Source2: gdm-autologin.pamd
|
Source2: gdm-autologin.pamd
|
||||||
Source3: gdm-launch-environment.pamd
|
Source3: gdm-launch-environment.pamd
|
||||||
@ -40,36 +38,32 @@ Source6: gdmflexiserver-wrapper
|
|||||||
Source7: X11-displaymanager-gdm
|
Source7: X11-displaymanager-gdm
|
||||||
# GDM does not boostrap using gnome-autogen.sh, but has it's own bootstrap script
|
# GDM does not boostrap using gnome-autogen.sh, but has it's own bootstrap script
|
||||||
Source8: autogen.sh
|
Source8: autogen.sh
|
||||||
|
# PATCH-FIX-UPSTREAM gdm-disable-wayland-on-unsupported-chipsets.patch bgo#789081 bgo#794106 boo#1059356 boo#1083609 boo#1088539 fezhang@suse.com -- Disable Wayland on unsupported chipsets
|
||||||
# WARNING: do not remove/significantly change patch0 without updating the relevant patch in accountsservice too
|
Patch1: gdm-disable-wayland-on-unsupported-chipsets.patch
|
||||||
|
# WARNING: do not remove/significantly change patch3 without updating the relevant patch in accountsservice too
|
||||||
# PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 bsc#919723 hpj@novell.com -- Read autologin options from /etc/sysconfig/displaymanager; note that accountsservice has a similar patch (accountsservice-sysconfig.patch)
|
# PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 bsc#919723 hpj@novell.com -- Read autologin options from /etc/sysconfig/displaymanager; note that accountsservice has a similar patch (accountsservice-sysconfig.patch)
|
||||||
Patch0: gdm-sysconfig-settings.patch
|
Patch3: gdm-sysconfig-settings.patch
|
||||||
# PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts
|
# PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts
|
||||||
Patch2: gdm-suse-xsession.patch
|
Patch7: gdm-suse-xsession.patch
|
||||||
# PATCH-FIX-OPENSUSE gdm-default-wm.patch vuntz@novell.com -- Use sysconfig to know to which desktop to use by default
|
# PATCH-FIX-OPENSUSE gdm-default-wm.patch vuntz@novell.com -- Use sysconfig to know to which desktop to use by default
|
||||||
Patch3: gdm-default-wm.patch
|
Patch34: gdm-default-wm.patch
|
||||||
# PATCH-FIX-OPENSUSE gdm-xauthlocalhostname.patch bnc#538064 vuntz@novell.com -- Set XAUTHLOCALHOSTNAME to current hostname when we authenticate, for local logins, to avoid issues in the session in case the hostname changes later one. See comment 24 in the bug.
|
# PATCH-FIX-OPENSUSE gdm-xauthlocalhostname.patch bnc#538064 vuntz@novell.com -- Set XAUTHLOCALHOSTNAME to current hostname when we authenticate, for local logins, to avoid issues in the session in case the hostname changes later one. See comment 24 in the bug.
|
||||||
Patch4: gdm-xauthlocalhostname.patch
|
Patch35: gdm-xauthlocalhostname.patch
|
||||||
# PATCH-FIX-OPENSUSE gdm-switch-to-tty1.patch bsc#1113700 xwang@suse.com -- switch to tty1 when stopping gdm service
|
# PATCH-FIX-OPENSUSE gdm-ignore-duplicate-session.patch xwang@suse.com -- gdm sessions entries duplicate
|
||||||
Patch6: gdm-switch-to-tty1.patch
|
Patch36: gdm-ignore-duplicate-session.patch
|
||||||
|
# PATCH-FIX-UPSTREAM gdm-plymouth-vt1.patch bnc#881676 fcrozat@suse.com -- switch to VT1 when quitting if gdm was starting with plymouth running
|
||||||
|
Patch41: gdm-plymouth-vt1.patch
|
||||||
# PATCH-FIX-UPSTREAM gdm-fails-to-restart-gnome-shell.patch bsc#981976 bgo#769969 tyang@suse.com -- Gdm should stop after a few times fails
|
# PATCH-FIX-UPSTREAM gdm-fails-to-restart-gnome-shell.patch bsc#981976 bgo#769969 tyang@suse.com -- Gdm should stop after a few times fails
|
||||||
Patch7: gdm-fails-to-restart-gnome-shell.patch
|
Patch42: gdm-fails-to-restart-gnome-shell.patch
|
||||||
# PATCH-NEEDS-REBASE gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch bnc#1075805 bgo#793255 msrb@suse.com -- Add runtime option to start X under root instead of regular user. Necessary if no DRI drivers are present. WAS: PATCH-FIX-UPSTREAM, rejected upstream
|
# PATCH-FIX-UPSTREAM gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch bnc#1075805 bgo#793255 msrb@suse.com -- Add runtime option to start X under root instead of regular user. Necessary if no DRI drivers are present.
|
||||||
Patch8: gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
|
Patch43: gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
|
||||||
# PATCH-FIX-UPSTREAM gdm-ignore-duplicate-desktop-file.patch bsc#1112834 glgo#GNOME/gdm#437 qzheng@suse.com -- Ignore duplicate desktop file with same "Name".
|
|
||||||
Patch9: gdm-ignore-duplicate-desktop-file.patch
|
|
||||||
# PATCH-FIX-UPSTREAM gdm-kill-user-session.patch bsc#1112294 glgo#GNOME/gdm#400 xwang@suse.com -- Kill all sessions when stopping gdm service
|
|
||||||
Patch11: gdm-kill-user-session.patch
|
|
||||||
# PATCH-FIX-OPENSUSE gdm-revert-commit-39fb4ff.patch bsc#1116011 xwang@suse.com -- Revert commit 39fb4ff to make auto login successful
|
|
||||||
Patch12: gdm-revert-commit-39fb4ff.patch
|
|
||||||
|
|
||||||
### NOTE: Keep please SLE-only patches at bottom (starting on 1000).
|
### NOTE: Keep please SLE-only patches at bottom (starting on 1000).
|
||||||
# PATCH-FIX-SLE gdm-disable-gnome-initial-setup.patch bnc#1067976 qzhao@suse.com -- Disable gnome-initial-setup runs before gdm, g-i-s will only serve for CJK people to choose the input-method after login.
|
# PATCH-FIX-SLE gdm-disable-gnome-initial-setup.patch bnc#1067976 qzhao@suse.com -- Disable gnome-initial-setup runs before gdm, g-i-s will only serve for CJK people to choose the input-method after login.
|
||||||
Patch1000: gdm-disable-gnome-initial-setup.patch
|
Patch1002: gdm-disable-gnome-initial-setup.patch
|
||||||
|
|
||||||
BuildRequires: check-devel
|
BuildRequires: check-devel
|
||||||
# dconf and gnome-session-core are needed for directory ownership
|
# needed for directory ownership
|
||||||
BuildRequires: dconf
|
BuildRequires: dconf
|
||||||
|
# needed for directory ownership
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: gnome-common
|
BuildRequires: gnome-common
|
||||||
BuildRequires: gnome-session-core
|
BuildRequires: gnome-session-core
|
||||||
@ -197,23 +191,18 @@ running display manager.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
cp %{SOURCE8} .
|
cp %{SOURCE8} .
|
||||||
%patch0 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
|
||||||
%patch6 -p1
|
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
#patch8 -p1
|
%patch34 -p1
|
||||||
%patch9 -p1
|
%patch35 -p1
|
||||||
%patch11 -p1
|
%patch36 -p1
|
||||||
%patch12 -p1
|
%patch41 -p1
|
||||||
|
%patch42 -p1
|
||||||
# TODO: Hack still needed until https://gitlab.gnome.org/GNOME/gdm/issues/424 gets fixed and released.
|
%patch43 -p1
|
||||||
rm data/61-gdm.rules
|
|
||||||
|
|
||||||
# SLE-only patches start at 1000
|
# SLE-only patches start at 1000
|
||||||
%if !0%{?is_opensuse}
|
%if !0%{?is_opensuse}
|
||||||
%patch1000 -p1
|
%patch1002 -p1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -242,8 +231,7 @@ autoreconf -fiv
|
|||||||
--disable-split-authentication \
|
--disable-split-authentication \
|
||||||
%endif
|
%endif
|
||||||
--with-initial-vt=7 \
|
--with-initial-vt=7 \
|
||||||
--with-run-dir=/run/gdm \
|
--with-run-dir=/run/gdm
|
||||||
--with-udevdir=/usr/lib/udev
|
|
||||||
%make_build V=1
|
%make_build V=1
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -283,6 +271,7 @@ install -D -m 644 %{SOURCE7} %{buildroot}%{_libexecdir}/X11/displaymanagers/gdm
|
|||||||
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
|
||||||
touch %{buildroot}%{_sysconfdir}/alternatives/default-displaymanager
|
touch %{buildroot}%{_sysconfdir}/alternatives/default-displaymanager
|
||||||
ln -s %{_sysconfdir}/alternatives/default-displaymanager %{buildroot}%{_libexecdir}/X11/displaymanagers/default-displaymanager
|
ln -s %{_sysconfdir}/alternatives/default-displaymanager %{buildroot}%{_libexecdir}/X11/displaymanagers/default-displaymanager
|
||||||
|
|
||||||
# Install other files
|
# Install other files
|
||||||
mkdir -p %{buildroot}%{_localstatedir}/log/gdm
|
mkdir -p %{buildroot}%{_localstatedir}/log/gdm
|
||||||
mkdir -p %{buildroot}/run/gdm
|
mkdir -p %{buildroot}/run/gdm
|
||||||
@ -336,7 +325,7 @@ dconf update
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%license COPYING
|
%license COPYING
|
||||||
%doc AUTHORS NEWS README.md
|
%doc AUTHORS ChangeLog NEWS README
|
||||||
%doc %{_datadir}/help/C/%{name}/
|
%doc %{_datadir}/help/C/%{name}/
|
||||||
%dir %config %{_sysconfdir}/gdm
|
%dir %config %{_sysconfdir}/gdm
|
||||||
%config %{_sysconfdir}/gdm/[IPXl]*
|
%config %{_sysconfdir}/gdm/[IPXl]*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user