diff --git a/gdm-3.1.91.tar.bz2 b/gdm-3.1.91.tar.bz2 deleted file mode 100644 index 13feae4..0000000 --- a/gdm-3.1.91.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:623bc3cde0af193a989aea697ac44041eca554ff3fab24647be2393bbcc12eb3 -size 2373276 diff --git a/gdm-3.1.92.tar.bz2 b/gdm-3.1.92.tar.bz2 new file mode 100644 index 0000000..e9b12e1 --- /dev/null +++ b/gdm-3.1.92.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56c43b8875ecf75aa30e22f849233fa63fee22b759dcfea9098eddd547ad4f7c +size 2363614 diff --git a/gdm-fix-autologin.patch b/gdm-fix-autologin.patch deleted file mode 100644 index ca1a97d..0000000 --- a/gdm-fix-autologin.patch +++ /dev/null @@ -1,103 +0,0 @@ -From aad28c8bce222e9d5461c3b35dbf5f9eb4a86e82 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Tue, 13 Sep 2011 14:26:59 +0000 -Subject: daemon: fix autologin - -In commit 6849f6f3b8a199bed5427b8d6f1e2dedbe035d6c -the code was changed to stop the greeter asynchronously -and start the session following its completion. - -Autologin doesn't have a greeter though, so this broke -it. - -This commit fixes autologin. - -https://bugzilla.gnome.org/show_bug.cgi?id=658899 ---- -diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c -index 2f38bf6..ab69194 100644 ---- a/daemon/gdm-simple-slave.c -+++ b/daemon/gdm-simple-slave.c -@@ -108,6 +108,7 @@ G_DEFINE_TYPE (GdmSimpleSlave, gdm_simple_slave, GDM_TYPE_SLAVE) - static void create_new_session (GdmSimpleSlave *slave); - static void destroy_session (GdmSimpleSlave *slave); - static void start_greeter (GdmSimpleSlave *slave); -+static void start_session (GdmSimpleSlave *slave); - static void queue_start_session (GdmSimpleSlave *slave, - const char *service_name); - -@@ -449,6 +450,29 @@ stop_greeter (GdmSimpleSlave *slave) - gdm_welcome_session_stop (GDM_WELCOME_SESSION (slave->priv->greeter)); - } - -+static void -+start_session (GdmSimpleSlave *slave) -+{ -+ char *auth_file; -+ auth_file = NULL; -+ add_user_authorization (slave, &auth_file); -+ -+ g_assert (auth_file != NULL); -+ -+ g_object_set (slave->priv->session, -+ "user-x11-authority-file", auth_file, -+ NULL); -+ -+ g_free (auth_file); -+ -+ gdm_session_start_session (GDM_SESSION (slave->priv->session), -+ slave->priv->start_session_service_name); -+ -+ slave->priv->start_session_id = 0; -+ g_free (slave->priv->start_session_service_name); -+ slave->priv->start_session_service_name = NULL; -+} -+ - static gboolean - start_session_timeout (GdmSimpleSlave *slave) - { -@@ -472,8 +496,13 @@ start_session_timeout (GdmSimpleSlave *slave) - g_free (slave->priv->start_session_service_name); - slave->priv->start_session_service_name = NULL; - } else { -- /* Session actually gets started from on_greeter_session_stopped */ -- stop_greeter (slave); -+ if (slave->priv->greeter == NULL) { -+ /* auto login */ -+ start_session (slave); -+ } else { -+ /* Session actually gets started from on_greeter_session_stop */ -+ stop_greeter (slave); -+ } - } - - return FALSE; -@@ -972,25 +1001,7 @@ on_greeter_session_stop (GdmGreeterSession *greeter, - gdm_slave_stopped (GDM_SLAVE (slave)); - } else { - gdm_greeter_server_stop (slave->priv->greeter_server); -- -- char *auth_file; -- auth_file = NULL; -- add_user_authorization (slave, &auth_file); -- -- g_assert (auth_file != NULL); -- -- g_object_set (slave->priv->session, -- "user-x11-authority-file", auth_file, -- NULL); -- -- g_free (auth_file); -- -- gdm_session_start_session (GDM_SESSION (slave->priv->session), -- slave->priv->start_session_service_name); -- -- slave->priv->start_session_id = 0; -- g_free (slave->priv->start_session_service_name); -- slave->priv->start_session_service_name = NULL; -+ start_session (slave); - } - - g_object_unref (slave->priv->greeter); --- -cgit v0.9.0.2 diff --git a/gdm-plymouth.patch b/gdm-plymouth.patch index 1a34eb0..e8ef42e 100644 --- a/gdm-plymouth.patch +++ b/gdm-plymouth.patch @@ -1,4 +1,4 @@ -From 9768d9e2783de7e836421d9645070bb1917800dd Mon Sep 17 00:00:00 2001 +From b865a1ec2965d26dea2db9de085d4d09c3830434 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 27 Nov 2009 18:27:53 -0500 Subject: [PATCH 1/2] Save root window to pixmap at _XROOTPMAP_ID @@ -6,109 +6,19 @@ Subject: [PATCH 1/2] Save root window to pixmap at _XROOTPMAP_ID This combined with starting the X server with -nr will give us a nice fade transition when g-s-d starts --- - daemon/gdm-simple-slave.c | 9 +++++ + daemon/gdm-simple-slave.c | 8 +++++ daemon/gdm-slave.c | 72 +++++++++++++++++++++++++++++++++++++++++++++ daemon/gdm-slave.h | 1 + - 3 files changed, 82 insertions(+), 0 deletions(-) + 3 files changed, 81 insertions(+), 0 deletions(-) -Index: gdm-2.91.94/daemon/gdm-simple-slave.c -=================================================================== ---- gdm-2.91.94.orig/daemon/gdm-simple-slave.c -+++ gdm-2.91.94/daemon/gdm-simple-slave.c -@@ -88,6 +88,7 @@ struct GdmSimpleSlavePrivate - - guint start_session_when_ready : 1; - guint waiting_to_start_session : 1; -+ guint plymouth_is_running : 1; - #ifdef HAVE_LOGINDEVPERM - gboolean use_logindevperm; - #endif -@@ -95,6 +96,7 @@ struct GdmSimpleSlavePrivate - - enum { - PROP_0, -+ FORCE_ACTIVE_VT - }; - - static void gdm_simple_slave_class_init (GdmSimpleSlaveClass *klass); -@@ -1098,6 +1100,72 @@ on_start_session_later (GdmGreeterServer - slave->priv->start_session_when_ready = FALSE; - } - -+static gboolean -+plymouth_is_running (void) -+{ -+ int status; -+ gboolean res; -+ GError *error; -+ -+ error = NULL; -+ res = g_spawn_command_line_sync ("/bin/plymouth --ping", -+ NULL, NULL, &status, &error); -+ if (! res) { -+ g_debug ("Could not ping plymouth: %s", error->message); -+ g_error_free (error); -+ return FALSE; -+ } -+ -+ return WIFEXITED (status) && WEXITSTATUS (status) == 0; -+} -+ -+static void -+plymouth_prepare_for_transition (GdmSimpleSlave *slave) -+{ -+ gboolean res; -+ GError *error; -+ -+ error = NULL; -+ res = g_spawn_command_line_sync ("/bin/plymouth deactivate", -+ NULL, NULL, NULL, &error); -+ if (! res) { -+ g_warning ("Could not deactivate plymouth: %s", error->message); -+ g_error_free (error); -+ } -+} -+ -+static void -+plymouth_quit_with_transition (GdmSimpleSlave *slave) -+{ -+ gboolean res; -+ GError *error; -+ -+ error = NULL; -+ res = g_spawn_command_line_sync ("/bin/plymouth quit --retain-splash", -+ NULL, NULL, NULL, &error); -+ if (! res) { -+ g_warning ("Could not quit plymouth: %s", error->message); -+ g_error_free (error); -+ } -+ slave->priv->plymouth_is_running = FALSE; -+} -+ -+static void -+plymouth_quit_without_transition (GdmSimpleSlave *slave) -+{ -+ gboolean res; -+ GError *error; -+ -+ error = NULL; -+ res = g_spawn_command_line_sync ("/bin/plymouth quit", -+ NULL, NULL, NULL, &error); -+ if (! res) { -+ g_warning ("Could not quit plymouth: %s", error->message); -+ g_error_free (error); -+ } -+ slave->priv->plymouth_is_running = FALSE; -+} -+ - static void - setup_server (GdmSimpleSlave *slave) - { -@@ -1106,6 +1174,20 @@ setup_server (GdmSimpleSlave *slave) - - /* Set the busy cursor */ - gdm_slave_set_busy_cursor (GDM_SLAVE (slave)); -+ +diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c +index b9165fd..c091bdd 100644 +--- a/daemon/gdm-simple-slave.c ++++ b/daemon/gdm-simple-slave.c +@@ -1212,6 +1212,14 @@ setup_server (GdmSimpleSlave *slave) + + /* Set the initial keyboard layout to something reasonable */ + gdm_slave_set_initial_keyboard_layout (GDM_SLAVE (slave)); + + /* The root window has a background that may be useful + * to cross fade or transition from when setting the @@ -117,99 +27,13 @@ Index: gdm-2.91.94/daemon/gdm-simple-slave.c + * so gnome-settings-daemon can get at it. + */ + gdm_slave_save_root_windows (GDM_SLAVE (slave)); -+ -+ /* Plymouth is waiting for the go-ahead to exit */ -+ if (slave->priv->plymouth_is_running) { -+ plymouth_quit_with_transition (slave); -+ } } static void -@@ -1305,6 +1387,10 @@ on_server_exited (GdmServer *server - g_debug ("GdmSimpleSlave: server exited with code %d\n", exit_code); - - gdm_slave_stopped (GDM_SLAVE (slave)); -+ -+ if (slave->priv->plymouth_is_running) { -+ plymouth_quit_without_transition (slave); -+ } - } - - static void -@@ -1317,6 +1403,10 @@ on_server_died (GdmServer *server, - g_strsignal (signal_number)); - - gdm_slave_stopped (GDM_SLAVE (slave)); -+ -+ if (slave->priv->plymouth_is_running) { -+ plymouth_quit_without_transition (slave); -+ } - } - - static gboolean -@@ -1325,11 +1415,13 @@ gdm_simple_slave_run (GdmSimpleSlave *sl - char *display_name; - char *auth_file; - gboolean display_is_local; -+ gboolean force_active_vt; - - g_object_get (slave, - "display-is-local", &display_is_local, - "display-name", &display_name, - "display-x11-authority-file", &auth_file, -+ "force-active-vt", &force_active_vt, - NULL); - - /* if this is local display start a server if one doesn't -@@ -1361,7 +1453,17 @@ gdm_simple_slave_run (GdmSimpleSlave *sl - G_CALLBACK (on_server_ready), - slave); - -- res = gdm_server_start (slave->priv->server); -+ slave->priv->plymouth_is_running = plymouth_is_running (); -+ -+ if (slave->priv->plymouth_is_running) { -+ plymouth_prepare_for_transition (slave); -+ res = gdm_server_start_on_active_vt (slave->priv->server); -+ } else { -+ if (force_active_vt) -+ res = gdm_server_start_on_active_vt (slave->priv->server); -+ else -+ res = gdm_server_start (slave->priv->server); -+ } - if (! res) { - g_warning (_("Could not start the X " - "server (your graphical environment) " -@@ -1371,6 +1473,9 @@ gdm_simple_slave_run (GdmSimpleSlave *sl - "In the meantime this display will be " - "disabled. Please restart GDM when " - "the problem is corrected.")); -+ if (slave->priv->plymouth_is_running) { -+ plymouth_quit_without_transition (slave); -+ } - exit (1); - } - -@@ -1527,12 +1632,14 @@ gdm_simple_slave_finalize (GObject *obje - } - - GdmSlave * --gdm_simple_slave_new (const char *id) -+gdm_simple_slave_new (const char *id, -+ gboolean force_active_vt) - { - GObject *object; - - object = g_object_new (GDM_TYPE_SIMPLE_SLAVE, - "display-id", id, -+ "force-active-vt", force_active_vt, - NULL); - - return GDM_SLAVE (object); -Index: gdm-2.91.94/daemon/gdm-slave.c -=================================================================== ---- gdm-2.91.94.orig/daemon/gdm-slave.c -+++ gdm-2.91.94/daemon/gdm-slave.c +diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c +index 787ef89..09df6de 100644 +--- a/daemon/gdm-slave.c ++++ b/daemon/gdm-slave.c @@ -43,6 +43,7 @@ #include @@ -218,23 +42,7 @@ Index: gdm-2.91.94/daemon/gdm-slave.c #include /* for watch cursor */ #include #include -@@ -87,6 +88,7 @@ struct GdmSlavePrivate - char *display_hostname; - gboolean display_is_local; - gboolean display_is_parented; -+ gboolean force_active_vt; - char *display_seat_id; - char *display_x11_authority_file; - char *parent_display_name; -@@ -106,6 +108,7 @@ enum { - PROP_DISPLAY_NUMBER, - PROP_DISPLAY_HOSTNAME, - PROP_DISPLAY_IS_LOCAL, -+ PROP_FORCE_ACTIVE_VT, - PROP_DISPLAY_SEAT_ID, - PROP_DISPLAY_X11_AUTHORITY_FILE - }; -@@ -434,6 +437,77 @@ gdm_slave_set_initial_cursor_position (G +@@ -483,6 +484,77 @@ gdm_slave_set_initial_cursor_position (GdmSlave *slave) } } @@ -312,60 +120,11 @@ Index: gdm-2.91.94/daemon/gdm-slave.c void gdm_slave_set_busy_cursor (GdmSlave *slave) { -@@ -1531,6 +1605,13 @@ _gdm_slave_set_display_is_local (GdmSlav - } - - static void -+_gdm_slave_set_force_active_vt (GdmSlave *slave, -+ gboolean force_active_vt) -+{ -+ slave->priv->force_active_vt = force_active_vt; -+} -+ -+static void - gdm_slave_set_property (GObject *object, - guint prop_id, - const GValue *value, -@@ -1562,6 +1643,9 @@ gdm_slave_set_property (GObject *ob - case PROP_DISPLAY_IS_LOCAL: - _gdm_slave_set_display_is_local (self, g_value_get_boolean (value)); - break; -+ case PROP_FORCE_ACTIVE_VT: -+ _gdm_slave_set_force_active_vt (self, g_value_get_boolean (value)); -+ break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; -@@ -1600,6 +1684,9 @@ gdm_slave_get_property (GObject *obje - case PROP_DISPLAY_IS_LOCAL: - g_value_set_boolean (value, self->priv->display_is_local); - break; -+ case PROP_FORCE_ACTIVE_VT: -+ g_value_set_boolean (value, self->priv->force_active_vt); -+ break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; -@@ -1725,6 +1812,14 @@ gdm_slave_class_init (GdmSlaveClass *kla - TRUE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - -+ g_object_class_install_property (object_class, -+ PROP_FORCE_ACTIVE_VT, -+ g_param_spec_boolean ("force-active-vt", -+ "Force Active VT", -+ "Force display to active VT", -+ TRUE, -+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); -+ - signals [STOPPED] = - g_signal_new ("stopped", - G_TYPE_FROM_CLASS (object_class), -Index: gdm-2.91.94/daemon/gdm-slave.h -=================================================================== ---- gdm-2.91.94.orig/daemon/gdm-slave.h -+++ gdm-2.91.94/daemon/gdm-slave.h -@@ -77,6 +77,7 @@ gboolean gdm_slave_connect_to +diff --git a/daemon/gdm-slave.h b/daemon/gdm-slave.h +index 7af20ed..aaaa8f2 100644 +--- a/daemon/gdm-slave.h ++++ b/daemon/gdm-slave.h +@@ -78,6 +78,7 @@ void gdm_slave_set_initial_keyboard_layout (GdmSlave *slave); void gdm_slave_set_initial_cursor_position (GdmSlave *slave); void gdm_slave_set_busy_cursor (GdmSlave *slave); @@ -373,10 +132,159 @@ Index: gdm-2.91.94/daemon/gdm-slave.h gboolean gdm_slave_run_script (GdmSlave *slave, const char *dir, const char *username); -Index: gdm-2.91.94/daemon/gdm-server.c -=================================================================== ---- gdm-2.91.94.orig/daemon/gdm-server.c -+++ gdm-2.91.94/daemon/gdm-server.c +-- +1.7.6.2 + + +From 70dae28439a2ce54441fa24b7dca4a2933f9a348 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Fri, 27 Nov 2009 18:52:54 -0500 +Subject: [PATCH 2/2] Enable smooth transition between plymouth and X + +This commit checks if plymouth is running, and if so, +turns on the smooth transition between plymouth and X. +--- + configure.ac | 17 +++++++ + daemon/Makefile.am | 1 + + daemon/gdm-display.c | 30 +++++++++++- + daemon/gdm-server.c | 56 +++++++++++++++++++++++ + daemon/gdm-server.h | 1 + + daemon/gdm-simple-slave.c | 102 ++++++++++++++++++++++++++++++++++++++++++- + daemon/gdm-simple-slave.h | 3 +- + daemon/gdm-slave.c | 23 ++++++++++ + daemon/gdm-static-display.c | 17 +++++++ + daemon/simple-slave-main.c | 4 +- + data/Makefile.am | 8 +++ + 11 files changed, 255 insertions(+), 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 10f6d60..bae6186 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1311,6 +1311,23 @@ GDM_SIMPLE_GREETER_EXTENSIONS_DATA_DIR=${datadir}/gdm/simple-greeter/extensions + AC_SUBST(GDM_SIMPLE_GREETER_EXTENSIONS_DATA_DIR) + + dnl --------------------------------------------------------------------------- ++dnl - Directory to spool events from other processes ++dnl --------------------------------------------------------------------------- ++ ++AC_ARG_WITH(spool-dir, ++ AS_HELP_STRING([--with-spool-dir=], ++ [spool directory])) ++ ++if ! test -z "$with_spool_dir"; then ++ GDM_SPOOL_DIR=$with_spool_dir ++else ++ GDM_SPOOL_DIR=${localstatedir}/spool/gdm ++fi ++ ++AC_SUBST(GDM_SPOOL_DIR) ++ ++ ++dnl --------------------------------------------------------------------------- + dnl - Finish + dnl --------------------------------------------------------------------------- + +diff --git a/daemon/Makefile.am b/daemon/Makefile.am +index 65e82b8..9ec0f4a 100644 +--- a/daemon/Makefile.am ++++ b/daemon/Makefile.am +@@ -15,6 +15,7 @@ AM_CPPFLAGS = \ + -DLOGDIR=\"$(logdir)\" \ + -DSBINDIR=\"$(sbindir)\" \ + -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ ++ -DGDM_SPOOL_DIR=\"$(GDM_SPOOL_DIR)\" \ + -DGDM_XAUTH_DIR=\"$(GDM_XAUTH_DIR)\" \ + -DGDM_SCREENSHOT_DIR=\"$(GDM_SCREENSHOT_DIR)\" \ + -DGDM_CACHE_DIR=\""$(localstatedir)/cache/gdm"\" \ +diff --git a/daemon/gdm-display.c b/daemon/gdm-display.c +index 6ee675a..83ae445 100644 +--- a/daemon/gdm-display.c ++++ b/daemon/gdm-display.c +@@ -65,7 +65,9 @@ struct GdmDisplayPrivate + gsize x11_cookie_size; + GdmDisplayAccessFile *access_file; + +- gboolean is_local; ++ guint is_local : 1; ++ guint force_active_vt : 1; ++ + guint finish_idle_id; + + GdmSlaveProxy *slave_proxy; +@@ -84,6 +86,7 @@ enum { + PROP_X11_COOKIE, + PROP_X11_AUTHORITY_FILE, + PROP_IS_LOCAL, ++ PROP_FORCE_ACTIVE_VT, + PROP_SLAVE_COMMAND, + }; + +@@ -574,9 +577,10 @@ gdm_display_real_prepare (GdmDisplay *display) + gdm_slave_proxy_set_log_path (display->priv->slave_proxy, log_path); + g_free (log_path); + +- command = g_strdup_printf ("%s --display-id %s", ++ command = g_strdup_printf ("%s --display-id %s %s", + display->priv->slave_command, +- display->priv->id); ++ display->priv->id, ++ display->priv->force_active_vt? "--force-active-vt" : ""); + gdm_slave_proxy_set_command (display->priv->slave_proxy, command); + g_free (command); + +@@ -824,6 +828,13 @@ _gdm_display_set_is_local (GdmDisplay *display, + } + + static void ++_gdm_display_set_force_active_vt (GdmDisplay *display, ++ gboolean force_active_vt) ++{ ++ display->priv->force_active_vt = force_active_vt; ++} ++ ++static void + _gdm_display_set_slave_command (GdmDisplay *display, + const char *command) + { +@@ -866,6 +877,9 @@ gdm_display_set_property (GObject *object, + case PROP_IS_LOCAL: + _gdm_display_set_is_local (self, g_value_get_boolean (value)); + break; ++ case PROP_FORCE_ACTIVE_VT: ++ _gdm_display_set_force_active_vt (self, g_value_get_boolean (value)); ++ break; + case PROP_SLAVE_COMMAND: + _gdm_display_set_slave_command (self, g_value_get_string (value)); + break; +@@ -914,6 +928,9 @@ gdm_display_get_property (GObject *object, + case PROP_IS_LOCAL: + g_value_set_boolean (value, self->priv->is_local); + break; ++ case PROP_FORCE_ACTIVE_VT: ++ g_value_set_boolean (value, self->priv->force_active_vt); ++ break; + case PROP_SLAVE_COMMAND: + g_value_set_string (value, self->priv->slave_command); + break; +@@ -1084,6 +1101,13 @@ gdm_display_class_init (GdmDisplayClass *klass) + NULL, + TRUE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); ++ g_object_class_install_property (object_class, ++ PROP_FORCE_ACTIVE_VT, ++ g_param_spec_boolean ("force-active-vt", ++ NULL, ++ NULL, ++ FALSE, ++ G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + + g_object_class_install_property (object_class, + PROP_SLAVE_COMMAND, +diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c +index 62ffca1..8d270bb 100644 +--- a/daemon/gdm-server.c ++++ b/daemon/gdm-server.c @@ -32,8 +32,11 @@ #include #include @@ -434,11 +342,10 @@ Index: gdm-2.91.94/daemon/gdm-server.c /** * gdm_server_start: * @disp: Pointer to a GdmDisplay structure -@@ -690,6 +731,21 @@ gdm_server_start (GdmServer *server) - +@@ -691,6 +732,21 @@ gdm_server_start (GdmServer *server) return res; } -+ + +gboolean +gdm_server_start_on_active_vt (GdmServer *server) +{ @@ -453,14 +360,15 @@ Index: gdm-2.91.94/daemon/gdm-server.c + + return res; +} - ++ static void server_died (GdmServer *server) -Index: gdm-2.91.94/daemon/gdm-server.h -=================================================================== ---- gdm-2.91.94.orig/daemon/gdm-server.h -+++ gdm-2.91.94/daemon/gdm-server.h -@@ -56,6 +56,7 @@ GType gdm_server_get_type + { +diff --git a/daemon/gdm-server.h b/daemon/gdm-server.h +index 535a69a..bd6c60a 100644 +--- a/daemon/gdm-server.h ++++ b/daemon/gdm-server.h +@@ -56,6 +56,7 @@ GType gdm_server_get_type (void); GdmServer * gdm_server_new (const char *display_id, const char *auth_file); gboolean gdm_server_start (GdmServer *server); @@ -468,122 +376,196 @@ Index: gdm-2.91.94/daemon/gdm-server.h gboolean gdm_server_stop (GdmServer *server); char * gdm_server_get_display_device (GdmServer *server); -Index: gdm-2.91.94/configure.ac -=================================================================== ---- gdm-2.91.94.orig/configure.ac -+++ gdm-2.91.94/configure.ac -@@ -1271,6 +1271,23 @@ AC_SUBST(GDM_SCREENSHOT_DIR) - AC_SUBST(GDM_SIMPLE_GREETER_EXTENSIONS_DATA_DIR) +diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c +index c091bdd..f8dd56f 100644 +--- a/daemon/gdm-simple-slave.c ++++ b/daemon/gdm-simple-slave.c +@@ -90,6 +90,7 @@ struct GdmSimpleSlavePrivate - dnl --------------------------------------------------------------------------- -+dnl - Directory to spool events from other processes -+dnl --------------------------------------------------------------------------- -+ -+AC_ARG_WITH(spool-dir, -+ AS_HELP_STRING([--with-spool-dir=], -+ [spool directory])) -+ -+if ! test -z "$with_spool_dir"; then -+ GDM_SPOOL_DIR=$with_spool_dir -+else -+ GDM_SPOOL_DIR=${localstatedir}/spool/gdm -+fi -+ -+AC_SUBST(GDM_SPOOL_DIR) -+ -+ -+dnl --------------------------------------------------------------------------- - dnl - Finish - dnl --------------------------------------------------------------------------- + guint start_session_when_ready : 1; + guint waiting_to_start_session : 1; ++ guint plymouth_is_running : 1; + #ifdef HAVE_LOGINDEVPERM + gboolean use_logindevperm; + #endif +@@ -97,6 +98,7 @@ struct GdmSimpleSlavePrivate -Index: gdm-2.91.94/daemon/gdm-display.c -=================================================================== ---- gdm-2.91.94.orig/daemon/gdm-display.c -+++ gdm-2.91.94/daemon/gdm-display.c -@@ -65,7 +65,9 @@ struct GdmDisplayPrivate - gsize x11_cookie_size; - GdmDisplayAccessFile *access_file; - -- gboolean is_local; -+ guint is_local : 1; -+ guint force_active_vt : 1; -+ - guint finish_idle_id; - - GdmSlaveProxy *slave_proxy; -@@ -84,6 +86,7 @@ enum { - PROP_X11_COOKIE, - PROP_X11_AUTHORITY_FILE, - PROP_IS_LOCAL, -+ PROP_FORCE_ACTIVE_VT, - PROP_SLAVE_COMMAND, + enum { + PROP_0, ++ FORCE_ACTIVE_VT }; - -@@ -574,9 +577,10 @@ gdm_display_real_prepare (GdmDisplay *di - gdm_slave_proxy_set_log_path (display->priv->slave_proxy, log_path); - g_free (log_path); - -- command = g_strdup_printf ("%s --display-id %s", -+ command = g_strdup_printf ("%s --display-id %s %s", - display->priv->slave_command, -- display->priv->id); -+ display->priv->id, -+ display->priv->force_active_vt? "--force-active-vt" : ""); - gdm_slave_proxy_set_command (display->priv->slave_proxy, command); - g_free (command); - -@@ -824,6 +828,13 @@ _gdm_display_set_is_local (GdmDisplay + + static void gdm_simple_slave_class_init (GdmSimpleSlaveClass *klass); +@@ -1201,6 +1203,72 @@ on_start_session_later (GdmGreeterServer *session, + slave->priv->start_session_when_ready = FALSE; } - static void -+_gdm_display_set_force_active_vt (GdmDisplay *display, -+ gboolean force_active_vt) ++static gboolean ++plymouth_is_running (void) +{ -+ display->priv->force_active_vt = force_active_vt; ++ int status; ++ gboolean res; ++ GError *error; ++ ++ error = NULL; ++ res = g_spawn_command_line_sync ("/bin/plymouth --ping", ++ NULL, NULL, &status, &error); ++ if (! res) { ++ g_debug ("Could not ping plymouth: %s", error->message); ++ g_error_free (error); ++ return FALSE; ++ } ++ ++ return WIFEXITED (status) && WEXITSTATUS (status) == 0; +} + +static void - _gdm_display_set_slave_command (GdmDisplay *display, - const char *command) ++plymouth_prepare_for_transition (GdmSimpleSlave *slave) ++{ ++ gboolean res; ++ GError *error; ++ ++ error = NULL; ++ res = g_spawn_command_line_sync ("/bin/plymouth deactivate", ++ NULL, NULL, NULL, &error); ++ if (! res) { ++ g_warning ("Could not deactivate plymouth: %s", error->message); ++ g_error_free (error); ++ } ++} ++ ++static void ++plymouth_quit_with_transition (GdmSimpleSlave *slave) ++{ ++ gboolean res; ++ GError *error; ++ ++ error = NULL; ++ res = g_spawn_command_line_sync ("/bin/plymouth quit --retain-splash", ++ NULL, NULL, NULL, &error); ++ if (! res) { ++ g_warning ("Could not quit plymouth: %s", error->message); ++ g_error_free (error); ++ } ++ slave->priv->plymouth_is_running = FALSE; ++} ++ ++static void ++plymouth_quit_without_transition (GdmSimpleSlave *slave) ++{ ++ gboolean res; ++ GError *error; ++ ++ error = NULL; ++ res = g_spawn_command_line_sync ("/bin/plymouth quit", ++ NULL, NULL, NULL, &error); ++ if (! res) { ++ g_warning ("Could not quit plymouth: %s", error->message); ++ g_error_free (error); ++ } ++ slave->priv->plymouth_is_running = FALSE; ++} ++ + static void + setup_server (GdmSimpleSlave *slave) { -@@ -866,6 +877,9 @@ gdm_display_set_property (GObject - case PROP_IS_LOCAL: - _gdm_display_set_is_local (self, g_value_get_boolean (value)); - break; -+ case PROP_FORCE_ACTIVE_VT: -+ _gdm_display_set_force_active_vt (self, g_value_get_boolean (value)); -+ break; - case PROP_SLAVE_COMMAND: - _gdm_display_set_slave_command (self, g_value_get_string (value)); - break; -@@ -914,6 +928,9 @@ gdm_display_get_property (GObject - case PROP_IS_LOCAL: - g_value_set_boolean (value, self->priv->is_local); - break; -+ case PROP_FORCE_ACTIVE_VT: -+ g_value_set_boolean (value, self->priv->force_active_vt); -+ break; - case PROP_SLAVE_COMMAND: - g_value_set_string (value, self->priv->slave_command); - break; -@@ -1084,6 +1101,13 @@ gdm_display_class_init (GdmDisplayClass - NULL, - TRUE, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); -+ g_object_class_install_property (object_class, -+ PROP_FORCE_ACTIVE_VT, -+ g_param_spec_boolean ("force-active-vt", -+ NULL, -+ NULL, -+ FALSE, -+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); +@@ -1220,6 +1288,11 @@ setup_server (GdmSimpleSlave *slave) + * so gnome-settings-daemon can get at it. + */ + gdm_slave_save_root_windows (GDM_SLAVE (slave)); ++ ++ /* Plymouth is waiting for the go-ahead to exit */ ++ if (slave->priv->plymouth_is_running) { ++ plymouth_quit_with_transition (slave); ++ } + } - g_object_class_install_property (object_class, - PROP_SLAVE_COMMAND, -Index: gdm-2.91.94/daemon/gdm-simple-slave.h -=================================================================== ---- gdm-2.91.94.orig/daemon/gdm-simple-slave.h -+++ gdm-2.91.94/daemon/gdm-simple-slave.h + static void +@@ -1423,6 +1496,10 @@ on_server_exited (GdmServer *server, + g_debug ("GdmSimpleSlave: server exited with code %d\n", exit_code); + + gdm_slave_stopped (GDM_SLAVE (slave)); ++ ++ if (slave->priv->plymouth_is_running) { ++ plymouth_quit_without_transition (slave); ++ } + } + + static void +@@ -1435,6 +1512,10 @@ on_server_died (GdmServer *server, + g_strsignal (signal_number)); + + gdm_slave_stopped (GDM_SLAVE (slave)); ++ ++ if (slave->priv->plymouth_is_running) { ++ plymouth_quit_without_transition (slave); ++ } + } + + static gboolean +@@ -1443,11 +1524,13 @@ gdm_simple_slave_run (GdmSimpleSlave *slave) + char *display_name; + char *auth_file; + gboolean display_is_local; ++ gboolean force_active_vt; + + g_object_get (slave, + "display-is-local", &display_is_local, + "display-name", &display_name, + "display-x11-authority-file", &auth_file, ++ "force-active-vt", &force_active_vt, + NULL); + + /* if this is local display start a server if one doesn't +@@ -1479,7 +1562,17 @@ gdm_simple_slave_run (GdmSimpleSlave *slave) + G_CALLBACK (on_server_ready), + slave); + +- res = gdm_server_start (slave->priv->server); ++ slave->priv->plymouth_is_running = plymouth_is_running (); ++ ++ if (slave->priv->plymouth_is_running) { ++ plymouth_prepare_for_transition (slave); ++ res = gdm_server_start_on_active_vt (slave->priv->server); ++ } else { ++ if (force_active_vt) ++ res = gdm_server_start_on_active_vt (slave->priv->server); ++ else ++ res = gdm_server_start (slave->priv->server); ++ } + if (! res) { + g_warning (_("Could not start the X " + "server (your graphical environment) " +@@ -1489,6 +1582,9 @@ gdm_simple_slave_run (GdmSimpleSlave *slave) + "In the meantime this display will be " + "disabled. Please restart GDM when " + "the problem is corrected.")); ++ if (slave->priv->plymouth_is_running) { ++ plymouth_quit_without_transition (slave); ++ } + exit (1); + } + +@@ -1645,12 +1741,14 @@ gdm_simple_slave_finalize (GObject *object) + } + + GdmSlave * +-gdm_simple_slave_new (const char *id) ++gdm_simple_slave_new (const char *id, ++ gboolean force_active_vt) + { + GObject *object; + + object = g_object_new (GDM_TYPE_SIMPLE_SLAVE, + "display-id", id, ++ "force-active-vt", force_active_vt, + NULL); + + return GDM_SLAVE (object); +diff --git a/daemon/gdm-simple-slave.h b/daemon/gdm-simple-slave.h +index 1f1aa1d..e9aa624 100644 +--- a/daemon/gdm-simple-slave.h ++++ b/daemon/gdm-simple-slave.h @@ -48,7 +48,8 @@ typedef struct } GdmSimpleSlaveClass; @@ -594,11 +576,80 @@ Index: gdm-2.91.94/daemon/gdm-simple-slave.h G_END_DECLS -Index: gdm-2.91.94/daemon/gdm-static-display.c -=================================================================== ---- gdm-2.91.94.orig/daemon/gdm-static-display.c -+++ gdm-2.91.94/daemon/gdm-static-display.c -@@ -86,10 +86,27 @@ gdm_static_display_remove_user_authoriza +diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c +index 09df6de..ce467b2 100644 +--- a/daemon/gdm-slave.c ++++ b/daemon/gdm-slave.c +@@ -92,6 +92,7 @@ struct GdmSlavePrivate + char *display_hostname; + gboolean display_is_local; + gboolean display_is_parented; ++ gboolean force_active_vt; + char *display_seat_id; + char *display_x11_authority_file; + char *parent_display_name; +@@ -111,6 +112,7 @@ enum { + PROP_DISPLAY_NUMBER, + PROP_DISPLAY_HOSTNAME, + PROP_DISPLAY_IS_LOCAL, ++ PROP_FORCE_ACTIVE_VT, + PROP_DISPLAY_SEAT_ID, + PROP_DISPLAY_X11_AUTHORITY_FILE + }; +@@ -1651,6 +1653,13 @@ _gdm_slave_set_display_is_local (GdmSlave *slave, + } + + static void ++_gdm_slave_set_force_active_vt (GdmSlave *slave, ++ gboolean force_active_vt) ++{ ++ slave->priv->force_active_vt = force_active_vt; ++} ++ ++static void + gdm_slave_set_property (GObject *object, + guint prop_id, + const GValue *value, +@@ -1682,6 +1691,9 @@ gdm_slave_set_property (GObject *object, + case PROP_DISPLAY_IS_LOCAL: + _gdm_slave_set_display_is_local (self, g_value_get_boolean (value)); + break; ++ case PROP_FORCE_ACTIVE_VT: ++ _gdm_slave_set_force_active_vt (self, g_value_get_boolean (value)); ++ break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; +@@ -1720,6 +1732,9 @@ gdm_slave_get_property (GObject *object, + case PROP_DISPLAY_IS_LOCAL: + g_value_set_boolean (value, self->priv->display_is_local); + break; ++ case PROP_FORCE_ACTIVE_VT: ++ g_value_set_boolean (value, self->priv->force_active_vt); ++ break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; +@@ -1845,6 +1860,14 @@ gdm_slave_class_init (GdmSlaveClass *klass) + TRUE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + ++ g_object_class_install_property (object_class, ++ PROP_FORCE_ACTIVE_VT, ++ g_param_spec_boolean ("force-active-vt", ++ "Force Active VT", ++ "Force display to active VT", ++ TRUE, ++ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); ++ + signals [STOPPED] = + g_signal_new ("stopped", + G_TYPE_FROM_CLASS (object_class), +diff --git a/daemon/gdm-static-display.c b/daemon/gdm-static-display.c +index 16953f9..397f07e 100644 +--- a/daemon/gdm-static-display.c ++++ b/daemon/gdm-static-display.c +@@ -81,10 +81,27 @@ gdm_static_display_remove_user_authorization (GdmDisplay *display, } static gboolean @@ -626,22 +677,10 @@ Index: gdm-2.91.94/daemon/gdm-static-display.c GDM_DISPLAY_CLASS (gdm_static_display_parent_class)->manage (display); return TRUE; -Index: gdm-2.91.94/daemon/Makefile.am -=================================================================== ---- gdm-2.91.94.orig/daemon/Makefile.am -+++ gdm-2.91.94/daemon/Makefile.am -@@ -15,6 +15,7 @@ AM_CPPFLAGS = \ - -DLOGDIR=\"$(logdir)\" \ - -DSBINDIR=\"$(sbindir)\" \ - -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ -+ -DGDM_SPOOL_DIR=\"$(GDM_SPOOL_DIR)\" \ - -DGDM_XAUTH_DIR=\"$(GDM_XAUTH_DIR)\" \ - -DGDM_SCREENSHOT_DIR=\"$(GDM_SCREENSHOT_DIR)\" \ - -DGDM_CACHE_DIR=\""$(localstatedir)/cache/gdm"\" \ -Index: gdm-2.91.94/daemon/simple-slave-main.c -=================================================================== ---- gdm-2.91.94.orig/daemon/simple-slave-main.c -+++ gdm-2.91.94/daemon/simple-slave-main.c +diff --git a/daemon/simple-slave-main.c b/daemon/simple-slave-main.c +index 057492b..afa60a4 100644 +--- a/daemon/simple-slave-main.c ++++ b/daemon/simple-slave-main.c @@ -177,9 +177,11 @@ main (int argc, DBusGConnection *connection; GdmSlave *slave; @@ -654,7 +693,7 @@ Index: gdm-2.91.94/daemon/simple-slave-main.c { NULL } }; -@@ -248,7 +250,7 @@ main (int argc, +@@ -246,7 +248,7 @@ main (int argc, gdm_signal_handler_add (signal_handler, SIGUSR1, signal_cb, NULL); gdm_signal_handler_add (signal_handler, SIGUSR2, signal_cb, NULL); @@ -663,10 +702,10 @@ Index: gdm-2.91.94/daemon/simple-slave-main.c if (slave == NULL) { goto out; } -Index: gdm-2.91.94/data/Makefile.am -=================================================================== ---- gdm-2.91.94.orig/data/Makefile.am -+++ gdm-2.91.94/data/Makefile.am +diff --git a/data/Makefile.am b/data/Makefile.am +index 3175436..5c11b03 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am @@ -12,6 +12,7 @@ predir = $(gdmconfdir)/PreSession postlogindir = $(gdmconfdir)/PostLogin workingdir = $(GDM_WORKING_DIR) @@ -675,15 +714,16 @@ Index: gdm-2.91.94/data/Makefile.am screenshotdir = $(GDM_SCREENSHOT_DIR) cachedir = $(localstatedir)/cache/gdm -@@ -144,6 +145,7 @@ uninstall-hook: - $(DESTDIR)$(workingdir)/.config/dconf \ +@@ -159,6 +160,7 @@ uninstall-hook: + $(DESTDIR)$(workingdir)/.config/dconf \ $(DESTDIR)$(screenshotdir) \ - $(DESTDIR)$(xauthdir) +- $(DESTDIR)$(xauthdir) ++ $(DESTDIR)$(xauthdir) \ + $(DESTDIR)$(spooldir) - -rmdir \ - $(DESTDIR)$(sysconfdir)/dconf/db \ -@@ -265,6 +267,12 @@ install-data-hook: gdm.conf-custom Xsess + -rmdir \ + $(DESTDIR)$(sysconfdir)/dconf/db/gdm.d/locks \ +@@ -303,6 +305,12 @@ install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession gconf.pa chown root:gdm $(DESTDIR)$(cachedir) || : ; \ fi @@ -696,3 +736,6 @@ Index: gdm-2.91.94/data/Makefile.am $(INSTALL_DATA) $(srcdir)/gconf.path $(DESTDIR)$(workingdir)/.gconf.path gconftool-2 --direct --config-source=xml:merged:$(DESTDIR)$(workingdir)/.gconf.mandatory --recursive-unset / gconftool-2 --direct --config-source=xml:merged:$(DESTDIR)$(workingdir)/.gconf.mandatory --load $(srcdir)/session-setup.entries +-- +1.7.6.2 + diff --git a/gdm.changes b/gdm.changes index 74462fd..d7e3cdf 100644 --- a/gdm.changes +++ b/gdm.changes @@ -1,13 +1,26 @@ ------------------------------------------------------------------- -Wed Sep 21 08:35:48 UTC 2011 - eich@suse.com +Wed Sep 21 11:38:19 UTC 2011 - vuntz@opensuse.org -- Don't use %{_libexecdir} for init script path, it's not uniformly - defined on all supported products. +- Update to version 3.1.92: + + Leak fixes + + Fix autologin + + Activate keyboard layout explicitly at startup + + Move extensions settings to common code + + Add setting for login screen logo to common code + + Create empty gdm.d dconf subdir tree at install time + + Updated translations. +- Drop gdm-fix-autologin.patch: fixed upstream. +- Update gdm-plymouth.patch: take the latest version from the + Fedora package. +- Move calls to %glib2_gsettings_schema_post(un) from %post/%postun + of the simple-greeter-extensions subpackage to the scriptlets of + the main subpackage, following the move of the file. ------------------------------------------------------------------- Tue Sep 20 15:54:37 UTC 2011 - eich@suse.com -- Change %{_libdir} to ${_libexecdir}. +- Install /etc/init.d/xdm integration helper in %{_libexecdir}, not + %{_libdir}. ------------------------------------------------------------------- Fri Sep 16 13:29:15 UTC 2011 - vuntz@opensuse.org diff --git a/gdm.spec b/gdm.spec index 2f962a1..98341ef 100644 --- a/gdm.spec +++ b/gdm.spec @@ -18,12 +18,11 @@ # 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 _dminitdir %{_prefix}/lib/X11/displaymanagers Name: gdm License: GPLv2+ Group: System/GUI/GNOME -Version: 3.1.91 +Version: 3.1.92 Release: 1 Summary: The GNOME Display Manager Url: http://projects.gnome.org/gdm/ @@ -68,8 +67,6 @@ Patch34: gdm-default-wm.patch Patch35: gdm-xauthlocalhostname.patch # PATCH-FIX-UPSTREAM gdm-look-at-runlevel.patch bnc540482 bgo599180 vuntz@opensuse.org -- Look at the current runlevel before managing the display again, so we don't do this when shutting down or rebooting Patch40: gdm-look-at-runlevel.patch -# PATCH-FIX-UPSTREAM gdm-fix-autologin.patch vuntz@opensuse.org -- Fix autologin, taken from git -Patch41: gdm-fix-autologin.patch # PATCH-FIX-OPENSUSE gdm-selinux.patch -- Small changes to make it compile fine with SELinux Patch60: gdm-selinux.patch BuildRequires: check-devel @@ -237,7 +234,6 @@ translation-update-upstream %patch34 -p1 %patch35 -p0 %patch40 -p1 -%patch41 -p1 %patch60 #gnome-patch-translation-update @@ -297,7 +293,7 @@ mv $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default.sample $RPM_BUILD_ROOT%{_ mv $RPM_BUILD_ROOT%{_bindir}/gdmflexiserver $RPM_BUILD_ROOT%{_libexecdir}/gdm/gdmflexiserver install -m 755 %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/gdmflexiserver # Install /etc/xinit.d/xdm integration script -install -D -m 644 %{SOURCE5} %{buildroot}%{_dminitdir}/gdm +install -D -m 644 %{SOURCE5} %{buildroot}%{_libexecdir}/X11/displaymanagers/gdm # Install other files mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/gdm mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/gdm @@ -305,7 +301,6 @@ mkdir -p $RPM_BUILD_ROOT%{_bindir} ln -s ../sbin/gdm $RPM_BUILD_ROOT%{_bindir}/gdm %find_lang %{name} %{?no_lang_C} - %clean rm -rf $RPM_BUILD_ROOT @@ -338,6 +333,7 @@ if test -f /sbin/conf.d/SuSEconfig.gdm; then fi %post +%glib2_gsettings_schema_post %icon_theme_cache_post %preun -f %{name}.schemas_preun @@ -346,6 +342,7 @@ fi %postun %insserv_cleanup +%glib2_gsettings_schema_postun %icon_theme_cache_postun %post -n libgdmgreeter1 -p /sbin/ldconfig @@ -356,15 +353,6 @@ fi %postun -n libgdmsimplegreeter1 -p /sbin/ldconfig -%if %{enable_split_authentication} - -%post simple-greeter-extensions -%glib2_gsettings_schema_post - -%postun simple-greeter-extensions -%glib2_gsettings_schema_postun -%endif - %files -f %{name}.schemas_list %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog NEWS README @@ -381,6 +369,7 @@ fi %{_bindir}/gdm %{_bindir}/gdm-screenshot %{_datadir}/gdm/ +%{_datadir}/glib-2.0/schemas/org.gnome.login-screen.gschema.xml %{_datadir}/gnome-session/sessions/gdm-fallback.session %{_datadir}/gnome-session/sessions/gdm-shell.session %{_datadir}/icons/*/*/*/*.* @@ -404,11 +393,13 @@ fi %config /etc/pam.d/gdm-smartcart %endif %config %{_sysconfdir}/dbus-1/system.d/gdm.conf +%dir %config %{_sysconfdir}/dconf/db/gdm.d +%dir %config %{_sysconfdir}/dconf/db/gdm.d/locks %{_sysconfdir}/dconf/db/gdm %{_sysconfdir}/dconf/profile/gdm # /etc/xinit.d/xdm integration -%dir %{_dminitdir} -%{_dminitdir}/gdm +%dir %{_libexecdir}/X11/displaymanagers +%{_libexecdir}/X11/displaymanagers/gdm # Exclude simple-greeter extensions %exclude %{_datadir}/gdm/simple-greeter/extensions @@ -441,11 +432,9 @@ fi # fingerprint %{_datadir}/gdm/simple-greeter/extensions/fingerprint/ %{_libdir}/gdm/simple-greeter/extensions/libfingerprint.so -%{_datadir}/glib-2.0/schemas/org.gnome.display-manager.extensions.fingerprint.gschema.xml # smartcard %{_datadir}/gdm/simple-greeter/extensions/smartcard/ %{_libdir}/gdm/simple-greeter/extensions/libsmartcard.so -%{_datadir}/glib-2.0/schemas/org.gnome.display-manager.extensions.smartcard.gschema.xml %endif %files devel