Update to 3.37.0

This commit is contained in:
Kalev Lember 2020-08-17 23:46:25 +02:00
parent dc02639aae
commit 0befe0872a
6 changed files with 8 additions and 220 deletions

1
.gitignore vendored
View File

@ -110,3 +110,4 @@ gnome-session-2.31.6.tar.bz2
/gnome-session-3.34.2.tar.xz /gnome-session-3.34.2.tar.xz
/gnome-session-3.35.3.tar.xz /gnome-session-3.35.3.tar.xz
/gnome-session-3.36.0.tar.xz /gnome-session-3.36.0.tar.xz
/gnome-session-3.37.0.tar.xz

View File

@ -1,49 +0,0 @@
From 228d779b0d8c91c97a6ee7bc8af036f90e618046 Mon Sep 17 00:00:00 2001
From: Benjamin Berg <bberg@redhat.com>
Date: Wed, 27 Nov 2019 16:46:49 +0100
Subject: [PATCH 1/2] data: Add drop-in to configure launched applications
Both gnome-shell and g-s-d will start putting launched applications into
transient scopes. As these scopes will be prefixed with gnome-launched-,
we can set defaults by installing an appropriate drop-in. This allows us
to bind them to graphical-session.target and lower their stop timeout.
See gnome-shell!863 and gnome-settings-daemon!147
---
data/gnome-launched-override.scope.conf | 6 ++++++
data/meson.build | 6 ++++++
2 files changed, 12 insertions(+)
create mode 100644 data/gnome-launched-override.scope.conf
diff --git a/data/gnome-launched-override.scope.conf b/data/gnome-launched-override.scope.conf
new file mode 100644
index 00000000..810bf239
--- /dev/null
+++ b/data/gnome-launched-override.scope.conf
@@ -0,0 +1,6 @@
+[Unit]
+CollectMode=inactive-or-failed
+PartOf=graphical-session.target
+
+[Scope]
+TimeoutStopSec=5s
diff --git a/data/meson.build b/data/meson.build
index 62f32880..3ae6f245 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -133,6 +133,12 @@ if enable_systemd_session
systemd_target,
install_dir: systemd_userunitdir
)
+
+ install_data(
+ 'gnome-launched-override.scope.conf',
+ rename: 'override.conf',
+ install_dir : join_paths(systemd_userunitdir, 'gnome-launched-.scope.d')
+ )
endif
data = files('hardware-compatibility')
--
2.23.0

View File

