diff --git a/SuSEconfig.gdm b/SuSEconfig.gdm deleted file mode 100644 index 0cd56d1..0000000 --- a/SuSEconfig.gdm +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2004-2006 SuSE -# Author: Stanislav Brabec - -type -p cmp &> /dev/null || { - echo "${0##*/}: No cmp in PATH ... skipping" - exit 0 -} - -r=$ROOT -DISPLAYMANAGER_PASSWORD_LESS_LOGIN="no" -test -f $r/etc/sysconfig/displaymanager || { - echo "${0##*/}: No $r/etc/sysconfig/displaymanager found." - exit 1 -} -. $r/etc/sysconfig/displaymanager - -# Password-less login is implemented by PAM. Do the required change. -if [ "$DISPLAYMANAGER_PASSWORD_LESS_LOGIN" = "yes" ] ; then - sed 's/^\(auth[[:space:]][[:space:]]*\)include[[:space:]]\([[:space:]]*\)common-auth/\1required\2pam_permit.so/' <$r/etc/pam.d/gdm >$r/etc/pam.d/gdm.new -else - sed 's/^\(auth[[:space:]][[:space:]]*\)required\([[:space:]][[:space:]]*\)pam_permit\.so/\1include \2common-auth/' <$r/etc/pam.d/gdm >$r/etc/pam.d/gdm.new -fi -if cmp -s $r/etc/pam.d/gdm $r/etc/pam.d/gdm.new ; then - rm $r/etc/pam.d/gdm.new -else - mv $r/etc/pam.d/gdm.new $r/etc/pam.d/gdm -fi diff --git a/gdm-2.31.92.tar.bz2 b/gdm-2.31.92.tar.bz2 deleted file mode 100644 index 83ec895..0000000 --- a/gdm-2.31.92.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:429c4d8ef0ae1a30be8f250dca36c69cf948d20f57b0114676e41adb2528d995 -size 2476222 diff --git a/gdm-2.32.0.tar.bz2 b/gdm-2.32.0.tar.bz2 new file mode 100644 index 0000000..56129ee --- /dev/null +++ b/gdm-2.32.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f47acd19ed10d6fbb37c3e2b54f5b392c7020db67f71db3f75567ead30ab2fa4 +size 2477647 diff --git a/gdm-domain-logon.patch b/gdm-domain-logon.patch index 2b0f04a..cb87d74 100644 --- a/gdm-domain-logon.patch +++ b/gdm-domain-logon.patch @@ -1803,7 +1803,7 @@ Index: gdm-2.29.5/gui/simple-greeter/gdm-greeter-panel.c panel->priv->geometry.width = -1; panel->priv->geometry.height = -1; -+ if (!gdm_settings_client_get_boolean (GDM_KEY_SHOW_DOMAIN, ++ if (!gdm_settings_client_get_boolean (GDM_KEY_SUSE_SHOW_DOMAIN, + &panel->priv->show_domain)) { + panel->priv->show_domain = FALSE; + } @@ -2170,7 +2170,7 @@ Index: gdm-2.29.5/common/gdm-settings-keys.h #define GDM_KEY_DEBUG "debug/Enable" -+#define GDM_KEY_SHOW_DOMAIN "greeter/ShowDomain" ++#define GDM_KEY_SUSE_SHOW_DOMAIN "greeter/SUSEShowDomain" #define GDM_KEY_INCLUDE "greeter/Include" #define GDM_KEY_EXCLUDE "greeter/Exclude" #define GDM_KEY_INCLUDE_ALL "greeter/IncludeAll" @@ -2179,10 +2179,10 @@ Index: gdm-2.29.5/common/gdm-settings-system-backend.c --- gdm-2.29.5.orig/common/gdm-settings-system-backend.c +++ gdm-2.29.5/common/gdm-settings-system-backend.c @@ -44,11 +44,11 @@ - #define SYSCONFIG_AUTOLOGIN_KEY "DISPLAYMANAGER_AUTOLOGIN" - #define SYSCONFIG_TCP_OPEN_KEY "DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN" - #define SYSCONFIG_XDMCP_KEY "DISPLAYMANAGER_REMOTE_ACCESS" -+#define SYSCONFIG_AD_KEY "DISPLAYMANAGER_AD_INTEGRATION" + #define SYSCONFIG_AUTOLOGIN_KEY "DISPLAYMANAGER_AUTOLOGIN" + #define SYSCONFIG_TCP_OPEN_KEY "DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN" + #define SYSCONFIG_XDMCP_KEY "DISPLAYMANAGER_REMOTE_ACCESS" ++#define SYSCONFIG_AD_KEY "DISPLAYMANAGER_AD_INTEGRATION" /* Keys from sysconfig that have no equivalent in GDM: * - DISPLAYMANAGER_ROOT_LOGIN_REMOTE * - DISPLAYMANAGER_STARTS_XSERVER (we always have a local display manager, @@ -2210,7 +2210,7 @@ Index: gdm-2.29.5/common/gdm-settings-system-backend.c val = g_strdup (xdmcp ? "true" : "false"); } } -+ } else if (!strcasecmp (key, GDM_KEY_SHOW_DOMAIN)) { ++ } else if (!strcasecmp (key, GDM_KEY_SUSE_SHOW_DOMAIN)) { + if (priv->dirty_show_domain) { + val = g_strdup (priv->set_show_domain ? "true" : "false"); + } else { @@ -2248,7 +2248,7 @@ Index: gdm-2.29.5/common/gdm-settings-system-backend.c } else if (!strcasecmp (key, GDM_KEY_XDMCP_ENABLE)) { priv->set_xdmcp = value_to_boolean (value); GDM_SETTINGS_SYSTEM_BACKEND (backend)->priv->dirty_xdmcp = TRUE; -+ } else if (!strcasecmp (key, GDM_KEY_SHOW_DOMAIN)) { ++ } else if (!strcasecmp (key, GDM_KEY_SUSE_SHOW_DOMAIN)) { + priv->set_show_domain = value_to_boolean (value); + GDM_SETTINGS_SYSTEM_BACKEND (backend)->priv->dirty_show_domain = TRUE; } else { @@ -2258,11 +2258,12 @@ Index: gdm-2.29.5/data/gdm.schemas.in.in =================================================================== --- gdm-2.29.5.orig/data/gdm.schemas.in.in +++ gdm-2.29.5/data/gdm.schemas.in.in -@@ -61,6 +61,11 @@ +@@ -61,6 +61,12 @@ -+ greeter/ShowDomain ++ ++ greeter/SUSEShowDomain + b + false + diff --git a/gdm-passwordless-login.patch b/gdm-passwordless-login.patch new file mode 100644 index 0000000..9c1e36d --- /dev/null +++ b/gdm-passwordless-login.patch @@ -0,0 +1,163 @@ +Index: gdm-2.32.0/common/gdm-settings-system-backend.c +=================================================================== +--- gdm-2.32.0.orig/common/gdm-settings-system-backend.c ++++ gdm-2.32.0/common/gdm-settings-system-backend.c +@@ -44,11 +44,11 @@ + #define SYSCONFIG_AUTOLOGIN_KEY "DISPLAYMANAGER_AUTOLOGIN" + #define SYSCONFIG_TCP_OPEN_KEY "DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN" + #define SYSCONFIG_XDMCP_KEY "DISPLAYMANAGER_REMOTE_ACCESS" ++#define SYSCONFIG_PASSWORDLESS_KEY "DISPLAYMANAGER_PASSWORD_LESS_LOGIN" + /* Keys from sysconfig that have no equivalent in GDM: + * - DISPLAYMANAGER_ROOT_LOGIN_REMOTE + * - DISPLAYMANAGER_STARTS_XSERVER (we always have a local display manager, + * see gdm_manager_constructor()) +- * - DISPLAYMANAGER_PASSWORD_LESS_LOGIN + * - DISPLAYMANAGER_AD_INTEGRATION + * - DISPLAYMANAGER_SHUTDOWN (handled by ConsoleKit) + */ +@@ -66,12 +66,14 @@ struct GdmSettingsSystemBackendPrivate + gboolean dirty_autologin_user; + gboolean dirty_tcp_open; + gboolean dirty_xdmcp; ++ gboolean dirty_passwordless; + + gchar *set_autologin_user; + gboolean set_autologin_enabled; + + gboolean set_tcp_open; + gboolean set_xdmcp; ++ gboolean set_passwordless; + }; + + static void gdm_settings_system_backend_class_init (GdmSettingsSystemBackendClass *klass); +@@ -141,6 +143,16 @@ gdm_settings_system_backend_get_value (G + val = g_strdup (xdmcp ? "true" : "false"); + } + } ++ } else if (!strcasecmp (key, GDM_KEY_SUSE_PASSWORDLESS_LOGIN_ENABLE)) { ++ if (priv->dirty_passwordless) { ++ val = g_strdup (priv->set_passwordless ? "true" : "false"); ++ } else { ++ gboolean passwordless; ++ ++ if (gdm_sysconfig_get_value_boolean ((const gchar **) priv->lines, SYSCONFIG_PASSWORDLESS_KEY, &passwordless)) { ++ val = g_strdup (passwordless ? "true" : "false"); ++ } ++ } + } else { + g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found"); + goto out; +@@ -201,6 +213,12 @@ save_settings (GdmSettingsSystemBackend + backend->priv->set_xdmcp ? "yes" : "no"); + } + ++ if (backend->priv->dirty_passwordless) { ++ if (!gdm_sysconfig_set_value_boolean (backend->priv->lines, SYSCONFIG_PASSWORDLESS_KEY, backend->priv->set_passwordless)) ++ g_warning ("Unable to set key %s to '%s'.", SYSCONFIG_PASSWORDLESS_KEY, ++ backend->priv->set_passwordless ? "yes" : "no"); ++ } ++ + if (!gdm_sysconfig_save_file (backend->priv->filename, backend->priv->lines)) + g_warning ("Unable to save settings to %s.", backend->priv->filename); + +@@ -209,6 +227,7 @@ save_settings (GdmSettingsSystemBackend + backend->priv->dirty_autologin_user = FALSE; + backend->priv->dirty_tcp_open = FALSE; + backend->priv->dirty_xdmcp = FALSE; ++ backend->priv->dirty_passwordless = FALSE; + } + + static gboolean +@@ -276,6 +295,9 @@ gdm_settings_system_backend_set_value (G + } else if (!strcasecmp (key, GDM_KEY_XDMCP_ENABLE)) { + priv->set_xdmcp = value_to_boolean (value); + GDM_SETTINGS_SYSTEM_BACKEND (backend)->priv->dirty_xdmcp = TRUE; ++ } else if (!strcasecmp (key, GDM_KEY_SUSE_PASSWORDLESS_LOGIN_ENABLE)) { ++ priv->set_passwordless = value_to_boolean (value); ++ GDM_SETTINGS_SYSTEM_BACKEND (backend)->priv->dirty_passwordless = TRUE; + } else { + g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found"); + return FALSE; +Index: gdm-2.32.0/common/gdm-settings-keys.h +=================================================================== +--- gdm-2.32.0.orig/common/gdm-settings-keys.h ++++ gdm-2.32.0/common/gdm-settings-keys.h +@@ -32,6 +32,7 @@ G_BEGIN_DECLS + #define GDM_KEY_TIMED_LOGIN_ENABLE "daemon/TimedLoginEnable" + #define GDM_KEY_TIMED_LOGIN_USER "daemon/TimedLogin" + #define GDM_KEY_TIMED_LOGIN_DELAY "daemon/TimedLoginDelay" ++#define GDM_KEY_SUSE_PASSWORDLESS_LOGIN_ENABLE "daemon/SUSEPasswordlessEnable" + + #define GDM_KEY_DEBUG "debug/Enable" + +Index: gdm-2.32.0/data/gdm.schemas.in.in +=================================================================== +--- gdm-2.32.0.orig/data/gdm.schemas.in.in ++++ gdm-2.32.0/data/gdm.schemas.in.in +@@ -47,6 +47,12 @@ + i + 30 + ++ ++ ++ daemon/SUSEPasswordlessEnable ++ b ++ false ++ + + + debug/Enable +Index: gdm-2.32.0/daemon/gdm-factory-slave.c +=================================================================== +--- gdm-2.32.0.orig/daemon/gdm-factory-slave.c ++++ gdm-2.32.0/daemon/gdm-factory-slave.c +@@ -44,6 +44,9 @@ + + #include "gdm-common.h" + ++#include "gdm-settings-client.h" ++#include "gdm-settings-keys.h" ++ + #include "gdm-factory-slave.h" + #include "gdm-factory-slave-glue.h" + +@@ -406,9 +409,16 @@ on_greeter_begin_verification_for_user ( + const char *username, + GdmFactorySlave *slave) + { ++ gboolean passwordless; ++ ++ if (!gdm_settings_client_get_boolean (GDM_KEY_SUSE_PASSWORDLESS_LOGIN_ENABLE, ++ &passwordless)) { ++ passwordless = FALSE; ++ } ++ + g_debug ("GdmFactorySlave: begin verification for user"); + gdm_session_setup_for_user (GDM_SESSION (slave->priv->session), +- "gdm", ++ passwordless ? "gdm-autologin" : "gdm", + username); + } + +Index: gdm-2.32.0/daemon/gdm-simple-slave.c +=================================================================== +--- gdm-2.32.0.orig/daemon/gdm-simple-slave.c ++++ gdm-2.32.0/daemon/gdm-simple-slave.c +@@ -837,9 +837,16 @@ on_greeter_begin_verification_for_user ( + const char *username, + GdmSimpleSlave *slave) + { ++ gboolean passwordless; ++ ++ if (!gdm_settings_client_get_boolean (GDM_KEY_SUSE_PASSWORDLESS_LOGIN_ENABLE, ++ &passwordless)) { ++ passwordless = FALSE; ++ } ++ + g_debug ("GdmSimpleSlave: begin verification"); + gdm_session_setup_for_user (GDM_SESSION (slave->priv->session), +- "gdm", ++ passwordless ? "gdm-autologin" : "gdm", + username); + } + diff --git a/gdm-sysconfig-settings.patch b/gdm-sysconfig-settings.patch index 8f11d5e..3785e77 100644 --- a/gdm-sysconfig-settings.patch +++ b/gdm-sysconfig-settings.patch @@ -1,8 +1,8 @@ -Index: gdm-2.29.4/common/Makefile.am +Index: gdm-2.32.0/common/Makefile.am =================================================================== ---- gdm-2.29.4.orig/common/Makefile.am -+++ gdm-2.29.4/common/Makefile.am -@@ -84,6 +84,8 @@ libgdmcommon_la_SOURCES = \ +--- gdm-2.32.0.orig/common/Makefile.am ++++ gdm-2.32.0/common/Makefile.am +@@ -82,6 +82,8 @@ libgdmcommon_la_SOURCES = \ gdm-settings-backend.h \ gdm-settings-desktop-backend.c \ gdm-settings-desktop-backend.h \ @@ -11,7 +11,7 @@ Index: gdm-2.29.4/common/Makefile.am gdm-settings-keys.h \ gdm-settings-utils.h \ gdm-settings-utils.c \ -@@ -91,6 +93,8 @@ libgdmcommon_la_SOURCES = \ +@@ -89,6 +91,8 @@ libgdmcommon_la_SOURCES = \ gdm-settings-direct.h \ gdm-settings-client.h \ gdm-settings-client.c \ @@ -20,11 +20,11 @@ Index: gdm-2.29.4/common/Makefile.am gdm-log.h \ gdm-log.c \ gdm-md5.h \ -Index: gdm-2.29.4/common/gdm-settings-system-backend.c +Index: gdm-2.32.0/common/gdm-settings-system-backend.c =================================================================== --- /dev/null -+++ gdm-2.29.4/common/gdm-settings-system-backend.c -@@ -0,0 +1,348 @@ ++++ gdm-2.32.0/common/gdm-settings-system-backend.c +@@ -0,0 +1,349 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * + * Copyright (C) 2008 Hans Petter Jansson @@ -68,13 +68,14 @@ Index: gdm-2.29.4/common/gdm-settings-system-backend.c +#include "gdm-marshal.h" +#include "gdm-log.h" + -+#define SYSCONFIG_AUTOLOGIN_KEY "DISPLAYMANAGER_AUTOLOGIN" -+#define SYSCONFIG_TCP_OPEN_KEY "DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN" -+#define SYSCONFIG_XDMCP_KEY "DISPLAYMANAGER_REMOTE_ACCESS" ++#define SYSCONFIG_AUTOLOGIN_KEY "DISPLAYMANAGER_AUTOLOGIN" ++#define SYSCONFIG_TCP_OPEN_KEY "DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN" ++#define SYSCONFIG_XDMCP_KEY "DISPLAYMANAGER_REMOTE_ACCESS" +/* Keys from sysconfig that have no equivalent in GDM: + * - DISPLAYMANAGER_ROOT_LOGIN_REMOTE + * - DISPLAYMANAGER_STARTS_XSERVER (we always have a local display manager, + * see gdm_manager_constructor()) ++ * - DISPLAYMANAGER_PASSWORD_LESS_LOGIN + * - DISPLAYMANAGER_AD_INTEGRATION + * - DISPLAYMANAGER_SHUTDOWN (handled by ConsoleKit) + */ @@ -373,10 +374,10 @@ Index: gdm-2.29.4/common/gdm-settings-system-backend.c + + return GDM_SETTINGS_BACKEND (object); +} -Index: gdm-2.29.4/common/gdm-settings-system-backend.h +Index: gdm-2.32.0/common/gdm-settings-system-backend.h =================================================================== --- /dev/null -+++ gdm-2.29.4/common/gdm-settings-system-backend.h ++++ gdm-2.32.0/common/gdm-settings-system-backend.h @@ -0,0 +1,56 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * @@ -434,10 +435,10 @@ Index: gdm-2.29.4/common/gdm-settings-system-backend.h +G_END_DECLS + +#endif /* __GDM_SETTINGS_SYSTEM_BACKEND_H */ -Index: gdm-2.29.4/common/gdm-settings.c +Index: gdm-2.32.0/common/gdm-settings.c =================================================================== ---- gdm-2.29.4.orig/common/gdm-settings.c -+++ gdm-2.29.4/common/gdm-settings.c +--- gdm-2.32.0.orig/common/gdm-settings.c ++++ gdm-2.32.0/common/gdm-settings.c @@ -41,6 +41,7 @@ #include "gdm-settings-glue.h" @@ -565,10 +566,10 @@ Index: gdm-2.29.4/common/gdm-settings.c G_OBJECT_CLASS (gdm_settings_parent_class)->finalize (object); } -Index: gdm-2.29.4/common/gdm-sysconfig.c +Index: gdm-2.32.0/common/gdm-sysconfig.c =================================================================== --- /dev/null -+++ gdm-2.29.4/common/gdm-sysconfig.c ++++ gdm-2.32.0/common/gdm-sysconfig.c @@ -0,0 +1,481 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * @@ -1051,10 +1052,10 @@ Index: gdm-2.29.4/common/gdm-sysconfig.c + g_strfreev (lines); + return result; +} -Index: gdm-2.29.4/common/gdm-sysconfig.h +Index: gdm-2.32.0/common/gdm-sysconfig.h =================================================================== --- /dev/null -+++ gdm-2.29.4/common/gdm-sysconfig.h ++++ gdm-2.32.0/common/gdm-sysconfig.h @@ -0,0 +1,43 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * @@ -1099,10 +1100,10 @@ Index: gdm-2.29.4/common/gdm-sysconfig.h +G_END_DECLS + +#endif /* __GDM_SYSCONFIG_H */ -Index: gdm-2.29.4/data/gdm.conf-custom.in +Index: gdm-2.32.0/data/gdm.conf-custom.in =================================================================== ---- gdm-2.29.4.orig/data/gdm.conf-custom.in -+++ gdm-2.29.4/data/gdm.conf-custom.in +--- gdm-2.32.0.orig/data/gdm.conf-custom.in ++++ gdm-2.32.0/data/gdm.conf-custom.in @@ -1,4 +1,7 @@ # GDM configuration storage +# diff --git a/gdm.changes b/gdm.changes index bf6617f..f6a1429 100644 --- a/gdm.changes +++ b/gdm.changes @@ -1,3 +1,38 @@ +------------------------------------------------------------------- +Fri Oct 8 13:38:23 CEST 2010 - vuntz@opensuse.org + +- Rework the way we handle passwordless logins: + + Stop using SuSEconfig for this. Since this is the last thing + that was done in SuSEconfig.gdm, drop SuSEconfig.gdm. + + Add gdm-passwordless-login.patch: we now directly look at the + DISPLAYMANAGER_PASSWORD_LESS_LOGIN option in + /etc/sysconfig/displaymanager, and use the gdm-autologin pam + service for authentication when we want passwordless logins. + + On upgrades, we make sure that /etc/pam.d/gdm does not contain + the old way to handle DISPLAYMANAGER_PASSWORD_LESS_LOGIN: if + /sbin/conf.d/SuSEconfig.gdm exists and if /etc/pam.d/gdm + contains pam_permit.so, then we have an old package which used + the old way. We move /etc/pam.d/gdm to /etc/pam.d/gdm.rpmold to + make sure we get back the right pam configuration. +- Update gdm-domain-logon.patch a bit: even though it's not + applied because the patch needs to be rebased, a few things could + be cleaned up. The most visible part is that we prefix the + configuration key with SUSE to clearly show it's SUSE-specific. +- Update gdm-sysconfig-settings.patch a tiny bit to make + gdm-passwordless-login.patch easier. + +------------------------------------------------------------------- +Mon Sep 27 20:29:08 CEST 2010 - vuntz@opensuse.org + +- Update to version 2.32.0: + + Updated translations. + +------------------------------------------------------------------- +Mon Sep 27 05:59:41 UTC 2010 - aj@suse.de + +- Mark /var/run/gdm as ghost in case that /var/run is on tmpfs. + gdm creates the directory itself. + ------------------------------------------------------------------- Wed Sep 22 14:26:23 CEST 2010 - vuntz@opensuse.org diff --git a/gdm.spec b/gdm.spec index 33873e0..e0a13b0 100644 --- a/gdm.spec +++ b/gdm.spec @@ -1,5 +1,5 @@ # -# spec file for package gdm (Version 2.31.92) +# spec file for package gdm (Version 2.32.0) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -41,14 +41,12 @@ BuildRequires: xorg-x11-server-extra BuildRequires: zenity License: GPLv2+ Group: System/GUI/GNOME -Version: 2.31.92 +Version: 2.32.0 Release: 1 Summary: The GNOME 2.x Display Manager Source: %{name}-%{version}.tar.bz2 Source1: gdm.pamd Source2: gdm-autologin.pamd -# FIXME: See FIXME in the script. -Source3: SuSEconfig.gdm # PATCH-FIX-UPSTREAM gdm-helper-directory.patch bgo582320 vuntz@novell.com -- Add --with-gnome-settings-daemon-directory, --with-consolekit-directory, --with-at-spi-registryd-directory Patch1: gdm-helper-directory.patch # PATCH-FIX-OPENSUSE gdm-is-not-unstable-unless.patch vuntz@opensuse.org -- Make gdm think it's never running a development version unless SUSE_ENABLE_UNSTABLE_CHECK is set. This disables fatal warnings as well as abusive log @@ -61,8 +59,10 @@ Patch6: gdm-desktop-session-env-pam.patch Patch7: gdm-suse-xsession.patch # PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 hpj@novell.com -- Read autologin options from /etc/sysconfig/displaymanager Patch8: gdm-sysconfig-settings.patch +# PATCH-FEATURE-OPENSUSE gdm-passwordless-login.patch vuntz@opensuse.org -- Support DISPLAYMANAGER_PASSWORD_LESS_LOGIN sysconfig option +Patch9: gdm-passwordless-login.patch # PATCH-NEEDS-REBASE gdm-domain-logon.patch hpj@novell.com -- Add UI to log in a specific domain (was: PATCH_FEATURE-SLED bnc#627575) -Patch9: gdm-domain-logon.patch +Patch10: gdm-domain-logon.patch # PATCH-FIX-UPSTREAM gdm-greeter-greater-ui.patch bnc436431 bgo560508 vuntz@novell.com -- Improve the layout of the greeter. Note: the patch contains a patched glade file *and* the result glade file (for reference only, in case we need to rebase the patch) Patch15: gdm-greeter-greater-ui.patch # PATCH-FIX-UPSTREAM gdm-always-reflect-keyboard-layout.patch bnc438159 bgo561771 hpj@novell.com -- Make keyboard selector not neglect to apply the selected keyboard in some situations. @@ -146,7 +146,8 @@ translation-update-upstream %patch6 -p1 %patch7 -p1 %patch8 -p1 -#%patch9 -p1 +%patch9 -p1 +#%patch10 -p1 %patch15 -p1 %patch18 -p1 %patch20 -p1 @@ -181,16 +182,12 @@ autoreconf -f -i %find_gconf_schemas # Remove wrapper, it is not needed. mv $RPM_BUILD_ROOT%{_sbindir}/gdm-binary $RPM_BUILD_ROOT%{_sbindir}/gdm -# Install PAM files and remove examples. +# Install PAM files. mkdir -p $RPM_BUILD_ROOT/etc/pam.d cp %{S:1} $RPM_BUILD_ROOT/etc/pam.d/gdm cp %{S:2} $RPM_BUILD_ROOT/etc/pam.d/gdm-autologin # Install PostLogin script. mv $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default.sample $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default -# Install SuSEconfig script. -mkdir -p $RPM_BUILD_ROOT/sbin/conf.d -cp %{S:3} $RPM_BUILD_ROOT/sbin/conf.d -chmod +x $RPM_BUILD_ROOT/sbin/conf.d/SuSEconfig.gdm mkdir -p $RPM_BUILD_ROOT{_localstatedir}/log/gdm mkdir -p $RPM_BUILD_ROOT{_localstatedir}/run/gdm %find_lang %{name} @@ -219,6 +216,15 @@ if test -f sbin/conf.d/SuSEconfig.gdm && grep -q gdm-autologin sbin/conf.d/SuSEc fi fi fi +# Fix how DISPLAYMANAGER_PASSWORD_LESS_LOGIN is used. Before 11.4, +# /etc/pam.d/gdm was changed to use pam_permit. We don't want this anymore. +if test -f /sbin/conf.d/SuSEconfig.gdm; then + grep -q pam_permit.so /etc/pam.d/gdm + if test $? -eq 0; then + # We'll just use the file from the new package + mv /etc/pam.d/gdm /etc/pam.d/gdm.rpmold + fi +fi %preun -f %{name}.schemas_preun @@ -242,14 +248,13 @@ fi %{_libexecdir}/gdm/gdm-* %exclude %{_libexecdir}/gdm/gdm-user-switch-applet %attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm -%attr(751,gdm,gdm) %dir %{_localstatedir}/run/gdm +%ghost %attr(751,gdm,gdm) %dir %{_localstatedir}/run/gdm %attr(750,gdm,gdm) %dir %{_localstatedir}/log/gdm %attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm/.gconf.mandatory %attr(640,gdm,gdm) %{_localstatedir}/lib/gdm/.gconf.mandatory/%gconf-tree.xml %attr(640,gdm,gdm) %{_localstatedir}/lib/gdm/.gconf.path %dir %{_localstatedir}/cache/gdm %config /etc/pam.d/* -/sbin/conf.d/SuSEconfig.gdm %config %{_sysconfdir}/dbus-1/system.d/gdm.conf %files branding-upstream