Compare commits

...

2 Commits

Author SHA1 Message Date
AlmaLinux RelEng Bot
a4832a4aee import CS gnome-kiosk-40.0-8.el9 2026-03-30 10:29:14 -04:00
fba700c380 import CS gnome-kiosk-40.0-6.el9 2025-03-11 07:18:01 +00:00
5 changed files with 204 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

@ -0,0 +1,64 @@
From e0a8d2005c68a4b2ca1543149f50c03c3c7c0b5f Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Tue, 4 Mar 2025 16:21:30 +0100
Subject: [PATCH 1/2] search-app: Add systemd session files
The search appliance session would fail to start as a systemd session.
Add the required systemd plumbing to fix the search appliance session.
(cherry picked from commit 5308432e1c564ec096acbb3f4fb19f940d6c2ae9)
---
meson.build | 12 ++++++++++++
.../systemd/org.gnome.Kiosk.SearchApp.service.in | 8 ++++++++
search-app/systemd/session.conf | 3 +++
3 files changed, 23 insertions(+)
create mode 100644 search-app/systemd/org.gnome.Kiosk.SearchApp.service.in
create mode 100644 search-app/systemd/session.conf
diff --git a/meson.build b/meson.build
index 0766f8d..e3d8ff3 100644
--- a/meson.build
+++ b/meson.build
@@ -188,3 +188,15 @@ i18n.merge_file('desktop',
install_dir: desktop_data_dir,
type: 'desktop'
)
+
+configure_file(
+ input: 'search-app/systemd/org.gnome.Kiosk.SearchApp.service.in',
+ output: '@BASENAME@',
+ configuration: systemd_service_config_data,
+ install_dir: systemd_user_unit_dir
+)
+
+kiosk_search_appliance_systemd_target_dir = join_paths(systemd_user_unit_dir, 'gnome-session@org.gnome.Kiosk.SearchApp.target.d')
+install_data('search-app/systemd/session.conf',
+ install_dir: kiosk_search_appliance_systemd_target_dir
+)
diff --git a/search-app/systemd/org.gnome.Kiosk.SearchApp.service.in b/search-app/systemd/org.gnome.Kiosk.SearchApp.service.in
new file mode 100644
index 0000000..29ddcd8
--- /dev/null
+++ b/search-app/systemd/org.gnome.Kiosk.SearchApp.service.in
@@ -0,0 +1,8 @@
+[Unit]
+Description=Kiosk Search Appliance
+BindsTo=gnome-session.target
+After=gnome-session.target
+
+[Service]
+ExecStart=@bindir@/firefox --kiosk --private-window --new-instance https://www.google.com
+Restart=always
diff --git a/search-app/systemd/session.conf b/search-app/systemd/session.conf
new file mode 100644
index 0000000..1ab41da
--- /dev/null
+++ b/search-app/systemd/session.conf
@@ -0,0 +1,3 @@
+[Unit]
+Requires=org.gnome.Kiosk.target
+Requires=org.gnome.Kiosk.SearchApp.service
--
2.48.1

View File

@ -0,0 +1,30 @@
From a94bce8532d6f9f9fb1fd888e54803220a733765 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Wed, 5 Mar 2025 14:23:49 +0100
Subject: [PATCH 2/2] search-app: Update desktop file definition
Firefox itself has nothing to do with neither Gtk or GNOME, no need to
list those in the categories.
(cherry picked from commit 7f6defb5d1afd4aeee55d286256879118ba9c008)
---
search-app/org.gnome.Kiosk.SearchApp.desktop.in.in | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/search-app/org.gnome.Kiosk.SearchApp.desktop.in.in b/search-app/org.gnome.Kiosk.SearchApp.desktop.in.in
index 40a8669..7d85d56 100644
--- a/search-app/org.gnome.Kiosk.SearchApp.desktop.in.in
+++ b/search-app/org.gnome.Kiosk.SearchApp.desktop.in.in
@@ -3,7 +3,6 @@ Type=Application
Name=Search Appliance
Comment=Sample Search Appliance Application for GNOME Kiosk
Exec=@bindir@/firefox --kiosk --private-window --new-instance http://www.google.com
-Categories=GNOME;GTK;Core;
-OnlyShowIn=GNOME;
+Categories=Core;System;
NoDisplay=true
-X-GNOME-AutoRestart=true
+X-GNOME-HiddenUnderSystemd=true
--
2.48.1

View File

@ -12,7 +12,7 @@
Name: gnome-kiosk
Version: 40.0
Release: 5%{?dist}
Release: 8%{?dist}
Summary: Window management and application launching for GNOME
License: GPLv2+
@ -38,6 +38,8 @@ BuildRequires: meson
Requires: gnome-settings-daemon%{?_isa} >= %{gnome_settings_daemon_version}
Requires: gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version}
Recommends: xorg-x11-server-Xwayland
Recommends: dbus-daemon
Patch10001: 0001-compositor-Support-systemd-user-sessions.patch
Patch10002: 0002-Add-a-script-for-simplifying-kiosk-setup.patch
@ -50,6 +52,12 @@ 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
# https://issues.redhat.com/browse/RHEL-84004
Patch50001: 0001-search-app-Add-systemd-session-files.patch
Patch50002: 0002-search-app-Update-desktop-file-definition.patch
%description
GNOME Kiosk provides a desktop enviroment suitable for fixed purpose, or
@ -110,12 +118,26 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Kiosk.Searc
%{_datadir}/xsessions/gnome-kiosk-script.desktop
%files -n gnome-kiosk-search-appliance
%{_userunitdir}/gnome-session@org.gnome.Kiosk.SearchApp.target.d/session.conf
%{_userunitdir}/org.gnome.Kiosk.SearchApp.service
%{_datadir}/applications/org.gnome.Kiosk.SearchApp.desktop
%{_datadir}/gnome-session/sessions/org.gnome.Kiosk.SearchApp.session
%{_datadir}/xsessions/org.gnome.Kiosk.SearchApp.Session.desktop
%{_datadir}/wayland-sessions/org.gnome.Kiosk.SearchApp.Session.desktop
%changelog
* Tue Oct 7 2025 Olivier Fourdan <ofourdan@redhat.com> - 40.0-8
- Add Xwayland and dbus-daemon as weak dependencies
Resolves: https://issues.redhat.com/browse/RHEL-66572
* Tue Mar 18 2025 Olivier Fourdan <ofourdan@redhat.com> - 40.0-7
- search-app: Add systemd session files
Resolves: https://issues.redhat.com/browse/RHEL-84004
* 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