Accepting request 136669 from GNOME:Factory
Pushing GNOME:Factory towards openSUSE:Factory OBS-URL: https://build.opensuse.org/request/show/136669 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gdm?expand=0&rev=144
This commit is contained in:
commit
5e1b1cfdc9
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6292968dff5fc89877b5e1aaa3c7d1484dd3ed2d4f388e935841d053439be665
|
||||
size 1615612
|
3
gdm-3.6.0.tar.xz
Normal file
3
gdm-3.6.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ea63736fc8f7234aca442f4e99b3ba9cc29dce5e464ed93f7bf7eb8c49abd60b
|
||||
size 1627064
|
@ -1,28 +1,28 @@
|
||||
Index: gdm-2.30.4/daemon/gdm-session-direct.c
|
||||
===================================================================
|
||||
--- gdm-2.30.4.orig/daemon/gdm-session-direct.c
|
||||
+++ gdm-2.30.4/daemon/gdm-session-direct.c
|
||||
@@ -50,6 +50,8 @@
|
||||
#include <dbus/dbus-glib.h>
|
||||
#include <dbus/dbus-glib-lowlevel.h>
|
||||
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
|
||||
index 90b9045..f2ea011 100644
|
||||
--- a/daemon/gdm-session.c
|
||||
+++ b/daemon/gdm-session.c
|
||||
@@ -43,6 +43,8 @@
|
||||
#include <glib-object.h>
|
||||
#include <gio/gio.h>
|
||||
|
||||
+#include "gdm-sysconfig.h"
|
||||
+
|
||||
#include "gdm-session-direct.h"
|
||||
#include "gdm-session.h"
|
||||
#include "gdm-session-private.h"
|
||||
@@ -662,6 +664,14 @@ get_fallback_session_name (GdmSessionDir
|
||||
#include "gdm-session-glue.h"
|
||||
#include "gdm-dbus-util.h"
|
||||
@@ -518,6 +520,14 @@ get_fallback_session_name (GdmSession *self)
|
||||
}
|
||||
}
|
||||
|
||||
+ name = gdm_sysconfig_load_value ("/etc/sysconfig/windowmanager", "DEFAULT_WM");
|
||||
+ if (name && get_session_command_for_name (name, NULL)) {
|
||||
+ g_free (session_direct->priv->fallback_session_name);
|
||||
+ session_direct->priv->fallback_session_name = name;
|
||||
+ g_free (self->priv->fallback_session_name);
|
||||
+ self->priv->fallback_session_name = name;
|
||||
+ goto out;
|
||||
+ }
|
||||
+ g_free (name);
|
||||
+
|
||||
name = g_strdup ("gnome");
|
||||
if (get_session_command_for_name (name, NULL)) {
|
||||
g_free (session_direct->priv->fallback_session_name);
|
||||
g_free (self->priv->fallback_session_name);
|
||||
|
@ -1,29 +1,17 @@
|
||||
Index: gdm-3.3.92.1/daemon/gdm-session-worker.c
|
||||
Index: gdm-3.5.91/daemon/gdm-session-worker.c
|
||||
===================================================================
|
||||
--- gdm-3.3.92.1.orig/daemon/gdm-session-worker.c
|
||||
+++ gdm-3.3.92.1/daemon/gdm-session-worker.c
|
||||
@@ -148,6 +148,8 @@ struct GdmSessionWorkerPrivate
|
||||
|
||||
GdmSessionAuditor *auditor;
|
||||
--- gdm-3.5.91.orig/daemon/gdm-session-worker.c
|
||||
+++ gdm-3.5.91/daemon/gdm-session-worker.c
|
||||
@@ -159,6 +159,8 @@ struct GdmSessionWorkerPrivate
|
||||
GdmSessionSettings *user_settings;
|
||||
|
||||
GDBusMethodInvocation *pending_invocation;
|
||||
+
|
||||
+ char *suse_session_name;
|
||||
+ char *suse_session_name;
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -166,6 +168,11 @@ static void gdm_session_worker_set_e
|
||||
static void queue_state_change (GdmSessionWorker *worker);
|
||||
|
||||
|
||||
+static void
|
||||
+gdm_session_worker_set_environment_variable (GdmSessionWorker *worker,
|
||||
+ const char *key,
|
||||
+ const char *value);
|
||||
+
|
||||
typedef int (* GdmSessionWorkerPamNewMessagesFunc) (int,
|
||||
const struct pam_message **,
|
||||
struct pam_response **,
|
||||
@@ -1196,6 +1203,9 @@ gdm_session_worker_initialize_pam (GdmSe
|
||||
@@ -1115,6 +1117,9 @@ gdm_session_worker_initialize_pam (GdmSe
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -33,10 +21,11 @@ Index: gdm-3.3.92.1/daemon/gdm-session-worker.c
|
||||
g_debug ("GdmSessionWorker: state SETUP_COMPLETE");
|
||||
worker->priv->state = GDM_SESSION_WORKER_STATE_SETUP_COMPLETE;
|
||||
|
||||
@@ -2051,11 +2061,26 @@ static void
|
||||
gdm_session_worker_set_session_name (GdmSessionWorker *worker,
|
||||
const char *session_name)
|
||||
@@ -2035,12 +2040,36 @@ gdm_session_worker_handle_set_session_na
|
||||
{
|
||||
GdmSessionWorker *worker = GDM_SESSION_WORKER (object);
|
||||
g_debug ("GdmSessionWorker: session name set to %s", session_name);
|
||||
+
|
||||
+ if (worker->priv->pam_handle != NULL)
|
||||
+ gdm_session_worker_set_environment_variable (worker, "DESKTOP_SESSION", session_name);
|
||||
+ g_free (worker->priv->suse_session_name);
|
||||
@ -44,146 +33,133 @@ Index: gdm-3.3.92.1/daemon/gdm-session-worker.c
|
||||
+
|
||||
gdm_session_settings_set_session_name (worker->priv->user_settings,
|
||||
session_name);
|
||||
gdm_dbus_worker_complete_set_session_name (object, invocation);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
+gdm_session_worker_set_default_session_name (GdmSessionWorker *worker,
|
||||
+ const char *session_name)
|
||||
+static gboolean
|
||||
+gdm_session_worker_handle_set_default_session_name (GdmDBusWorker *object,
|
||||
+ GDBusMethodInvocation *invocation,
|
||||
+ const char *session_name)
|
||||
+{
|
||||
+ GdmSessionWorker *worker = GDM_SESSION_WORKER (object);
|
||||
+ g_debug ("GdmSessionWorker: default session name set to %s", session_name);
|
||||
+
|
||||
+ if (worker->priv->pam_handle != NULL)
|
||||
+ gdm_session_worker_set_environment_variable (worker, "DESKTOP_SESSION", session_name);
|
||||
+ g_free (worker->priv->suse_session_name);
|
||||
+ worker->priv->suse_session_name = g_strdup (session_name);
|
||||
+
|
||||
+ gdm_dbus_worker_complete_set_default_session_name (object, invocation);
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
on_set_session_name (GdmSessionWorker *worker,
|
||||
DBusMessage *message)
|
||||
{
|
||||
@@ -2108,6 +2133,28 @@ on_set_session_type (GdmSessionWorker *w
|
||||
}
|
||||
+
|
||||
static gboolean
|
||||
gdm_session_worker_handle_set_session_type (GdmDBusWorker *object,
|
||||
GDBusMethodInvocation *invocation,
|
||||
@@ -2831,6 +2860,7 @@ worker_interface_init (GdmDBusWorkerIfac
|
||||
interface->handle_open = gdm_session_worker_handle_open;
|
||||
interface->handle_set_language_name = gdm_session_worker_handle_set_language_name;
|
||||
interface->handle_set_session_name = gdm_session_worker_handle_set_session_name;
|
||||
+ interface->handle_set_default_session_name = gdm_session_worker_handle_set_default_session_name;
|
||||
interface->handle_set_session_type = gdm_session_worker_handle_set_session_type;
|
||||
interface->handle_set_environment_variable = gdm_session_worker_handle_set_environment_variable;
|
||||
interface->handle_start_program = gdm_session_worker_handle_start_program;
|
||||
@@ -2943,6 +2973,8 @@ gdm_session_worker_finalize (GObject *ob
|
||||
|
||||
static void
|
||||
+on_set_default_session_name (GdmSessionWorker *worker,
|
||||
+ DBusMessage *message)
|
||||
+{
|
||||
+ DBusError error;
|
||||
+ const char *session_name;
|
||||
+ dbus_bool_t res;
|
||||
+
|
||||
+ dbus_error_init (&error);
|
||||
+ res = dbus_message_get_args (message,
|
||||
+ &error,
|
||||
+ DBUS_TYPE_STRING, &session_name,
|
||||
+ DBUS_TYPE_INVALID);
|
||||
+ if (res) {
|
||||
+ g_debug ("GdmSessionWorker: default session name changed; session name set to %s", session_name);
|
||||
+ gdm_session_worker_set_default_session_name (worker, session_name);
|
||||
+ } else {
|
||||
+ g_warning ("Unable to get arguments: %s", error.message);
|
||||
+ dbus_error_free (&error);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
gdm_session_worker_set_language_name (GdmSessionWorker *worker,
|
||||
const char *language_name)
|
||||
{
|
||||
@@ -2830,6 +2877,8 @@ worker_dbus_handle_message (DBusConnecti
|
||||
on_set_session_name (worker, message);
|
||||
} else if (dbus_message_is_signal (message, GDM_SESSION_DBUS_INTERFACE, "SetSessionType")) {
|
||||
on_set_session_type (worker, message);
|
||||
+ } else if (dbus_message_is_signal (message, GDM_SESSION_DBUS_INTERFACE, "SetDefaultSessionName")) {
|
||||
+ on_set_default_session_name (worker, message);
|
||||
} else {
|
||||
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
|
||||
}
|
||||
@@ -3001,6 +3050,8 @@ gdm_session_worker_finalize (GObject *ob
|
||||
g_free (worker->priv->server_address);
|
||||
g_strfreev (worker->priv->arguments);
|
||||
g_hash_table_unref (worker->priv->reauthentication_requests);
|
||||
|
||||
+ g_free (worker->priv->suse_session_name);
|
||||
+
|
||||
G_OBJECT_CLASS (gdm_session_worker_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
Index: gdm-3.3.92.1/daemon/gdm-session-direct.c
|
||||
Index: gdm-3.5.91/daemon/gdm-session-worker.xml
|
||||
===================================================================
|
||||
--- gdm-3.3.92.1.orig/daemon/gdm-session-direct.c
|
||||
+++ gdm-3.3.92.1/daemon/gdm-session-direct.c
|
||||
@@ -135,6 +135,8 @@ G_DEFINE_TYPE_WITH_CODE (GdmSessionDirec
|
||||
G_IMPLEMENT_INTERFACE (GDM_TYPE_SESSION,
|
||||
gdm_session_iface_init))
|
||||
--- gdm-3.5.91.orig/daemon/gdm-session-worker.xml
|
||||
+++ gdm-3.5.91/daemon/gdm-session-worker.xml
|
||||
@@ -13,6 +13,9 @@
|
||||
<method name="SetSessionName">
|
||||
<arg name="session_name" direction="in" type="s" />
|
||||
</method>
|
||||
+ <method name="SetDefaultSessionName">
|
||||
+ <arg name="default_session_name" direction="in" type="s"/>
|
||||
+ </method>
|
||||
<method name="SetSessionType">
|
||||
<arg name="session_type" direction="in" type="s"/>
|
||||
</method>
|
||||
Index: gdm-3.5.91/daemon/gdm-session.c
|
||||
===================================================================
|
||||
--- gdm-3.5.91.orig/daemon/gdm-session.c
|
||||
+++ gdm-3.5.91/daemon/gdm-session.c
|
||||
@@ -162,6 +162,8 @@ G_DEFINE_TYPE (GdmSession,
|
||||
gdm_session,
|
||||
G_TYPE_OBJECT);
|
||||
|
||||
+static const char *get_session_name (GdmSessionDirect *session);
|
||||
+static const char *get_session_name (GdmSession *self);
|
||||
+
|
||||
static gboolean
|
||||
send_dbus_message (GdmSessionConversation *conversation,
|
||||
DBusMessage *message)
|
||||
@@ -774,10 +776,27 @@ get_default_session_name (GdmSessionDire
|
||||
static GdmSessionConversation *
|
||||
find_conversation_by_name (GdmSession *self,
|
||||
const char *service_name)
|
||||
@@ -598,6 +600,9 @@ get_default_session_name (GdmSession *se
|
||||
static void
|
||||
gdm_session_direct_defaults_changed (GdmSessionDirect *session)
|
||||
gdm_session_defaults_changed (GdmSession *self)
|
||||
{
|
||||
+ GdmSessionDirect *impl = GDM_SESSION_DIRECT (session);
|
||||
+ GHashTableIter iter;
|
||||
+ gpointer key, value;
|
||||
+ const char *text;
|
||||
|
||||
if (self->priv->greeter_interface != NULL) {
|
||||
gdm_dbus_greeter_emit_default_language_name_changed (self->priv->greeter_interface,
|
||||
@@ -605,6 +610,19 @@ gdm_session_defaults_changed (GdmSession
|
||||
gdm_dbus_greeter_emit_default_session_name_changed (self->priv->greeter_interface,
|
||||
get_default_session_name (self));
|
||||
}
|
||||
+
|
||||
_gdm_session_default_language_name_changed (GDM_SESSION (session),
|
||||
get_default_language_name (session));
|
||||
_gdm_session_default_session_name_changed (GDM_SESSION (session),
|
||||
get_default_session_name (session));
|
||||
+ text = get_session_name (self);
|
||||
+
|
||||
+ text = get_session_name (impl);
|
||||
+
|
||||
+ g_hash_table_iter_init (&iter, impl->priv->conversations);
|
||||
+ g_hash_table_iter_init (&iter, self->priv->conversations);
|
||||
+ while (g_hash_table_iter_next (&iter, &key, &value)) {
|
||||
+ GdmSessionConversation *conversation;
|
||||
+
|
||||
+ conversation = (GdmSessionConversation *) value;
|
||||
+
|
||||
+ send_dbus_string_signal (conversation, "SetDefaultSessionName",
|
||||
+ text);
|
||||
+ gdm_dbus_worker_call_set_default_session_name (conversation->worker_proxy,
|
||||
+ text,
|
||||
+ NULL, NULL, NULL);
|
||||
+ }
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1230,11 +1249,28 @@ gdm_session_direct_handle_saved_session_
|
||||
void
|
||||
@@ -910,6 +928,10 @@ worker_on_saved_session_name_read (GdmDB
|
||||
|
||||
if (strcmp (session_name,
|
||||
get_default_session_name (session)) != 0) {
|
||||
+ GdmSessionDirect *impl = GDM_SESSION_DIRECT (session);
|
||||
get_default_session_name (self)) != 0) {
|
||||
+ GHashTableIter iter;
|
||||
+ gpointer key, value;
|
||||
+ const char *text;
|
||||
+
|
||||
g_free (session->priv->saved_session);
|
||||
session->priv->saved_session = g_strdup (session_name);
|
||||
g_free (self->priv->saved_session);
|
||||
self->priv->saved_session = g_strdup (session_name);
|
||||
|
||||
_gdm_session_default_session_name_changed (GDM_SESSION (session),
|
||||
session_name);
|
||||
@@ -917,6 +939,19 @@ worker_on_saved_session_name_read (GdmDB
|
||||
gdm_dbus_greeter_emit_default_session_name_changed (self->priv->greeter_interface,
|
||||
session_name);
|
||||
}
|
||||
+
|
||||
+ text = get_session_name (impl);
|
||||
+ text = get_session_name (self);
|
||||
+
|
||||
+ g_hash_table_iter_init (&iter, impl->priv->conversations);
|
||||
+ g_hash_table_iter_init (&iter, self->priv->conversations);
|
||||
+ while (g_hash_table_iter_next (&iter, &key, &value)) {
|
||||
+ GdmSessionConversation *conversation;
|
||||
+
|
||||
+ conversation = (GdmSessionConversation *) value;
|
||||
+
|
||||
+ send_dbus_string_signal (conversation, "SetDefaultSessionName",
|
||||
+ text);
|
||||
+ gdm_dbus_worker_call_set_default_session_name (conversation->worker_proxy,
|
||||
+ text,
|
||||
+ NULL, NULL, NULL);
|
||||
+ }
|
||||
}
|
||||
out:
|
||||
return DBUS_HANDLER_RESULT_HANDLED;
|
||||
@@ -1434,6 +1470,9 @@ do_introspect (DBusConnection *connectio
|
||||
" <signal name=\"SetSessionType\">\n"
|
||||
" <arg name=\"session_type\" type=\"s\"/>\n"
|
||||
" </signal>\n"
|
||||
+ " <signal name=\"SetDefaultSessionName\">\n"
|
||||
+ " <arg name=\"session_name\" type=\"s\"/>\n"
|
||||
+ " </signal>\n"
|
||||
" <signal name=\"StartProgram\">\n"
|
||||
" <arg name=\"command\" type=\"s\"/>\n"
|
||||
" </signal>\n"
|
||||
}
|
||||
|
||||
|
17
gdm-fingerprint.pamd
Normal file
17
gdm-fingerprint.pamd
Normal file
@ -0,0 +1,17 @@
|
||||
# Sample PAM file for doing fingerprint authentication.
|
||||
# Distros should replace this with what makes sense for them.
|
||||
auth required pam_env.so
|
||||
auth required pam_fprintd.so
|
||||
auth sufficient pam_succeed_if.so uid >= 500 quiet
|
||||
auth required pam_deny.so
|
||||
|
||||
account required pam_unix.so
|
||||
account sufficient pam_localuser.so
|
||||
account sufficient pam_succeed_if.so uid < 500 quiet
|
||||
account required pam_permit.so
|
||||
|
||||
password required pam_deny.so
|
||||
|
||||
session optional pam_keyinit.so revoke
|
||||
session required pam_limits.so
|
||||
session required pam_unix.so
|
@ -1,84 +0,0 @@
|
||||
Index: gdm-3.1.90/configure.ac
|
||||
===================================================================
|
||||
--- gdm-3.1.90.orig/configure.ac
|
||||
+++ gdm-3.1.90/configure.ac
|
||||
@@ -1045,6 +1045,22 @@ fi
|
||||
AC_SUBST(GDM_CUSTOM_CONF)
|
||||
AC_SUBST(GDM_OLD_CONF, '${gdmconfdir}/gdm.conf')
|
||||
|
||||
+AC_ARG_WITH(consolekit-directory,
|
||||
+ [AC_HELP_STRING([--with-consolekit-directory],
|
||||
+ [Specify the directory of ck-get-x11-display-device @<:@default=libexecdir@:>@])],,
|
||||
+ [with_consolekit_directory="\${libexecdir}"])
|
||||
+
|
||||
+CONSOLEKIT_DIR=$with_consolekit_directory
|
||||
+AC_SUBST(CONSOLEKIT_DIR)
|
||||
+
|
||||
+AC_ARG_WITH(check-accelerated-directory,
|
||||
+ [AC_HELP_STRING([--with-check-accelerated-directory],
|
||||
+ [Specify the directory of gnome-session-check-accelerated @<:@default=libexecdir@:>@])],,
|
||||
+ [with_check_accelerated_directory="\${libexecdir}"])
|
||||
+
|
||||
+CHECK_ACCELERATED_DIR=$with_check_accelerated_directory
|
||||
+AC_SUBST(CHECK_ACCELERATED_DIR)
|
||||
+
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl - Check for XEvIE extension support
|
||||
dnl ---------------------------------------------------------------------------
|
||||
@@ -1497,6 +1513,8 @@ echo "
|
||||
dmconfdir: ${dmconfdir}
|
||||
localstatedir: ${localstatedir}
|
||||
datadir: ${datadir}
|
||||
+ consolekit location: ${with_consolekit_directory}
|
||||
+ gnome-session-check-accel location: ${with_check_accelerated_directory}
|
||||
source code location: ${srcdir}
|
||||
compiler: ${CC}
|
||||
cflags: ${CFLAGS}
|
||||
Index: gdm-3.1.90/daemon/Makefile.am
|
||||
===================================================================
|
||||
--- gdm-3.1.90.orig/daemon/Makefile.am
|
||||
+++ gdm-3.1.90/daemon/Makefile.am
|
||||
@@ -20,6 +20,7 @@ AM_CPPFLAGS = \
|
||||
-DGDM_SCREENSHOT_DIR=\"$(GDM_SCREENSHOT_DIR)\" \
|
||||
-DGDM_CACHE_DIR=\""$(localstatedir)/cache/gdm"\" \
|
||||
-DGDM_SESSION_DEFAULT_PATH=\"$(GDM_SESSION_DEFAULT_PATH)\" \
|
||||
+ -DCONSOLEKIT_DIR=\"$(CONSOLEKIT_DIR)\" \
|
||||
$(DISABLE_DEPRECATED_CFLAGS) \
|
||||
$(DAEMON_CFLAGS) \
|
||||
$(XLIB_CFLAGS) \
|
||||
Index: gdm-3.1.90/daemon/gdm-server.c
|
||||
===================================================================
|
||||
--- gdm-3.1.90.orig/daemon/gdm-server.c
|
||||
+++ gdm-3.1.90/daemon/gdm-server.c
|
||||
@@ -134,7 +134,7 @@ _gdm_server_query_ck_for_display_device
|
||||
g_return_val_if_fail (GDM_IS_SERVER (server), NULL);
|
||||
|
||||
error = NULL;
|
||||
- command = g_strdup_printf (LIBEXECDIR "/ck-get-x11-display-device --display %s",
|
||||
+ command = g_strdup_printf (CONSOLEKIT_DIR "/ck-get-x11-display-device --display %s",
|
||||
server->priv->display_name);
|
||||
|
||||
g_debug ("GdmServer: Running helper %s", command);
|
||||
Index: gdm-3.1.90/data/gdm-shell.session.in
|
||||
===================================================================
|
||||
--- gdm-3.1.90.orig/data/gdm-shell.session.in
|
||||
+++ gdm-3.1.90/data/gdm-shell.session.in
|
||||
@@ -1,5 +1,5 @@
|
||||
[GNOME Session]
|
||||
Name=Display Manager
|
||||
RequiredComponents=gnome-shell;gnome-settings-daemon;
|
||||
-IsRunnableHelper=bash -c 'gnome-shell --help | grep -q gdm-mode && @libexecdir@/gnome-session-check-accelerated'
|
||||
+IsRunnableHelper=bash -c 'gnome-shell --help | grep -q gdm-mode && @CHECK_ACCELERATED_DIR@/gnome-session-check-accelerated'
|
||||
FallbackSession=gdm-fallback
|
||||
Index: gdm-3.1.90/data/Makefile.am
|
||||
===================================================================
|
||||
--- gdm-3.1.90.orig/data/Makefile.am
|
||||
+++ gdm-3.1.90/data/Makefile.am
|
||||
@@ -77,6 +77,7 @@ gdm.schemas.in: $(srcdir)/gdm.schemas.in
|
||||
|
||||
gdm-shell.session: $(srcdir)/gdm-shell.session.in
|
||||
sed -e 's,[@]libexecdir[@],$(libexecdir),g' \
|
||||
+ -e 's,[@]CHECK_ACCELERATED_DIR[@],$(CHECK_ACCELERATED_DIR),g' \
|
||||
< $(srcdir)/gdm-shell.session.in > gdm-shell.session
|
||||
|
||||
localealiasdir = $(datadir)/gdm
|
@ -1,8 +1,8 @@
|
||||
Index: gdm-3.1.2/common/gdm-settings-system-backend.c
|
||||
Index: gdm-3.5.91/common/gdm-settings-system-backend.c
|
||||
===================================================================
|
||||
--- gdm-3.1.2.orig/common/gdm-settings-system-backend.c
|
||||
+++ gdm-3.1.2/common/gdm-settings-system-backend.c
|
||||
@@ -44,11 +44,11 @@
|
||||
--- gdm-3.5.91.orig/common/gdm-settings-system-backend.c
|
||||
+++ gdm-3.5.91/common/gdm-settings-system-backend.c
|
||||
@@ -43,11 +43,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"
|
||||
@ -15,7 +15,7 @@ Index: gdm-3.1.2/common/gdm-settings-system-backend.c
|
||||
* - DISPLAYMANAGER_AD_INTEGRATION
|
||||
* - DISPLAYMANAGER_SHUTDOWN (handled by ConsoleKit)
|
||||
*/
|
||||
@@ -66,12 +66,14 @@ struct GdmSettingsSystemBackendPrivate
|
||||
@@ -65,12 +65,14 @@ struct GdmSettingsSystemBackendPrivate
|
||||
gboolean dirty_autologin_user;
|
||||
gboolean dirty_tcp_open;
|
||||
gboolean dirty_xdmcp;
|
||||
@ -30,7 +30,7 @@ Index: gdm-3.1.2/common/gdm-settings-system-backend.c
|
||||
};
|
||||
|
||||
static void gdm_settings_system_backend_class_init (GdmSettingsSystemBackendClass *klass);
|
||||
@@ -141,6 +143,16 @@ gdm_settings_system_backend_get_value (G
|
||||
@@ -140,6 +142,16 @@ gdm_settings_system_backend_get_value (G
|
||||
val = g_strdup (xdmcp ? "true" : "false");
|
||||
}
|
||||
}
|
||||
@ -47,7 +47,7 @@ Index: gdm-3.1.2/common/gdm-settings-system-backend.c
|
||||
} 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
|
||||
@@ -200,6 +212,12 @@ save_settings (GdmSettingsSystemBackend
|
||||
backend->priv->set_xdmcp ? "yes" : "no");
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ Index: gdm-3.1.2/common/gdm-settings-system-backend.c
|
||||
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
|
||||
@@ -208,6 +226,7 @@ save_settings (GdmSettingsSystemBackend
|
||||
backend->priv->dirty_autologin_user = FALSE;
|
||||
backend->priv->dirty_tcp_open = FALSE;
|
||||
backend->priv->dirty_xdmcp = FALSE;
|
||||
@ -68,7 +68,7 @@ Index: gdm-3.1.2/common/gdm-settings-system-backend.c
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -276,6 +295,9 @@ gdm_settings_system_backend_set_value (G
|
||||
@@ -275,6 +294,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;
|
||||
@ -78,25 +78,25 @@ Index: gdm-3.1.2/common/gdm-settings-system-backend.c
|
||||
} else {
|
||||
g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found");
|
||||
return FALSE;
|
||||
Index: gdm-3.1.2/common/gdm-settings-keys.h
|
||||
Index: gdm-3.5.91/common/gdm-settings-keys.h
|
||||
===================================================================
|
||||
--- gdm-3.1.2.orig/common/gdm-settings-keys.h
|
||||
+++ gdm-3.1.2/common/gdm-settings-keys.h
|
||||
@@ -32,6 +32,7 @@ G_BEGIN_DECLS
|
||||
#define GDM_KEY_TIMED_LOGIN_ENABLE "daemon/TimedLoginEnable"
|
||||
--- gdm-3.5.91.orig/common/gdm-settings-keys.h
|
||||
+++ gdm-3.5.91/common/gdm-settings-keys.h
|
||||
@@ -33,6 +33,7 @@ G_BEGIN_DECLS
|
||||
#define GDM_KEY_TIMED_LOGIN_USER "daemon/TimedLogin"
|
||||
#define GDM_KEY_TIMED_LOGIN_DELAY "daemon/TimedLoginDelay"
|
||||
#define GDM_KEY_INITIAL_SETUP_ENABLE "daemon/InitialSetupEnable"
|
||||
+#define GDM_KEY_SUSE_PASSWORDLESS_LOGIN_ENABLE "daemon/SUSEPasswordlessEnable"
|
||||
|
||||
#define GDM_KEY_DEBUG "debug/Enable"
|
||||
|
||||
Index: gdm-3.1.2/data/gdm.schemas.in.in
|
||||
Index: gdm-3.5.91/data/gdm.schemas.in.in
|
||||
===================================================================
|
||||
--- gdm-3.1.2.orig/data/gdm.schemas.in.in
|
||||
+++ gdm-3.1.2/data/gdm.schemas.in.in
|
||||
@@ -47,6 +47,12 @@
|
||||
<signature>i</signature>
|
||||
<default>30</default>
|
||||
--- gdm-3.5.91.orig/data/gdm.schemas.in.in
|
||||
+++ gdm-3.5.91/data/gdm.schemas.in.in
|
||||
@@ -52,6 +52,12 @@
|
||||
<signature>b</signature>
|
||||
<default>false</default>
|
||||
</schema>
|
||||
+ <schema>
|
||||
+ <!-- SUSE-specific -->
|
||||
@ -107,32 +107,26 @@ Index: gdm-3.1.2/data/gdm.schemas.in.in
|
||||
|
||||
<schema>
|
||||
<key>debug/Enable</key>
|
||||
Index: gdm-3.1.2/daemon/gdm-greeter-server.c
|
||||
Index: gdm-3.5.91/daemon/gdm-session.c
|
||||
===================================================================
|
||||
--- gdm-3.1.2.orig/daemon/gdm-greeter-server.c
|
||||
+++ gdm-3.1.2/daemon/gdm-greeter-server.c
|
||||
@@ -46,6 +46,9 @@
|
||||
--- gdm-3.5.91.orig/daemon/gdm-session.c
|
||||
+++ gdm-3.5.91/daemon/gdm-session.c
|
||||
@@ -55,6 +55,9 @@
|
||||
#include "gdm-session-worker-glue.h"
|
||||
#include "gdm-common.h"
|
||||
#include "gdm-greeter-server.h"
|
||||
|
||||
+#include "gdm-settings-client.h"
|
||||
+#include "gdm-settings-keys.h"
|
||||
+
|
||||
#define GDM_GREETER_SERVER_DBUS_PATH "/org/gnome/DisplayManager/GreeterServer"
|
||||
#define GDM_GREETER_SERVER_DBUS_INTERFACE "org.gnome.DisplayManager.GreeterServer"
|
||||
|
||||
@@ -478,6 +481,7 @@ handle_begin_verification_for_user (GdmG
|
||||
DBusError error;
|
||||
const char *text;
|
||||
const char *service_name;
|
||||
+ gboolean passwordless;
|
||||
|
||||
dbus_error_init (&error);
|
||||
if (! dbus_message_get_args (message, &error,
|
||||
@@ -488,6 +492,14 @@ handle_begin_verification_for_user (GdmG
|
||||
}
|
||||
dbus_error_free (&error);
|
||||
#define GDM_SESSION_DBUS_ERROR_CANCEL "org.gnome.DisplayManager.Session.Error.Cancel"
|
||||
#define GDM_SESSION_DBUS_OBJECT_PATH "/org/gnome/DisplayManager/Session"
|
||||
|
||||
@@ -1222,6 +1225,15 @@ gdm_session_handle_client_begin_verifica
|
||||
GdmSession *self)
|
||||
{
|
||||
GdmSessionConversation *conversation;
|
||||
+ gboolean passwordless;
|
||||
+
|
||||
+ if (!gdm_settings_client_get_boolean (GDM_KEY_SUSE_PASSWORDLESS_LOGIN_ENABLE,
|
||||
+ &passwordless)) {
|
||||
+ passwordless = FALSE;
|
||||
@ -140,7 +134,6 @@ Index: gdm-3.1.2/daemon/gdm-greeter-server.c
|
||||
+
|
||||
+ if (passwordless)
|
||||
+ service_name = "gdm-autologin";
|
||||
+
|
||||
g_debug ("GreeterServer: BeginVerificationForUser for '%s'", text);
|
||||
|
||||
reply = dbus_message_new_method_return (message);
|
||||
conversation = begin_verification_conversation (self, invocation, service_name);
|
||||
|
||||
|
@ -1,396 +0,0 @@
|
||||
From e6ed6f48c35a6c736a5cde2dcfb6c10941e07809 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Fri, 27 Nov 2009 18:27:53 -0500
|
||||
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 | 8 +++++
|
||||
daemon/gdm-slave.c | 72 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
daemon/gdm-slave.h | 1 +
|
||||
3 files changed, 81 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
|
||||
index 9d1347a..fc8649c 100644
|
||||
--- a/daemon/gdm-simple-slave.c
|
||||
+++ b/daemon/gdm-simple-slave.c
|
||||
@@ -1215,6 +1215,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
|
||||
+ * login screen background. We read it here, and stuff
|
||||
+ * it into the standard _XROOTPMAP_ID root window property,
|
||||
+ * so gnome-settings-daemon can get at it.
|
||||
+ */
|
||||
+ gdm_slave_save_root_windows (GDM_SLAVE (slave));
|
||||
+
|
||||
}
|
||||
|
||||
static void
|
||||
diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c
|
||||
index 371b9bd..694dcde 100644
|
||||
--- a/daemon/gdm-slave.c
|
||||
+++ b/daemon/gdm-slave.c
|
||||
@@ -43,6 +43,7 @@
|
||||
#include <dbus/dbus-glib-lowlevel.h>
|
||||
|
||||
#include <X11/Xlib.h> /* for Display */
|
||||
+#include <X11/Xatom.h> /* for XA_PIXMAP */
|
||||
#include <X11/cursorfont.h> /* for watch cursor */
|
||||
#include <X11/extensions/Xrandr.h>
|
||||
#include <X11/Xatom.h>
|
||||
@@ -364,6 +365,77 @@ gdm_slave_run_script (GdmSlave *slave,
|
||||
return ret;
|
||||
}
|
||||
|
||||
+static void
|
||||
+gdm_slave_save_root_window_of_screen (GdmSlave *slave,
|
||||
+ Atom id_atom,
|
||||
+ int screen_number)
|
||||
+{
|
||||
+ Window root_window;
|
||||
+ GC gc;
|
||||
+ XGCValues values;
|
||||
+ Pixmap pixmap;
|
||||
+ int width, height, depth;
|
||||
+
|
||||
+ root_window = RootWindow (slave->priv->server_display,
|
||||
+ screen_number);
|
||||
+
|
||||
+ width = DisplayWidth (slave->priv->server_display, screen_number);
|
||||
+ height = DisplayHeight (slave->priv->server_display, screen_number);
|
||||
+ depth = DefaultDepth (slave->priv->server_display, screen_number);
|
||||
+ pixmap = XCreatePixmap (slave->priv->server_display,
|
||||
+ root_window,
|
||||
+ width, height, depth);
|
||||
+
|
||||
+ values.function = GXcopy;
|
||||
+ values.plane_mask = AllPlanes;
|
||||
+ values.fill_style = FillSolid;
|
||||
+ values.subwindow_mode = IncludeInferiors;
|
||||
+
|
||||
+ gc = XCreateGC (slave->priv->server_display,
|
||||
+ root_window,
|
||||
+ GCFunction | GCPlaneMask | GCFillStyle | GCSubwindowMode,
|
||||
+ &values);
|
||||
+
|
||||
+ if (XCopyArea (slave->priv->server_display,
|
||||
+ root_window, pixmap, gc, 0, 0,
|
||||
+ width, height, 0, 0)) {
|
||||
+
|
||||
+ long pixmap_as_long;
|
||||
+
|
||||
+ pixmap_as_long = (long) pixmap;
|
||||
+
|
||||
+ XChangeProperty (slave->priv->server_display,
|
||||
+ root_window, id_atom, XA_PIXMAP,
|
||||
+ 32, PropModeReplace, (guchar *) &pixmap_as_long,
|
||||
+ 1);
|
||||
+
|
||||
+ }
|
||||
+
|
||||
+ XFreeGC (slave->priv->server_display, gc);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+gdm_slave_save_root_windows (GdmSlave *slave)
|
||||
+{
|
||||
+ int i, number_of_screens;
|
||||
+ Atom atom;
|
||||
+
|
||||
+ number_of_screens = ScreenCount (slave->priv->server_display);
|
||||
+
|
||||
+ atom = XInternAtom (slave->priv->server_display,
|
||||
+ "_XROOTPMAP_ID", False);
|
||||
+
|
||||
+ if (atom == 0) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < number_of_screens; i++) {
|
||||
+ gdm_slave_save_root_window_of_screen (slave, atom, i);
|
||||
+ }
|
||||
+
|
||||
+ XSync (slave->priv->server_display, False);
|
||||
+}
|
||||
+
|
||||
void
|
||||
gdm_slave_set_initial_keyboard_layout (GdmSlave *slave)
|
||||
{
|
||||
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);
|
||||
+void gdm_slave_save_root_windows (GdmSlave *slave);
|
||||
gboolean gdm_slave_run_script (GdmSlave *slave,
|
||||
const char *dir,
|
||||
const char *username);
|
||||
--
|
||||
1.7.9
|
||||
|
||||
|
||||
From 03d92cf39f74b265cc9936bdeabfcf071b102767 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
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.
|
||||
---
|
||||
daemon/gdm-server.c | 55 +++++++++++++++++++++++++++
|
||||
daemon/gdm-server.h | 1 +
|
||||
daemon/gdm-simple-slave.c | 91 ++++++++++++++++++++++++++++++++++++++++++++-
|
||||
3 files changed, 146 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
|
||||
index 54bf8b3..365590f 100644
|
||||
--- a/daemon/gdm-server.c
|
||||
+++ b/daemon/gdm-server.c
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <pwd.h>
|
||||
#include <grp.h>
|
||||
#include <signal.h>
|
||||
+#include <sys/ioctl.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
#ifdef HAVE_SYS_PRCTL_H
|
||||
@@ -41,6 +42,7 @@
|
||||
#ifdef WITH_SYSTEMD
|
||||
#include <systemd/sd-daemon.h>
|
||||
#endif
|
||||
+#include <linux/vt.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib/gi18n.h>
|
||||
@@ -732,6 +734,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
|
||||
@@ -750,6 +790,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 " -background none -logverbose 7");
|
||||
+ vt = get_active_vt_as_string ();
|
||||
+ res = gdm_server_spawn (server, vt);
|
||||
+ g_free (vt);
|
||||
+
|
||||
+ return res;
|
||||
+}
|
||||
+
|
||||
static void
|
||||
server_died (GdmServer *server)
|
||||
{
|
||||
diff --git a/daemon/gdm-server.h b/daemon/gdm-server.h
|
||||
index b53d68e..4939382 100644
|
||||
--- a/daemon/gdm-server.h
|
||||
+++ b/daemon/gdm-server.h
|
||||
@@ -57,6 +57,7 @@ GdmServer * gdm_server_new (const char *display_id,
|
||||
const char *seat_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 --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
|
||||
index fc8649c..dd19ced 100644
|
||||
--- a/daemon/gdm-simple-slave.c
|
||||
+++ b/daemon/gdm-simple-slave.c
|
||||
@@ -93,6 +93,7 @@ struct GdmSimpleSlavePrivate
|
||||
#ifdef HAVE_LOGINDEVPERM
|
||||
gboolean use_logindevperm;
|
||||
#endif
|
||||
+ guint plymouth_is_running : 1;
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -1204,6 +1205,72 @@ on_start_session_later (GdmGreeterServer *session,
|
||||
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)
|
||||
{
|
||||
@@ -1223,6 +1290,10 @@ setup_server (GdmSimpleSlave *slave)
|
||||
*/
|
||||
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
|
||||
@@ -1426,6 +1497,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
|
||||
@@ -1438,6 +1513,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
|
||||
@@ -1484,7 +1563,14 @@ 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 {
|
||||
+ res = gdm_server_start (slave->priv->server);
|
||||
+ }
|
||||
if (! res) {
|
||||
g_warning (_("Could not start the X "
|
||||
"server (your graphical environment) "
|
||||
@@ -1494,6 +1580,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);
|
||||
}
|
||||
|
||||
--
|
||||
1.7.9
|
@ -1,26 +0,0 @@
|
||||
Index: configure
|
||||
===================================================================
|
||||
--- configure.orig
|
||||
+++ configure
|
||||
@@ -22287,7 +22287,7 @@ fi
|
||||
|
||||
$as_echo "#define HAVE_SELINUX 1" >>confdefs.h
|
||||
|
||||
- EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux -lattr"
|
||||
+ EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux"
|
||||
fi
|
||||
|
||||
|
||||
Index: configure.ac
|
||||
===================================================================
|
||||
--- configure.ac.orig
|
||||
+++ configure.ac
|
||||
@@ -873,7 +873,7 @@ if test "x$with_selinux" = "xyes" ; then
|
||||
AC_CHECK_LIB(selinux,setexeccon,/bin/true)
|
||||
AC_CHECK_LIB(selinux,is_selinux_enabled,/bin/true)
|
||||
AC_DEFINE(HAVE_SELINUX, 1, [Define if have selinux])
|
||||
- EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux -lattr"
|
||||
+ EXTRA_DAEMON_LIBS="$EXTRA_DAEMON_LIBS -lselinux"
|
||||
fi
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
18
gdm-smartcard.pamd
Normal file
18
gdm-smartcard.pamd
Normal file
@ -0,0 +1,18 @@
|
||||
# Sample PAM file for doing smartcard authentication.
|
||||
# Distros should replace this with what makes sense for them.
|
||||
auth required pam_env.so
|
||||
auth [success=done ignore=ignore default=die] pam_pkcs11.so wait_for_card card_only
|
||||
auth requisite pam_succeed_if.so uid >= 500 quiet
|
||||
auth required pam_deny.so
|
||||
|
||||
account required pam_unix.so
|
||||
account sufficient pam_localuser.so
|
||||
account sufficient pam_succeed_if.so uid < 500 quiet
|
||||
account required pam_permit.so
|
||||
|
||||
password optional pam_pkcs11.so
|
||||
password requisite pam_cracklib.so try_first_pass retry=3 type=
|
||||
|
||||
session optional pam_keyinit.so revoke
|
||||
session required pam_limits.so
|
||||
session required pam_unix.so
|
@ -1,8 +1,8 @@
|
||||
Index: gdm-3.1.2/common/Makefile.am
|
||||
Index: gdm-3.5.4/common/Makefile.am
|
||||
===================================================================
|
||||
--- gdm-3.1.2.orig/common/Makefile.am
|
||||
+++ gdm-3.1.2/common/Makefile.am
|
||||
@@ -73,6 +73,8 @@ libgdmcommon_la_SOURCES = \
|
||||
--- gdm-3.5.4.orig/common/Makefile.am
|
||||
+++ gdm-3.5.4/common/Makefile.am
|
||||
@@ -77,6 +77,8 @@ libgdmcommon_la_SOURCES = \
|
||||
gdm-settings-backend.h \
|
||||
gdm-settings-desktop-backend.c \
|
||||
gdm-settings-desktop-backend.h \
|
||||
@ -11,7 +11,7 @@ Index: gdm-3.1.2/common/Makefile.am
|
||||
gdm-settings-keys.h \
|
||||
gdm-settings-utils.h \
|
||||
gdm-settings-utils.c \
|
||||
@@ -80,6 +82,8 @@ libgdmcommon_la_SOURCES = \
|
||||
@@ -84,6 +86,8 @@ libgdmcommon_la_SOURCES = \
|
||||
gdm-settings-direct.h \
|
||||
gdm-settings-client.h \
|
||||
gdm-settings-client.c \
|
||||
@ -20,10 +20,10 @@ Index: gdm-3.1.2/common/Makefile.am
|
||||
gdm-log.h \
|
||||
gdm-log.c \
|
||||
gdm-md5.h \
|
||||
Index: gdm-3.1.2/common/gdm-settings-system-backend.c
|
||||
Index: gdm-3.5.4/common/gdm-settings-system-backend.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gdm-3.1.2/common/gdm-settings-system-backend.c
|
||||
+++ gdm-3.5.4/common/gdm-settings-system-backend.c
|
||||
@@ -0,0 +1,348 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@ -373,10 +373,10 @@ Index: gdm-3.1.2/common/gdm-settings-system-backend.c
|
||||
+
|
||||
+ return GDM_SETTINGS_BACKEND (object);
|
||||
+}
|
||||
Index: gdm-3.1.2/common/gdm-settings-system-backend.h
|
||||
Index: gdm-3.5.4/common/gdm-settings-system-backend.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gdm-3.1.2/common/gdm-settings-system-backend.h
|
||||
+++ gdm-3.5.4/common/gdm-settings-system-backend.h
|
||||
@@ -0,0 +1,56 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@ -434,11 +434,11 @@ Index: gdm-3.1.2/common/gdm-settings-system-backend.h
|
||||
+G_END_DECLS
|
||||
+
|
||||
+#endif /* __GDM_SETTINGS_SYSTEM_BACKEND_H */
|
||||
Index: gdm-3.1.2/common/gdm-settings.c
|
||||
Index: gdm-3.5.4/common/gdm-settings.c
|
||||
===================================================================
|
||||
--- gdm-3.1.2.orig/common/gdm-settings.c
|
||||
+++ gdm-3.1.2/common/gdm-settings.c
|
||||
@@ -41,6 +41,7 @@
|
||||
--- gdm-3.5.4.orig/common/gdm-settings.c
|
||||
+++ gdm-3.5.4/common/gdm-settings.c
|
||||
@@ -39,6 +39,7 @@
|
||||
#include "gdm-settings-glue.h"
|
||||
|
||||
#include "gdm-settings-desktop-backend.h"
|
||||
@ -446,16 +446,16 @@ Index: gdm-3.1.2/common/gdm-settings.c
|
||||
|
||||
#define GDM_DBUS_PATH "/org/gnome/DisplayManager"
|
||||
#define GDM_SETTINGS_DBUS_PATH GDM_DBUS_PATH "/Settings"
|
||||
@@ -51,7 +52,7 @@
|
||||
struct GdmSettingsPrivate
|
||||
@@ -50,7 +51,7 @@ struct GdmSettingsPrivate
|
||||
{
|
||||
DBusGConnection *connection;
|
||||
GDBusConnection *connection;
|
||||
GdmDBusSettings *skeleton;
|
||||
- GdmSettingsBackend *backend;
|
||||
+ GList *backends;
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -92,15 +93,29 @@ gdm_settings_get_value (GdmSettings *set
|
||||
@@ -91,15 +92,29 @@ gdm_settings_get_value (GdmSettings *set
|
||||
{
|
||||
GError *local_error;
|
||||
gboolean res;
|
||||
@ -489,7 +489,7 @@ Index: gdm-3.1.2/common/gdm-settings.c
|
||||
if (! res) {
|
||||
g_propagate_error (error, local_error);
|
||||
}
|
||||
@@ -120,6 +135,7 @@ gdm_settings_set_value (GdmSettings *set
|
||||
@@ -119,6 +134,7 @@ gdm_settings_set_value (GdmSettings *set
|
||||
{
|
||||
GError *local_error;
|
||||
gboolean res;
|
||||
@ -497,7 +497,7 @@ Index: gdm-3.1.2/common/gdm-settings.c
|
||||
|
||||
g_return_val_if_fail (GDM_IS_SETTINGS (settings), FALSE);
|
||||
g_return_val_if_fail (key != NULL, FALSE);
|
||||
@@ -127,10 +143,23 @@ gdm_settings_set_value (GdmSettings *set
|
||||
@@ -126,10 +142,23 @@ gdm_settings_set_value (GdmSettings *set
|
||||
g_debug ("Setting value %s", key);
|
||||
|
||||
local_error = NULL;
|
||||
@ -525,7 +525,7 @@ Index: gdm-3.1.2/common/gdm-settings.c
|
||||
if (! res) {
|
||||
g_propagate_error (error, local_error);
|
||||
}
|
||||
@@ -208,13 +237,21 @@ backend_value_changed (GdmSettingsBacken
|
||||
@@ -265,13 +294,21 @@ backend_value_changed (GdmSettingsBacken
|
||||
static void
|
||||
gdm_settings_init (GdmSettings *settings)
|
||||
{
|
||||
@ -552,7 +552,7 @@ Index: gdm-3.1.2/common/gdm-settings.c
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -229,9 +266,9 @@ gdm_settings_finalize (GObject *object)
|
||||
@@ -286,9 +323,9 @@ gdm_settings_finalize (GObject *object)
|
||||
|
||||
g_return_if_fail (settings->priv != NULL);
|
||||
|
||||
@ -565,10 +565,10 @@ Index: gdm-3.1.2/common/gdm-settings.c
|
||||
|
||||
G_OBJECT_CLASS (gdm_settings_parent_class)->finalize (object);
|
||||
}
|
||||
Index: gdm-3.1.2/common/gdm-sysconfig.c
|
||||
Index: gdm-3.5.4/common/gdm-sysconfig.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gdm-3.1.2/common/gdm-sysconfig.c
|
||||
+++ gdm-3.5.4/common/gdm-sysconfig.c
|
||||
@@ -0,0 +1,484 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@ -1054,10 +1054,10 @@ Index: gdm-3.1.2/common/gdm-sysconfig.c
|
||||
+ g_strfreev (lines);
|
||||
+ return result;
|
||||
+}
|
||||
Index: gdm-3.1.2/common/gdm-sysconfig.h
|
||||
Index: gdm-3.5.4/common/gdm-sysconfig.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gdm-3.1.2/common/gdm-sysconfig.h
|
||||
+++ gdm-3.5.4/common/gdm-sysconfig.h
|
||||
@@ -0,0 +1,43 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@ -1102,10 +1102,10 @@ Index: gdm-3.1.2/common/gdm-sysconfig.h
|
||||
+G_END_DECLS
|
||||
+
|
||||
+#endif /* __GDM_SYSCONFIG_H */
|
||||
Index: gdm-3.1.2/data/gdm.conf-custom.in
|
||||
Index: gdm-3.5.4/data/gdm.conf-custom.in
|
||||
===================================================================
|
||||
--- gdm-3.1.2.orig/data/gdm.conf-custom.in
|
||||
+++ gdm-3.1.2/data/gdm.conf-custom.in
|
||||
--- gdm-3.5.4.orig/data/gdm.conf-custom.in
|
||||
+++ gdm-3.5.4/data/gdm.conf-custom.in
|
||||
@@ -1,4 +1,7 @@
|
||||
# GDM configuration storage
|
||||
+#
|
||||
|
@ -1,117 +0,0 @@
|
||||
Index: gdm-2.91.4/daemon/gdm-server.c
|
||||
===================================================================
|
||||
--- gdm-2.91.4.orig/daemon/gdm-server.c
|
||||
+++ gdm-2.91.4/daemon/gdm-server.c
|
||||
@@ -27,6 +27,7 @@
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/wait.h>
|
||||
+#include <sys/vt.h>
|
||||
#include <errno.h>
|
||||
#include <ctype.h>
|
||||
#include <pwd.h>
|
||||
@@ -157,6 +158,92 @@ _gdm_server_query_ck_for_display_device
|
||||
return out;
|
||||
}
|
||||
|
||||
+#ifndef O_NOCTTY
|
||||
+# define O_NOCTTY 0
|
||||
+#endif
|
||||
+
|
||||
+static int
|
||||
+open_vt (int vtno)
|
||||
+{
|
||||
+ char *vtname;
|
||||
+ int fd;
|
||||
+
|
||||
+ vtname = g_strdup_printf ("/dev/tty%d", vtno);
|
||||
+
|
||||
+ do {
|
||||
+ errno = 0;
|
||||
+ fd = open (vtname, O_RDWR | O_NOCTTY, 0);
|
||||
+ } while (errno == EINTR);
|
||||
+
|
||||
+ g_free (vtname);
|
||||
+ return fd;
|
||||
+}
|
||||
+
|
||||
+static gint
|
||||
+find_first_probably_free_vt (void)
|
||||
+{
|
||||
+ int fd, fdv;
|
||||
+ int vtno;
|
||||
+ unsigned short vtmask;
|
||||
+ struct vt_stat vtstat;
|
||||
+ guint v_state;
|
||||
+
|
||||
+ fdv = -1;
|
||||
+
|
||||
+ do {
|
||||
+ errno = 0;
|
||||
+ fd = open ("/dev/console", O_WRONLY | O_NOCTTY, 0);
|
||||
+ } while (errno == EINTR);
|
||||
+
|
||||
+ if (fd >= 0) {
|
||||
+ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0) {
|
||||
+ v_state = vtstat.v_state;
|
||||
+ } else {
|
||||
+ close (fd);
|
||||
+ v_state = 0;
|
||||
+ fd = -1;
|
||||
+ }
|
||||
+ } else {
|
||||
+ v_state = 0;
|
||||
+ }
|
||||
+
|
||||
+ if (fd < 0) {
|
||||
+ do {
|
||||
+ errno = 0;
|
||||
+ fd = open ("/dev/console", O_RDONLY | O_NOCTTY, 0);
|
||||
+ } while (errno == EINTR);
|
||||
+
|
||||
+ if (fd >= 0) {
|
||||
+ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0)
|
||||
+ v_state = vtstat.v_state;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ for (vtno = 7, vtmask = 1 << vtno; vtmask; vtno++, vtmask <<= 1) {
|
||||
+ /* Is this console in use? */
|
||||
+ if (v_state & vtmask)
|
||||
+ continue;
|
||||
+
|
||||
+ /* No, try to open it */
|
||||
+ fdv = open_vt (vtno);
|
||||
+ if (fdv >= 0)
|
||||
+ break;
|
||||
+
|
||||
+ /* If we're here, kernel indicated that the console was free,
|
||||
+ * but we failed to open it. Just go on to higher VTs. */
|
||||
+ }
|
||||
+
|
||||
+ if (fdv >= 0)
|
||||
+ close (fdv);
|
||||
+ else
|
||||
+ vtno = -1;
|
||||
+
|
||||
+ if (fd >= 0)
|
||||
+ close (fd);
|
||||
+
|
||||
+ return vtno;
|
||||
+}
|
||||
+
|
||||
char *
|
||||
gdm_server_get_display_device (GdmServer *server)
|
||||
{
|
||||
@@ -317,6 +404,11 @@ gdm_server_resolve_command_line (GdmServ
|
||||
|
||||
if (vtarg != NULL && ! gotvtarg) {
|
||||
argv[len++] = g_strdup (vtarg);
|
||||
+ } else if (!query_in_arglist && !gotvtarg) {
|
||||
+ gint vtnum = find_first_probably_free_vt ();
|
||||
+
|
||||
+ if (vtnum > 0)
|
||||
+ argv [len++] = g_strdup_printf ("vt%d", vtnum);
|
||||
}
|
||||
|
||||
argv[len++] = NULL;
|
@ -1,7 +1,7 @@
|
||||
Index: daemon/gdm-display-access-file.c
|
||||
Index: gdm-3.5.91/daemon/gdm-display-access-file.c
|
||||
===================================================================
|
||||
--- daemon/gdm-display-access-file.c.orig
|
||||
+++ daemon/gdm-display-access-file.c
|
||||
--- gdm-3.5.91.orig/daemon/gdm-display-access-file.c
|
||||
+++ gdm-3.5.91/daemon/gdm-display-access-file.c
|
||||
@@ -440,11 +440,15 @@ _get_auth_info_for_display (GdmDisplayAc
|
||||
if (is_local) {
|
||||
char localhost[HOST_NAME_MAX + 1] = "";
|
||||
@ -18,28 +18,44 @@ Index: daemon/gdm-display-access-file.c
|
||||
} else {
|
||||
*family = FamilyWild;
|
||||
gdm_display_get_remote_hostname (display, address, NULL);
|
||||
Index: daemon/gdm-session-direct.c
|
||||
Index: gdm-3.5.91/daemon/gdm-launch-environment.c
|
||||
===================================================================
|
||||
--- daemon/gdm-session-direct.c.orig
|
||||
+++ daemon/gdm-session-direct.c
|
||||
@@ -2119,6 +2119,12 @@ setup_session_environment (GdmSessionDir
|
||||
--- gdm-3.5.91.orig/daemon/gdm-launch-environment.c
|
||||
+++ gdm-3.5.91/daemon/gdm-launch-environment.c
|
||||
@@ -306,6 +306,11 @@ build_launch_environment (GdmLaunchEnvir
|
||||
g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
|
||||
}
|
||||
|
||||
|
||||
+ if (session_direct->priv->display_is_local) {
|
||||
+ gdm_session_direct_set_environment_variable (session,
|
||||
+ "XAUTHLOCALHOSTNAME",
|
||||
+ "localhost");
|
||||
+ if (launch_environment->priv->x11_display_is_local) {
|
||||
+ g_hash_table_remove (hash, "XAUTHLOCALHOSTNAME");
|
||||
+ g_hash_table_insert (hash, g_strdup ("XAUTHLOCALHOSTNAME"), g_strdup ("localhost"));
|
||||
+ }
|
||||
+
|
||||
/* FIXME: We do this here and in the session worker. We should consolidate
|
||||
* somehow.
|
||||
*/
|
||||
Index: daemon/gdm-slave.c
|
||||
g_hash_table_insert (hash, g_strdup ("PATH"), g_strdup (g_getenv ("PATH")));
|
||||
|
||||
g_hash_table_insert (hash, g_strdup ("RUNNING_UNDER_GDM"), g_strdup ("true"));
|
||||
Index: gdm-3.5.91/daemon/gdm-session.c
|
||||
===================================================================
|
||||
--- daemon/gdm-slave.c.orig
|
||||
+++ daemon/gdm-slave.c
|
||||
@@ -234,6 +234,10 @@ get_script_environment (GdmSlave *slav
|
||||
--- gdm-3.5.91.orig/daemon/gdm-session.c
|
||||
+++ gdm-3.5.91/daemon/gdm-session.c
|
||||
@@ -2297,6 +2297,12 @@ setup_session_environment (GdmSession *s
|
||||
self->priv->user_x11_authority_file);
|
||||
}
|
||||
|
||||
+ if (self->priv->display_is_local) {
|
||||
+ gdm_session_set_environment_variable (self,
|
||||
+ "XAUTHLOCALHOSTNAME",
|
||||
+ "localhost");
|
||||
+ }
|
||||
+
|
||||
if (g_getenv ("WINDOWPATH") != NULL) {
|
||||
gdm_session_set_environment_variable (self,
|
||||
"WINDOWPATH",
|
||||
Index: gdm-3.5.91/daemon/gdm-slave.c
|
||||
===================================================================
|
||||
--- gdm-3.5.91.orig/daemon/gdm-slave.c
|
||||
+++ gdm-3.5.91/daemon/gdm-slave.c
|
||||
@@ -255,6 +255,10 @@ get_script_environment (GdmSlave *slav
|
||||
g_hash_table_insert (hash, g_strdup ("REMOTE_HOST"), g_strdup (slave->priv->display_hostname));
|
||||
}
|
||||
|
||||
@ -50,7 +66,7 @@ Index: daemon/gdm-slave.c
|
||||
/* Runs as root */
|
||||
g_hash_table_insert (hash, g_strdup ("XAUTHORITY"), g_strdup (slave->priv->display_x11_authority_file));
|
||||
g_hash_table_insert (hash, g_strdup ("DISPLAY"), g_strdup (slave->priv->display_name));
|
||||
@@ -483,6 +487,7 @@ gdm_slave_connect_to_x11_display (GdmSla
|
||||
@@ -652,6 +656,7 @@ gdm_slave_connect_to_x11_display (GdmSla
|
||||
|
||||
g_setenv ("DISPLAY", slave->priv->display_name, TRUE);
|
||||
g_setenv ("XAUTHORITY", slave->priv->display_x11_authority_file, TRUE);
|
||||
@ -58,19 +74,3 @@ Index: daemon/gdm-slave.c
|
||||
|
||||
sigemptyset (&mask);
|
||||
sigaddset (&mask, SIGCHLD);
|
||||
Index: daemon/gdm-welcome-session.c
|
||||
===================================================================
|
||||
--- daemon/gdm-welcome-session.c.orig
|
||||
+++ daemon/gdm-welcome-session.c
|
||||
@@ -435,6 +435,11 @@ get_welcome_environment (GdmWelcomeSessi
|
||||
g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
|
||||
}
|
||||
|
||||
+ if (welcome_session->priv->x11_display_is_local) {
|
||||
+ g_hash_table_remove (hash, "XAUTHLOCALHOSTNAME");
|
||||
+ g_hash_table_insert (hash, g_strdup ("XAUTHLOCALHOSTNAME"), g_strdup ("localhost"));
|
||||
+ }
|
||||
+
|
||||
g_hash_table_insert (hash, g_strdup ("PATH"), g_strdup (g_getenv ("PATH")));
|
||||
|
||||
g_hash_table_insert (hash, g_strdup ("RUNNING_UNDER_GDM"), g_strdup ("true"));
|
||||
|
187
gdm.changes
187
gdm.changes
@ -1,3 +1,190 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 25 19:01:14 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 3.6.0:
|
||||
+ Update exherbo PAM config
|
||||
+ screen reading fixes
|
||||
+ start dbus-daemon inside greeter session
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 18 21:31:05 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 3.5.92.1:
|
||||
+ Fix crasher when hitting escape really fast at unlock time.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 18 20:59:46 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 3.5.92:
|
||||
+ More PAM distro changes
|
||||
+ Clean up initialization code
|
||||
+ export Version property over bus
|
||||
+ SELinux integration
|
||||
+ ConsoleKit fixes
|
||||
+ Autologin fixes
|
||||
+ Make reauthentication session have user's environment
|
||||
+ Updated translations.
|
||||
- Drop gdm-gdmslave-typo.patch: fixed upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 13 20:24:57 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Add gdm-gdmslave-typo.patch: Fix typo in Method call, which can
|
||||
cause gdm to crash on login when operated with ConsoleKit.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 11 19:39:25 UTC 2012 - vuntz@opensuse.org
|
||||
|
||||
- Rebase gdm-desktop-session-env-pam.patch and
|
||||
gdm-passwordless-login.patch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 11 18:10:24 UTC 2012 - vuntz@opensuse.org
|
||||
|
||||
- Only have a ConsoleKit-x11 Requires if we don't build with
|
||||
systemd support.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 5 07:05:22 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 3.5.91:
|
||||
+ Fix multi-seat
|
||||
+ Memory leak fix
|
||||
+ initial-setup feature fixes
|
||||
+ Reauth fixes
|
||||
+ Make PostLogin failures to fail login
|
||||
+ More PAM distro support
|
||||
+ Misc data file changes
|
||||
+ More debug messages
|
||||
+ Use yelp-tools for docs
|
||||
+ Drop libxklavier dependency
|
||||
+ Updated translations.
|
||||
- Drop upstream fixed patches:
|
||||
+ gdm-helper-directory.patch
|
||||
+ gdm-vtswitch-nonsystemd.patch
|
||||
- Rebase (and re-enable) gdm-default-wm.patch.
|
||||
- Rebase (and re-enable) gdm-xauthlocalhostname.patch
|
||||
- Drop libxklavier-devel BuildRequires: dependency dropped
|
||||
upstream.
|
||||
- Replace gnome-doc-utils-devel BuildRequires with yelp-tools,
|
||||
following upstream.
|
||||
- Replace intltool and libtool BuildRequires with gnome-common, as
|
||||
well as libtoolize and autoreconf calls with gnome-autogen.sh:
|
||||
the build system is too specific and some spurious errors can be
|
||||
avoided by boostrapping it the supported way.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 21 07:29:43 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 3.5.90:
|
||||
+ Reauthentication fixes
|
||||
+ Change user-switching mechanism from gdmflexiserver helper to
|
||||
libgdm
|
||||
+ Set KRB5CCNAME environment variable for session
|
||||
+ Memory leaks and other misc fixes
|
||||
+ Updated translations.
|
||||
- Drop gdmflexiserver subpackage and gdmflexiserver-wrapper source:
|
||||
user-switching mechanism moved to libgdm and no longer relies on
|
||||
gdmflexiserver.
|
||||
- Add a gdmflexiserver Obsoletes to gdm main package, for smooth
|
||||
upgrades. Also remove the gdmflexiserver Requires that was there.
|
||||
- Rename gdm-welcome.pamd to gdm-launch-environment.pamd, following
|
||||
upstreams rename.
|
||||
- Add gdm-vtswitch-nonsystemd.patch: Fix vt switch when not using
|
||||
systemd.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 7 09:53:24 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 3.5.5:
|
||||
+ Add initial setup integration
|
||||
+ "Fix" timed login
|
||||
+ Fix up ConsoleKit integration post-gdbus port
|
||||
+ Code clean ups/refactoring
|
||||
+ Make initial VT a ./configure option
|
||||
+ Updated translations.
|
||||
- Drop gdm-vt-allocation-hack.patch in favor of --with-initial-vt=7
|
||||
passed to configure.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Aug 2 06:58:44 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Remove SELinux support (following upstream):
|
||||
+ Drop libselinux-devel BuildRequires
|
||||
+ Remove --with-selinux from configure call
|
||||
+ Drop gdm-selinux.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 20 06:58:44 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 3.5.4.2:
|
||||
+ Fix non autologin
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 19 17:51:27 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 3.5.4.1:
|
||||
+ Fix autologin
|
||||
+ Update PAM configuration for red hat distros
|
||||
+ Make sure gdm-client-glue.h gets installed with libgdm
|
||||
+ Change SetupForProgram interface to allow specifying a username
|
||||
+ Drop GdmGreeterSession and GdmChooserSession, just use
|
||||
GdmWelcomeSession directly
|
||||
+ Change dconf profile to be compatible with latest dconf
|
||||
+ Fix VerificationComplete signal for external gdm clients
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 18 11:50:41 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 3.5.4:
|
||||
+ Rename libgdmgreeter to libgdm and change API
|
||||
+ Be less chatty in syslog
|
||||
+ Reload settings on SIGHUP
|
||||
+ Start polkit agent in fallback session
|
||||
+ Port to gdbus
|
||||
+ Deprecation fixes
|
||||
+ PAM file reorganization
|
||||
+ Misc fixes
|
||||
+ Updated translations.
|
||||
- Drop dbus-1-glib-devel BuildRequires: not needed after port to
|
||||
GDBus.
|
||||
- Rebase patches:
|
||||
+ gdm-helper-directory.patch
|
||||
+ gdm-sysconfig-settings.patch
|
||||
- Disable and mark patches for rebasing:
|
||||
+ gdm-desktop-session-env-pam.patch
|
||||
+ gdm-passwordless-login.patch
|
||||
+ gdm-default-wm.patch
|
||||
+ gdm-xauthlocalhostname.patch
|
||||
- Rename libgdmgreeter1 package to libgdm1, following upstreams
|
||||
renaming of the library.
|
||||
- Rename typelib-1_0-GdmGreeter-1_0 subpackage to
|
||||
typelib-1_0-Gdm-1_0
|
||||
- Add copies of gdm-fingerprint.pamd and gdm-smartcard.pamd to our
|
||||
package, based on the Red Hat ones (until we upstream our
|
||||
variants, bgo#675085). Note that they won't be used since we
|
||||
don't build with enable_split_authentication.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 15 21:24:17 UTC 2012 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 3.5.2:
|
||||
+ Robustness updates for greeter dbus-daemon life-cycle
|
||||
management
|
||||
+ Add ability to disable documentation generation at build time
|
||||
+ Add more verbosity in PAM code
|
||||
+ Use systemd to shutdown from greeter
|
||||
+ Use new gnome-shell mode
|
||||
+ Add ability to build with plymouth support
|
||||
+ Save log to $XDG_CACHE_HOME/gdm/session.log instead of
|
||||
~/.xsession-errors
|
||||
- Add pkgconfig(ply-boot-client) BuildRequires and pass
|
||||
--with-plymouth to configure for plymouth support.
|
||||
- Drop gdm-plymouth.patch: plymouth support has been upstreamed.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 13 11:41:41 CEST 2012 - vuntz@opensuse.org
|
||||
|
||||
|
117
gdm.spec
117
gdm.spec
@ -24,36 +24,30 @@
|
||||
%define enable_split_authentication 0
|
||||
|
||||
Name: gdm
|
||||
Version: 3.4.1
|
||||
Version: 3.6.0
|
||||
Release: 0
|
||||
Summary: The GNOME Display Manager
|
||||
License: GPL-2.0+
|
||||
Group: System/GUI/GNOME
|
||||
Url: http://projects.gnome.org/gdm/
|
||||
Source: http://download.gnome.org/sources/gdm/3.4/%{name}-%{version}.tar.xz
|
||||
Source: http://download.gnome.org/sources/gdm/3.6/%{name}-%{version}.tar.xz
|
||||
Source1: gdm.pamd
|
||||
Source2: gdm-autologin.pamd
|
||||
Source3: gdm-welcome.pamd
|
||||
# gdmflexiserver wrapper, to enable other display managers to abuse the gdmflexiserver namespace (like lightdm)
|
||||
Source4: gdmflexiserver-wrapper
|
||||
Source3: gdm-launch-environment.pamd
|
||||
Source6: gdm-fingerprint.pamd
|
||||
Source7: gdm-smartcard.pamd
|
||||
# /etc/xinit.d/xdm integration script
|
||||
Source5: X11-displaymanager-gdm
|
||||
# PATCH-FEATURE-UPSTREAM gdm-plymouth.patch vuntz@opensuse.org -- Get a nice transition from plymouth; taken from Fedora
|
||||
Patch0: gdm-plymouth.patch
|
||||
# PATCH-FIX-UPSTREAM gdm-helper-directory.patch bgo582320 vuntz@novell.com -- Add --with-consolekit-directory, --with-check-accelerated-directory
|
||||
Patch2: 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
|
||||
Patch3: gdm-is-not-unstable-unless.patch
|
||||
# PATCH-FIX-UPSTREAM gdm-vt-allocation-hack.patch bgo511168 hpj@novell.com -- Needed for user switching
|
||||
Patch4: gdm-vt-allocation-hack.patch
|
||||
# PATCH-FIX-OPENSUSE gdm-desktop-session-env-pam.patch bnc427744 vuntz@novell.com -- Sets a PAM environment variable to let the pam gnome-keyring module know which session is started
|
||||
# PATCH-NEEDS-REBASE PATCH-FIX-OPENSUSE gdm-desktop-session-env-pam.patch bnc427744 vuntz@novell.com -- Sets a PAM environment variable to let the pam gnome-keyring module know which session is started
|
||||
Patch6: gdm-desktop-session-env-pam.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 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-FEATURE-OPENSUSE gdm-passwordless-login.patch vuntz@opensuse.org -- Support DISPLAYMANAGER_PASSWORD_LESS_LOGIN sysconfig option
|
||||
# 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-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
|
||||
@ -65,27 +59,20 @@ 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-OPENSUSE gdm-selinux.patch -- Small changes to make it compile fine with SELinux
|
||||
Patch60: gdm-selinux.patch
|
||||
BuildRequires: check-devel
|
||||
BuildRequires: dbus-1-glib-devel
|
||||
# needed for directory ownership
|
||||
BuildRequires: dconf
|
||||
BuildRequires: gnome-doc-utils-devel
|
||||
BuildRequires: gnome-common
|
||||
# needed for directory ownership
|
||||
BuildRequires: gnome-session-core
|
||||
BuildRequires: gobject-introspection-devel >= 0.9.12
|
||||
BuildRequires: intltool
|
||||
BuildRequires: iso-codes-devel
|
||||
BuildRequires: libXdmcp-devel
|
||||
BuildRequires: libXi-devel
|
||||
BuildRequires: libXinerama-devel
|
||||
BuildRequires: libattr-devel
|
||||
BuildRequires: libcanberra-devel
|
||||
BuildRequires: libselinux-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: libupower-glib-devel
|
||||
BuildRequires: libxklavier-devel
|
||||
BuildRequires: pam-devel
|
||||
BuildRequires: pwdutils
|
||||
BuildRequires: tcpd-devel
|
||||
@ -96,15 +83,17 @@ BuildRequires: xorg-x11-server-extra
|
||||
BuildRequires: pkgconfig(accountsservice)
|
||||
%if %{with_systemd}
|
||||
BuildRequires: pkgconfig(libsystemd-daemon)
|
||||
BuildRequires: pkgconfig(libsystemd-login)
|
||||
BuildRequires: pkgconfig(libsystemd-login) >= 186
|
||||
%endif
|
||||
BuildRequires: pkgconfig(nss)
|
||||
BuildRequires: pkgconfig(ply-boot-client)
|
||||
BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: pkgconfig(xau)
|
||||
BuildRequires: pkgconfig(xrandr)
|
||||
Requires: %{name}-branding = %{version}
|
||||
%if ! %{with_systemd}
|
||||
Requires: ConsoleKit-x11
|
||||
Requires: gdmflexiserver
|
||||
%endif
|
||||
Requires: gnome-session-core
|
||||
Requires: klogd
|
||||
Requires: xorg-x11-server-extra
|
||||
@ -131,6 +120,8 @@ Provides: gdm2 = %{version}
|
||||
Obsoletes: gdm2 < %{version}
|
||||
Provides: gnome-applets-gdm = %{version}
|
||||
Obsoletes: gnome-applets-gdm < %{version}
|
||||
# gdmflexiserver is dropped since 3.5.90
|
||||
Obsoletes: gdmflexiserver < %{version}
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
DocDir: %{_defaultdocdir}
|
||||
%glib2_gsettings_schema_requires
|
||||
@ -139,20 +130,20 @@ DocDir: %{_defaultdocdir}
|
||||
The GNOME Display Manager is a system service that is responsible for
|
||||
providing graphical log-ins and managing local and remote displays.
|
||||
|
||||
%package -n libgdmgreeter1
|
||||
%package -n libgdm1
|
||||
Summary: Client Library for Communicating with GDM Greeter Server
|
||||
Group: System/Libraries
|
||||
Recommends: gdm
|
||||
|
||||
%description -n libgdmgreeter1
|
||||
%description -n libgdm1
|
||||
The GNOME Display Manager is a system service that is responsible for
|
||||
providing graphical log-ins and managing local and remote displays.
|
||||
|
||||
%package -n typelib-1_0-GdmGreeter-1_0
|
||||
%package -n typelib-1_0-Gdm-1_0
|
||||
Summary: Client Library for Communicating with GDM Greeter Server -- Introspection bindings
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n typelib-1_0-GdmGreeter-1_0
|
||||
%description -n typelib-1_0-Gdm-1_0
|
||||
The GNOME Display Manager is a system service that is responsible for
|
||||
providing graphical log-ins and managing local and remote displays.
|
||||
|
||||
@ -183,9 +174,9 @@ providing graphical log-ins and managing local and remote displays.
|
||||
%package devel
|
||||
Summary: Libraries for GDM -- Development Files
|
||||
Group: Development/Libraries/GNOME
|
||||
Requires: libgdmgreeter1 = %{version}
|
||||
Requires: libgdm1 = %{version}
|
||||
Requires: libgdmsimplegreeter1 = %{version}
|
||||
Requires: typelib-1_0-GdmGreeter-1_0 = %{version}
|
||||
Requires: typelib-1_0-Gdm-1_0 = %{version}
|
||||
Provides: libgdmsimplegreeter-devel = %{version}
|
||||
Obsoletes: libgdmsimplegreeter-devel < %{version}
|
||||
|
||||
@ -211,26 +202,11 @@ providing graphical log-ins and managing local and remote displays.
|
||||
|
||||
This package provides the upstream default configuration for gdm.
|
||||
|
||||
%package -n gdmflexiserver
|
||||
Summary: Gdmflexiserver Compatibility Wrapper for Display Managers
|
||||
Group: System/GUI/GNOME
|
||||
Suggests: gdm
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n gdmflexiserver
|
||||
The gdmflexiserver tool interacts with the display manager to
|
||||
enable fast user switching. This package contains a wrapper that
|
||||
selects the correct gdmflexiserver implementatoin, based on the
|
||||
running display manager.
|
||||
|
||||
%lang_package
|
||||
%prep
|
||||
%setup -q
|
||||
translation-update-upstream
|
||||
%patch0 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
@ -238,13 +214,11 @@ translation-update-upstream
|
||||
%patch15 -p1
|
||||
%patch18 -p1
|
||||
%patch34 -p1
|
||||
%patch35 -p0
|
||||
%patch35 -p1
|
||||
%patch40 -p1
|
||||
%patch60
|
||||
|
||||
%build
|
||||
libtoolize -f -i
|
||||
autoreconf -f -i
|
||||
NOCONFIGURE=1 gnome-autogen.sh
|
||||
%configure\
|
||||
--disable-static \
|
||||
--libexecdir=%{_prefix}/lib/gdm \
|
||||
@ -252,8 +226,8 @@ autoreconf -f -i
|
||||
--with-at-spi-registryd-directory=%{_libexecdir}/at-spi \
|
||||
--with-consolekit-directory=%{_libexecdir}/ConsoleKit \
|
||||
--with-check-accelerated-directory=%{_libexecdir} \
|
||||
--with-selinux \
|
||||
--enable-ipv6 \
|
||||
--with-plymouth \
|
||||
%if %{with_systemd}
|
||||
--with-systemd \
|
||||
%else
|
||||
@ -265,7 +239,8 @@ autoreconf -f -i
|
||||
%else
|
||||
--disable-split-authentication \
|
||||
%endif
|
||||
--disable-scrollkeeper
|
||||
--disable-scrollkeeper \
|
||||
--with-initial-vt=7
|
||||
%__make %{?jobs:-j%jobs} V=1
|
||||
|
||||
%install
|
||||
@ -290,7 +265,11 @@ cp %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/gdm
|
||||
# Pam config for autologin
|
||||
cp %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/gdm-autologin
|
||||
# Pam config for the greeter session
|
||||
cp %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/gdm-welcome
|
||||
cp %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/gdm-launch-environment
|
||||
# Pam config for fingerprint authentication
|
||||
cp %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/gdm-fingerprint
|
||||
# Pam config for smartcard authentication
|
||||
cp %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/gdm-smartcard
|
||||
# The default gdm pam configuration is the one to be used as pam-password too
|
||||
%if %{enable_split_authentication}
|
||||
rm $RPM_BUILD_ROOT/etc/pam.d/gdm-password
|
||||
@ -301,9 +280,6 @@ ln -s gdm $RPM_BUILD_ROOT/etc/pam.d/gdm-password
|
||||
## Install other files
|
||||
# Install PostLogin script.
|
||||
mv $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default.sample $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default
|
||||
# Move gdmflexiserver to libexecdir and replace it with the compatibility wrapper
|
||||
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}%{_libexecdir}/X11/displaymanagers/gdm
|
||||
# Install other files
|
||||
@ -357,9 +333,9 @@ dconf update
|
||||
%glib2_gsettings_schema_postun
|
||||
%icon_theme_cache_postun
|
||||
|
||||
%post -n libgdmgreeter1 -p /sbin/ldconfig
|
||||
%post -n libgdm1 -p /sbin/ldconfig
|
||||
|
||||
%postun -n libgdmgreeter1 -p /sbin/ldconfig
|
||||
%postun -n libgdm1 -p /sbin/ldconfig
|
||||
|
||||
%post -n libgdmsimplegreeter1 -p /sbin/ldconfig
|
||||
|
||||
@ -368,13 +344,7 @@ dconf update
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc AUTHORS COPYING ChangeLog NEWS README
|
||||
%dir %{_datadir}/gnome/
|
||||
%dir %{_datadir}/gnome/help/
|
||||
%dir %{_datadir}/gnome/help/%{name}/
|
||||
%doc %{_datadir}/gnome/help/%{name}/C/
|
||||
%dir %{_datadir}/omf/
|
||||
%dir %{_datadir}/omf/%{name}/
|
||||
%doc %{_datadir}/omf/%{name}/%{name}-C.omf
|
||||
%doc %{_datadir}/help/C/%{name}/
|
||||
%dir %config %{_sysconfdir}/gdm
|
||||
%config %{_sysconfdir}/gdm/[IPXl]*
|
||||
%{_sbindir}/gdm
|
||||
@ -388,7 +358,6 @@ dconf update
|
||||
%{_datadir}/pixmaps/*.png
|
||||
%dir %{_libexecdir}/gdm
|
||||
%{_libexecdir}/gdm/gdm-*
|
||||
%{_libexecdir}/gdm/gdmflexiserver
|
||||
%attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm
|
||||
%ghost %attr(751,gdm,gdm) %dir %{_localstatedir}/run/gdm
|
||||
%attr(750,gdm,gdm) %dir %{_localstatedir}/log/gdm
|
||||
@ -398,7 +367,7 @@ dconf update
|
||||
%config /etc/pam.d/gdm-fingerprint
|
||||
%config /etc/pam.d/gdm-password
|
||||
%config /etc/pam.d/gdm-smartcard
|
||||
%config /etc/pam.d/gdm-welcome
|
||||
%config /etc/pam.d/gdm-launch-environment
|
||||
%config %{_sysconfdir}/dbus-1/system.d/gdm.conf
|
||||
%dir %config %{_sysconfdir}/dconf/db/gdm.d
|
||||
%dir %config %{_sysconfdir}/dconf/db/gdm.d/locks
|
||||
@ -412,13 +381,13 @@ dconf update
|
||||
# Exclude simple-greeter extensions
|
||||
%exclude %{_datadir}/gdm/simple-greeter/extensions
|
||||
|
||||
%files -n libgdmgreeter1
|
||||
%files -n libgdm1
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libgdmgreeter.so.*
|
||||
%{_libdir}/libgdm.so.*
|
||||
|
||||
%files -n typelib-1_0-GdmGreeter-1_0
|
||||
%files -n typelib-1_0-Gdm-1_0
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/girepository-1.0/GdmGreeter-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/Gdm-1.0.typelib
|
||||
|
||||
%files -n libgdmsimplegreeter1
|
||||
%defattr(-,root,root)
|
||||
@ -452,20 +421,16 @@ dconf update
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%{_includedir}/gdm/
|
||||
%{_libdir}/libgdmgreeter.so
|
||||
%{_libdir}/libgdm.so
|
||||
%{_libdir}/libgdmsimplegreeter.so
|
||||
%{_libdir}/pkgconfig/gdmgreeter.pc
|
||||
%{_libdir}/pkgconfig/gdm.pc
|
||||
%{_libdir}/pkgconfig/gdmsimplegreeter.pc
|
||||
%{_datadir}/gir-1.0/GdmGreeter-1.0.gir
|
||||
%{_datadir}/gir-1.0/Gdm-1.0.gir
|
||||
|
||||
%files branding-upstream
|
||||
%defattr(-,root,root)
|
||||
%config(noreplace) %{_sysconfdir}/gdm/custom.conf
|
||||
|
||||
%files -n gdmflexiserver
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/gdmflexiserver
|
||||
|
||||
%files lang -f %{name}.lang
|
||||
|
||||
%changelog
|
||||
|
@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
if test ! -x "${GDMFLEXISERVER:-/usr/lib/gdm/gdmflexiserver}"; then
|
||||
echo "No gdmflexiserver implementation found. Maybe install gdm?" >&2
|
||||
exit 1
|
||||
else
|
||||
exec "${GDMFLEXISERVER:-/usr/lib/gdm/gdmflexiserver}"
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user