Update to 3.26.2.1

This commit is contained in:
Kalev Lember 2017-11-01 22:25:34 +01:00
parent 996bff5f31
commit 406e395b3a
4 changed files with 9 additions and 194 deletions

1
.gitignore vendored
View File

@ -107,3 +107,4 @@ gdm-2.30.2.tar.bz2
/gdm-3.25.92.tar.xz
/gdm-3.26.0.tar.xz
/gdm-3.26.1.tar.xz
/gdm-3.26.2.1.tar.xz

View File

@ -1,188 +0,0 @@
From 10cde6a7f6a02db0b98bb8a2790ba55b3cd17eb0 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Mon, 23 Oct 2017 15:03:42 -0400
Subject: [PATCH] display: don't mark initial-setup ran until it ran
We don't want to skip running initial setup if wayland
fell back or something.
This commit makes sure we only stop trying to start initial-setup
after it's completed.
---
daemon/gdm-display.c | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/daemon/gdm-display.c b/daemon/gdm-display.c
index 1f1ecb6d..6a3984a9 100644
--- a/daemon/gdm-display.c
+++ b/daemon/gdm-display.c
@@ -1438,70 +1438,60 @@ on_launch_environment_session_died (GdmLaunchEnvironment *launch_environment,
GdmDisplay *self)
{
g_debug ("GdmDisplay: Greeter died: %d", signal);
self_destruct (self);
}
static gboolean
can_create_environment (const char *session_id)
{
char *path;
gboolean session_exists;
path = g_strdup_printf (GNOME_SESSION_SESSIONS_PATH "/%s.session", session_id);
session_exists = g_file_test (path, G_FILE_TEST_EXISTS);
g_free (path);
return session_exists;
}
#define ALREADY_RAN_INITIAL_SETUP_ON_THIS_BOOT GDM_RUN_DIR "/gdm.ran-initial-setup"
static gboolean
already_done_initial_setup_on_this_boot (void)
{
GError *error = NULL;
if (g_file_test (ALREADY_RAN_INITIAL_SETUP_ON_THIS_BOOT, G_FILE_TEST_EXISTS))
return TRUE;
- if (!g_file_set_contents (ALREADY_RAN_INITIAL_SETUP_ON_THIS_BOOT,
- "1",
- 1,
- &error)) {
- g_warning ("GdmDisplay: Could not write initial-setup-done marker to %s: %s",
- ALREADY_RAN_INITIAL_SETUP_ON_THIS_BOOT,
- error->message);
- g_clear_error (&error);
- }
-
return FALSE;
}
static gboolean
kernel_cmdline_initial_setup_argument (const gchar *contents,
gchar **initial_setup_argument,
GError **error)
{
GRegex *regex = NULL;
GMatchInfo *match_info = NULL;
gchar *match_group = NULL;
g_return_val_if_fail (initial_setup_argument != NULL, FALSE);
regex = g_regex_new ("\\bgnome.initial-setup=([^\\s]*)\\b", 0, 0, error);
if (!regex)
return FALSE;
if (!g_regex_match (regex, contents, 0, &match_info)) {
g_free (match_info);
g_free (regex);
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Could not match gnome.initial-setup= in kernel cmdline");
return FALSE;
}
match_group = g_match_info_fetch (match_info, 1);
@@ -1692,83 +1682,95 @@ chown_initial_setup_home_dir (void)
"gnome-initial-setup-uid",
NULL);
if (!g_file_get_contents (gis_uid_path, &gis_uid_contents, NULL, NULL)) {
g_warning ("Unable to read %s", gis_uid_path);
goto out;
}
uid = (uid_t) atoi (gis_uid_contents);
pwe = getpwuid (uid);
if (uid == 0 || pwe == NULL) {
g_warning ("UID '%s' in %s is not valid", gis_uid_contents, gis_uid_path);
goto out;
}
error = NULL;
dir = g_file_new_for_path (gis_dir_path);
if (!chown_recursively (dir, pwe->pw_uid, pwe->pw_gid, &error)) {
g_warning ("Failed to change ownership for %s: %s", gis_dir_path, error->message);
g_error_free (error);
}
g_object_unref (dir);
out:
g_free (gis_uid_contents);
g_free (gis_uid_path);
g_free (gis_dir_path);
}
void
gdm_display_stop_greeter_session (GdmDisplay *self)
{
+ GError *error = NULL;
+
if (self->priv->launch_environment != NULL) {
g_signal_handlers_disconnect_by_func (self->priv->launch_environment,
G_CALLBACK (on_launch_environment_session_opened),
self);
g_signal_handlers_disconnect_by_func (self->priv->launch_environment,
G_CALLBACK (on_launch_environment_session_started),
self);
g_signal_handlers_disconnect_by_func (self->priv->launch_environment,
G_CALLBACK (on_launch_environment_session_stopped),
self);
g_signal_handlers_disconnect_by_func (self->priv->launch_environment,
G_CALLBACK (on_launch_environment_session_exited),
self);
g_signal_handlers_disconnect_by_func (self->priv->launch_environment,
G_CALLBACK (on_launch_environment_session_died),
self);
gdm_launch_environment_stop (self->priv->launch_environment);
g_clear_object (&self->priv->launch_environment);
}
if (self->priv->doing_initial_setup) {
chown_initial_setup_home_dir ();
+
+ if (!g_file_set_contents (ALREADY_RAN_INITIAL_SETUP_ON_THIS_BOOT,
+ "1",
+ 1,
+ &error)) {
+ g_warning ("GdmDisplay: Could not write initial-setup-done marker to %s: %s",
+ ALREADY_RAN_INITIAL_SETUP_ON_THIS_BOOT,
+ error->message);
+ g_clear_error (&error);
+ }
}
}
static xcb_window_t
get_root_window (xcb_connection_t *connection,
int screen_number)
{
xcb_screen_t *screen = NULL;
xcb_screen_iterator_t iter;
iter = xcb_setup_roots_iterator (xcb_get_setup (connection));
while (iter.rem) {
if (screen_number == 0)
screen = iter.data;
screen_number--;
xcb_screen_next (&iter);
}
if (screen != NULL) {
return screen->root;
}
return XCB_WINDOW_NONE;
}
static void
gdm_display_set_windowpath (GdmDisplay *self)
{
/* setting WINDOWPATH for clients */
xcb_intern_atom_cookie_t atom_cookie;
--
2.14.2

View File

@ -9,8 +9,8 @@
Name: gdm
Epoch: 1
Version: 3.26.1
Release: 2%{?dist}
Version: 3.26.2.1
Release: 1%{?dist}
Summary: The GNOME Display Manager
License: GPLv2+
@ -18,9 +18,7 @@ URL: https://wiki.gnome.org/Projects/GDM
Source0: http://download.gnome.org/sources/gdm/3.26/gdm-%{version}.tar.xz
Source1: org.gnome.login-screen.gschema.override
Patch0: 0001-Honor-initial-setup-being-disabled-by-distro-install.patch
Patch1: 0001-display-don-t-mark-initial-setup-ran-until-it-ran.patch
BuildRequires: git
BuildRequires: pam-devel >= 0:%{pam_version}
BuildRequires: desktop-file-utils >= %{desktop_file_utils_version}
BuildRequires: libtool automake autoconf
@ -102,7 +100,7 @@ The gdm-devel package contains headers and other
files needed to build custom greeters.
%prep
%autosetup -S git
%autosetup -p1
autoreconf -i -f
intltoolize -f
@ -301,9 +299,13 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null || :
%{_includedir}/gdm/*.h
%dir %{_datadir}/gir-1.0
%{_datadir}/gir-1.0/Gdm-1.0.gir
%{_libdir}/pkgconfig/gdm-pam-extensions.pc
%{_libdir}/pkgconfig/gdm.pc
%changelog
* Wed Nov 01 2017 Kalev Lember <klember@redhat.com> - 1:3.26.2.1-1
- Update to 3.26.2.1
* Tue Oct 24 2017 Ray Strode <rstrode@redhat.com> - 3.26.1-2
- make sure initial-setup starts when wayland fails
Resolves: #1502827

View File

@ -1 +1 @@
SHA512 (gdm-3.26.1.tar.xz) = 9b53238077940561bc7b930a8663522a4e8e0512d294aeaf8073611bc640d52b4ad6e7aa42fb46bfc1eca5ed884958ecdc66856468fb7d4ac4c6b41b5f00f06c
SHA512 (gdm-3.26.2.1.tar.xz) = 4a0009935f2f86803a4dd6cdc01c80c9ee89fb8a71f82ffa6fadb16322e4c7f51d82e0e887c30aa09d1b242c3cc82a1ec0d83463e5d8942719a747f6945cbec9