Backport fix for XDG dirs and compositor timeout
Resolves: https://issues.redhat.com/browse/RHEL-60056
This commit is contained in:
parent
230ebc03b1
commit
43334d620c
47
0001-wlheadless-Set-sensible-defaults-for-XDG-dirs.patch
Normal file
47
0001-wlheadless-Set-sensible-defaults-for-XDG-dirs.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
From d3ff26a72b28907599cc04b5d4537c4af05e2c52 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Olivier Fourdan <ofourdan@redhat.com>
|
||||||
|
Date: Thu, 26 Sep 2024 08:46:19 +0200
|
||||||
|
Subject: [PATCH 1/2] wlheadless: Set sensible defaults for XDG dirs
|
||||||
|
|
||||||
|
The specification says:
|
||||||
|
|
||||||
|
| $XDG_DATA_HOME defines the base directory relative to which user-
|
||||||
|
| specific data files should be stored. If $XDG_DATA_HOME is either
|
||||||
|
| not set or empty, a default equal to $HOME/.local/share should be
|
||||||
|
| used.
|
||||||
|
|
||||||
|
And:
|
||||||
|
|
||||||
|
| If $XDG_DATA_DIRS is either not set or empty, a value equal to
|
||||||
|
| /usr/local/share/:/usr/share/ should be used.
|
||||||
|
|
||||||
|
Set the default values according to the specifications, so that the
|
||||||
|
configuration file can be found even if either or those environment
|
||||||
|
variables is not set.
|
||||||
|
|
||||||
|
See-also: https://specifications.freedesktop.org/basedir-spec/latest/index.html#variables
|
||||||
|
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
|
||||||
|
---
|
||||||
|
src/wlheadless/wlheadless_common.py | 6 ++++--
|
||||||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/wlheadless/wlheadless_common.py b/src/wlheadless/wlheadless_common.py
|
||||||
|
index d056f3b..57ede5e 100644
|
||||||
|
--- a/src/wlheadless/wlheadless_common.py
|
||||||
|
+++ b/src/wlheadless/wlheadless_common.py
|
||||||
|
@@ -76,8 +76,10 @@ class WlheadlessCommon:
|
||||||
|
def get_compositor(self):
|
||||||
|
""" Read the configuration for the default compositor """
|
||||||
|
dirs = []
|
||||||
|
- dirs.extend(os.getenv('XDG_DATA_HOME', '').split(':'))
|
||||||
|
- dirs.extend(os.getenv('XDG_DATA_DIRS', '').split(':'))
|
||||||
|
+ xdg_data_home=os.getenv('HOME', '') + '/.local/share'
|
||||||
|
+ xdg_data_dirs='/usr/local/share/:/usr/share/'
|
||||||
|
+ dirs.extend(os.getenv('XDG_DATA_HOME', xdg_data_home).split(':'))
|
||||||
|
+ dirs.extend(os.getenv('XDG_DATA_DIRS', xdg_data_dirs).split(':'))
|
||||||
|
config = configparser.ConfigParser()
|
||||||
|
config.read([os.path.join(d, 'wlheadless', 'wlheadless.conf') for d in dirs])
|
||||||
|
return config.get('DEFAULT', 'Compositor', fallback = 'weston')
|
||||||
|
--
|
||||||
|
2.46.2
|
||||||
|
|
32
0002-wlheadless-Wait-for-the-compositor-up-to-150-secs.patch
Normal file
32
0002-wlheadless-Wait-for-the-compositor-up-to-150-secs.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
From 3d0a3841226e8d48b5d48c2f69c69ff9d26006f9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Olivier Fourdan <ofourdan@redhat.com>
|
||||||
|
Date: Thu, 26 Sep 2024 09:59:02 +0200
|
||||||
|
Subject: [PATCH 2/2] wlheadless: Wait for the compositor up to 150 secs
|
||||||
|
|
||||||
|
Some compositors who depend on DBus services may take up to 2 minutes
|
||||||
|
to start.
|
||||||
|
|
||||||
|
Increase the timeout to 150 seconds before declaring forfeit and bail
|
||||||
|
out.
|
||||||
|
|
||||||
|
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
|
||||||
|
---
|
||||||
|
src/wlheadless/wlheadless_common.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/wlheadless/wlheadless_common.py b/src/wlheadless/wlheadless_common.py
|
||||||
|
index 57ede5e..d4a51d9 100644
|
||||||
|
--- a/src/wlheadless/wlheadless_common.py
|
||||||
|
+++ b/src/wlheadless/wlheadless_common.py
|
||||||
|
@@ -110,7 +110,7 @@ class WlheadlessCommon:
|
||||||
|
|
||||||
|
def wait_compositor(self):
|
||||||
|
""" Waits for the compositor to start """
|
||||||
|
- for _ in range(0, 3):
|
||||||
|
+ for _ in range(0, 150):
|
||||||
|
try:
|
||||||
|
self.__try_connect()
|
||||||
|
return 0
|
||||||
|
--
|
||||||
|
2.46.2
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
Name: xwayland-run
|
Name: xwayland-run
|
||||||
Version: 0.0.4
|
Version: 0.0.4
|
||||||
Release: 3%{?dist}
|
Release: 4t%{?dist}
|
||||||
Summary: Set of utilities to run headless X/Wayland clients
|
Summary: Set of utilities to run headless X/Wayland clients
|
||||||
|
|
||||||
License: GPL-2.0-or-later
|
License: GPL-2.0-or-later
|
||||||
@ -9,6 +9,10 @@ Source0: %{url}/-/archive/%{version}/%{name}-%{version}.tar.bz2
|
|||||||
|
|
||||||
# https://gitlab.freedesktop.org/ofourdan/xwayland-run/-/merge_requests/19
|
# https://gitlab.freedesktop.org/ofourdan/xwayland-run/-/merge_requests/19
|
||||||
Patch1: 0001-wlheadless-Ignore-os.waitpid-1-0-error.patch
|
Patch1: 0001-wlheadless-Ignore-os.waitpid-1-0-error.patch
|
||||||
|
# https://gitlab.freedesktop.org/ofourdan/xwayland-run/-/merge_requests/21
|
||||||
|
Patch2: 0001-wlheadless-Set-sensible-defaults-for-XDG-dirs.patch
|
||||||
|
# https://gitlab.freedesktop.org/ofourdan/xwayland-run/-/merge_requests/22
|
||||||
|
Patch3: 0002-wlheadless-Wait-for-the-compositor-up-to-150-secs.patch
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
@ -57,6 +61,9 @@ Xwayland and various Wayland compositor headless.
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Dec 12 2024 Olivier Fourdan <ofourdan@redhat.com> - 0.0.4-4
|
||||||
|
- Backport fix for XDG dirs and compositor timeout (RHEL-60056)
|
||||||
|
|
||||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 0.0.4-3
|
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 0.0.4-3
|
||||||
- Bump release for October 2024 mass rebuild:
|
- Bump release for October 2024 mass rebuild:
|
||||||
Resolves: RHEL-64018
|
Resolves: RHEL-64018
|
||||||
|
Loading…
Reference in New Issue
Block a user