SHA256
1
0
forked from pool/gdm

Accepting request 584004 from GNOME:Next

Update to 3.27.92

OBS-URL: https://build.opensuse.org/request/show/584004
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdm?expand=0&rev=383
This commit is contained in:
Dominique Leuenberger 2018-03-09 10:14:48 +00:00 committed by Git OBS Bridge
parent 34f6d95b38
commit f6c7a004ec
9 changed files with 129 additions and 983 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:17ddcb00602c2b426de58bb4b0d99af9de27450a8557dcc5ec850c080d55ad57
size 1119568

3
gdm-3.27.92.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c1107f8c13df3e54a250d946361b0bcc690fd4f2b22abc39f3e0e26a750ad632
size 1133056

View File

@ -1,40 +0,0 @@
From f4f7b6914ad2b9b0b7da036dde4028751eb49eb7 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 14 Feb 2018 16:07:15 -0500
Subject: [PATCH 01/16] Revert "session: don't call
gdm_session_defaults_changed from setup"
This reverts commit 572a19324b75cc1f1b2db4908e2d7c9f06e4e335.
It turns out we need this call for more than just the session type,
we also need to it to inform the greeter about the default session
to use.
https://bugzilla.gnome.org/show_bug.cgi?id=793609
---
daemon/gdm-session.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index 610ebcd0..19d26c92 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -2295,6 +2295,7 @@ gdm_session_setup (GdmSession *self,
update_session_type (self);
initialize (self, service_name, NULL, NULL);
+ gdm_session_defaults_changed (self);
}
@@ -2313,6 +2314,7 @@ gdm_session_setup_for_user (GdmSession *self,
self->priv->is_program_session = FALSE;
initialize (self, service_name, self->priv->selected_user, NULL);
+ gdm_session_defaults_changed (self);
}
void
--
2.12.3

View File

