rpms/gdm/devel gdm-2.29.1-force-active-vt.patch, NONE, 1.1 gdm-multistack.patch, 1.2, 1.3 gdm.spec, 1.493, 1.494 0001-Don-t-show-lock-screen-option-if-locked-down.patch, 1.1, NONE fix-clock.patch, 1.1, NONE fix-computer-info.patch, 1.1, NONE fix-na-tray.patch, 1.1, NONE fix-run-dir-permissions.patch, 1.1, NONE fix-timer.patch, 1.1, NONE gdm-2.26.0-force-active-vt.patch, 1.1, NONE gdm-2.28.1-move-shutdown-functions.patch, 1.1, NONE make-user-list-animation-smoother.patch, 1.1, NONE
Ray Strode
rstrode at fedoraproject.org
Thu Dec 3 05:05:23 UTC 2009
Author: rstrode
Update of /cvs/pkgs/rpms/gdm/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv32346
Modified Files:
gdm-multistack.patch gdm.spec
Added Files:
gdm-2.29.1-force-active-vt.patch
Removed Files:
0001-Don-t-show-lock-screen-option-if-locked-down.patch
fix-clock.patch fix-computer-info.patch fix-na-tray.patch
fix-run-dir-permissions.patch fix-timer.patch
gdm-2.26.0-force-active-vt.patch
gdm-2.28.1-move-shutdown-functions.patch
make-user-list-animation-smoother.patch
Log Message:
- Drop upstreamed patches
- rebase multi-stack patch
gdm-2.29.1-force-active-vt.patch:
configure.ac | 17 +++++++++++++
daemon/Makefile.am | 1
daemon/gdm-display.c | 30 +++++++++++++++++++++---
daemon/gdm-server.c | 55 ++++++++++++++++++++++++++++++++++++++++++++
daemon/gdm-server.h | 1
daemon/gdm-simple-slave.c | 12 ++++++++-
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, 164 insertions(+), 7 deletions(-)
--- NEW FILE gdm-2.29.1-force-active-vt.patch ---
diff -up gdm-2.29.1/configure.ac.force-active-vt gdm-2.29.1/configure.ac
--- gdm-2.29.1/configure.ac.force-active-vt 2009-11-30 17:23:11.000000000 -0500
+++ gdm-2.29.1/configure.ac 2009-12-02 23:31:13.064009409 -0500
@@ -1254,6 +1254,23 @@ AC_SUBST(GDM_SCREENSHOT_DIR)
dnl ---------------------------------------------------------------------------
+dnl - Directory to spool events from other processes
+dnl ---------------------------------------------------------------------------
+
+AC_ARG_WITH(spool-dir,
+ AS_HELP_STRING([--with-spool-dir=<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 -up gdm-2.29.1/daemon/gdm-display.c.force-active-vt gdm-2.29.1/daemon/gdm-display.c
--- gdm-2.29.1/daemon/gdm-display.c.force-active-vt 2009-11-16 17:37:43.000000000 -0500
+++ gdm-2.29.1/daemon/gdm-display.c 2009-12-02 23:31:13.065009323 -0500
@@ -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 *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_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
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));
g_object_class_install_property (object_class,
PROP_SLAVE_COMMAND,
diff -up gdm-2.29.1/daemon/gdm-server.c.force-active-vt gdm-2.29.1/daemon/gdm-server.c
--- gdm-2.29.1/daemon/gdm-server.c.force-active-vt 2009-11-16 17:37:43.000000000 -0500
+++ gdm-2.29.1/daemon/gdm-server.c 2009-12-02 23:31:13.066009518 -0500
@@ -34,6 +34,8 @@
#include <signal.h>
#include <sys/resource.h>
+#include <linux/vt.h>
+
#include <glib.h>
#include <glib/gi18n.h>
#include <glib/gstdio.h>
@@ -663,6 +665,44 @@ gdm_server_spawn (GdmServer *server,
return ret;
}
+static int
+get_active_vt (void)
+{
+ int console_fd;
+ struct vt_stat console_state = { 0 };
+
+ console_fd = open ("/dev/tty0", O_RDONLY | O_NOCTTY);
+
+ if (console_fd < 0) {
+ goto out;
+ }
+
+ if (ioctl (console_fd, VT_GETSTATE, &console_state) < 0) {
+ goto out;
+ }
+
+out:
+ if (console_fd >= 0) {
+ close (console_fd);
+ }
+
+ return console_state.v_active;
+}
+
+static char *
+get_active_vt_as_string (void)
+{
+ int vt;
+
+ vt = get_active_vt ();
+
+ if (vt <= 0) {
+ return NULL;
+ }
+
+ return g_strdup_printf ("vt%d", vt);
+}
+
/**
* gdm_server_start:
* @disp: Pointer to a GdmDisplay structure
@@ -681,6 +721,21 @@ gdm_server_start (GdmServer *server)
return res;
}
+gboolean
+gdm_server_start_on_active_vt (GdmServer *server)
+{
+ gboolean res;
+ char *vt;
+
+ g_free (server->priv->command);
+ server->priv->command = g_strdup (X_SERVER " -nr -verbose");
+ vt = get_active_vt_as_string ();
+ res = gdm_server_spawn (server, vt);
+ g_free (vt);
+
+ return res;
+}
+
static void
server_died (GdmServer *server)
{
diff -up gdm-2.29.1/daemon/gdm-server.h.force-active-vt gdm-2.29.1/daemon/gdm-server.h
--- gdm-2.29.1/daemon/gdm-server.h.force-active-vt 2009-11-16 17:37:43.000000000 -0500
+++ gdm-2.29.1/daemon/gdm-server.h 2009-12-02 23:31:13.066009518 -0500
@@ -56,6 +56,7 @@ GType gdm_server_get_type
GdmServer * gdm_server_new (const char *display_id,
const char *auth_file);
gboolean gdm_server_start (GdmServer *server);
+gboolean gdm_server_start_on_active_vt (GdmServer *server);
gboolean gdm_server_stop (GdmServer *server);
char * gdm_server_get_display_device (GdmServer *server);
diff -up gdm-2.29.1/daemon/gdm-simple-slave.c.force-active-vt gdm-2.29.1/daemon/gdm-simple-slave.c
--- gdm-2.29.1/daemon/gdm-simple-slave.c.force-active-vt 2009-11-24 02:26:07.000000000 -0500
+++ gdm-2.29.1/daemon/gdm-simple-slave.c 2009-12-02 23:31:13.067013552 -0500
@@ -88,6 +88,7 @@ struct GdmSimpleSlavePrivate
enum {
PROP_0,
+ FORCE_ACTIVE_VT
};
static void gdm_simple_slave_class_init (GdmSimpleSlaveClass *klass);
@@ -1075,11 +1076,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
@@ -1111,7 +1114,10 @@ gdm_simple_slave_run (GdmSimpleSlave *sl
G_CALLBACK (on_server_ready),
slave);
- res = gdm_server_start (slave->priv->server);
+ 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) "
@@ -1259,12 +1265,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);
diff -up gdm-2.29.1/daemon/gdm-simple-slave.h.force-active-vt gdm-2.29.1/daemon/gdm-simple-slave.h
--- gdm-2.29.1/daemon/gdm-simple-slave.h.force-active-vt 2009-11-16 17:37:43.000000000 -0500
+++ gdm-2.29.1/daemon/gdm-simple-slave.h 2009-12-02 23:31:13.067013552 -0500
@@ -48,7 +48,8 @@ typedef struct
} GdmSimpleSlaveClass;
GType gdm_simple_slave_get_type (void);
-GdmSlave * gdm_simple_slave_new (const char *id);
+GdmSlave * gdm_simple_slave_new (const char *id,
+ gboolean force_active_vt);
G_END_DECLS
diff -up gdm-2.29.1/daemon/gdm-slave.c.force-active-vt gdm-2.29.1/daemon/gdm-slave.c
--- gdm-2.29.1/daemon/gdm-slave.c.force-active-vt 2009-11-16 17:37:43.000000000 -0500
+++ gdm-2.29.1/daemon/gdm-slave.c 2009-12-02 23:31:13.068018007 -0500
@@ -83,6 +83,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;
@@ -101,6 +102,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
};
@@ -1332,6 +1334,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,
@@ -1363,6 +1372,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;
@@ -1401,6 +1413,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;
@@ -1526,6 +1541,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),
diff -up gdm-2.29.1/daemon/gdm-static-display.c.force-active-vt gdm-2.29.1/daemon/gdm-static-display.c
--- gdm-2.29.1/daemon/gdm-static-display.c.force-active-vt 2009-11-16 17:37:43.000000000 -0500
+++ gdm-2.29.1/daemon/gdm-static-display.c 2009-12-02 23:31:13.068018007 -0500
@@ -86,10 +86,27 @@ gdm_static_display_remove_user_authoriza
}
static gboolean
+triggered_to_force_display_on_active_vt (void)
+{
+ gboolean should_force_display_on_active_vt;
+
+ should_force_display_on_active_vt = g_file_test (GDM_SPOOL_DIR "/force-display-on-active-vt",
+ G_FILE_TEST_EXISTS);
+ g_unlink (GDM_SPOOL_DIR "/force-display-on-active-vt");
+
+ return should_force_display_on_active_vt;
+}
+
+static gboolean
gdm_static_display_manage (GdmDisplay *display)
{
g_return_val_if_fail (GDM_IS_DISPLAY (display), FALSE);
+ if (triggered_to_force_display_on_active_vt ()) {
+ g_object_set (display, "force-active-vt", TRUE, NULL);
+ } else {
+ g_object_set (display, "force-active-vt", FALSE, NULL);
+ }
GDM_DISPLAY_CLASS (gdm_static_display_parent_class)->manage (display);
return TRUE;
diff -up gdm-2.29.1/daemon/Makefile.am.force-active-vt gdm-2.29.1/daemon/Makefile.am
--- gdm-2.29.1/daemon/Makefile.am.force-active-vt 2009-11-16 17:37:43.000000000 -0500
+++ gdm-2.29.1/daemon/Makefile.am 2009-12-02 23:31:13.069017990 -0500
@@ -14,6 +14,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 -up gdm-2.29.1/daemon/simple-slave-main.c.force-active-vt gdm-2.29.1/daemon/simple-slave-main.c
--- gdm-2.29.1/daemon/simple-slave-main.c.force-active-vt 2009-11-16 17:37:43.000000000 -0500
+++ gdm-2.29.1/daemon/simple-slave-main.c 2009-12-02 23:31:54.674210044 -0500
@@ -178,9 +178,11 @@ main (int argc,
DBusGConnection *connection;
GdmSlave *slave;
static char *display_id = NULL;
+ static gboolean force_active_vt = FALSE;
GdmSignalHandler *signal_handler;
static GOptionEntry entries [] = {
{ "display-id", 0, 0, G_OPTION_ARG_STRING, &display_id, N_("Display ID"), N_("ID") },
+ { "force-active-vt", 0, 0, G_OPTION_ARG_NONE, &force_active_vt, N_("Force X to start on active vt"), NULL },
{ NULL }
};
@@ -248,7 +250,7 @@ main (int argc,
gdm_signal_handler_add (signal_handler, SIGUSR1, signal_cb, NULL);
gdm_signal_handler_add (signal_handler, SIGUSR2, signal_cb, NULL);
- slave = gdm_simple_slave_new (display_id);
+ slave = gdm_simple_slave_new (display_id, force_active_vt);
if (slave == NULL) {
goto out;
}
diff -up gdm-2.29.1/data/Makefile.am.force-active-vt gdm-2.29.1/data/Makefile.am
--- gdm-2.29.1/data/Makefile.am.force-active-vt 2009-11-16 19:45:22.000000000 -0500
+++ gdm-2.29.1/data/Makefile.am 2009-12-02 23:31:13.070023842 -0500
@@ -13,6 +13,7 @@ predir = $(gdmconfdir)/PreSession
postlogindir = $(gdmconfdir)/PostLogin
workingdir = $(GDM_WORKING_DIR)
xauthdir = $(GDM_XAUTH_DIR)
+spooldir = $(GDM_SPOOL_DIR)
screenshotdir = $(GDM_SCREENSHOT_DIR)
cachedir = $(localstatedir)/cache/gdm
@@ -125,6 +126,7 @@ uninstall-hook:
$(DESTDIR)$(workingdir)/.gconf.mandatory \
$(DESTDIR)$(screenshotdir) \
$(DESTDIR)$(xauthdir)
+ $(DESTDIR)$(spooldir)
install-data-hook: gdm.conf-custom Xsession Init PostSession PreSession gconf.path
if test '!' -d $(DESTDIR)$(gdmconfdir); then \
@@ -224,6 +226,12 @@ install-data-hook: gdm.conf-custom Xsess
chown root:gdm $(DESTDIR)$(cachedir) || : ; \
fi
+ if test '!' -d $(DESTDIR)$(spooldir); then \
+ $(mkinstalldirs) $(DESTDIR)$(spooldir); \
+ chmod 775 $(DESTDIR)$(spooldir); \
+ chown root:gdm $(DESTDIR)$(spooldir) || : ; \
+ fi
+
$(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
gdm-multistack.patch:
b/common/gdm-marshal.list | 1
b/configure.ac | 44
b/daemon/gdm-factory-slave.c | 13
b/daemon/gdm-greeter-server.c | 53
b/daemon/gdm-greeter-server.h | 5
b/daemon/gdm-product-slave.c | 47
b/daemon/gdm-session-direct.c | 322 +-
b/daemon/gdm-session-private.h | 3
b/daemon/gdm-session-relay.c | 29
b/daemon/gdm-session-worker-job.c | 7
b/daemon/gdm-session-worker-job.h | 2
b/daemon/gdm-session-worker.c | 27
b/daemon/gdm-session-worker.h | 2
b/daemon/gdm-session.c | 20
b/daemon/gdm-session.h | 9
b/daemon/gdm-simple-slave.c | 3
b/daemon/test-session.c | 14
b/gui/simple-greeter/Makefile.am | 4
b/gui/simple-greeter/foo.glade | 604 ++++
b/gui/simple-greeter/gdm-chooser-widget.c | 8
b/gui/simple-greeter/gdm-chooser-widget.h | 3
b/gui/simple-greeter/gdm-greeter-client.c | 18
b/gui/simple-greeter/gdm-greeter-client.h | 4
b/gui/simple-greeter/gdm-greeter-login-window.c | 91
b/gui/simple-greeter/gdm-greeter-login-window.glade | 39
b/gui/simple-greeter/gdm-greeter-login-window.h | 11
b/gui/simple-greeter/gdm-greeter-plugin.c | 255 +
b/gui/simple-greeter/gdm-greeter-plugin.h | 61
b/gui/simple-greeter/gdm-greeter-session.c | 5
b/gui/simple-greeter/gdm-plugin-manager.c | 478 +++
b/gui/simple-greeter/gdm-plugin-manager.h | 66
b/gui/simple-greeter/gdm-task-list.c | 198 +
b/gui/simple-greeter/gdm-task-list.h | 65
b/gui/simple-greeter/gdm-user-chooser-widget.c | 23
b/gui/simple-greeter/libgdmsimplegreeter/Makefile.am | 46
b/gui/simple-greeter/libgdmsimplegreeter/gdm-conversation.c | 147 +
b/gui/simple-greeter/libgdmsimplegreeter/gdm-conversation.h | 87
b/gui/simple-greeter/libgdmsimplegreeter/gdm-greeter-extension.c | 93
b/gui/simple-greeter/libgdmsimplegreeter/gdm-greeter-extension.h | 55
b/gui/simple-greeter/libgdmsimplegreeter/gdm-task.c | 117
b/gui/simple-greeter/libgdmsimplegreeter/gdm-task.h | 62
b/gui/simple-greeter/libgdmsimplegreeter/gdmsimplegreeter.pc.in | 11
b/gui/simple-greeter/plugins/Makefile.am | 1
b/gui/simple-greeter/plugins/fingerprint/Makefile.am | 56
b/gui/simple-greeter/plugins/fingerprint/gdm-fingerprint-extension.c | 299 ++
b/gui/simple-greeter/plugins/fingerprint/gdm-fingerprint-extension.h | 56
b/gui/simple-greeter/plugins/fingerprint/gdm-fingerprint.pam | 17
b/gui/simple-greeter/plugins/fingerprint/icons/16x16/Makefile.am | 5
b/gui/simple-greeter/plugins/fingerprint/icons/48x48/Makefile.am | 5
b/gui/simple-greeter/plugins/fingerprint/icons/Makefile.am | 1
b/gui/simple-greeter/plugins/fingerprint/page.ui | 56
b/gui/simple-greeter/plugins/fingerprint/plugin.c | 41
b/gui/simple-greeter/plugins/password/Makefile.am | 53
b/gui/simple-greeter/plugins/password/gdm-password-extension.c | 314 ++
b/gui/simple-greeter/plugins/password/gdm-password-extension.h | 56
b/gui/simple-greeter/plugins/password/gdm-password.pam | 19
b/gui/simple-greeter/plugins/password/page.ui | 56
b/gui/simple-greeter/plugins/password/plugin.c | 40
b/gui/simple-greeter/plugins/smartcard/Makefile.am | 77
b/gui/simple-greeter/plugins/smartcard/gdm-smartcard-extension.c | 418 ++
b/gui/simple-greeter/plugins/smartcard/gdm-smartcard-extension.h | 56
b/gui/simple-greeter/plugins/smartcard/gdm-smartcard-manager.c | 1394 ++++++++++
b/gui/simple-greeter/plugins/smartcard/gdm-smartcard-manager.h | 86
b/gui/simple-greeter/plugins/smartcard/gdm-smartcard-worker.c | 167 +
b/gui/simple-greeter/plugins/smartcard/gdm-smartcard.c | 558 ++++
b/gui/simple-greeter/plugins/smartcard/gdm-smartcard.h | 94
b/gui/simple-greeter/plugins/smartcard/gdm-smartcard.pam | 18
b/gui/simple-greeter/plugins/smartcard/icons/16x16/Makefile.am | 5
b/gui/simple-greeter/plugins/smartcard/icons/48x48/Makefile.am | 5
b/gui/simple-greeter/plugins/smartcard/icons/Makefile.am | 1
b/gui/simple-greeter/plugins/smartcard/page.ui | 56
b/gui/simple-greeter/plugins/smartcard/plugin.c | 40
b/po/POTFILES.in | 2
configure.ac | 15
daemon/gdm-factory-slave.c | 103
daemon/gdm-greeter-server.c | 142 -
daemon/gdm-greeter-server.h | 21
daemon/gdm-product-slave.c | 263 +
daemon/gdm-session-direct.c | 815 ++++-
daemon/gdm-session-private.h | 31
daemon/gdm-session-relay.c | 223 +
daemon/gdm-session-worker-job.c | 66
daemon/gdm-session-worker-job.h | 4
daemon/gdm-session-worker.c | 61
daemon/gdm-session.c | 250 +
daemon/gdm-session.h | 62
daemon/gdm-simple-slave.c | 241 +
daemon/test-session.c | 22
gui/simple-greeter/Makefile.am | 15
gui/simple-greeter/gdm-greeter-client.c | 229 +
gui/simple-greeter/gdm-greeter-client.h | 21
gui/simple-greeter/gdm-greeter-login-window.c | 1158 ++++++--
gui/simple-greeter/gdm-greeter-login-window.glade | 152 -
gui/simple-greeter/gdm-greeter-login-window.h | 24
gui/simple-greeter/gdm-greeter-session.c | 148 -
gui/simple-greeter/gdm-task-list.c | 268 +
gui/simple-greeter/gdm-task-list.h | 40
gui/simple-greeter/gdm-user-chooser-widget.c | 9
gui/simple-greeter/libgdmsimplegreeter/Makefile.am | 2
gui/simple-greeter/libgdmsimplegreeter/gdm-conversation.c | 51
gui/simple-greeter/libgdmsimplegreeter/gdm-conversation.h | 13
gui/simple-greeter/libgdmsimplegreeter/gdm-task.c | 12
gui/simple-greeter/libgdmsimplegreeter/gdm-task.h | 5
gui/simple-greeter/plugins/Makefile.am | 4
gui/simple-greeter/plugins/fingerprint/gdm-fingerprint-extension.c | 54
gui/simple-greeter/plugins/password/gdm-password-extension.c | 15
gui/simple-greeter/plugins/smartcard/gdm-smartcard-extension.c | 62
po/POTFILES.in | 2
108 files changed, 10540 insertions(+), 1267 deletions(-)
View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.2 -r 1.3 gdm-multistack.patchIndex: gdm-multistack.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gdm/devel/gdm-multistack.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- gdm-multistack.patch 2 Nov 2009 05:38:10 -0000 1.2
+++ gdm-multistack.patch 3 Dec 2009 05:05:23 -0000 1.3
@@ -1,323 +1,7 @@
-
-From dfa6b8d5ed60552f435c34c47bc45089fa3eef48 Mon Sep 17 00:00:00 2001
-From: Ray Strode <rstrode at redhat.com>
-Date: Fri, 20 Feb 2009 13:52:19 -0500
-Subject: [PATCH 07/81] Add a comment marking protected api in chooser
-
-The chooser widget has methods that only its
-subclasses are supposed to call. We should
-mark them as such.
----
- gui/simple-greeter/gdm-chooser-widget.h | 2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/gui/simple-greeter/gdm-chooser-widget.h b/gui/simple-greeter/gdm-chooser-widget.h
-index 578e613..7e3e59c 100644
---- a/gui/simple-greeter/gdm-chooser-widget.h
-+++ b/gui/simple-greeter/gdm-chooser-widget.h
-@@ -136,6 +136,8 @@ int gdm_chooser_widget_get_number_of_items (GdmChooserWidget
- void gdm_chooser_widget_activate_if_one_item (GdmChooserWidget *widget);
- void gdm_chooser_widget_propagate_pending_key_events (GdmChooserWidget *widget);
-
-+/* Protected
-+ */
- void gdm_chooser_widget_loaded (GdmChooserWidget *widget);
-
- G_END_DECLS
---
-1.6.5.1
-
-
-From 7b4e38d04e246d7dc4c446ed2a3c69fcc67257cb Mon Sep 17 00:00:00 2001
-From: Ray Strode <rstrode at redhat.com>
-Date: Fri, 6 Feb 2009 17:44:37 -0500
-Subject: [PATCH 08/81] Drop duplicated entry introspection output
-
----
- daemon/gdm-greeter-server.c | 1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/daemon/gdm-greeter-server.c b/daemon/gdm-greeter-server.c
-index 2e01d33..cecce83 100644
---- a/daemon/gdm-greeter-server.c
-+++ b/daemon/gdm-greeter-server.c
-@@ -752,7 +752,6 @@ do_introspect (DBusConnection *connection,
- " <arg name=\"layout_name\" type=\"s\"/>\n"
- " </signal>\n"
- " <signal name=\"DefaultSessionNameChanged\">\n"
-- " <signal name=\"DefaultSessionNameChanged\">\n"
- " <arg name=\"session_name\" type=\"s\"/>\n"
- " </signal>\n"
- " <signal name=\"TimedLoginRequested\">\n"
---
-1.6.5.1
-
-
-From 8d5ddd913f13581df1662730745c1d906772185e Mon Sep 17 00:00:00 2001
-From: Ray Strode <rstrode at redhat.com>
-Date: Mon, 2 Mar 2009 10:07:03 -0500
-Subject: [PATCH 09/81] Make lookup_item not warn when passing NULL for args
-
-gtk_tree_model_get doesn't like NULL, and we allow
-NULL for optional return values.
-
-We now check each argument for NULL and call
-gtk_tree_model_get individually N times (one for
-each argument) instead of just once.
----
- gui/simple-greeter/gdm-chooser-widget.c | 31 ++++++++++++++++++++++++-------
- 1 files changed, 24 insertions(+), 7 deletions(-)
-
-diff --git a/gui/simple-greeter/gdm-chooser-widget.c b/gui/simple-greeter/gdm-chooser-widget.c
-index 2875456..cbd5072 100644
---- a/gui/simple-greeter/gdm-chooser-widget.c
-+++ b/gui/simple-greeter/gdm-chooser-widget.c
-@@ -2171,13 +2171,30 @@ gdm_chooser_widget_lookup_item (GdmChooserWidget *widget,
- }
- g_free (active_item_id);
-
-- gtk_tree_model_get (GTK_TREE_MODEL (widget->priv->list_store), &iter,
-- CHOOSER_IMAGE_COLUMN, image,
-- CHOOSER_NAME_COLUMN, name,
-- CHOOSER_PRIORITY_COLUMN, priority,
-- CHOOSER_ITEM_IS_IN_USE_COLUMN, is_in_use,
-- CHOOSER_ITEM_IS_SEPARATED_COLUMN, is_separate,
-- -1);
-+ if (image != NULL) {
-+ gtk_tree_model_get (GTK_TREE_MODEL (widget->priv->list_store), &iter,
-+ CHOOSER_IMAGE_COLUMN, image, -1);
-+ }
-+
-+ if (name != NULL) {
-+ gtk_tree_model_get (GTK_TREE_MODEL (widget->priv->list_store), &iter,
-+ CHOOSER_NAME_COLUMN, name, -1);
-+ }
-+
-+ if (priority != NULL) {
-+ gtk_tree_model_get (GTK_TREE_MODEL (widget->priv->list_store), &iter,
-+ CHOOSER_PRIORITY_COLUMN, priority, -1);
-+ }
-+
-+ if (is_in_use != NULL) {
-+ gtk_tree_model_get (GTK_TREE_MODEL (widget->priv->list_store), &iter,
-+ CHOOSER_ITEM_IS_IN_USE_COLUMN, is_in_use, -1);
-+ }
-+
-+ if (is_separate != NULL) {
-+ gtk_tree_model_get (GTK_TREE_MODEL (widget->priv->list_store), &iter,
-+ CHOOSER_ITEM_IS_SEPARATED_COLUMN, is_separate, -1);
-+ }
-
- return TRUE;
- }
---
-1.6.5.1
-
-
-From 57a0d19b8b1e5e7a2132b15ea2c536207b61f80f Mon Sep 17 00:00:00 2001
-From: Ray Strode <rstrode at redhat.com>
-Date: Fri, 6 Feb 2009 15:35:00 -0500
-Subject: [PATCH 10/81] Drop "stopped" signal from worker-job class
-
-It was unused, dead code.
----
- daemon/gdm-session-direct.c | 14 --------------
- daemon/gdm-session-worker-job.c | 11 -----------
- daemon/gdm-session-worker-job.h | 1 -
- 3 files changed, 0 insertions(+), 26 deletions(-)
-
-diff --git a/daemon/gdm-session-direct.c b/daemon/gdm-session-direct.c
-index 47a5778..b6abae4 100644
---- a/daemon/gdm-session-direct.c
-+++ b/daemon/gdm-session-direct.c
-@@ -1539,13 +1539,6 @@ gdm_session_direct_init (GdmSessionDirect *session)
- }
-
- static void
--worker_stopped (GdmSessionWorkerJob *job,
-- GdmSessionDirect *session)
--{
-- g_debug ("GdmSessionDirect: Worker job stopped");
--}
--
--static void
- worker_started (GdmSessionWorkerJob *job,
- GdmSessionDirect *session)
- {
-@@ -1588,10 +1581,6 @@ start_worker (GdmSessionDirect *session)
- session->priv->job = gdm_session_worker_job_new ();
- gdm_session_worker_job_set_server_address (session->priv->job, session->priv->server_address);
- g_signal_connect (session->priv->job,
-- "stopped",
-- G_CALLBACK (worker_stopped),
-- session);
-- g_signal_connect (session->priv->job,
- "started",
- G_CALLBACK (worker_started),
- session);
-@@ -1613,9 +1602,6 @@ static void
- stop_worker (GdmSessionDirect *session)
- {
- g_signal_handlers_disconnect_by_func (session->priv->job,
-- G_CALLBACK (worker_stopped),
-- session);
-- g_signal_handlers_disconnect_by_func (session->priv->job,
- G_CALLBACK (worker_started),
- session);
- g_signal_handlers_disconnect_by_func (session->priv->job,
-diff --git a/daemon/gdm-session-worker-job.c b/daemon/gdm-session-worker-job.c
-index 6723464..633d6e2 100644
---- a/daemon/gdm-session-worker-job.c
-+++ b/daemon/gdm-session-worker-job.c
-@@ -68,7 +68,6 @@ enum {
-
- enum {
- STARTED,
-- STOPPED,
- EXITED,
- DIED,
- LAST_SIGNAL
-@@ -390,16 +389,6 @@ gdm_session_worker_job_class_init (GdmSessionWorkerJobClass *klass)
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE,
- 0);
-- signals [STOPPED] =
-- g_signal_new ("stopped",
-- G_OBJECT_CLASS_TYPE (object_class),
-- G_SIGNAL_RUN_FIRST,
-- G_STRUCT_OFFSET (GdmSessionWorkerJobClass, stopped),
-- NULL,
-- NULL,
-- g_cclosure_marshal_VOID__VOID,
[...2455 lines suppressed...]
G_CALLBACK (on_session_conversation_stopped),
slave);
g_signal_connect (slave->priv->session,
@@ -18680,13 +18984,13 @@ index 63ea82c..29d0aee 100644
G_CALLBACK (on_session_setup_complete),
slave);
--
-1.6.5.1
+1.6.5.2
-From ebf9fce3ff13743a65e14a65f6393cfc3cec4e0c Mon Sep 17 00:00:00 2001
+From a57508de7999049e0418f60c4f3659bd9b219bb8 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Wed, 28 Oct 2009 21:46:39 -0400
-Subject: [PATCH 74/81] Catch service-unavailable from server in client and propagate it
+Subject: [PATCH 42/51] Catch service-unavailable from server in client and propagate it
---
gui/simple-greeter/gdm-greeter-client.c | 20 ++++++++++++++++++++
@@ -18759,13 +19063,13 @@ index f879307..801bae4 100644
const char *service_name);
void (* conversation_stopped) (GdmGreeterClient *client,
--
-1.6.5.1
+1.6.5.2
-From 4e6491ba559c142189a0b17342db780b7a462d6c Mon Sep 17 00:00:00 2001
+From 1c58a6b3bad3081408ec65f153a68baf0a5ad551 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Wed, 28 Oct 2009 22:04:44 -0400
-Subject: [PATCH 75/81] Fix memory handling of task in task list
+Subject: [PATCH 43/51] Fix memory handling of task in task list
---
gui/simple-greeter/gdm-task-list.c | 5 +++--
@@ -18795,13 +19099,13 @@ index 162b784..be50832 100644
G_OBJECT_CLASS (gdm_task_list_parent_class)->finalize (object);
--
-1.6.5.1
+1.6.5.2
-From 7a609b6bc2e02c1afe47540dfb3daca37cd48cd1 Mon Sep 17 00:00:00 2001
+From 3150b82ace1a469ef0d7369d1cbca7f1901d642c Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Wed, 28 Oct 2009 22:09:45 -0400
-Subject: [PATCH 76/81] Add gdm_task_list_remove_task
+Subject: [PATCH 44/51] Add gdm_task_list_remove_task
---
gui/simple-greeter/gdm-task-list.c | 29 +++++++++++++++++++++++++++++
@@ -18863,13 +19167,13 @@ index 8bc0c0e..3df5415 100644
G_END_DECLS
--
-1.6.5.1
+1.6.5.2
-From 249388ea72690fe3526ff48797aaf0206d40a49c Mon Sep 17 00:00:00 2001
+From d25cbe607c6365640e1e2eb8bbb5da60bedbeaf2 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Wed, 28 Oct 2009 21:58:44 -0400
-Subject: [PATCH 77/81] Remove task from task list if unavailable
+Subject: [PATCH 45/51] Remove task from task list if unavailable
---
gui/simple-greeter/gdm-greeter-login-window.c | 20 ++++++++++++++++++++
@@ -18955,13 +19259,13 @@ index 848ea1e..3bf24e8 100644
G_CALLBACK (on_ready),
session);
--
-1.6.5.1
+1.6.5.2
-From 1a44c10dda2b2cdab965cc15db392513aaafd339 Mon Sep 17 00:00:00 2001
+From 5eeb6c6d3522963c0dbe0b3923c596f3e08e7dc7 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Wed, 28 Oct 2009 23:55:00 -0400
-Subject: [PATCH 78/81] Don't add task to UI if it's invisible
+Subject: [PATCH 46/51] Don't add task to UI if it's invisible
---
gui/simple-greeter/gdm-greeter-login-window.c | 14 +++++++++++---
@@ -19000,13 +19304,13 @@ index 6a5b77e..9280d76 100644
name, description);
--
-1.6.5.1
+1.6.5.2
-From 8bcb4b752b8d8efb62f9d4560de8076fbf2ed4bb Mon Sep 17 00:00:00 2001
+From b8b0470e8ea5b9f1c502ba2621fca3112e8a40cd Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Thu, 29 Oct 2009 00:39:20 -0400
-Subject: [PATCH 79/81] add lame check to see if fingerprint is enabled
+Subject: [PATCH 47/51] add lame check to see if fingerprint is enabled
---
.../fingerprint/gdm-fingerprint-extension.c | 35 +++++++++++++++++++-
@@ -19059,13 +19363,13 @@ index e1fc0ed..b749ac1 100644
static void
--
-1.6.5.1
+1.6.5.2
-From f289a1f28d2000c00a35efa164cd207793be1b9f Mon Sep 17 00:00:00 2001
+From aef6c0c7fdb292b05fb91b4d7f7f926189a74951 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Thu, 29 Oct 2009 00:10:40 -0400
-Subject: [PATCH 80/81] don't activate invisible tasks
+Subject: [PATCH 48/51] don't activate invisible tasks
---
gui/simple-greeter/gdm-task-list.c | 4 ++++
@@ -19087,13 +19391,13 @@ index dd77ed6..c9d7451 100644
gtk_widget_set_sensitive (GTK_WIDGET (widget), TRUE);
--
-1.6.5.1
+1.6.5.2
-From 8144b99a3ab9511d85ff6169ca9612c350010612 Mon Sep 17 00:00:00 2001
+From e990afc9c83863b2db09ff1dc202d75eff4583c9 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode at redhat.com>
Date: Thu, 29 Oct 2009 00:46:34 -0400
-Subject: [PATCH 81/81] Add lame check for smart card daemon
+Subject: [PATCH 49/51] Add lame check for smart card daemon
We don't want to show the smart card bits if the daemon isn't running
@@ -19139,5 +19443,59 @@ index 9967d5f..903e18d 100644
static void
--
-1.6.5.1
+1.6.5.2
+
+
+From 85de0d6e72612cf495d4ce87d9bbc46574759615 Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+Date: Fri, 6 Nov 2009 13:35:26 -0500
+Subject: [PATCH 50/51] Don't delay login for passwd -d users
+
+Before we'd delay login if timed login was enabled, but
+we should have been checking if it was the reason login
+was happening.
+---
+ gui/simple-greeter/gdm-greeter-login-window.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c
+index 9280d76..42f27bf 100644
+--- a/gui/simple-greeter/gdm-greeter-login-window.c
++++ b/gui/simple-greeter/gdm-greeter-login-window.c
+@@ -968,7 +968,7 @@ gdm_greeter_login_window_start_session_when_ready (GdmGreeterLoginWindow *login_
+ * so they can pick language/session. Will need to refactor things
+ * a bit so we can share code with timed login.
+ */
+- if (!login_window->priv->timed_login_enabled) {
++ if (strcmp (service_name, "gdm-autologin") != 0) {
+
+ g_debug ("GdmGreeterLoginWindow: Okay, we'll start the session anyway,"
+ "because the user isn't ever going to get an opportunity to"
+--
+1.6.5.2
+
+
+From 5e63bab8f742eba575856e85f24d5d357cb8816f Mon Sep 17 00:00:00 2001
+From: Ray Strode <rstrode at redhat.com>
+Date: Fri, 6 Nov 2009 13:41:31 -0500
+Subject: [PATCH 51/51] Remove go-home icon from button
+
+---
+ gui/simple-greeter/gdm-greeter-login-window.glade | 1 -
+ 1 files changed, 0 insertions(+), 1 deletions(-)
+
+diff --git a/gui/simple-greeter/gdm-greeter-login-window.glade b/gui/simple-greeter/gdm-greeter-login-window.glade
+index d221d78..032bc6d 100644
+--- a/gui/simple-greeter/gdm-greeter-login-window.glade
++++ b/gui/simple-greeter/gdm-greeter-login-window.glade
+@@ -365,7 +365,6 @@
+ <child>
+ <widget class="GtkImage" id="image1">
+ <property name="visible">True</property>
+- <property name="icon_name">go-home</property>
+ <property name="pixel_size">16</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+--
+1.6.5.2
Index: gdm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gdm/devel/gdm.spec,v
retrieving revision 1.493
retrieving revision 1.494
diff -u -p -r1.493 -r1.494
--- gdm.spec 1 Dec 2009 14:56:28 -0000 1.493
+++ gdm.spec 3 Dec 2009 05:05:23 -0000 1.494
@@ -16,7 +16,7 @@
Summary: The GNOME Display Manager
Name: gdm
Version: 2.29.1
-Release: 1%{?dist}
+Release: 2%{?dist}
Epoch: 1
License: GPLv2+
Group: User Interface/X
@@ -92,7 +92,7 @@ BuildRequires: DeviceKit-power-devel >=
Provides: service(graphical-login)
Requires: audit-libs >= %{libauditver}
-Patch2: gdm-2.26.0-force-active-vt.patch
+Patch2: gdm-2.29.1-force-active-vt.patch
Patch3: gdm-2.23.92-save-root-window.patch
# uses /etc/sysconfig/keyboard and is thus not directly upstreamable
@@ -100,15 +100,6 @@ Patch3: gdm-2.23.92-save-root-window.pat
# https://bugzilla.gnome.org/show_bug.cgi?id=572765
Patch13: gdm-system-keyboard.patch
-Patch20: gdm-2.28.1-move-shutdown-functions.patch
-Patch21: fix-clock.patch
-Patch22: fix-timer.patch
-Patch23: fix-na-tray.patch
-Patch24: fix-computer-info.patch
-Patch25: fix-run-dir-permissions.patch
-Patch26: make-user-list-animation-smoother.patch
-Patch27: 0001-Don-t-show-lock-screen-option-if-locked-down.patch
-
Patch96: gdm-multistack.patch
# Fedora-specific
Patch97: gdm-bubble-location.patch
@@ -153,16 +144,6 @@ The GDM fingerprint plugin provides func
%patch2 -p1 -b .force-active-vt
%patch3 -p1 -b .save-root-window
%patch13 -p1 -b .system-keyboard
-
-%patch20 -p1 -b .move-shutdown-functions
-%patch21 -p1 -b .fix-clock
-%patch22 -p1 -b .fix-timer
-%patch23 -p1 -b .fix-na-tray
-%patch24 -p1 -b .fix-computer-info
-%patch25 -p1 -b .fix-run-dir-permission
-%patch26 -p1 -b .make-user-list-animation-smoother
-%patch27 -p1 -b .dont-show-lock-screen-if-locked-down
-
%patch96 -p1 -b .multistack
%patch97 -p1 -b .bubble-location
%patch98 -p1 -b .tray-padding
@@ -419,6 +400,10 @@ fi
%{_libdir}/gdm/simple-greeter/plugins/fingerprint.so
%changelog
+* Thu Dec 03 2009 Ray Strode <rstrode at redhat.com> 2.29.1-2
+- Drop upstreamed patches
+- rebase multi-stack patch
+
* Tue Dec 01 2009 Bastien Nocera <bnocera at redhat.com> 2.29.1-1
- Update to 2.29.1
--- 0001-Don-t-show-lock-screen-option-if-locked-down.patch DELETED ---
--- fix-clock.patch DELETED ---
--- fix-computer-info.patch DELETED ---
--- fix-na-tray.patch DELETED ---
--- fix-run-dir-permissions.patch DELETED ---
--- fix-timer.patch DELETED ---
--- gdm-2.26.0-force-active-vt.patch DELETED ---
--- gdm-2.28.1-move-shutdown-functions.patch DELETED ---
--- make-user-list-animation-smoother.patch DELETED ---
More information about the fedora-extras-commits
mailing list