@ -1,83 +0,0 @@
From 7c928fcd9c0b0a61772bebf877306bdacbc779a8 Mon Sep 17 00:00:00 2001
From: Benjamin Berg <bberg@redhat.com>
Date: Sat, 21 Mar 2020 16:03:30 +0100
Subject: [PATCH] util: Unset GNOME_SETUP_DISPLAY at login time
This variable was introduced to allow Xwayland auto-startup.
Unfortunately, it will prevent g-s-d process startup if it leaks from a
wayland session to an Xorg session.
As such, add it to the list of variables that are unset at login time.
---
gnome-session/gsm-util.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/gnome-session/gsm-util.c b/gnome-session/gsm-util.c
index 02bc4a57..5a52de57 100644
--- a/gnome-session/gsm-util.c
+++ b/gnome-session/gsm-util.c
@@ -37,60 +37,61 @@ static gchar **child_environment;
/* These are variables that will not be passed on to subprocesses
* (either directly, via systemd or DBus).
* Some of these are blacklisted as they might end up in the wrong session
* (e.g. XDG_VTNR), others because they simply must never be passed on
* (NOTIFY_SOCKET).
*/
static const char * const variable_blacklist[] = {
"NOTIFY_SOCKET",
"XDG_SEAT",
"XDG_SESSION_ID",
"XDG_VTNR",
NULL
};
/* The following is copied from GDMs spawn_session function.
*
* Environment variables listed here will be copied into the user's service
* environments if they are set in gnome-session's environment. If they are
* not set in gnome-session's environment, they will be removed from the
* service environments. This is to protect against environment variables
* leaking from previous sessions (e.g. when switching from classic to
* default GNOME $GNOME_SHELL_SESSION_MODE will become unset).
*/
static const char * const variable_unsetlist[] = {
"DISPLAY",
"XAUTHORITY",
"WAYLAND_DISPLAY",
"WAYLAND_SOCKET",
"GNOME_SHELL_SESSION_MODE",
+ "GNOME_SETUP_DISPLAY",
NULL
};
char *
gsm_util_find_desktop_file_for_app_name (const char *name,
gboolean look_in_saved_session,
gboolean autostart_first)
{
char *app_path;
char **app_dirs;
GKeyFile *key_file;
char *desktop_file;
int i;
app_path = NULL;
app_dirs = gsm_util_get_desktop_dirs (look_in_saved_session, autostart_first);
key_file = g_key_file_new ();
desktop_file = g_strdup_printf ("%s.desktop", name);
g_debug ("GsmUtil: Looking for file '%s'", desktop_file);
for (i = 0; app_dirs[i] != NULL; i++) {
g_debug ("GsmUtil: Looking in '%s'", app_dirs[i]);
}
g_key_file_load_from_dirs (key_file,
desktop_file,
--
2.21.1

View File

@ -1,77 +0,0 @@
From a4f9b41e228c943c9997851a3581326ca1435058 Mon Sep 17 00:00:00 2001
From: Benjamin Berg <bberg@redhat.com>
Date: Thu, 28 Nov 2019 14:56:30 +0100
Subject: [PATCH 2/2] autostart-app: Place launched applications into a systemd
scope
Try to place launched applications into a systemd scope. This will only
have an effect on systemd managed sessions, where it will e.g. protect
gnome-session from OOM actions to a child resulting in a service
shutdown.
---
gnome-session/gsm-autostart-app.c | 14 ++++++++++++++
meson.build | 5 ++++-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/gnome-session/gsm-autostart-app.c b/gnome-session/gsm-autostart-app.c
index 6fd5915a..28b1a88e 100644
--- a/gnome-session/gsm-autostart-app.c
+++ b/gnome-session/gsm-autostart-app.c
@@ -28,6 +28,11 @@
#include <gio/gio.h>
#include <gio/gdesktopappinfo.h>
+#ifdef HAVE_GNOME_SYSTEMD
+#define GNOME_DESKTOP_USE_UNSTABLE_API
+#include <libgnome-desktop/gnome-systemd.h>
+#endif
+
#ifdef HAVE_SYSTEMD
#ifdef ENABLE_SYSTEMD_JOURNAL
#include <systemd/sd-journal.h>
@@ -960,6 +965,15 @@ app_launched (GAppLaunchContext *ctx,
g_variant_lookup (platform_data, "startup-notification-id", "s", &sn_id);
app->priv->pid = pid;
app->priv->startup_id = sn_id;
+
+#ifdef HAVE_GNOME_SYSTEMD
+ /* We are not interested in the result. */
+ gnome_start_systemd_scope (app->priv->desktop_id,
+ pid,
+ NULL,
+ NULL,
+ NULL, NULL, NULL);
+#endif
}
#ifdef ENABLE_SYSTEMD_JOURNAL
diff --git a/meson.build b/meson.build
index fc0fa683..1a62113b 100644
--- a/meson.build
+++ b/meson.build
@@ -99,11 +99,12 @@ xtrans_dep = dependency('xtrans')
ice_dep = dependency('ice')
sm_dep = dependency('sm')
x11_dep = dependency('x11')
+gnome_desktop_dep = dependency('gnome-desktop-3.0', version: '>= 3.34.2')
session_deps = [
gio_dep,
glib_dep,
- dependency('gnome-desktop-3.0', version: '>= 3.18.0'),
+ gnome_desktop_dep,
dependency('json-glib-1.0', version: '>= 0.10')
]
@@ -171,6 +172,8 @@ config_h.set('ENABLE_SYSTEMD_SESSION', enable_systemd_session)
config_h.set('ENABLE_SYSTEMD_JOURNAL', enable_systemd_journal)
config_h.set('HAVE_CONSOLEKIT', enable_consolekit)
config_h.set10('USE_SYSTEMD_SESSION', use_systemd_session)
+# Added in gnome-desktop 3.34.2/3.35.2
+config_h.set('HAVE_GNOME_SYSTEMD', cc.has_header('libgnome-desktop/gnome-systemd.h', dependencies: gnome_desktop_dep))
configure_file(
output: 'config.h',
--
2.23.0

View File

@ -8,13 +8,13 @@
%endif %endif
Name: gnome-session Name: gnome-session
Version: 3.36.0 Version: 3.37.0
Release: 4%{?dist} Release: 1%{?dist}
Summary: GNOME session manager Summary: GNOME session manager
License: GPLv2+ License: GPLv2+
URL: http://www.gnome.org URL: http://www.gnome.org
Source0: http://download.gnome.org/sources/gnome-session/3.36/%{name}-%{version}.tar.xz Source0: http://download.gnome.org/sources/gnome-session/3.37/%{name}-%{version}.tar.xz
# Blacklist NV30: https://bugzilla.redhat.com/show_bug.cgi?id=745202 # Blacklist NV30: https://bugzilla.redhat.com/show_bug.cgi?id=745202
Patch1: gnome-session-3.3.92-nv30.patch Patch1: gnome-session-3.3.92-nv30.patch
@ -26,13 +26,6 @@ Patch4: 0001-check-accelerated-gles-Use-eglGetPlatformDisplay-EXT.patch
Patch5: 0001-Add-support-for-new-ConfirmedRebootToBootOptions-sig.patch Patch5: 0001-Add-support-for-new-ConfirmedRebootToBootOptions-sig.patch
Patch6: 0002-Fedora-Set-grub-boot-flags-on-shutdown-reboot.patch Patch6: 0002-Fedora-Set-grub-boot-flags-on-shutdown-reboot.patch
# Not yet merged upstream but used by e.g. gnome-shell 3.34.2
# https://gitlab.gnome.org/GNOME/gnome-session/merge_requests/36
Patch10: 0001-data-Add-drop-in-to-configure-launched-applications.patch
Patch11: 0002-autostart-app-Place-launched-applications-into-a-sys.patch
Patch20: 0001-util-Unset-GNOME_SETUP_DISPLAY-at-login-time.patch
BuildRequires: meson BuildRequires: meson
BuildRequires: gcc BuildRequires: gcc
BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(egl)
@ -137,6 +130,9 @@ Desktop file to add GNOME on wayland to display manager session menu.
%{_userunitdir}/gnome-launched-.scope.d/ %{_userunitdir}/gnome-launched-.scope.d/
%changelog %changelog
* Mon Aug 17 2020 Kalev Lember <klember@redhat.com> - 3.37.0-1
- Update to 3.37.0
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.36.0-4 * Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.36.0-4
- Second attempt - Rebuilt for - Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (gnome-session-3.36.0.tar.xz) = 234456e8617524a3b95afb505246823ced4eca3ca009d48fc0bde70f8c620814495b04509c134bfb72760619990cc7cb7363ba13f0d90d9f038e8a43eadb6e9d SHA512 (gnome-session-3.37.0.tar.xz) = 397ae4346997961931ad9639d92cf76612a6066d23f4e1986eba6871988aa528f6b05e99107e6c55ed1cc836c0f2d557c04c248efbb601fa96840bedcaf7aef8