@ -1,376 +0,0 @@
Index: b/common/Makefile.am
===================================================================
--- a/common/Makefile.am 2018-01-19 19:38:52.241209373 +0800
+++ b/common/Makefile.am 2018-01-22 17:24:46.684883948 +0800
@@ -20,6 +20,8 @@
-DGDM_DEFAULTS_CONF=\"$(GDM_DEFAULTS_CONF)\" \
-DGDM_CUSTOM_CONF=\"$(GDM_CUSTOM_CONF)\" \
-DGDM_OLD_CONF=\"$(GDM_OLD_CONF)\" \
+ -DGDM_RUN_DIR=\"$(GDM_RUN_DIR)\" \
+ -DGDM_RUNTIME_CONF=\"$(GDM_RUNTIME_CONF)\" \
-DGDM_SESSION_DEFAULT_PATH=\"$(GDM_SESSION_DEFAULT_PATH)\" \
$(COMMON_CFLAGS) \
$(NULL)
Index: b/common/gdm-settings-desktop-backend.c
===================================================================
--- a/common/gdm-settings-desktop-backend.c 2018-01-19 19:38:52.241209373 +0800
+++ b/common/gdm-settings-desktop-backend.c 2018-01-19 19:57:26.809006358 +0800
@@ -46,12 +46,90 @@
guint save_id;
};
+enum {
+ PROP_0,
+ PROP_FILENAME,
+};
+
static void gdm_settings_desktop_backend_class_init (GdmSettingsDesktopBackendClass *klass);
static void gdm_settings_desktop_backend_init (GdmSettingsDesktopBackend *settings_desktop_backend);
static void gdm_settings_desktop_backend_finalize (GObject *object);
G_DEFINE_TYPE (GdmSettingsDesktopBackend, gdm_settings_desktop_backend, GDM_TYPE_SETTINGS_BACKEND)
+static void
+_gdm_settings_desktop_backend_set_file_name (GdmSettingsDesktopBackend *backend,
+ const char *filename)
+{
+ gboolean res;
+ GError *error;
+ char *contents;
+
+ backend->priv = GDM_SETTINGS_DESKTOP_BACKEND_GET_PRIVATE (backend);
+
+ g_free (backend->priv->filename);
+ backend->priv->filename = g_strdup (filename);
+
+ backend->priv->key_file = g_key_file_new ();
+
+ error = NULL;
+ res = g_key_file_load_from_file (backend->priv->key_file,
+ backend->priv->filename,
+ G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS,
+ &error);
+ if (! res) {
+ g_warning ("Unable to load file '%s': %s", backend->priv->filename, error->message);
+ }
+
+ contents = g_key_file_to_data (backend->priv->key_file, NULL, NULL);
+
+ if (contents != NULL) {
+ g_debug ("GdmSettings: %s is:\n%s\n", backend->priv->filename, contents);
+ g_free (contents);
+ }
+
+}
+
+static void
+gdm_settings_desktop_backend_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ GdmSettingsDesktopBackend *self;
+
+ self = GDM_SETTINGS_DESKTOP_BACKEND (object);
+
+ switch (prop_id) {
+ case PROP_FILENAME:
+ _gdm_settings_desktop_backend_set_file_name (self, g_value_get_string (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gdm_settings_desktop_backend_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GdmSettingsDesktopBackend *self;
+
+ self = GDM_SETTINGS_DESKTOP_BACKEND (object);
+
+ switch (prop_id) {
+ case PROP_FILENAME:
+ g_value_set_string (value, self->priv->filename);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
static gboolean
parse_key_string (const char *keystring,
char **group,
@@ -308,41 +386,27 @@
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GdmSettingsBackendClass *backend_class = GDM_SETTINGS_BACKEND_CLASS (klass);
+ object_class->get_property = gdm_settings_desktop_backend_get_property;
+ object_class->set_property = gdm_settings_desktop_backend_set_property;
object_class->finalize = gdm_settings_desktop_backend_finalize;
backend_class->get_value = gdm_settings_desktop_backend_get_value;
backend_class->set_value = gdm_settings_desktop_backend_set_value;
g_type_class_add_private (klass, sizeof (GdmSettingsDesktopBackendPrivate));
+
+ g_object_class_install_property (object_class,
+ PROP_FILENAME,
+ g_param_spec_string ("filename",
+ "File Name",
+ "The name of the configuration file",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
}
static void
gdm_settings_desktop_backend_init (GdmSettingsDesktopBackend *backend)
{
- gboolean res;
- GError *error;
- char *contents;
-
- backend->priv = GDM_SETTINGS_DESKTOP_BACKEND_GET_PRIVATE (backend);
-
- backend->priv->key_file = g_key_file_new ();
- backend->priv->filename = g_strdup (GDM_CUSTOM_CONF);
-
- error = NULL;
- res = g_key_file_load_from_file (backend->priv->key_file,
- backend->priv->filename,
- G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS,
- &error);
- if (! res) {
- g_warning ("Unable to load file '%s': %s", backend->priv->filename, error->message);
- }
-
- contents = g_key_file_to_data (backend->priv->key_file, NULL, NULL);
-
- if (contents != NULL) {
- g_debug ("GdmSettings: %s is:\n%s\n", backend->priv->filename, contents);
- g_free (contents);
- }
}
static void
@@ -365,11 +429,15 @@
}
GdmSettingsBackend *
-gdm_settings_desktop_backend_new (void)
+gdm_settings_desktop_backend_new (const char* filename)
{
GObject *object;
- object = g_object_new (GDM_TYPE_SETTINGS_DESKTOP_BACKEND, NULL);
+ if (!g_file_test (filename, G_FILE_TEST_IS_REGULAR))
+ return NULL;
+ object = g_object_new (GDM_TYPE_SETTINGS_DESKTOP_BACKEND,
+ "filename", filename,
+ NULL);
return GDM_SETTINGS_BACKEND (object);
}
Index: b/common/gdm-settings-desktop-backend.h
===================================================================
--- a/common/gdm-settings-desktop-backend.h 2018-01-19 19:38:52.241209373 +0800
+++ b/common/gdm-settings-desktop-backend.h 2018-01-19 19:38:57.757366406 +0800
@@ -49,7 +49,7 @@
GType gdm_settings_desktop_backend_get_type (void);
-GdmSettingsBackend *gdm_settings_desktop_backend_new (void);
+GdmSettingsBackend *gdm_settings_desktop_backend_new (const char* filename);
G_END_DECLS
Index: b/common/gdm-settings.c
===================================================================
--- a/common/gdm-settings.c 2018-01-19 19:38:52.241209373 +0800
+++ b/common/gdm-settings.c 2018-01-22 17:24:46.684883948 +0800
@@ -43,7 +43,7 @@
struct GdmSettingsPrivate
{
- GdmSettingsBackend *backend;
+ GList *backends;
};
enum {
@@ -80,15 +80,28 @@
{
GError *local_error;
gboolean res;
+ GList *l;
g_return_val_if_fail (GDM_IS_SETTINGS (settings), FALSE);
g_return_val_if_fail (key != NULL, FALSE);
local_error = NULL;
- res = gdm_settings_backend_get_value (settings->priv->backend,
- key,
- value,
- &local_error);
+
+ for (l = settings->priv->backends; l; l = g_list_next (l)) {
+ GdmSettingsBackend *backend = l->data;
+
+ if (local_error) {
+ g_error_free (local_error);
+ local_error = NULL;
+ }
+
+ res = gdm_settings_backend_get_value (backend,
+ key,
+ value,
+ &local_error);
+ if (res)
+ break;
+ }
if (! res) {
g_propagate_error (error, local_error);
}
@@ -104,6 +117,7 @@
{
GError *local_error;
gboolean res;
+ GList *l;
g_return_val_if_fail (GDM_IS_SETTINGS (settings), FALSE);
g_return_val_if_fail (key != NULL, FALSE);
@@ -111,10 +125,23 @@
g_debug ("Setting value %s", key);
local_error = NULL;
- res = gdm_settings_backend_set_value (settings->priv->backend,
- key,
- value,
- &local_error);
+
+ for (l = settings->priv->backends; l; l = g_list_next (l)) {
+ GdmSettingsBackend *backend = l->data;
+
+ if (local_error) {
+ g_error_free (local_error);
+ local_error = NULL;
+ }
+
+ res = gdm_settings_backend_set_value (backend,
+ key,
+ value,
+ &local_error);
+ if (res)
+ break;
+ }
+
if (! res) {
g_propagate_error (error, local_error);
}
@@ -162,13 +189,27 @@
static void
gdm_settings_init (GdmSettings *settings)
{
+ GList *l;
+ GdmSettingsBackend *backend;
+
settings->priv = GDM_SETTINGS_GET_PRIVATE (settings);
- settings->priv->backend = gdm_settings_desktop_backend_new ();
- g_signal_connect (settings->priv->backend,
- "value-changed",
- G_CALLBACK (backend_value_changed),
- settings);
+ backend = gdm_settings_desktop_backend_new (GDM_CUSTOM_CONF);
+ if (backend)
+ settings->priv->backends = g_list_prepend (NULL, backend);
+
+ backend = gdm_settings_desktop_backend_new (GDM_RUNTIME_CONF);
+ if (backend)
+ settings->priv->backends = g_list_prepend (settings->priv->backends, backend);
+
+ for (l = settings->priv->backends; l; l = g_list_next (l)) {
+ backend = l->data;
+
+ g_signal_connect (backend,
+ "value-changed",
+ G_CALLBACK (backend_value_changed),
+ settings);
+ }
}
static void
@@ -183,9 +224,9 @@
g_return_if_fail (settings->priv != NULL);
- if (settings->priv->backend != NULL) {
- g_object_unref (settings->priv->backend);
- }
+ g_list_foreach (settings->priv->backends, (GFunc) g_object_unref, NULL);
+ g_list_free (settings->priv->backends);
+ settings->priv->backends = NULL;
settings_object = NULL;
Index: b/configure.ac
===================================================================
--- a/configure.ac 2018-01-19 19:38:52.241209373 +0800
+++ b/configure.ac 2018-01-22 17:26:30.991086798 +0800
@@ -1424,6 +1424,24 @@
AC_SUBST(GDM_SCREENSHOT_DIR)
dnl ---------------------------------------------------------------------------
+dnl - runtime conf
+dnl ---------------------------------------------------------------------------
+
+withval=""
+AC_ARG_WITH(runtime_conf,
+ AS_HELP_STRING([--with-runtime-conf=<FILENAME>],
+ [FILENAME to give to runtime configuration file @<:@default=GDM_RUN_DIR/custom.conf@:>@]))
+
+if test x$withval != x; then
+ GDM_RUNTIME_CONF="$withval"
+else
+ GDM_RUNTIME_CONF="$GDM_RUN_DIR/custom.conf"
+fi
+
+AC_SUBST(GDM_RUNTIME_CONF)
+
+
+dnl ---------------------------------------------------------------------------
dnl - Finish
dnl ---------------------------------------------------------------------------
Index: b/data/61-gdm.rules
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ b/data/61-gdm.rules 2018-01-22 17:25:13.997575149 +0800
@@ -0,0 +1,2 @@
+# disable Wayland on Cirrus chipsets
+ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/bin/sh -c '/bin/mkdir /run/gdm ; /usr/bin/printf \"[daemon]\nWaylandEnable=false\" >> /run/gdm/custom.conf'"
Index: b/data/Makefile.am
===================================================================
--- a/data/Makefile.am 2018-01-19 19:38:52.241209373 +0800
+++ b/data/Makefile.am 2018-01-19 19:38:57.761366519 +0800
@@ -161,12 +161,16 @@
pam_files = $(pam_arch_files)
endif
+udevrulesdir = $(prefix)/lib/udev/rules.d
+udevrules_DATA = 61-gdm.rules
+
EXTRA_DIST += \
$(dconf_db_files) \
$(schemas_in_files) \
$(schemas_DATA) \
$(dbusconf_in_files) \
$(localealias_DATA) \
+ $(udevrules_DATA) \
gdm.schemas.in.in \
gdm.conf-custom.in \
Xsession.in \

View File

@ -1,331 +0,0 @@
From d2e36b2bb527f6dee13e1a788b00455efe4c373c Mon Sep 17 00:00:00 2001
From: Kjartan Maraas <kmaraas@gnome.org>
Date: Mon, 6 Nov 2017 12:52:57 +0100
Subject: =?UTF-8?q?Updated=20Norwegian=20bokm=C3=A5l=20translation.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
po/nb.po | 146 +++++++++++++++++++++++++++++++++------------------------------
1 file changed, 77 insertions(+), 69 deletions(-)
diff --git a/po/nb.po b/po/nb.po
index 52f8062..4f2a61c 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -1,16 +1,16 @@
# Norwegian bokmål translation of gdm.
# Copyright (C) 1998-2005 Free Software Foundation, Inc.
-# Kjartan Maraas <kmaraas@gnome.org>, 1998-2016.
+# Kjartan Maraas <kmaraas@gnome.org>, 1998-2017.
# Terance Edward Sola <terance@lyse.net>, 2005.
# Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010.
#
msgid ""
msgstr ""
-"Project-Id-Version: gdm 3.20.x\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-05-03 23:26+0200\n"
-"PO-Revision-Date: 2016-05-03 23:27+0200\n"
-"Last-Translator: Åka Sikrom <a4NOSPAMPLEASETHANKYOU@hush.com>\n"
+"Project-Id-Version: gdm 3.26.x\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gdm&keywords=I18N+L10N&component=general\n"
+"POT-Creation-Date: 2017-10-20 16:41+0000\n"
+"PO-Revision-Date: 2017-11-06 12:52+0100\n"
+"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: nb\n"
"MIME-Version: 1.0\n"
@@ -18,6 +18,26 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ../chooser/gdm-host-chooser-dialog.c:147
+msgid "Select System"
+msgstr "Velg system"
+
+#: ../chooser/gdm-host-chooser-widget.c:254
+msgid "XDMCP: Could not create XDMCP buffer!"
+msgstr "XDMCP: Klarte ikke å lage XDMCP-mellomlager!"
+
+#: ../chooser/gdm-host-chooser-widget.c:260
+msgid "XDMCP: Could not read XDMCP header!"
+msgstr "XDMCP: Klarte ikke å lese XDMCP-hode!"
+
+#: ../chooser/gdm-host-chooser-widget.c:266
+msgid "XDMCP: Incorrect XDMCP version!"
+msgstr "XDMCP: Feil XDMCP-versjon!"
+
+#: ../chooser/gdm-host-chooser-widget.c:272
+msgid "XDMCP: Unable to parse address"
+msgstr "XDMCP: Klarte ikke å tolke adresse"
+
#: ../common/gdm-common.c:298
#, c-format
msgid "/dev/urandom is not a character device"
@@ -49,7 +69,7 @@ msgstr "Systemet kan ikke starte en ny innloggingsskjerm."
#: ../daemon/gdm-display-access-file.c:300
#, c-format
-msgid "could not find user \"%s\" on system"
+msgid "could not find user “%s” on system"
msgstr "fant ikke brukeren «%s» på systemet"
#: ../daemon/gdm-legacy-display.c:235
@@ -64,63 +84,67 @@ msgstr ""
"som er feil. I mellomtiden blir denne skjermen slått av. Start GDM på nytt "
"når problemet er rettet."
-#: ../daemon/gdm-manager.c:766
+#: ../daemon/gdm-manager.c:777
msgid "No display available"
msgstr "Ingen skjerm tilgjengelig"
-#: ../daemon/gdm-manager.c:833 ../daemon/gdm-manager.c:1088
+#: ../daemon/gdm-manager.c:846 ../daemon/gdm-manager.c:1122
msgid "No session available"
msgstr "Ingen økt tilgjengelig"
-#: ../daemon/gdm-manager.c:844
+#: ../daemon/gdm-manager.c:865
+msgid "Chooser session unavailable"
+msgstr "Økt for velger utilgjengelig"
+
+#: ../daemon/gdm-manager.c:877
msgid "Can only be called before user is logged in"
msgstr "Kan bare kalles før bruker er logget inn"
-#: ../daemon/gdm-manager.c:854
+#: ../daemon/gdm-manager.c:888
msgid "Caller not GDM"
msgstr "Kaller er ikke GDM"
-#: ../daemon/gdm-manager.c:864
+#: ../daemon/gdm-manager.c:898
msgid "Unable to open private communication channel"
msgstr "Klarte ikke å åpne privat kommunikasjonskanal"
-#: ../daemon/gdm-server.c:391
+#: ../daemon/gdm-server.c:383
#, c-format
-msgid "Server was to be spawned by user %s but that user doesn't exist"
+msgid "Server was to be spawned by user %s but that user doesnt exist"
msgstr "Tjeneren skulle startes av bruker %s, men denne brukeren finnes ikke"
-#: ../daemon/gdm-server.c:402 ../daemon/gdm-server.c:422
+#: ../daemon/gdm-server.c:394 ../daemon/gdm-server.c:414
#, c-format
-msgid "Couldn't set groupid to %d"
+msgid "Couldnt set groupid to %d"
msgstr "Klarte ikke å velge %d som gruppe-ID"
-#: ../daemon/gdm-server.c:408
+#: ../daemon/gdm-server.c:400
#, c-format
msgid "initgroups () failed for %s"
msgstr "initgroups () mislyktes for %s"
-#: ../daemon/gdm-server.c:414
+#: ../daemon/gdm-server.c:406
#, c-format
-msgid "Couldn't set userid to %d"
-msgstr "Klarte ikke å velge %d som bruker-id"
+msgid "Couldnt set userid to %d"
+msgstr "Klarte ikke å velge %d som bruker-ID"
-#: ../daemon/gdm-server.c:492
+#: ../daemon/gdm-server.c:484
#, c-format
msgid "%s: Could not open log file for display %s!"
msgstr "%s: Klarte ikke å åpne loggfil for skjerm %s!"
-#: ../daemon/gdm-server.c:513 ../daemon/gdm-server.c:519
-#: ../daemon/gdm-server.c:525
+#: ../daemon/gdm-server.c:505 ../daemon/gdm-server.c:511
+#: ../daemon/gdm-server.c:517
#, c-format
msgid "%s: Error setting %s to %s"
msgstr "%s: Feil under setting av %s til %s"
-#: ../daemon/gdm-server.c:545
+#: ../daemon/gdm-server.c:537
#, c-format
-msgid "%s: Server priority couldn't be set to %d: %s"
-msgstr "%s: Klarte ikke å velge %d som tjenerprioritet. %s"
+msgid "%s: Server priority couldnt be set to %d: %s"
+msgstr "%s: Klarte ikke å velge %d som tjenerprioritet: %s"
-#: ../daemon/gdm-server.c:697
+#: ../daemon/gdm-server.c:689
#, c-format
msgid "%s: Empty server command for display %s"
msgstr "%s: Tjenerkommandoen for skjerm %s er tom"
@@ -149,48 +173,48 @@ msgstr "Skjerm-enhet"
msgid "The display device"
msgstr "Skjermenheten"
-#: ../daemon/gdm-session.c:1205
+#: ../daemon/gdm-session.c:1215
msgid "Could not create authentication helper process"
msgstr "Klarte ikke å lage hjelpeprosess for autentisering"
#: ../daemon/gdm-session-worker.c:642
-msgid "Your account was given a time limit that's now passed."
+msgid "Your account was given a time limit thats now passed."
msgstr "Kontoen din ble gitt en tidsgrense som har gått ut nå."
#: ../daemon/gdm-session-worker.c:649
-msgid "Sorry, that didn't work. Please try again."
+msgid "Sorry, that didnt work. Please try again."
msgstr "Beklager, men det fungerte ikke. Prøv igjen."
-#: ../daemon/gdm-session-worker.c:1037
+#: ../daemon/gdm-session-worker.c:1039
msgid "Username:"
msgstr "Brukernavn:"
-#: ../daemon/gdm-session-worker.c:1539 ../daemon/gdm-session-worker.c:1556
+#: ../daemon/gdm-session-worker.c:1541 ../daemon/gdm-session-worker.c:1558
#, c-format
msgid "no user account available"
msgstr "ingen brukerkonto tilgjengelig"
-#: ../daemon/gdm-session-worker.c:1583
+#: ../daemon/gdm-session-worker.c:1585
msgid "Unable to change to user"
msgstr "Klarte ikke å bytte til bruker"
-#: ../daemon/gdm-wayland-session.c:385
+#: ../daemon/gdm-wayland-session.c:478
msgid "GNOME Display Manager Wayland Session Launcher"
msgstr "Wayland-øktstarter for GNOME skjermbehandler"
-#: ../daemon/gdm-xdmcp-display-factory.c:609
+#: ../daemon/gdm-xdmcp-display-factory.c:612
msgid "Could not create socket!"
msgstr "Klarte ikke å lage sokkel!"
-#: ../daemon/gdm-x-session.c:734
+#: ../daemon/gdm-x-session.c:826
msgid "Run program through /etc/gdm/Xsession wrapper script"
msgstr "Kjør program via omslagssskript i /etc/gdm/Xsession"
-#: ../daemon/gdm-x-session.c:735
+#: ../daemon/gdm-x-session.c:827
msgid "Listen on TCP socket"
msgstr "Lytt til TCP-sokkel"
-#: ../daemon/gdm-x-session.c:746
+#: ../daemon/gdm-x-session.c:838
msgid "GNOME Display Manager X Session Launcher"
msgstr "X-øktstarter for GNOME skjermbehandler"
@@ -211,7 +235,7 @@ msgstr "Klarte ikke å lage loggmappe %s: %s"
#: ../daemon/main.c:223
#, c-format
-msgid "Can't find the GDM user '%s'. Aborting!"
+msgid "Cant find the GDM user “%s”. Aborting!"
msgstr "Finner ikke GDM-bruker «%s». Avbryter!"
#: ../daemon/main.c:229
@@ -220,31 +244,31 @@ msgstr "Bruker av GDM bør ikke være root. Avbryter!"
#: ../daemon/main.c:235
#, c-format
-msgid "Can't find the GDM group '%s'. Aborting!"
+msgid "Cant find the GDM group “%s”. Aborting!"
msgstr "Finner ikke GDM-gruppe «%s». Avbryter."
#: ../daemon/main.c:241
msgid "The GDM group should not be root. Aborting!"
msgstr "Gruppetilhørighet for GDM bør ikke være root. Avbryter!"
-#: ../daemon/main.c:318
+#: ../daemon/main.c:317
msgid "Make all warnings fatal"
msgstr "Gjør alle advarsler kritiske"
-#: ../daemon/main.c:319
+#: ../daemon/main.c:318
msgid "Exit after a time (for debugging)"
msgstr "Avslutt etter en tid (for feilsøking)"
-#: ../daemon/main.c:320
+#: ../daemon/main.c:319
msgid "Print GDM version"
msgstr "Skriv ut GDM-versjon"
-#: ../daemon/main.c:333
+#: ../daemon/main.c:330
msgid "GNOME Display Manager"
msgstr "GNOME skjermbehandler"
#. make sure the pid file doesn't get wiped
-#: ../daemon/main.c:381
+#: ../daemon/main.c:351
msgid "Only the root user can run GDM"
msgstr "Bare root-bruker kan kjøre GDM"
@@ -297,13 +321,17 @@ msgstr "Sti til bilde øverst i brukerlisten"
msgid ""
"The login screen can optionally show a small image to provide site "
"administrators and distributions a way to display branding."
-msgstr "Innloggingsskjermen kan vise et lite bilde for å la administratorer og distributører legge inn symboler på merkevare."
+msgstr ""
+"Innloggingsskjermen kan vise et lite bilde for å la administratorer og "
+"distributører legge inn symboler på merkevare."
#: ../data/org.gnome.login-screen.gschema.xml.in.h:9
msgid ""
"The fallback login screen can optionally show a small image to provide site "
"administrators and distributions a way to display branding."
-msgstr "Reserveinnloggingsskjermen kan vise et lite bilde for å la administratorer og distributører legge inn symboler på merkevare."
+msgstr ""
+"Reserveinnloggingsskjermen kan vise et lite bilde for å la administratorer "
+"og distributører legge inn symboler på merkevare."
#: ../data/org.gnome.login-screen.gschema.xml.in.h:10
msgid "Avoid showing user list"
@@ -355,26 +383,6 @@ msgstr ""
"Antall ganger en bruker kan utføre mislykkede innloggingsforsøk før man gir "
"opp og går tilbake til valg av bruker."
-#: ../gui/simple-chooser/gdm-host-chooser-dialog.c:147
-msgid "Select System"
-msgstr "Velg system"
-
-#: ../gui/simple-chooser/gdm-host-chooser-widget.c:215
-msgid "XDMCP: Could not create XDMCP buffer!"
-msgstr "XDMCP: Klarte ikke å lage XDMCP-mellomlager!"
-
-#: ../gui/simple-chooser/gdm-host-chooser-widget.c:221
-msgid "XDMCP: Could not read XDMCP header!"
-msgstr "XDMCP: Klarte ikke å lese XDMCP-hode!"
-
-#: ../gui/simple-chooser/gdm-host-chooser-widget.c:227
-msgid "XDMCP: Incorrect XDMCP version!"
-msgstr "XDMCP: Feil XDMCP-versjon!"
-
-#: ../gui/simple-chooser/gdm-host-chooser-widget.c:233
-msgid "XDMCP: Unable to parse address"
-msgstr "XDMCP: Klarte ikke å tolke adresse"
-
#: ../libgdm/gdm-user-switching.c:59
msgid "Unable to create transient display: "
msgstr "Klarte ikke å lage midlertidig skjerm: "
@@ -406,8 +414,8 @@ msgstr "Versjon av dette programmet"
#. Option parsing
#: ../utils/gdmflexiserver.c:137
-msgid "- New GDM login"
-msgstr "- Ny GDM-innlogging"
+msgid "— New GDM login"
+msgstr " Ny GDM-innlogging"
#: ../utils/gdm-screenshot.c:212
msgid "Screenshot taken"
--
cgit v0.12

View File

@ -1,42 +0,0 @@
From 5dd631c9d5dbb1dc8e548c3dc6a21ef656f44944 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Thu, 4 Jan 2018 11:09:55 -0500
Subject: [PATCH 1/5] common: don't run scripts with bogus DISPLAY and
XAUTHORITY
DISPLAY and XAUTHORITY might not be set if we're starting the
X server as part of the session.
In that case we should ensure the variables aren't set in the
environment of the gdm session scripts.
This commit fixes that.
https://bugzilla.gnome.org/show_bug.cgi?id=792150
---
common/gdm-common.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/common/gdm-common.c b/common/gdm-common.c
index 31fc810a..c4fc7073 100644
--- a/common/gdm-common.c
+++ b/common/gdm-common.c
@@ -594,8 +594,13 @@ gdm_get_script_environment (const char *username,
}
/* Runs as root */
- g_hash_table_insert (hash, g_strdup ("XAUTHORITY"), g_strdup (display_x11_authority_file));
- g_hash_table_insert (hash, g_strdup ("DISPLAY"), g_strdup (display_name));
+ if (display_x11_authority_file) {
+ g_hash_table_insert (hash, g_strdup ("XAUTHORITY"), g_strdup (display_x11_authority_file));
+ }
+
+ if (display_name) {
+ g_hash_table_insert (hash, g_strdup ("DISPLAY"), g_strdup (display_name));
+ }
g_hash_table_insert (hash, g_strdup ("PATH"), g_strdup (GDM_SESSION_DEFAULT_PATH));
g_hash_table_insert (hash, g_strdup ("RUNNING_UNDER_GDM"), g_strdup ("true"));
--
2.12.3

View File

@ -1,108 +0,0 @@
Index: gdm-3.15.90.5/common/gdm-settings-system-backend.c
===================================================================
--- gdm-3.15.90.5.orig/common/gdm-settings-system-backend.c
+++ gdm-3.15.90.5/common/gdm-settings-system-backend.c
@@ -44,9 +44,9 @@
#define SYSCONFIG_TCP_OPEN_KEY "DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN"
#define SYSCONFIG_XDMCP_KEY "DISPLAYMANAGER_REMOTE_ACCESS"
#define SYSCONFIG_STARTS_XSERVER_KEY "DISPLAYMANAGER_STARTS_XSERVER"
+#define SYSCONFIG_PASSWORDLESS_KEY "DISPLAYMANAGER_PASSWORD_LESS_LOGIN"
/* Keys from sysconfig that have no equivalent in GDM:
* - DISPLAYMANAGER_ROOT_LOGIN_REMOTE
- * - DISPLAYMANAGER_PASSWORD_LESS_LOGIN
* - DISPLAYMANAGER_AD_INTEGRATION
* - DISPLAYMANAGER_SHUTDOWN (handled by ConsoleKit)
*/
@@ -65,6 +65,7 @@ struct GdmSettingsSystemBackendPrivate
gboolean dirty_tcp_open;
gboolean dirty_xdmcp;
gboolean dirty_show_local_greeter;
+ gboolean dirty_passwordless;
gchar *set_autologin_user;
gboolean set_autologin_enabled;
@@ -72,6 +73,7 @@ struct GdmSettingsSystemBackendPrivate
gboolean set_tcp_open;
gboolean set_xdmcp;
gboolean set_show_local_greeter;
+ gboolean set_passwordless;
};
static void gdm_settings_system_backend_class_init (GdmSettingsSystemBackendClass *klass);
@@ -151,6 +153,16 @@ gdm_settings_system_backend_get_value (G
val = g_strdup (local_greeter ? "true" : "false");
}
}
+ } else if (!strcasecmp (key, GDM_KEY_SUSE_PASSWORDLESS_LOGIN_ENABLE)) {
+ if (priv->dirty_passwordless) {
+ val = g_strdup (priv->set_passwordless ? "true" : "false");
+ } else {
+ gboolean passwordless;
+
+ if (gdm_sysconfig_get_value_boolean ((const gchar **) priv->lines, SYSCONFIG_PASSWORDLESS_KEY, &passwordless)) {
+ val = g_strdup (passwordless ? "true" : "false");
+ }
+ }
} else {
g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found");
goto out;
@@ -217,6 +229,12 @@ save_settings (GdmSettingsSystemBackend
backend->priv->set_show_local_greeter? "yes" : "no");
}
+ if (backend->priv->dirty_passwordless) {
+ if (!gdm_sysconfig_set_value_boolean (backend->priv->lines, SYSCONFIG_PASSWORDLESS_KEY, backend->priv->set_passwordless))
+ g_warning ("Unable to set key %s to '%s'.", SYSCONFIG_PASSWORDLESS_KEY,
+ backend->priv->set_passwordless ? "yes" : "no");
+ }
+
if (!gdm_sysconfig_save_file (backend->priv->filename, backend->priv->lines))
g_warning ("Unable to save settings to %s.", backend->priv->filename);
@@ -226,6 +244,7 @@ save_settings (GdmSettingsSystemBackend
backend->priv->dirty_tcp_open = FALSE;
backend->priv->dirty_xdmcp = FALSE;
backend->priv->dirty_show_local_greeter = FALSE;
+ backend->priv->dirty_passwordless = FALSE;
}
static gboolean
@@ -296,6 +315,9 @@ gdm_settings_system_backend_set_value (G
} else if (!strcasecmp (key, GDM_KEY_SHOW_LOCAL_GREETER)) {
priv->set_show_local_greeter = value_to_boolean (value);
GDM_SETTINGS_SYSTEM_BACKEND (backend)->priv->dirty_show_local_greeter = TRUE;
+ } else if (!strcasecmp (key, GDM_KEY_SUSE_PASSWORDLESS_LOGIN_ENABLE)) {
+ priv->set_passwordless = value_to_boolean (value);
+ GDM_SETTINGS_SYSTEM_BACKEND (backend)->priv->dirty_passwordless = TRUE;
} else {
g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found");
return FALSE;
Index: gdm-3.15.90.5/common/gdm-settings-keys.h
===================================================================
--- gdm-3.15.90.5.orig/common/gdm-settings-keys.h
+++ gdm-3.15.90.5/common/gdm-settings-keys.h
@@ -34,6 +34,7 @@ G_BEGIN_DECLS
#define GDM_KEY_TIMED_LOGIN_DELAY "daemon/TimedLoginDelay"
#define GDM_KEY_INITIAL_SETUP_ENABLE "daemon/InitialSetupEnable"
#define GDM_KEY_WAYLAND_ENABLE "daemon/WaylandEnable"
+#define GDM_KEY_SUSE_PASSWORDLESS_LOGIN_ENABLE "daemon/SUSEPasswordlessEnable"
#define GDM_KEY_DEBUG "debug/Enable"
Index: gdm-3.15.90.5/data/gdm.schemas.in.in
===================================================================
--- gdm-3.15.90.5.orig/data/gdm.schemas.in.in
+++ gdm-3.15.90.5/data/gdm.schemas.in.in
@@ -68,6 +68,12 @@
<signature>b</signature>
<default>false</default>
</schema>
+ <schema>
+ <!-- SUSE-specific -->
+ <key>daemon/SUSEPasswordlessEnable</key>
+ <signature>b</signature>
+ <default>false</default>
+ </schema>
<schema>
<key>security/DisallowTCP</key>

View File

@ -1,3 +1,69 @@
-------------------------------------------------------------------
Wed Mar 7 16:44:02 UTC 2018 - dimstar@opensuse.org
- Update to version 3.27.92:
+ Updated translations.
-------------------------------------------------------------------
Thu Mar 2 16:26:00 UTC 2018 - dimstar@opensuse.org
- Modernize spec-file by calling spec-cleaner
-------------------------------------------------------------------
Thu Mar 2 03:27:51 UTC 2018 - dimstar@opensuse.org
- Update to version 3.27.91:
+ Ensure default session for user gets reported to login screen
up front.
+ Updated translations.
- Drop
gdm-Revert-session-don-t-call-gdm_session_defaults_chang.patch:
fixed upstream.
-------------------------------------------------------------------
Thu Mar 2 03:27:50 UTC 2018 - luc14n0@linuxmail.org
- Update to version 3.27.90:
+ Add support for configuration from /run.
+ Add udev rule to disable wayland with cirrus.
+ Remove obsolete stuff about Xnest from configure.
+ Adjust for g-s-d plugin removal.
+ Segfault fix in error condition for session wrappers.
+ Misc warning fixes.
+ Updated translations.
- Drop gdm-disable-wayland-on-unsupported-chipsets.patch: fixed
upstream.
-------------------------------------------------------------------
Thu Mar 2 03:27:04 UTC 2018 - dimstar@opensuse.org
- Update to version 3.27.4:
+ Fix for invalid DISPLAY/XAUTHORITY in session scripts.
+ Fix for keyring integration on multidisk systems.
+ Set GROUP environment variable.
+ Deprecation fixes.
+ Updated translations.
- Drop gdm-not-run-with-bogus-DISPLAY-XAUTHORITY.patch and
gdm-nb-translations.patch: fixed upstream.
- Drop gdm-passwordless-login.patch: This patch has been disabled
since GDM 3.5.4 (July 2012).
- Drop: gdm-workaround-boo971852.patch: patch has been disabled
since May 2016.
-------------------------------------------------------------------
Thu Mar 2 03:27:03 UTC 2018 - luc14n0@linuxmail.org
- Update to version 3.27.3:
+ Don't call gdm_session_defaults_changed from setup.
- Adopt the use of %make_build macro rather than raw make command,
following the best practices.
- Remove obsolete %clean section as RPM already do this kind of
work itself.
- Update typelib-1_0-Gdm-1_0 package's summary to make it shorter
but still meaningful.
- Update gdmflexiserver package's summary to avoid redundancies and
correct name case in the description.
-------------------------------------------------------------------
Fri Mar 2 01:56:52 UTC 2018 - xwang@suse.com

143
gdm.spec
View File

@ -16,46 +16,37 @@
#
# Allow to disable wayland components
%bcond_without wayland
%define systemdsystemunitdir %(pkg-config --variable=systemdsystemunitdir systemd)
# FIXME: need to check what should be done to enable this (at least adapt the pam files). See bnc#699999
%define enable_split_authentication 0
# Allow to disable wayland components
%bcond_without wayland
Name: gdm
Version: 3.26.2.1
Version: 3.27.92
Release: 0
Summary: The GNOME Display Manager
License: GPL-2.0+
License: GPL-2.0-or-later
Group: System/GUI/GNOME
Url: https://wiki.gnome.org/Projects/GDM
Source: https://download.gnome.org/sources/gdm/3.26/%{name}-%{version}.tar.xz
URL: https://wiki.gnome.org/Projects/GDM
Source: http://download.gnome.org/sources/gdm/3.27/%{name}-%{version}.tar.xz
Source1: gdm.pamd
Source2: gdm-autologin.pamd
Source3: gdm-launch-environment.pamd
Source6: gdm-fingerprint.pamd
Source7: gdm-smartcard.pamd
Source4: gdm-fingerprint.pamd
Source5: gdm-smartcard.pamd
# gdmflexiserver wrapper, to enable other display managers to abuse the gdmflexiserver namespace (like lightdm)
Source4: gdmflexiserver-wrapper
Source6: gdmflexiserver-wrapper
# /etc/xinit.d/xdm integration script
Source5: X11-displaymanager-gdm
Source7: X11-displaymanager-gdm
# GDM does not boostrap using gnome-autogen.sh, but has it's own bootstrap script
Source8: autogen.sh
# PATCH-FEATURE-OPENSUSE gdm-workaround-boo971852.patch zaitor@opensuse.org -- Work around boo971852 - xsessions is just not going to happen for a gdm user - Those users ALL have gnome-shell installed (which is mandatory for gdm to operate) - openSUSE only
Patch0: gdm-workaround-boo971852.patch
# PATCH-FIX-UPSTREAM gdm-nb-translations.patch zaitor@opensuse.org -- Update Norwegian Bokmål translations.
Patch1: gdm-nb-translations.patch
# PATCH-FIX-UPSTREAM gdm-disable-wayland-on-unsupported-chipsets.patch boo#1059356 bgo#789081 fezhang@suse.com -- Disable Wayland on Cirrus chipsets
Patch2: gdm-disable-wayland-on-unsupported-chipsets.patch
# WARNING: do not remove/significantly change patch3 without updating the relevant patch in accountsservice too
# PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 bsc#919723 hpj@novell.com -- Read autologin options from /etc/sysconfig/displaymanager; note that accountsservice has a similar patch (accountsservice-sysconfig.patch)
Patch3: gdm-sysconfig-settings.patch
# PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts
Patch7: gdm-suse-xsession.patch
# PATCH-NEEDS-REBASE PATCH-FEATURE-OPENSUSE gdm-passwordless-login.patch vuntz@opensuse.org -- Support DISPLAYMANAGER_PASSWORD_LESS_LOGIN sysconfig option
Patch9: gdm-passwordless-login.patch
# PATCH-FIX-OPENSUSE gdm-default-wm.patch vuntz@novell.com -- Use sysconfig to know to which desktop to use by default
Patch34: gdm-default-wm.patch
# PATCH-FIX-OPENSUSE gdm-xauthlocalhostname.patch bnc#538064 vuntz@novell.com -- Set XAUTHLOCALHOSTNAME to current hostname when we authenticate, for local logins, to avoid issues in the session in case the hostname changes later one. See comment 24 in the bug.
@ -66,29 +57,23 @@ Patch36: gdm-ignore-duplicate-session.patch
Patch41: gdm-plymouth-vt1.patch
# PATCH-FIX-UPSTREAM gdm-fails-to-restart-gnome-shell.patch bsc#981976 bgo#769969 tyang@suse.com -- Gdm should stop after a few times fails
Patch42: gdm-fails-to-restart-gnome-shell.patch
# PATCH-FIX-UPSTREAM gdm-not-run-with-bogus-DISPLAY-XAUTHORITY.patch bsc#1068016 bgo#792150 xwang@suse.com -- When run PreSession script, don't set DISPLAY and XAUTHORITY environment variable
Patch43: gdm-not-run-with-bogus-DISPLAY-XAUTHORITY.patch
# PATCH-FIX-SLE gdm-disable-gnome-initial-setup.patch bnc#1067976 qzhao@suse.com -- Disable gnome-initial-setup runs before gdm, g-i-s will only serve for CJK people to choose the input-method after login.
Patch52: gdm-disable-gnome-initial-setup.patch
# PATCH-FIX-UPSTREAM gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch bnc#1075805 bgo#793255 msrb@suse.com -- Add runtime option to start X under root instead of regular user. Necessary if no DRI drivers are present.
Patch53: gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
# PATCH-FIX-UPSTREAM gdm-Revert-session-don-t-call-gdm_session_defaults_chang.patch bsc#1082958 bgo#793609 xwang@suse.com -- Show right active session of user in login dialog.
Patch54: gdm-Revert-session-don-t-call-gdm_session_defaults_chang.patch
Patch43: gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
### NOTE: Keep please SLE-only patches at bottom (starting on 1000).
# PATCH-FIX-SLE gdm-disable-gnome-initial-setup.patch bnc#1067976 qzhao@suse.com -- Disable gnome-initial-setup runs before gdm, g-i-s will only serve for CJK people to choose the input-method after login.
Patch1002: gdm-disable-gnome-initial-setup.patch
BuildRequires: check-devel
# needed for directory ownership
BuildRequires: dconf
BuildRequires: gnome-common
# needed for directory ownership
BuildRequires: fdupes
BuildRequires: gnome-common
BuildRequires: gnome-session-core
BuildRequires: keyutils-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: pwdutils
BuildRequires: tcpd-devel
%if !0%{?is_opensuse}
BuildRequires: translation-update-upstream
%endif
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-server
BuildRequires: xorg-x11-server-extra
@ -111,28 +96,32 @@ BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xdmcp)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xinerama)
%ifnarch s390 s390x
BuildRequires: pkgconfig(xorg-server)
%endif
BuildRequires: pkgconfig(xrandr)
Requires(pre): group(video)
Requires: %{name}-branding = %{version}
Requires: gdmflexiserver
Requires: gnome-session-core
Requires: gnome-settings-daemon
Requires: gnome-shell
Requires(post): dconf
# accessibility
Recommends: orca
# FIXME: use proper Requires(pre/post/preun/...)
# For groupadd, useradd, usermod
PreReq: pwdutils
Requires(post): dconf
Requires(pre): group(video)
Recommends: %{name}-lang
Recommends: iso-codes
# accessibility
Recommends: orca
Provides: gdm2 = %{version}
Obsoletes: gdm2 < %{version}
Provides: gnome-applets-gdm = %{version}
Obsoletes: gnome-applets-gdm < %{version}
DocDir: %{_defaultdocdir}
%if !0%{?is_opensuse}
BuildRequires: translation-update-upstream
%endif
%ifnarch s390 s390x
BuildRequires: pkgconfig(xorg-server)
%endif
%description
The GNOME Display Manager is a system service that is responsible for
@ -172,9 +161,9 @@ providing graphical log-ins and managing local and remote displays.
Summary: The GNOME Display Manager -- Upstream default configuration
Group: System/GUI/GNOME
Requires: %{name} = %{version}
Provides: %{name}-branding = %{version}
Conflicts: otherproviders(%{name}-branding)
Supplements: packageand(%{name}:branding-upstream)
Conflicts: %{name}-branding
Provides: %{name}-branding = %{version}
BuildArch: noarch
#BRAND: Provide one file:
#BRAND: /etc/gdm/custom.conf
@ -193,38 +182,28 @@ Suggests: gdm
BuildArch: noarch
%description -n gdmflexiserver
The gdmflexiserver tool interacts with the display manager to
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
selects the correct Gdmflexiserver implementation, based on the
running display manager.
%lang_package
%prep
%setup -q
cp %{S:8} .
%if !0%{?is_opensuse}
translation-update-upstream
%endif
%if 0%{?is_opensuse}
# Disabled for now, see boo#981372 and boo#971852
#patch0 -p1
%endif
%patch1 -p1
%patch2 -p1
cp %{SOURCE8} .
%patch3 -p1
%patch7 -p1
%patch9 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch41 -p1
%patch42 -p1
%patch43 -p1
# SLE-only patches start at 1000
%if !0%{?is_opensuse}
%patch52 -p1
%patch1002 -p1
%endif
%patch53 -p1
%patch54 -p1
%build
NOCONFIGURE=1 sh autogen.sh
@ -257,42 +236,42 @@ autoreconf -fiv
%endif
--with-initial-vt=7 \
--with-run-dir=/run/gdm
%__make %{?jobs:-j%jobs} V=1
%make_build V=1
%install
%make_install
find %{buildroot} -name '*.la' -type f -delete -print
find %{buildroot} -type f -name "*.la" -delete -print
# Do not ship the systemd.service file: openSUSE uses xdm, which enables the DM based on sysconfig.
rm %{buildroot}%{systemdsystemunitdir}/gdm.service
## Install PAM files.
mkdir -p %{buildroot}/etc/pam.d
mkdir -p %{buildroot}%{_sysconfdir}/pam.d
# Generic pam config
cp %{SOURCE1} %{buildroot}/etc/pam.d/gdm
cp %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/gdm
# Pam config for autologin
cp %{SOURCE2} %{buildroot}/etc/pam.d/gdm-autologin
cp %{SOURCE2} %{buildroot}%{_sysconfdir}/pam.d/gdm-autologin
# Pam config for the greeter session
cp %{SOURCE3} %{buildroot}/etc/pam.d/gdm-launch-environment
cp %{SOURCE3} %{buildroot}%{_sysconfdir}/pam.d/gdm-launch-environment
%if %{enable_split_authentication}
# Pam config for fingerprint authentication
cp %{SOURCE6} %{buildroot}/etc/pam.d/gdm-fingerprint
cp %{SOURCE4} %{buildroot}%{_sysconfdir}/pam.d/gdm-fingerprint
# Pam config for smartcard authentication
cp %{SOURCE7} %{buildroot}/etc/pam.d/gdm-smartcard
cp %{SOURCE5} %{buildroot}%{_sysconfdir}/pam.d/gdm-smartcard
%endif
# The default gdm pam configuration is the one to be used as pam-password too
%if %{enable_split_authentication}
rm %{buildroot}/etc/pam.d/gdm-password
rm %{buildroot}%{_sysconfdir}/pam.d/gdm-password
echo "We are not ready for this, we need to know what to put in gdm-fingerprint and gdm-smartcard pam config files."
false
%endif
ln -s gdm %{buildroot}/etc/pam.d/gdm-password
ln -s gdm %{buildroot}%{_sysconfdir}/pam.d/gdm-password
## Install other files
# Install PostLogin script.
mv %{buildroot}%{_sysconfdir}/gdm/PostLogin/Default.sample %{buildroot}%{_sysconfdir}/gdm/PostLogin/Default
# Move gdmflexiserver to libexecdir and replace it with the compatibility wrapper
mv %{buildroot}%{_bindir}/gdmflexiserver %{buildroot}%{_libexecdir}/gdm/gdmflexiserver
install -m 755 %{SOURCE4} %{buildroot}%{_bindir}/gdmflexiserver
install -m 755 %{SOURCE6} %{buildroot}%{_bindir}/gdmflexiserver
#Install /etc/xinit.d/xdm integration script
install -D -m 644 %{SOURCE5} %{buildroot}%{_libexecdir}/X11/displaymanagers/gdm
install -D -m 644 %{SOURCE7} %{buildroot}%{_libexecdir}/X11/displaymanagers/gdm
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
touch %{buildroot}%{_sysconfdir}/alternatives/default-displaymanager
ln -s %{_sysconfdir}/alternatives/default-displaymanager %{buildroot}%{_libexecdir}/X11/displaymanagers/default-displaymanager
@ -305,14 +284,11 @@ ln -s ../sbin/gdm %{buildroot}%{_bindir}/gdm
%find_lang %{name} %{?no_lang_C}
%fdupes -s %{buildroot}%{_datadir}/help
%clean
rm -rf %{buildroot}
%pre
/usr/sbin/groupadd -r gdm 2> /dev/null || :
/usr/sbin/useradd -r -g gdm -G video -s /bin/false \
-c "Gnome Display Manager daemon" -d /var/lib/gdm gdm 2> /dev/null || :
/usr/sbin/usermod -g gdm -G video -s /bin/false gdm 2> /dev/null
%{_sbindir}/groupadd -r gdm 2> /dev/null || :
%{_sbindir}/useradd -r -g gdm -G video -s /bin/false \
-c "Gnome Display Manager daemon" -d %{_localstatedir}/lib/gdm gdm 2> /dev/null || :
%{_sbindir}/usermod -g gdm -G video -s /bin/false gdm 2> /dev/null
# Fix incorrect interpretation of DISPLAYMANAGER_PASSWORD_LESS_LOGIN (#307566).
# Last done in SLED10&10.1, first fixed in 10.3.
# Can be removed after SLES12:
@ -329,10 +305,10 @@ fi
# Fix how DISPLAYMANAGER_PASSWORD_LESS_LOGIN is used. Before 11.4,
# /etc/pam.d/gdm was changed to use pam_permit. We don't want this anymore.
if test -f /sbin/conf.d/SuSEconfig.gdm; then
grep -q pam_permit.so /etc/pam.d/gdm
grep -q pam_permit.so %{_sysconfdir}/pam.d/gdm
if test $? -eq 0; then
# We'll just use the file from the new package
mv /etc/pam.d/gdm /etc/pam.d/gdm.rpmold
mv %{_sysconfdir}/pam.d/gdm %{_sysconfdir}/pam.d/gdm.rpmold
fi
fi
@ -352,7 +328,8 @@ dconf update
%postun -n libgdm1 -p /sbin/ldconfig
%files
%doc AUTHORS COPYING ChangeLog NEWS README
%license COPYING
%doc AUTHORS ChangeLog NEWS README
%doc %{_datadir}/help/C/%{name}/
%dir %config %{_sysconfdir}/gdm
%config %{_sysconfdir}/gdm/[IPXl]*
@ -375,14 +352,14 @@ dconf update
%attr(711,root,gdm) %dir %{_localstatedir}/log/gdm
%dir %{_localstatedir}/cache/gdm
%ghost %attr(711,root,gdm) %dir /run/gdm
%config /etc/pam.d/gdm
%config /etc/pam.d/gdm-autologin
%config %{_sysconfdir}/pam.d/gdm
%config %{_sysconfdir}/pam.d/gdm-autologin
%if %{enable_split_authentication}
%config /etc/pam.d/gdm-fingerprint
%config /etc/pam.d/gdm-smartcard
%config %{_sysconfdir}/pam.d/gdm-fingerprint
%config %{_sysconfdir}/pam.d/gdm-smartcard
%endif
%config /etc/pam.d/gdm-password
%config /etc/pam.d/gdm-launch-environment
%config %{_sysconfdir}/pam.d/gdm-password
%config %{_sysconfdir}/pam.d/gdm-launch-environment
%config %{_sysconfdir}/dbus-1/system.d/gdm.conf
# /etc/xinit.d/xdm integration
%dir %{_libexecdir}/X11/displaymanagers