diff --git a/gdm-disable-wayland-on-unsupported-chipsets.patch b/gdm-disable-wayland-on-unsupported-chipsets.patch new file mode 100644 index 0000000..7b37ce4 --- /dev/null +++ b/gdm-disable-wayland-on-unsupported-chipsets.patch @@ -0,0 +1,376 @@ +Index: b/common/Makefile.am +=================================================================== +--- a/common/Makefile.am 2018-01-19 19:38:52.241209373 +0800 ++++ b/common/Makefile.am 2018-01-22 17:24:46.684883948 +0800 +@@ -20,6 +20,8 @@ + -DGDM_DEFAULTS_CONF=\"$(GDM_DEFAULTS_CONF)\" \ + -DGDM_CUSTOM_CONF=\"$(GDM_CUSTOM_CONF)\" \ + -DGDM_OLD_CONF=\"$(GDM_OLD_CONF)\" \ ++ -DGDM_RUN_DIR=\"$(GDM_RUN_DIR)\" \ ++ -DGDM_RUNTIME_CONF=\"$(GDM_RUNTIME_CONF)\" \ + -DGDM_SESSION_DEFAULT_PATH=\"$(GDM_SESSION_DEFAULT_PATH)\" \ + $(COMMON_CFLAGS) \ + $(NULL) +Index: b/common/gdm-settings-desktop-backend.c +=================================================================== +--- a/common/gdm-settings-desktop-backend.c 2018-01-19 19:38:52.241209373 +0800 ++++ b/common/gdm-settings-desktop-backend.c 2018-01-19 19:57:26.809006358 +0800 +@@ -46,12 +46,90 @@ + guint save_id; + }; + ++enum { ++ PROP_0, ++ PROP_FILENAME, ++}; ++ + static void gdm_settings_desktop_backend_class_init (GdmSettingsDesktopBackendClass *klass); + static void gdm_settings_desktop_backend_init (GdmSettingsDesktopBackend *settings_desktop_backend); + static void gdm_settings_desktop_backend_finalize (GObject *object); + + G_DEFINE_TYPE (GdmSettingsDesktopBackend, gdm_settings_desktop_backend, GDM_TYPE_SETTINGS_BACKEND) + ++static void ++_gdm_settings_desktop_backend_set_file_name (GdmSettingsDesktopBackend *backend, ++ const char *filename) ++{ ++ gboolean res; ++ GError *error; ++ char *contents; ++ ++ backend->priv = GDM_SETTINGS_DESKTOP_BACKEND_GET_PRIVATE (backend); ++ ++ g_free (backend->priv->filename); ++ backend->priv->filename = g_strdup (filename); ++ ++ backend->priv->key_file = g_key_file_new (); ++ ++ error = NULL; ++ res = g_key_file_load_from_file (backend->priv->key_file, ++ backend->priv->filename, ++ G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, ++ &error); ++ if (! res) { ++ g_warning ("Unable to load file '%s': %s", backend->priv->filename, error->message); ++ } ++ ++ contents = g_key_file_to_data (backend->priv->key_file, NULL, NULL); ++ ++ if (contents != NULL) { ++ g_debug ("GdmSettings: %s is:\n%s\n", backend->priv->filename, contents); ++ g_free (contents); ++ } ++ ++} ++ ++static void ++gdm_settings_desktop_backend_set_property (GObject *object, ++ guint prop_id, ++ const GValue *value, ++ GParamSpec *pspec) ++{ ++ GdmSettingsDesktopBackend *self; ++ ++ self = GDM_SETTINGS_DESKTOP_BACKEND (object); ++ ++ switch (prop_id) { ++ case PROP_FILENAME: ++ _gdm_settings_desktop_backend_set_file_name (self, g_value_get_string (value)); ++ break; ++ default: ++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); ++ break; ++ } ++} ++ ++static void ++gdm_settings_desktop_backend_get_property (GObject *object, ++ guint prop_id, ++ GValue *value, ++ GParamSpec *pspec) ++{ ++ GdmSettingsDesktopBackend *self; ++ ++ self = GDM_SETTINGS_DESKTOP_BACKEND (object); ++ ++ switch (prop_id) { ++ case PROP_FILENAME: ++ g_value_set_string (value, self->priv->filename); ++ break; ++ default: ++ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); ++ break; ++ } ++} ++ + static gboolean + parse_key_string (const char *keystring, + char **group, +@@ -308,41 +386,27 @@ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdmSettingsBackendClass *backend_class = GDM_SETTINGS_BACKEND_CLASS (klass); + ++ object_class->get_property = gdm_settings_desktop_backend_get_property; ++ object_class->set_property = gdm_settings_desktop_backend_set_property; + object_class->finalize = gdm_settings_desktop_backend_finalize; + + backend_class->get_value = gdm_settings_desktop_backend_get_value; + backend_class->set_value = gdm_settings_desktop_backend_set_value; + + g_type_class_add_private (klass, sizeof (GdmSettingsDesktopBackendPrivate)); ++ ++ g_object_class_install_property (object_class, ++ PROP_FILENAME, ++ g_param_spec_string ("filename", ++ "File Name", ++ "The name of the configuration file", ++ NULL, ++ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + } + + static void + gdm_settings_desktop_backend_init (GdmSettingsDesktopBackend *backend) + { +- gboolean res; +- GError *error; +- char *contents; +- +- backend->priv = GDM_SETTINGS_DESKTOP_BACKEND_GET_PRIVATE (backend); +- +- backend->priv->key_file = g_key_file_new (); +- backend->priv->filename = g_strdup (GDM_CUSTOM_CONF); +- +- error = NULL; +- res = g_key_file_load_from_file (backend->priv->key_file, +- backend->priv->filename, +- G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, +- &error); +- if (! res) { +- g_warning ("Unable to load file '%s': %s", backend->priv->filename, error->message); +- } +- +- contents = g_key_file_to_data (backend->priv->key_file, NULL, NULL); +- +- if (contents != NULL) { +- g_debug ("GdmSettings: %s is:\n%s\n", backend->priv->filename, contents); +- g_free (contents); +- } + } + + static void +@@ -365,11 +429,15 @@ + } + + GdmSettingsBackend * +-gdm_settings_desktop_backend_new (void) ++gdm_settings_desktop_backend_new (const char* filename) + { + GObject *object; + +- object = g_object_new (GDM_TYPE_SETTINGS_DESKTOP_BACKEND, NULL); ++ if (!g_file_test (GDM_RUNTIME_CONF, G_FILE_TEST_IS_REGULAR)) ++ return NULL; + ++ object = g_object_new (GDM_TYPE_SETTINGS_DESKTOP_BACKEND, ++ "filename", filename, ++ NULL); + return GDM_SETTINGS_BACKEND (object); + } +Index: b/common/gdm-settings-desktop-backend.h +=================================================================== +--- a/common/gdm-settings-desktop-backend.h 2018-01-19 19:38:52.241209373 +0800 ++++ b/common/gdm-settings-desktop-backend.h 2018-01-19 19:38:57.757366406 +0800 +@@ -49,7 +49,7 @@ + + GType gdm_settings_desktop_backend_get_type (void); + +-GdmSettingsBackend *gdm_settings_desktop_backend_new (void); ++GdmSettingsBackend *gdm_settings_desktop_backend_new (const char* filename); + + G_END_DECLS + +Index: b/common/gdm-settings.c +=================================================================== +--- a/common/gdm-settings.c 2018-01-19 19:38:52.241209373 +0800 ++++ b/common/gdm-settings.c 2018-01-22 17:24:46.684883948 +0800 +@@ -43,7 +43,7 @@ + + struct GdmSettingsPrivate + { +- GdmSettingsBackend *backend; ++ GList *backends; + }; + + enum { +@@ -80,15 +80,28 @@ + { + GError *local_error; + gboolean res; ++ GList *l; + + g_return_val_if_fail (GDM_IS_SETTINGS (settings), FALSE); + g_return_val_if_fail (key != NULL, FALSE); + + local_error = NULL; +- res = gdm_settings_backend_get_value (settings->priv->backend, +- key, +- value, +- &local_error); ++ ++ for (l = settings->priv->backends; l; l = g_list_next (l)) { ++ GdmSettingsBackend *backend = l->data; ++ ++ if (local_error) { ++ g_error_free (local_error); ++ local_error = NULL; ++ } ++ ++ res = gdm_settings_backend_get_value (backend, ++ key, ++ value, ++ &local_error); ++ if (res) ++ break; ++ } + if (! res) { + g_propagate_error (error, local_error); + } +@@ -104,6 +117,7 @@ + { + GError *local_error; + gboolean res; ++ GList *l; + + g_return_val_if_fail (GDM_IS_SETTINGS (settings), FALSE); + g_return_val_if_fail (key != NULL, FALSE); +@@ -111,10 +125,23 @@ + g_debug ("Setting value %s", key); + + local_error = NULL; +- res = gdm_settings_backend_set_value (settings->priv->backend, +- key, +- value, +- &local_error); ++ ++ for (l = settings->priv->backends; l; l = g_list_next (l)) { ++ GdmSettingsBackend *backend = l->data; ++ ++ if (local_error) { ++ g_error_free (local_error); ++ local_error = NULL; ++ } ++ ++ res = gdm_settings_backend_set_value (backend, ++ key, ++ value, ++ &local_error); ++ if (res) ++ break; ++ } ++ + if (! res) { + g_propagate_error (error, local_error); + } +@@ -162,13 +189,27 @@ + static void + gdm_settings_init (GdmSettings *settings) + { ++ GList *l; ++ GdmSettingsBackend *backend; ++ + settings->priv = GDM_SETTINGS_GET_PRIVATE (settings); + +- settings->priv->backend = gdm_settings_desktop_backend_new (); +- g_signal_connect (settings->priv->backend, +- "value-changed", +- G_CALLBACK (backend_value_changed), +- settings); ++ backend = gdm_settings_desktop_backend_new (GDM_CUSTOM_CONF); ++ if (backend) ++ settings->priv->backends = g_list_prepend (NULL, backend); ++ ++ backend = gdm_settings_desktop_backend_new (GDM_RUNTIME_CONF); ++ if (backend) ++ settings->priv->backends = g_list_prepend (settings->priv->backends, backend); ++ ++ for (l = settings->priv->backends; l; l = g_list_next (l)) { ++ backend = l->data; ++ ++ g_signal_connect (backend, ++ "value-changed", ++ G_CALLBACK (backend_value_changed), ++ settings); ++ } + } + + static void +@@ -183,9 +224,9 @@ + + g_return_if_fail (settings->priv != NULL); + +- if (settings->priv->backend != NULL) { +- g_object_unref (settings->priv->backend); +- } ++ g_list_foreach (settings->priv->backends, (GFunc) g_object_unref, NULL); ++ g_list_free (settings->priv->backends); ++ settings->priv->backends = NULL; + + settings_object = NULL; + +Index: b/configure.ac +=================================================================== +--- a/configure.ac 2018-01-19 19:38:52.241209373 +0800 ++++ b/configure.ac 2018-01-22 17:26:30.991086798 +0800 +@@ -1424,6 +1424,24 @@ + AC_SUBST(GDM_SCREENSHOT_DIR) + + dnl --------------------------------------------------------------------------- ++dnl - runtime conf ++dnl --------------------------------------------------------------------------- ++ ++withval="" ++AC_ARG_WITH(runtime_conf, ++ AS_HELP_STRING([--with-runtime-conf=], ++ [FILENAME to give to runtime configuration file @<:@default=GDM_RUN_DIR/custom.conf@:>@])) ++ ++if test x$withval != x; then ++ GDM_RUNTIME_CONF="$withval" ++else ++ GDM_RUNTIME_CONF="$GDM_RUN_DIR/custom.conf" ++fi ++ ++AC_SUBST(GDM_RUNTIME_CONF) ++ ++ ++dnl --------------------------------------------------------------------------- + dnl - Finish + dnl --------------------------------------------------------------------------- + +Index: b/data/61-gdm.rules +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ b/data/61-gdm.rules 2018-01-22 17:25:13.997575149 +0800 +@@ -0,0 +1,2 @@ ++# disable Wayland on Cirrus chipsets ++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'" +Index: b/data/Makefile.am +=================================================================== +--- a/data/Makefile.am 2018-01-19 19:38:52.241209373 +0800 ++++ b/data/Makefile.am 2018-01-19 19:38:57.761366519 +0800 +@@ -161,12 +161,16 @@ + pam_files = $(pam_arch_files) + endif + ++udevrulesdir = $(prefix)/lib/udev/rules.d ++udevrules_DATA = 61-gdm.rules ++ + EXTRA_DIST += \ + $(dconf_db_files) \ + $(schemas_in_files) \ + $(schemas_DATA) \ + $(dbusconf_in_files) \ + $(localealias_DATA) \ ++ $(udevrules_DATA) \ + gdm.schemas.in.in \ + gdm.conf-custom.in \ + Xsession.in \ diff --git a/gdm-sysconfig-settings.patch b/gdm-sysconfig-settings.patch index ea33f27..db9c3f2 100644 --- a/gdm-sysconfig-settings.patch +++ b/gdm-sysconfig-settings.patch @@ -1,8 +1,8 @@ -Index: gdm-3.25.92/common/Makefile.am +Index: b/common/Makefile.am =================================================================== ---- gdm-3.25.92.orig/common/Makefile.am -+++ gdm-3.25.92/common/Makefile.am -@@ -50,11 +50,15 @@ libgdmcommon_la_SOURCES = \ +--- a/common/Makefile.am 2018-01-19 20:09:39.075556951 +0800 ++++ b/common/Makefile.am 2018-01-19 20:10:57.572967891 +0800 +@@ -52,11 +52,15 @@ gdm-settings-backend.h \ gdm-settings-desktop-backend.c \ gdm-settings-desktop-backend.h \ @@ -18,10 +18,10 @@ Index: gdm-3.25.92/common/Makefile.am gdm-log.h \ gdm-log.c \ $(MKDTEMP_FILES) \ -Index: gdm-3.25.92/common/gdm-settings-system-backend.c +Index: b/common/gdm-settings-system-backend.c =================================================================== ---- /dev/null -+++ gdm-3.25.92/common/gdm-settings-system-backend.c +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ b/common/gdm-settings-system-backend.c 2018-01-19 20:10:57.572967891 +0800 @@ -0,0 +1,369 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * @@ -392,10 +392,10 @@ Index: gdm-3.25.92/common/gdm-settings-system-backend.c + + return GDM_SETTINGS_BACKEND (object); +} -Index: gdm-3.25.92/common/gdm-settings-system-backend.h +Index: b/common/gdm-settings-system-backend.h =================================================================== ---- /dev/null -+++ gdm-3.25.92/common/gdm-settings-system-backend.h +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ b/common/gdm-settings-system-backend.h 2018-01-19 20:10:57.572967891 +0800 @@ -0,0 +1,56 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * @@ -453,11 +453,11 @@ Index: gdm-3.25.92/common/gdm-settings-system-backend.h +G_END_DECLS + +#endif /* __GDM_SETTINGS_SYSTEM_BACKEND_H */ -Index: gdm-3.25.92/common/gdm-settings.c +Index: b/common/gdm-settings.c =================================================================== ---- gdm-3.25.92.orig/common/gdm-settings.c -+++ gdm-3.25.92/common/gdm-settings.c -@@ -38,12 +38,13 @@ +--- a/common/gdm-settings.c 2018-01-19 20:10:02.587982412 +0800 ++++ b/common/gdm-settings.c 2018-01-19 20:12:09.186231713 +0800 +@@ -38,6 +38,7 @@ #include "gdm-settings.h" #include "gdm-settings-desktop-backend.h" @@ -465,127 +465,19 @@ Index: gdm-3.25.92/common/gdm-settings.c #define GDM_SETTINGS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GDM_TYPE_SETTINGS, GdmSettingsPrivate)) - struct GdmSettingsPrivate - { -- GdmSettingsBackend *backend; -+ GList *backends; - }; +@@ -198,6 +199,8 @@ + if (backend) + settings->priv->backends = g_list_prepend (NULL, backend); - enum { -@@ -80,15 +81,29 @@ gdm_settings_get_value (GdmSettings *set - { - GError *local_error; - gboolean res; -+ GList *l; - - g_return_val_if_fail (GDM_IS_SETTINGS (settings), FALSE); - g_return_val_if_fail (key != NULL, FALSE); - - local_error = NULL; -- res = gdm_settings_backend_get_value (settings->priv->backend, -- key, -- value, -- &local_error); -+ -+ for (l = settings->priv->backends; l; l = g_list_next (l)) { -+ GdmSettingsBackend *backend = l->data; -+ -+ if (local_error) { -+ g_error_free (local_error); -+ local_error = NULL; -+ } -+ -+ res = gdm_settings_backend_get_value (backend, -+ key, -+ value, -+ &local_error); -+ if (res) -+ break; -+ } -+ - if (! res) { - g_propagate_error (error, local_error); - } -@@ -104,6 +119,7 @@ gdm_settings_set_value (GdmSettings *set - { - GError *local_error; - gboolean res; -+ GList *l; - - g_return_val_if_fail (GDM_IS_SETTINGS (settings), FALSE); - g_return_val_if_fail (key != NULL, FALSE); -@@ -111,10 +127,23 @@ gdm_settings_set_value (GdmSettings *set - g_debug ("Setting value %s", key); - - local_error = NULL; -- res = gdm_settings_backend_set_value (settings->priv->backend, -- key, -- value, -- &local_error); -+ -+ for (l = settings->priv->backends; l; l = g_list_next (l)) { -+ GdmSettingsBackend *backend = l->data; -+ -+ if (local_error) { -+ g_error_free (local_error); -+ local_error = NULL; -+ } -+ -+ res = gdm_settings_backend_set_value (backend, -+ key, -+ value, -+ &local_error); -+ if (res) -+ break; -+ } -+ - if (! res) { - g_propagate_error (error, local_error); - } -@@ -162,13 +191,21 @@ backend_value_changed (GdmSettingsBacken - static void - gdm_settings_init (GdmSettings *settings) - { -+ GList *l; -+ - settings->priv = GDM_SETTINGS_GET_PRIVATE (settings); - -- settings->priv->backend = gdm_settings_desktop_backend_new (); -- g_signal_connect (settings->priv->backend, -- "value-changed", -- G_CALLBACK (backend_value_changed), -- settings); -+ settings->priv->backends = g_list_prepend (NULL, gdm_settings_desktop_backend_new ()); + settings->priv->backends = g_list_prepend (settings->priv->backends, gdm_settings_system_backend_new ()); + -+ for (l = settings->priv->backends; l; l = g_list_next (l)) { -+ GdmSettingsBackend *backend = l->data; -+ -+ g_signal_connect (backend, -+ "value-changed", -+ G_CALLBACK (backend_value_changed), -+ settings); -+ } - } - - static void -@@ -183,9 +220,9 @@ gdm_settings_finalize (GObject *object) - - g_return_if_fail (settings->priv != NULL); - -- if (settings->priv->backend != NULL) { -- g_object_unref (settings->priv->backend); -- } -+ g_list_foreach (settings->priv->backends, (GFunc) g_object_unref, NULL); -+ g_list_free (settings->priv->backends); -+ settings->priv->backends = NULL; - - settings_object = NULL; - -Index: gdm-3.25.92/common/gdm-sysconfig.c + backend = gdm_settings_desktop_backend_new (GDM_RUNTIME_CONF); + if (backend) + settings->priv->backends = g_list_prepend (settings->priv->backends, backend); +Index: b/common/gdm-sysconfig.c =================================================================== ---- /dev/null -+++ gdm-3.25.92/common/gdm-sysconfig.c +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ b/common/gdm-sysconfig.c 2018-01-19 20:10:57.572967891 +0800 @@ -0,0 +1,484 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * @@ -1071,10 +963,10 @@ Index: gdm-3.25.92/common/gdm-sysconfig.c + g_strfreev (lines); + return result; +} -Index: gdm-3.25.92/common/gdm-sysconfig.h +Index: b/common/gdm-sysconfig.h =================================================================== ---- /dev/null -+++ gdm-3.25.92/common/gdm-sysconfig.h +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ b/common/gdm-sysconfig.h 2018-01-19 20:10:57.572967891 +0800 @@ -0,0 +1,43 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * @@ -1119,10 +1011,10 @@ Index: gdm-3.25.92/common/gdm-sysconfig.h +G_END_DECLS + +#endif /* __GDM_SYSCONFIG_H */ -Index: gdm-3.25.92/data/gdm.conf-custom.in +Index: b/data/gdm.conf-custom.in =================================================================== ---- gdm-3.25.92.orig/data/gdm.conf-custom.in -+++ gdm-3.25.92/data/gdm.conf-custom.in +--- a/data/gdm.conf-custom.in 2018-01-19 20:09:39.075556951 +0800 ++++ b/data/gdm.conf-custom.in 2018-01-19 20:10:57.572967891 +0800 @@ -1,4 +1,7 @@ # GDM configuration storage +# diff --git a/gdm.changes b/gdm.changes index b0e0033..d8bb192 100644 --- a/gdm.changes +++ b/gdm.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Jan 19 10:27:26 UTC 2018 - fezhang@suse.com + +- Add gdm-disable-wayland-on-unsupported-chipsets.patch: let udev + write to a runtime config file to disable Wayland for gdm on + chipsets where Wayland is not supported yet, e.g. Cirrus + (boo#1059356, bgo#789081). +- Update gdm-sysconfig-settings.patch: parts of this openSUSE + specific patch are splitted and merged into + gdm-disable-wayland-on-unsupported-chipsets.patch to push to + upstream, + ------------------------------------------------------------------- Wed Jan 10 13:08:23 UTC 2018 - zaitor@opensuse.org diff --git a/gdm.spec b/gdm.spec index c9eb681..73f3a23 100644 --- a/gdm.spec +++ b/gdm.spec @@ -47,11 +47,14 @@ Source8: autogen.sh Patch0: gdm-workaround-boo971852.patch # PATCH-FIX-UPSTREAM gdm-nb-translations.patch zaitor@opensuse.org -- Update Norwegian Bokmål translations. Patch1: gdm-nb-translations.patch +# PATCH-FIX-UPSTREAM +# gdm-disable-wayland-on-unsupported-chipsets.patch boo#1059356 bgo#789081 fezhang@suse.com -- Disable Wayland on Cirrus chipsets +Patch2: gdm-disable-wayland-on-unsupported-chipsets.patch +# WARNING: do not remove/significantly change patch2 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) +Patch3: gdm-sysconfig-settings.patch # PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts Patch7: gdm-suse-xsession.patch -# WARNING: do not remove/significantly change patch8 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) -Patch8: gdm-sysconfig-settings.patch # PATCH-NEEDS-REBASE PATCH-FEATURE-OPENSUSE gdm-passwordless-login.patch vuntz@opensuse.org -- Support DISPLAYMANAGER_PASSWORD_LESS_LOGIN sysconfig option Patch9: gdm-passwordless-login.patch # PATCH-FIX-OPENSUSE gdm-default-wm.patch vuntz@novell.com -- Use sysconfig to know to which desktop to use by default @@ -206,8 +209,9 @@ translation-update-upstream #patch0 -p1 %endif %patch1 -p1 +%patch2 -p1 +%patch3 -p1 %patch7 -p1 -%patch8 -p1 %patch9 -p1 %patch34 -p1 %patch35 -p1 @@ -222,6 +226,7 @@ translation-update-upstream %build NOCONFIGURE=1 sh autogen.sh +autoreconf -fiv %configure\ --disable-static \ --libexecdir=%{_prefix}/lib/gdm \ @@ -382,6 +387,7 @@ dconf update %{_libexecdir}/X11/displaymanagers/default-displaymanager %{_libexecdir}/X11/displaymanagers/gdm %ghost %{_sysconfdir}/alternatives/default-displaymanager +%{_udevrulesdir}/61-gdm.rules %files -n libgdm1 %{_libdir}/libgdm.so.*