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
|
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
|
||||||
===================================================================
|
index 90b9045..f2ea011 100644
|
||||||
--- gdm-2.30.4.orig/daemon/gdm-session-direct.c
|
--- a/daemon/gdm-session.c
|
||||||
+++ gdm-2.30.4/daemon/gdm-session-direct.c
|
+++ b/daemon/gdm-session.c
|
||||||
@@ -50,6 +50,8 @@
|
@@ -43,6 +43,8 @@
|
||||||
#include <dbus/dbus-glib.h>
|
#include <glib-object.h>
|
||||||
#include <dbus/dbus-glib-lowlevel.h>
|
#include <gio/gio.h>
|
||||||
|
|
||||||
+#include "gdm-sysconfig.h"
|
+#include "gdm-sysconfig.h"
|
||||||
+
|
+
|
||||||
#include "gdm-session-direct.h"
|
|
||||||
#include "gdm-session.h"
|
#include "gdm-session.h"
|
||||||
#include "gdm-session-private.h"
|
#include "gdm-session-glue.h"
|
||||||
@@ -662,6 +664,14 @@ get_fallback_session_name (GdmSessionDir
|
#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");
|
+ name = gdm_sysconfig_load_value ("/etc/sysconfig/windowmanager", "DEFAULT_WM");
|
||||||
+ if (name && get_session_command_for_name (name, NULL)) {
|
+ if (name && get_session_command_for_name (name, NULL)) {
|
||||||
+ g_free (session_direct->priv->fallback_session_name);
|
+ g_free (self->priv->fallback_session_name);
|
||||||
+ session_direct->priv->fallback_session_name = name;
|
+ self->priv->fallback_session_name = name;
|
||||||
+ goto out;
|
+ goto out;
|
||||||
+ }
|
+ }
|
||||||
+ g_free (name);
|
+ g_free (name);
|
||||||
+
|
+
|
||||||
name = g_strdup ("gnome");
|
name = g_strdup ("gnome");
|
||||||
if (get_session_command_for_name (name, NULL)) {
|
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.5.91.orig/daemon/gdm-session-worker.c
|
||||||
+++ gdm-3.3.92.1/daemon/gdm-session-worker.c
|
+++ gdm-3.5.91/daemon/gdm-session-worker.c
|
||||||
@@ -148,6 +148,8 @@ struct GdmSessionWorkerPrivate
|
@@ -159,6 +159,8 @@ struct GdmSessionWorkerPrivate
|
||||||
|
|
||||||
GdmSessionAuditor *auditor;
|
|
||||||
GdmSessionSettings *user_settings;
|
GdmSessionSettings *user_settings;
|
||||||
|
|
||||||
|
GDBusMethodInvocation *pending_invocation;
|
||||||
+
|
+
|
||||||
+ char *suse_session_name;
|
+ char *suse_session_name;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@@ -166,6 +168,11 @@ static void gdm_session_worker_set_e
|
@@ -1115,6 +1117,9 @@ gdm_session_worker_initialize_pam (GdmSe
|
||||||
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
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -33,10 +21,11 @@ Index: gdm-3.3.92.1/daemon/gdm-session-worker.c
|
|||||||
g_debug ("GdmSessionWorker: state SETUP_COMPLETE");
|
g_debug ("GdmSessionWorker: state SETUP_COMPLETE");
|
||||||
worker->priv->state = GDM_SESSION_WORKER_STATE_SETUP_COMPLETE;
|
worker->priv->state = GDM_SESSION_WORKER_STATE_SETUP_COMPLETE;
|
||||||
|
|
||||||
@@ -2051,11 +2061,26 @@ static void
|
@@ -2035,12 +2040,36 @@ gdm_session_worker_handle_set_session_na
|
||||||
gdm_session_worker_set_session_name (GdmSessionWorker *worker,
|
|
||||||
const char *session_name)
|
|
||||||
{
|
{
|
||||||
|
GdmSessionWorker *worker = GDM_SESSION_WORKER (object);
|
||||||
|
g_debug ("GdmSessionWorker: session name set to %s", session_name);
|
||||||
|
+
|
||||||
+ if (worker->priv->pam_handle != NULL)
|
+ if (worker->priv->pam_handle != NULL)
|
||||||
+ gdm_session_worker_set_environment_variable (worker, "DESKTOP_SESSION", session_name);
|
+ gdm_session_worker_set_environment_variable (worker, "DESKTOP_SESSION", session_name);
|
||||||
+ g_free (worker->priv->suse_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,
|
gdm_session_settings_set_session_name (worker->priv->user_settings,
|
||||||
session_name);
|
session_name);
|
||||||
|
gdm_dbus_worker_complete_set_session_name (object, invocation);
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
+static gboolean
|
||||||
+gdm_session_worker_set_default_session_name (GdmSessionWorker *worker,
|
+gdm_session_worker_handle_set_default_session_name (GdmDBusWorker *object,
|
||||||
|
+ GDBusMethodInvocation *invocation,
|
||||||
+ const char *session_name)
|
+ 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)
|
+ if (worker->priv->pam_handle != NULL)
|
||||||
+ gdm_session_worker_set_environment_variable (worker, "DESKTOP_SESSION", session_name);
|
+ gdm_session_worker_set_environment_variable (worker, "DESKTOP_SESSION", session_name);
|
||||||
+ g_free (worker->priv->suse_session_name);
|
+ g_free (worker->priv->suse_session_name);
|
||||||
+ worker->priv->suse_session_name = g_strdup (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,
|
static gboolean
|
||||||
DBusMessage *message)
|
gdm_session_worker_handle_set_session_type (GdmDBusWorker *object,
|
||||||
{
|
GDBusMethodInvocation *invocation,
|
||||||
@@ -2108,6 +2133,28 @@ on_set_session_type (GdmSessionWorker *w
|
@@ -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
|
g_hash_table_unref (worker->priv->reauthentication_requests);
|
||||||
+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_free (worker->priv->suse_session_name);
|
+ g_free (worker->priv->suse_session_name);
|
||||||
+
|
+
|
||||||
G_OBJECT_CLASS (gdm_session_worker_parent_class)->finalize (object);
|
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.5.91.orig/daemon/gdm-session-worker.xml
|
||||||
+++ gdm-3.3.92.1/daemon/gdm-session-direct.c
|
+++ gdm-3.5.91/daemon/gdm-session-worker.xml
|
||||||
@@ -135,6 +135,8 @@ G_DEFINE_TYPE_WITH_CODE (GdmSessionDirec
|
@@ -13,6 +13,9 @@
|
||||||
G_IMPLEMENT_INTERFACE (GDM_TYPE_SESSION,
|
<method name="SetSessionName">
|
||||||
gdm_session_iface_init))
|
<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
|
static GdmSessionConversation *
|
||||||
send_dbus_message (GdmSessionConversation *conversation,
|
find_conversation_by_name (GdmSession *self,
|
||||||
DBusMessage *message)
|
const char *service_name)
|
||||||
@@ -774,10 +776,27 @@ get_default_session_name (GdmSessionDire
|
@@ -598,6 +600,9 @@ get_default_session_name (GdmSession *se
|
||||||
static void
|
static void
|
||||||
gdm_session_direct_defaults_changed (GdmSessionDirect *session)
|
gdm_session_defaults_changed (GdmSession *self)
|
||||||
{
|
{
|
||||||
+ GdmSessionDirect *impl = GDM_SESSION_DIRECT (session);
|
|
||||||
+ GHashTableIter iter;
|
+ GHashTableIter iter;
|
||||||
+ gpointer key, value;
|
+ gpointer key, value;
|
||||||
+ const char *text;
|
+ 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),
|
+ text = get_session_name (self);
|
||||||
get_default_language_name (session));
|
|
||||||
_gdm_session_default_session_name_changed (GDM_SESSION (session),
|
|
||||||
get_default_session_name (session));
|
|
||||||
+
|
+
|
||||||
+ text = get_session_name (impl);
|
+ g_hash_table_iter_init (&iter, self->priv->conversations);
|
||||||
+
|
|
||||||
+ g_hash_table_iter_init (&iter, impl->priv->conversations);
|
|
||||||
+ while (g_hash_table_iter_next (&iter, &key, &value)) {
|
+ while (g_hash_table_iter_next (&iter, &key, &value)) {
|
||||||
+ GdmSessionConversation *conversation;
|
+ GdmSessionConversation *conversation;
|
||||||
+
|
+
|
||||||
+ conversation = (GdmSessionConversation *) value;
|
+ conversation = (GdmSessionConversation *) value;
|
||||||
+
|
+
|
||||||
+ send_dbus_string_signal (conversation, "SetDefaultSessionName",
|
+ gdm_dbus_worker_call_set_default_session_name (conversation->worker_proxy,
|
||||||
+ text);
|
+ text,
|
||||||
|
+ NULL, NULL, NULL);
|
||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
void
|
||||||
@@ -1230,11 +1249,28 @@ gdm_session_direct_handle_saved_session_
|
@@ -910,6 +928,10 @@ worker_on_saved_session_name_read (GdmDB
|
||||||
|
|
||||||
if (strcmp (session_name,
|
if (strcmp (session_name,
|
||||||
get_default_session_name (session)) != 0) {
|
get_default_session_name (self)) != 0) {
|
||||||
+ GdmSessionDirect *impl = GDM_SESSION_DIRECT (session);
|
|
||||||
+ GHashTableIter iter;
|
+ GHashTableIter iter;
|
||||||
+ gpointer key, value;
|
+ gpointer key, value;
|
||||||
+ const char *text;
|
+ const char *text;
|
||||||
+
|
+
|
||||||
g_free (session->priv->saved_session);
|
g_free (self->priv->saved_session);
|
||||||
session->priv->saved_session = g_strdup (session_name);
|
self->priv->saved_session = g_strdup (session_name);
|
||||||
|
|
||||||
_gdm_session_default_session_name_changed (GDM_SESSION (session),
|
@@ -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);
|
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)) {
|
+ while (g_hash_table_iter_next (&iter, &key, &value)) {
|
||||||
+ GdmSessionConversation *conversation;
|
+ GdmSessionConversation *conversation;
|
||||||
+
|
+
|
||||||
+ conversation = (GdmSessionConversation *) value;
|
+ conversation = (GdmSessionConversation *) value;
|
||||||
+
|
+
|
||||||
+ send_dbus_string_signal (conversation, "SetDefaultSessionName",
|
+ gdm_dbus_worker_call_set_default_session_name (conversation->worker_proxy,
|
||||||
+ text);
|
+ 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.5.91.orig/common/gdm-settings-system-backend.c
|
||||||
+++ gdm-3.1.2/common/gdm-settings-system-backend.c
|
+++ gdm-3.5.91/common/gdm-settings-system-backend.c
|
||||||
@@ -44,11 +44,11 @@
|
@@ -43,11 +43,11 @@
|
||||||
#define SYSCONFIG_AUTOLOGIN_KEY "DISPLAYMANAGER_AUTOLOGIN"
|
#define SYSCONFIG_AUTOLOGIN_KEY "DISPLAYMANAGER_AUTOLOGIN"
|
||||||
#define SYSCONFIG_TCP_OPEN_KEY "DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN"
|
#define SYSCONFIG_TCP_OPEN_KEY "DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN"
|
||||||
#define SYSCONFIG_XDMCP_KEY "DISPLAYMANAGER_REMOTE_ACCESS"
|
#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_AD_INTEGRATION
|
||||||
* - DISPLAYMANAGER_SHUTDOWN (handled by ConsoleKit)
|
* - DISPLAYMANAGER_SHUTDOWN (handled by ConsoleKit)
|
||||||
*/
|
*/
|
||||||
@@ -66,12 +66,14 @@ struct GdmSettingsSystemBackendPrivate
|
@@ -65,12 +65,14 @@ struct GdmSettingsSystemBackendPrivate
|
||||||
gboolean dirty_autologin_user;
|
gboolean dirty_autologin_user;
|
||||||
gboolean dirty_tcp_open;
|
gboolean dirty_tcp_open;
|
||||||
gboolean dirty_xdmcp;
|
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);
|
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");
|
val = g_strdup (xdmcp ? "true" : "false");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -47,7 +47,7 @@ Index: gdm-3.1.2/common/gdm-settings-system-backend.c
|
|||||||
} else {
|
} else {
|
||||||
g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found");
|
g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found");
|
||||||
goto out;
|
goto out;
|
||||||
@@ -201,6 +213,12 @@ save_settings (GdmSettingsSystemBackend
|
@@ -200,6 +212,12 @@ save_settings (GdmSettingsSystemBackend
|
||||||
backend->priv->set_xdmcp ? "yes" : "no");
|
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))
|
if (!gdm_sysconfig_save_file (backend->priv->filename, backend->priv->lines))
|
||||||
g_warning ("Unable to save settings to %s.", backend->priv->filename);
|
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_autologin_user = FALSE;
|
||||||
backend->priv->dirty_tcp_open = FALSE;
|
backend->priv->dirty_tcp_open = FALSE;
|
||||||
backend->priv->dirty_xdmcp = FALSE;
|
backend->priv->dirty_xdmcp = FALSE;
|
||||||
@ -68,7 +68,7 @@ Index: gdm-3.1.2/common/gdm-settings-system-backend.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
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)) {
|
} else if (!strcasecmp (key, GDM_KEY_XDMCP_ENABLE)) {
|
||||||
priv->set_xdmcp = value_to_boolean (value);
|
priv->set_xdmcp = value_to_boolean (value);
|
||||||
GDM_SETTINGS_SYSTEM_BACKEND (backend)->priv->dirty_xdmcp = TRUE;
|
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 {
|
} else {
|
||||||
g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found");
|
g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found");
|
||||||
return FALSE;
|
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.5.91.orig/common/gdm-settings-keys.h
|
||||||
+++ gdm-3.1.2/common/gdm-settings-keys.h
|
+++ gdm-3.5.91/common/gdm-settings-keys.h
|
||||||
@@ -32,6 +32,7 @@ G_BEGIN_DECLS
|
@@ -33,6 +33,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_USER "daemon/TimedLogin"
|
||||||
#define GDM_KEY_TIMED_LOGIN_DELAY "daemon/TimedLoginDelay"
|
#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_SUSE_PASSWORDLESS_LOGIN_ENABLE "daemon/SUSEPasswordlessEnable"
|
||||||
|
|
||||||
#define GDM_KEY_DEBUG "debug/Enable"
|
#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.5.91.orig/data/gdm.schemas.in.in
|
||||||
+++ gdm-3.1.2/data/gdm.schemas.in.in
|
+++ gdm-3.5.91/data/gdm.schemas.in.in
|
||||||
@@ -47,6 +47,12 @@
|
@@ -52,6 +52,12 @@
|
||||||
<signature>i</signature>
|
<signature>b</signature>
|
||||||
<default>30</default>
|
<default>false</default>
|
||||||
</schema>
|
</schema>
|
||||||
+ <schema>
|
+ <schema>
|
||||||
+ <!-- SUSE-specific -->
|
+ <!-- SUSE-specific -->
|
||||||
@ -107,32 +107,26 @@ Index: gdm-3.1.2/data/gdm.schemas.in.in
|
|||||||
|
|
||||||
<schema>
|
<schema>
|
||||||
<key>debug/Enable</key>
|
<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.5.91.orig/daemon/gdm-session.c
|
||||||
+++ gdm-3.1.2/daemon/gdm-greeter-server.c
|
+++ gdm-3.5.91/daemon/gdm-session.c
|
||||||
@@ -46,6 +46,9 @@
|
@@ -55,6 +55,9 @@
|
||||||
|
#include "gdm-session-worker-glue.h"
|
||||||
#include "gdm-common.h"
|
#include "gdm-common.h"
|
||||||
#include "gdm-greeter-server.h"
|
|
||||||
|
|
||||||
+#include "gdm-settings-client.h"
|
+#include "gdm-settings-client.h"
|
||||||
+#include "gdm-settings-keys.h"
|
+#include "gdm-settings-keys.h"
|
||||||
+
|
+
|
||||||
#define GDM_GREETER_SERVER_DBUS_PATH "/org/gnome/DisplayManager/GreeterServer"
|
#define GDM_SESSION_DBUS_ERROR_CANCEL "org.gnome.DisplayManager.Session.Error.Cancel"
|
||||||
#define GDM_GREETER_SERVER_DBUS_INTERFACE "org.gnome.DisplayManager.GreeterServer"
|
#define GDM_SESSION_DBUS_OBJECT_PATH "/org/gnome/DisplayManager/Session"
|
||||||
|
|
||||||
@@ -478,6 +481,7 @@ handle_begin_verification_for_user (GdmG
|
@@ -1222,6 +1225,15 @@ gdm_session_handle_client_begin_verifica
|
||||||
DBusError error;
|
GdmSession *self)
|
||||||
const char *text;
|
{
|
||||||
const char *service_name;
|
GdmSessionConversation *conversation;
|
||||||
+ gboolean passwordless;
|
+ 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);
|
|
||||||
|
|
||||||
+ if (!gdm_settings_client_get_boolean (GDM_KEY_SUSE_PASSWORDLESS_LOGIN_ENABLE,
|
+ if (!gdm_settings_client_get_boolean (GDM_KEY_SUSE_PASSWORDLESS_LOGIN_ENABLE,
|
||||||
+ &passwordless)) {
|
+ &passwordless)) {
|
||||||
+ passwordless = FALSE;
|
+ passwordless = FALSE;
|
||||||
@ -140,7 +134,6 @@ Index: gdm-3.1.2/daemon/gdm-greeter-server.c
|
|||||||
+
|
+
|
||||||
+ if (passwordless)
|
+ if (passwordless)
|
||||||
+ service_name = "gdm-autologin";
|
+ 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.5.4.orig/common/Makefile.am
|
||||||
+++ gdm-3.1.2/common/Makefile.am
|
+++ gdm-3.5.4/common/Makefile.am
|
||||||
@@ -73,6 +73,8 @@ libgdmcommon_la_SOURCES = \
|
@@ -77,6 +77,8 @@ libgdmcommon_la_SOURCES = \
|
||||||
gdm-settings-backend.h \
|
gdm-settings-backend.h \
|
||||||
gdm-settings-desktop-backend.c \
|
gdm-settings-desktop-backend.c \
|
||||||
gdm-settings-desktop-backend.h \
|
gdm-settings-desktop-backend.h \
|
||||||
@ -11,7 +11,7 @@ Index: gdm-3.1.2/common/Makefile.am
|
|||||||
gdm-settings-keys.h \
|
gdm-settings-keys.h \
|
||||||
gdm-settings-utils.h \
|
gdm-settings-utils.h \
|
||||||
gdm-settings-utils.c \
|
gdm-settings-utils.c \
|
||||||
@@ -80,6 +82,8 @@ libgdmcommon_la_SOURCES = \
|
@@ -84,6 +86,8 @@ libgdmcommon_la_SOURCES = \
|
||||||
gdm-settings-direct.h \
|
gdm-settings-direct.h \
|
||||||
gdm-settings-client.h \
|
gdm-settings-client.h \
|
||||||
gdm-settings-client.c \
|
gdm-settings-client.c \
|
||||||
@ -20,10 +20,10 @@ Index: gdm-3.1.2/common/Makefile.am
|
|||||||
gdm-log.h \
|
gdm-log.h \
|
||||||
gdm-log.c \
|
gdm-log.c \
|
||||||
gdm-md5.h \
|
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
|
--- /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 @@
|
@@ -0,0 +1,348 @@
|
||||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
+/* -*- 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);
|
+ 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
|
--- /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 @@
|
@@ -0,0 +1,56 @@
|
||||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
+/* -*- 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
|
+G_END_DECLS
|
||||||
+
|
+
|
||||||
+#endif /* __GDM_SETTINGS_SYSTEM_BACKEND_H */
|
+#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.5.4.orig/common/gdm-settings.c
|
||||||
+++ gdm-3.1.2/common/gdm-settings.c
|
+++ gdm-3.5.4/common/gdm-settings.c
|
||||||
@@ -41,6 +41,7 @@
|
@@ -39,6 +39,7 @@
|
||||||
#include "gdm-settings-glue.h"
|
#include "gdm-settings-glue.h"
|
||||||
|
|
||||||
#include "gdm-settings-desktop-backend.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_DBUS_PATH "/org/gnome/DisplayManager"
|
||||||
#define GDM_SETTINGS_DBUS_PATH GDM_DBUS_PATH "/Settings"
|
#define GDM_SETTINGS_DBUS_PATH GDM_DBUS_PATH "/Settings"
|
||||||
@@ -51,7 +52,7 @@
|
@@ -50,7 +51,7 @@ struct GdmSettingsPrivate
|
||||||
struct GdmSettingsPrivate
|
|
||||||
{
|
{
|
||||||
DBusGConnection *connection;
|
GDBusConnection *connection;
|
||||||
|
GdmDBusSettings *skeleton;
|
||||||
- GdmSettingsBackend *backend;
|
- GdmSettingsBackend *backend;
|
||||||
+ GList *backends;
|
+ GList *backends;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@@ -92,15 +93,29 @@ gdm_settings_get_value (GdmSettings *set
|
@@ -91,15 +92,29 @@ gdm_settings_get_value (GdmSettings *set
|
||||||
{
|
{
|
||||||
GError *local_error;
|
GError *local_error;
|
||||||
gboolean res;
|
gboolean res;
|
||||||
@ -489,7 +489,7 @@ Index: gdm-3.1.2/common/gdm-settings.c
|
|||||||
if (! res) {
|
if (! res) {
|
||||||
g_propagate_error (error, local_error);
|
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;
|
GError *local_error;
|
||||||
gboolean res;
|
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 (GDM_IS_SETTINGS (settings), FALSE);
|
||||||
g_return_val_if_fail (key != NULL, 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);
|
g_debug ("Setting value %s", key);
|
||||||
|
|
||||||
local_error = NULL;
|
local_error = NULL;
|
||||||
@ -525,7 +525,7 @@ Index: gdm-3.1.2/common/gdm-settings.c
|
|||||||
if (! res) {
|
if (! res) {
|
||||||
g_propagate_error (error, local_error);
|
g_propagate_error (error, local_error);
|
||||||
}
|
}
|
||||||
@@ -208,13 +237,21 @@ backend_value_changed (GdmSettingsBacken
|
@@ -265,13 +294,21 @@ backend_value_changed (GdmSettingsBacken
|
||||||
static void
|
static void
|
||||||
gdm_settings_init (GdmSettings *settings)
|
gdm_settings_init (GdmSettings *settings)
|
||||||
{
|
{
|
||||||
@ -552,7 +552,7 @@ Index: gdm-3.1.2/common/gdm-settings.c
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
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);
|
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);
|
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
|
--- /dev/null
|
||||||
+++ gdm-3.1.2/common/gdm-sysconfig.c
|
+++ gdm-3.5.4/common/gdm-sysconfig.c
|
||||||
@@ -0,0 +1,484 @@
|
@@ -0,0 +1,484 @@
|
||||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
+/* -*- 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);
|
+ g_strfreev (lines);
|
||||||
+ return result;
|
+ return result;
|
||||||
+}
|
+}
|
||||||
Index: gdm-3.1.2/common/gdm-sysconfig.h
|
Index: gdm-3.5.4/common/gdm-sysconfig.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ gdm-3.1.2/common/gdm-sysconfig.h
|
+++ gdm-3.5.4/common/gdm-sysconfig.h
|
||||||
@@ -0,0 +1,43 @@
|
@@ -0,0 +1,43 @@
|
||||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
+/* -*- 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
|
+G_END_DECLS
|
||||||
+
|
+
|
||||||
+#endif /* __GDM_SYSCONFIG_H */
|
+#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.5.4.orig/data/gdm.conf-custom.in
|
||||||
+++ gdm-3.1.2/data/gdm.conf-custom.in
|
+++ gdm-3.5.4/data/gdm.conf-custom.in
|
||||||
@@ -1,4 +1,7 @@
|
@@ -1,4 +1,7 @@
|
||||||
# GDM configuration storage
|
# 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
|
--- gdm-3.5.91.orig/daemon/gdm-display-access-file.c
|
||||||
+++ 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
|
@@ -440,11 +440,15 @@ _get_auth_info_for_display (GdmDisplayAc
|
||||||
if (is_local) {
|
if (is_local) {
|
||||||
char localhost[HOST_NAME_MAX + 1] = "";
|
char localhost[HOST_NAME_MAX + 1] = "";
|
||||||
@ -18,28 +18,44 @@ Index: daemon/gdm-display-access-file.c
|
|||||||
} else {
|
} else {
|
||||||
*family = FamilyWild;
|
*family = FamilyWild;
|
||||||
gdm_display_get_remote_hostname (display, address, NULL);
|
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
|
--- gdm-3.5.91.orig/daemon/gdm-launch-environment.c
|
||||||
+++ daemon/gdm-session-direct.c
|
+++ gdm-3.5.91/daemon/gdm-launch-environment.c
|
||||||
@@ -2119,6 +2119,12 @@ setup_session_environment (GdmSessionDir
|
@@ -306,6 +306,11 @@ build_launch_environment (GdmLaunchEnvir
|
||||||
|
g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ 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"));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
g_hash_table_insert (hash, g_strdup ("PATH"), g_strdup (g_getenv ("PATH")));
|
||||||
|
|
||||||
+ if (session_direct->priv->display_is_local) {
|
g_hash_table_insert (hash, g_strdup ("RUNNING_UNDER_GDM"), g_strdup ("true"));
|
||||||
+ gdm_session_direct_set_environment_variable (session,
|
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
|
||||||
|
@@ -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",
|
+ "XAUTHLOCALHOSTNAME",
|
||||||
+ "localhost");
|
+ "localhost");
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
/* FIXME: We do this here and in the session worker. We should consolidate
|
if (g_getenv ("WINDOWPATH") != NULL) {
|
||||||
* somehow.
|
gdm_session_set_environment_variable (self,
|
||||||
*/
|
"WINDOWPATH",
|
||||||
Index: daemon/gdm-slave.c
|
Index: gdm-3.5.91/daemon/gdm-slave.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- daemon/gdm-slave.c.orig
|
--- gdm-3.5.91.orig/daemon/gdm-slave.c
|
||||||
+++ daemon/gdm-slave.c
|
+++ gdm-3.5.91/daemon/gdm-slave.c
|
||||||
@@ -234,6 +234,10 @@ get_script_environment (GdmSlave *slav
|
@@ -255,6 +255,10 @@ get_script_environment (GdmSlave *slav
|
||||||
g_hash_table_insert (hash, g_strdup ("REMOTE_HOST"), g_strdup (slave->priv->display_hostname));
|
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 */
|
/* 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 ("XAUTHORITY"), g_strdup (slave->priv->display_x11_authority_file));
|
||||||
g_hash_table_insert (hash, g_strdup ("DISPLAY"), g_strdup (slave->priv->display_name));
|
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 ("DISPLAY", slave->priv->display_name, TRUE);
|
||||||
g_setenv ("XAUTHORITY", slave->priv->display_x11_authority_file, TRUE);
|
g_setenv ("XAUTHORITY", slave->priv->display_x11_authority_file, TRUE);
|
||||||
@ -58,19 +74,3 @@ Index: daemon/gdm-slave.c
|
|||||||
|
|
||||||
sigemptyset (&mask);
|
sigemptyset (&mask);
|
||||||
sigaddset (&mask, SIGCHLD);
|
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
|
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
|
%define enable_split_authentication 0
|
||||||
|
|
||||||
Name: gdm
|
Name: gdm
|
||||||
Version: 3.4.1
|
Version: 3.6.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: The GNOME Display Manager
|
Summary: The GNOME Display Manager
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Group: System/GUI/GNOME
|
Group: System/GUI/GNOME
|
||||||
Url: http://projects.gnome.org/gdm/
|
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
|
Source1: gdm.pamd
|
||||||
Source2: gdm-autologin.pamd
|
Source2: gdm-autologin.pamd
|
||||||
Source3: gdm-welcome.pamd
|
Source3: gdm-launch-environment.pamd
|
||||||
# gdmflexiserver wrapper, to enable other display managers to abuse the gdmflexiserver namespace (like lightdm)
|
Source6: gdm-fingerprint.pamd
|
||||||
Source4: gdmflexiserver-wrapper
|
Source7: gdm-smartcard.pamd
|
||||||
# /etc/xinit.d/xdm integration script
|
# /etc/xinit.d/xdm integration script
|
||||||
Source5: X11-displaymanager-gdm
|
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
|
# 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
|
Patch3: gdm-is-not-unstable-unless.patch
|
||||||
# PATCH-FIX-UPSTREAM gdm-vt-allocation-hack.patch bgo511168 hpj@novell.com -- Needed for user switching
|
# 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
|
||||||
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
|
|
||||||
Patch6: gdm-desktop-session-env-pam.patch
|
Patch6: gdm-desktop-session-env-pam.patch
|
||||||
# PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts
|
# PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts
|
||||||
Patch7: gdm-suse-xsession.patch
|
Patch7: gdm-suse-xsession.patch
|
||||||
# WARNING: do not remove/significantly change patch8 without updating the relevant patch in accountsservice too
|
# 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)
|
# 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
|
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
|
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)
|
# 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
|
Patch15: gdm-greeter-greater-ui.patch
|
||||||
@ -65,27 +59,20 @@ Patch34: gdm-default-wm.patch
|
|||||||
Patch35: gdm-xauthlocalhostname.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
|
# 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
|
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: check-devel
|
||||||
BuildRequires: dbus-1-glib-devel
|
|
||||||
# needed for directory ownership
|
# needed for directory ownership
|
||||||
BuildRequires: dconf
|
BuildRequires: dconf
|
||||||
BuildRequires: gnome-doc-utils-devel
|
BuildRequires: gnome-common
|
||||||
# needed for directory ownership
|
# needed for directory ownership
|
||||||
BuildRequires: gnome-session-core
|
BuildRequires: gnome-session-core
|
||||||
BuildRequires: gobject-introspection-devel >= 0.9.12
|
BuildRequires: gobject-introspection-devel >= 0.9.12
|
||||||
BuildRequires: intltool
|
|
||||||
BuildRequires: iso-codes-devel
|
BuildRequires: iso-codes-devel
|
||||||
BuildRequires: libXdmcp-devel
|
BuildRequires: libXdmcp-devel
|
||||||
BuildRequires: libXi-devel
|
BuildRequires: libXi-devel
|
||||||
BuildRequires: libXinerama-devel
|
BuildRequires: libXinerama-devel
|
||||||
BuildRequires: libattr-devel
|
BuildRequires: libattr-devel
|
||||||
BuildRequires: libcanberra-devel
|
BuildRequires: libcanberra-devel
|
||||||
BuildRequires: libselinux-devel
|
|
||||||
BuildRequires: libtool
|
|
||||||
BuildRequires: libupower-glib-devel
|
BuildRequires: libupower-glib-devel
|
||||||
BuildRequires: libxklavier-devel
|
|
||||||
BuildRequires: pam-devel
|
BuildRequires: pam-devel
|
||||||
BuildRequires: pwdutils
|
BuildRequires: pwdutils
|
||||||
BuildRequires: tcpd-devel
|
BuildRequires: tcpd-devel
|
||||||
@ -96,15 +83,17 @@ BuildRequires: xorg-x11-server-extra
|
|||||||
BuildRequires: pkgconfig(accountsservice)
|
BuildRequires: pkgconfig(accountsservice)
|
||||||
%if %{with_systemd}
|
%if %{with_systemd}
|
||||||
BuildRequires: pkgconfig(libsystemd-daemon)
|
BuildRequires: pkgconfig(libsystemd-daemon)
|
||||||
BuildRequires: pkgconfig(libsystemd-login)
|
BuildRequires: pkgconfig(libsystemd-login) >= 186
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: pkgconfig(nss)
|
BuildRequires: pkgconfig(nss)
|
||||||
|
BuildRequires: pkgconfig(ply-boot-client)
|
||||||
BuildRequires: pkgconfig(x11)
|
BuildRequires: pkgconfig(x11)
|
||||||
BuildRequires: pkgconfig(xau)
|
BuildRequires: pkgconfig(xau)
|
||||||
BuildRequires: pkgconfig(xrandr)
|
BuildRequires: pkgconfig(xrandr)
|
||||||
Requires: %{name}-branding = %{version}
|
Requires: %{name}-branding = %{version}
|
||||||
|
%if ! %{with_systemd}
|
||||||
Requires: ConsoleKit-x11
|
Requires: ConsoleKit-x11
|
||||||
Requires: gdmflexiserver
|
%endif
|
||||||
Requires: gnome-session-core
|
Requires: gnome-session-core
|
||||||
Requires: klogd
|
Requires: klogd
|
||||||
Requires: xorg-x11-server-extra
|
Requires: xorg-x11-server-extra
|
||||||
@ -131,6 +120,8 @@ Provides: gdm2 = %{version}
|
|||||||
Obsoletes: gdm2 < %{version}
|
Obsoletes: gdm2 < %{version}
|
||||||
Provides: gnome-applets-gdm = %{version}
|
Provides: gnome-applets-gdm = %{version}
|
||||||
Obsoletes: gnome-applets-gdm < %{version}
|
Obsoletes: gnome-applets-gdm < %{version}
|
||||||
|
# gdmflexiserver is dropped since 3.5.90
|
||||||
|
Obsoletes: gdmflexiserver < %{version}
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
DocDir: %{_defaultdocdir}
|
DocDir: %{_defaultdocdir}
|
||||||
%glib2_gsettings_schema_requires
|
%glib2_gsettings_schema_requires
|
||||||
@ -139,20 +130,20 @@ DocDir: %{_defaultdocdir}
|
|||||||
The GNOME Display Manager is a system service that is responsible for
|
The GNOME Display Manager is a system service that is responsible for
|
||||||
providing graphical log-ins and managing local and remote displays.
|
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
|
Summary: Client Library for Communicating with GDM Greeter Server
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Recommends: gdm
|
Recommends: gdm
|
||||||
|
|
||||||
%description -n libgdmgreeter1
|
%description -n libgdm1
|
||||||
The GNOME Display Manager is a system service that is responsible for
|
The GNOME Display Manager is a system service that is responsible for
|
||||||
providing graphical log-ins and managing local and remote displays.
|
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
|
Summary: Client Library for Communicating with GDM Greeter Server -- Introspection bindings
|
||||||
Group: System/Libraries
|
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
|
The GNOME Display Manager is a system service that is responsible for
|
||||||
providing graphical log-ins and managing local and remote displays.
|
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
|
%package devel
|
||||||
Summary: Libraries for GDM -- Development Files
|
Summary: Libraries for GDM -- Development Files
|
||||||
Group: Development/Libraries/GNOME
|
Group: Development/Libraries/GNOME
|
||||||
Requires: libgdmgreeter1 = %{version}
|
Requires: libgdm1 = %{version}
|
||||||
Requires: libgdmsimplegreeter1 = %{version}
|
Requires: libgdmsimplegreeter1 = %{version}
|
||||||
Requires: typelib-1_0-GdmGreeter-1_0 = %{version}
|
Requires: typelib-1_0-Gdm-1_0 = %{version}
|
||||||
Provides: libgdmsimplegreeter-devel = %{version}
|
Provides: libgdmsimplegreeter-devel = %{version}
|
||||||
Obsoletes: 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.
|
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
|
%lang_package
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
translation-update-upstream
|
translation-update-upstream
|
||||||
%patch0 -p1
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
|
||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
%patch8 -p1
|
%patch8 -p1
|
||||||
@ -238,13 +214,11 @@ translation-update-upstream
|
|||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch18 -p1
|
%patch18 -p1
|
||||||
%patch34 -p1
|
%patch34 -p1
|
||||||
%patch35 -p0
|
%patch35 -p1
|
||||||
%patch40 -p1
|
%patch40 -p1
|
||||||
%patch60
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
libtoolize -f -i
|
NOCONFIGURE=1 gnome-autogen.sh
|
||||||
autoreconf -f -i
|
|
||||||
%configure\
|
%configure\
|
||||||
--disable-static \
|
--disable-static \
|
||||||
--libexecdir=%{_prefix}/lib/gdm \
|
--libexecdir=%{_prefix}/lib/gdm \
|
||||||
@ -252,8 +226,8 @@ autoreconf -f -i
|
|||||||
--with-at-spi-registryd-directory=%{_libexecdir}/at-spi \
|
--with-at-spi-registryd-directory=%{_libexecdir}/at-spi \
|
||||||
--with-consolekit-directory=%{_libexecdir}/ConsoleKit \
|
--with-consolekit-directory=%{_libexecdir}/ConsoleKit \
|
||||||
--with-check-accelerated-directory=%{_libexecdir} \
|
--with-check-accelerated-directory=%{_libexecdir} \
|
||||||
--with-selinux \
|
|
||||||
--enable-ipv6 \
|
--enable-ipv6 \
|
||||||
|
--with-plymouth \
|
||||||
%if %{with_systemd}
|
%if %{with_systemd}
|
||||||
--with-systemd \
|
--with-systemd \
|
||||||
%else
|
%else
|
||||||
@ -265,7 +239,8 @@ autoreconf -f -i
|
|||||||
%else
|
%else
|
||||||
--disable-split-authentication \
|
--disable-split-authentication \
|
||||||
%endif
|
%endif
|
||||||
--disable-scrollkeeper
|
--disable-scrollkeeper \
|
||||||
|
--with-initial-vt=7
|
||||||
%__make %{?jobs:-j%jobs} V=1
|
%__make %{?jobs:-j%jobs} V=1
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -290,7 +265,11 @@ cp %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/gdm
|
|||||||
# Pam config for autologin
|
# Pam config for autologin
|
||||||
cp %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/gdm-autologin
|
cp %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/gdm-autologin
|
||||||
# Pam config for the greeter session
|
# 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
|
# The default gdm pam configuration is the one to be used as pam-password too
|
||||||
%if %{enable_split_authentication}
|
%if %{enable_split_authentication}
|
||||||
rm $RPM_BUILD_ROOT/etc/pam.d/gdm-password
|
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 other files
|
||||||
# Install PostLogin script.
|
# Install PostLogin script.
|
||||||
mv $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default.sample $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default
|
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 /etc/xinit.d/xdm integration script
|
||||||
install -D -m 644 %{SOURCE5} %{buildroot}%{_libexecdir}/X11/displaymanagers/gdm
|
install -D -m 644 %{SOURCE5} %{buildroot}%{_libexecdir}/X11/displaymanagers/gdm
|
||||||
# Install other files
|
# Install other files
|
||||||
@ -357,9 +333,9 @@ dconf update
|
|||||||
%glib2_gsettings_schema_postun
|
%glib2_gsettings_schema_postun
|
||||||
%icon_theme_cache_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
|
%post -n libgdmsimplegreeter1 -p /sbin/ldconfig
|
||||||
|
|
||||||
@ -368,13 +344,7 @@ dconf update
|
|||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc AUTHORS COPYING ChangeLog NEWS README
|
%doc AUTHORS COPYING ChangeLog NEWS README
|
||||||
%dir %{_datadir}/gnome/
|
%doc %{_datadir}/help/C/%{name}/
|
||||||
%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
|
|
||||||
%dir %config %{_sysconfdir}/gdm
|
%dir %config %{_sysconfdir}/gdm
|
||||||
%config %{_sysconfdir}/gdm/[IPXl]*
|
%config %{_sysconfdir}/gdm/[IPXl]*
|
||||||
%{_sbindir}/gdm
|
%{_sbindir}/gdm
|
||||||
@ -388,7 +358,6 @@ dconf update
|
|||||||
%{_datadir}/pixmaps/*.png
|
%{_datadir}/pixmaps/*.png
|
||||||
%dir %{_libexecdir}/gdm
|
%dir %{_libexecdir}/gdm
|
||||||
%{_libexecdir}/gdm/gdm-*
|
%{_libexecdir}/gdm/gdm-*
|
||||||
%{_libexecdir}/gdm/gdmflexiserver
|
|
||||||
%attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm
|
%attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm
|
||||||
%ghost %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}/log/gdm
|
||||||
@ -398,7 +367,7 @@ dconf update
|
|||||||
%config /etc/pam.d/gdm-fingerprint
|
%config /etc/pam.d/gdm-fingerprint
|
||||||
%config /etc/pam.d/gdm-password
|
%config /etc/pam.d/gdm-password
|
||||||
%config /etc/pam.d/gdm-smartcard
|
%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
|
%config %{_sysconfdir}/dbus-1/system.d/gdm.conf
|
||||||
%dir %config %{_sysconfdir}/dconf/db/gdm.d
|
%dir %config %{_sysconfdir}/dconf/db/gdm.d
|
||||||
%dir %config %{_sysconfdir}/dconf/db/gdm.d/locks
|
%dir %config %{_sysconfdir}/dconf/db/gdm.d/locks
|
||||||
@ -412,13 +381,13 @@ dconf update
|
|||||||
# Exclude simple-greeter extensions
|
# Exclude simple-greeter extensions
|
||||||
%exclude %{_datadir}/gdm/simple-greeter/extensions
|
%exclude %{_datadir}/gdm/simple-greeter/extensions
|
||||||
|
|
||||||
%files -n libgdmgreeter1
|
%files -n libgdm1
|
||||||
%defattr(-,root,root)
|
%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)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/girepository-1.0/GdmGreeter-1.0.typelib
|
%{_libdir}/girepository-1.0/Gdm-1.0.typelib
|
||||||
|
|
||||||
%files -n libgdmsimplegreeter1
|
%files -n libgdmsimplegreeter1
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
@ -452,20 +421,16 @@ dconf update
|
|||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_includedir}/gdm/
|
%{_includedir}/gdm/
|
||||||
%{_libdir}/libgdmgreeter.so
|
%{_libdir}/libgdm.so
|
||||||
%{_libdir}/libgdmsimplegreeter.so
|
%{_libdir}/libgdmsimplegreeter.so
|
||||||
%{_libdir}/pkgconfig/gdmgreeter.pc
|
%{_libdir}/pkgconfig/gdm.pc
|
||||||
%{_libdir}/pkgconfig/gdmsimplegreeter.pc
|
%{_libdir}/pkgconfig/gdmsimplegreeter.pc
|
||||||
%{_datadir}/gir-1.0/GdmGreeter-1.0.gir
|
%{_datadir}/gir-1.0/Gdm-1.0.gir
|
||||||
|
|
||||||
%files branding-upstream
|
%files branding-upstream
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%config(noreplace) %{_sysconfdir}/gdm/custom.conf
|
%config(noreplace) %{_sysconfdir}/gdm/custom.conf
|
||||||
|
|
||||||
%files -n gdmflexiserver
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_bindir}/gdmflexiserver
|
|
||||||
|
|
||||||
%files lang -f %{name}.lang
|
%files lang -f %{name}.lang
|
||||||
|
|
||||||
%changelog
|
%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