Copy and run the script from XDG_RUNTIME_DIR

Resolves: https://issues.redhat.com/browse/RHEL-25536
This commit is contained in:
Olivier Fourdan 2024-12-18 18:03:53 +01:00
parent 61ebb2bd0a
commit 9a4cc76874
3 changed files with 95 additions and 1 deletions

View File

@ -0,0 +1,31 @@
From d68e2443746f47c6eecab0c4009b82628918561c Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Tue, 10 Dec 2024 13:56:13 +0100
Subject: [PATCH] input-selector: Add missing dependency on gio-unix-2.0
The build of input-selector may fail otherwise, as the generated code
from gdbus-codegen cannot find the header file <gio/gunixfdlist.h>:
input-selector/org.gnome.Kiosk.c:17:12: fatal error: gio/gunixfdlist.h:
No such file or directory
17 | # include <gio/gunixfdlist.h>
Adding the dependency ensures that the path to the header file is known.
---
input-selector/meson.build | 1 +
1 file changed, 1 insertion(+)
diff --git a/input-selector/meson.build b/input-selector/meson.build
index 839426f..6aa90af 100644
--- a/input-selector/meson.build
+++ b/input-selector/meson.build
@@ -1,5 +1,6 @@
input_selector_dependencies = []
input_selector_dependencies += dependency('gio-2.0')
+input_selector_dependencies += dependency('gio-unix-2.0')
input_selector_dependencies += dependency('glib-2.0')
input_selector_dependencies += dependency('gobject-2.0')
input_selector_dependencies += dependency('gtk4')
--
2.47.1

View File

@ -0,0 +1,56 @@
From 9497651214baaae6dabe7cc1971a1799633983a6 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Fri, 22 Nov 2024 17:04:09 +0100
Subject: [PATCH] kiosk-script: Copy and run the script from XDG_RUNTIME_DIR
Some setup may enforce the noexec flag on the HOME directories.
That prevents any executable placed in the HOME directory from running,
including the GNOME Kiosk script session.
To work around such an issue, copy and execute the script from the
XDG_RUNTIME_DIR instead.
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
---
kiosk-script/gnome-kiosk-script | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/kiosk-script/gnome-kiosk-script b/kiosk-script/gnome-kiosk-script
index e45438d..c4ab176 100755
--- a/kiosk-script/gnome-kiosk-script
+++ b/kiosk-script/gnome-kiosk-script
@@ -1,8 +1,10 @@
#!/usr/bin/sh
-if [ ! -e ~/.local/bin/gnome-kiosk-script ]; then
- mkdir -p ~/.local/bin ~/.config
- cat > ~/.local/bin/gnome-kiosk-script <<- "EOF"
+EXECDIR=~/.local/bin
+
+if [ ! -e $EXECDIR/gnome-kiosk-script ]; then
+ mkdir -p $EXECDIR ~/.config
+ cat > $EXECDIR/gnome-kiosk-script <<- "EOF"
#!/bin/sh
# This script is located in ~/.local/bin.
# It's provided as an example script to show how
@@ -16,8 +18,14 @@ if [ ! -e ~/.local/bin/gnome-kiosk-script ]; then
exec "$0" "$@"
EOF
- chmod +x ~/.local/bin/gnome-kiosk-script
+ chmod +x $EXECDIR/gnome-kiosk-script
touch ~/.config/gnome-initial-setup-done
fi
-exec ~/.local/bin/gnome-kiosk-script "$@"
+# Copy and run the script from the XDG_RUNTIME_DIR directory if that exists
+if [ -d $XDG_RUNTIME_DIR ]; then
+ cp $EXECDIR/gnome-kiosk-script $XDG_RUNTIME_DIR/
+ EXECDIR=$XDG_RUNTIME_DIR
+fi
+
+exec $EXECDIR/gnome-kiosk-script "$@"
--
2.47.1

View File

@ -12,7 +12,7 @@
Name: gnome-kiosk
Version: 40.0
Release: 5%{?dist}
Release: 6%{?dist}
Summary: Window management and application launching for GNOME
License: GPLv2+
@ -50,6 +50,9 @@ Patch20005: 0005-kiosk-script-Add-a-hint-about-using-firefox-to-the-k.patch
Patch20006: 0006-kiosk-script-Send-SIGHUP-to-script-at-shutdown-time.patch
Patch30001: 0001-compositor-Be-more-permissive-about-what-s-considere.patch
# https://issues.redhat.com/browse/RHEL-25536
Patch40001: 0001-input-selector-Add-missing-dependency-on-gio-unix-2..patch
Patch40002: 0001-kiosk-script-Copy-and-run-the-script-from-XDG_RUNTIM.patch
%description
GNOME Kiosk provides a desktop enviroment suitable for fixed purpose, or
@ -116,6 +119,10 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Kiosk.Searc
%{_datadir}/wayland-sessions/org.gnome.Kiosk.SearchApp.Session.desktop
%changelog
* Wed Dec 18 2024 Ray Strode <rstrode@redhat.com> - 40.0-6
- Copy and run the script from XDG_RUNTIME_DIR
Resolves: https://issues.redhat.com/browse/RHEL-25536
* Wed Nov 09 2022 Ray Strode <rstrode@redhat.com> - 40.0-5
- Detect anaconda as the kiosk app better
Resolves: #1999060