%global tarball_version %%(echo %{version} | tr '~' '.') %global major_version %(echo -n %{tarball_version} | sed 's/[.].*//') %global gettext_version 0.19.6 %global gnome_desktop_version 40~rc %global glib2_version 2.68.0 %global gtk4_version 3.24.27 %global mutter_version 40.0 %global gsettings_desktop_schemas_version 40~rc %global ibus_version 1.5.24 %global gnome_settings_daemon_version 40~rc Name: gnome-kiosk Version: 40.0 Release: 4%{?dist} Summary: Window management and application launching for GNOME License: GPLv2+ URL: https://gitlab.gnome.org/halfline/gnome-kiosk Source0: https://download.gnome.org/sources/%{name}/%{major_version}/%{name}-%{tarball_version}.tar.xz Provides: firstboot(windowmanager) = %{name} BuildRequires: desktop-file-utils BuildRequires: gcc BuildRequires: gettext >= %{gettext_version} BuildRequires: git BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} BuildRequires: pkgconfig(gobject-2.0) >= %{glib2_version} BuildRequires: pkgconfig(gio-2.0) >= %{glib2_version} BuildRequires: pkgconfig(gnome-desktop-3.0) >= %{gnome_desktop_version} BuildRequires: pkgconfig(gtk4) >= %{gtk4_version} BuildRequires: pkgconfig(ibus-1.0) >= %{ibus_version} BuildRequires: pkgconfig(libmutter-8) >= %{mutter_version} BuildRequires: mesa-libEGL-devel BuildRequires: mesa-libGL-devel BuildRequires: meson Requires: gnome-settings-daemon%{?_isa} >= %{gnome_settings_daemon_version} Requires: gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version} Patch10001: 0001-compositor-Support-systemd-user-sessions.patch Patch10002: 0002-Add-a-script-for-simplifying-kiosk-setup.patch Patch20001: 0001-compositor-Ignore-some-of-the-builtin-keybindings.patch Patch20002: 0002-kiosk-script-Make-sure-desktop-file-for-script-is-hi.patch Patch20003: 0003-kiosk-script-Install-session-file-with-fallback-in-m.patch Patch20004: 0004-kiosk-script-Give-xsession-and-wayland-session-file-.patch 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 %description GNOME Kiosk provides a desktop enviroment suitable for fixed purpose, or single application deployments like wall displays and point-of-sale systems. %package search-appliance Summary: Example search application application that uses GNOME Kiosk License: GPLv2+ Requires: %{name} = %{version}-%{release} Requires: firefox Requires: gnome-session BuildArch: noarch %description search-appliance This package provides a full screen firefox window pointed to google. %package script-session Summary: Basic session used for running kiosk application from shell script License: GPLv2+ Requires: %{name} = %{version}-%{release} Recommends: gedit Requires: gnome-session BuildArch: noarch %description script-session This package generates a shell script and the necessary scaffolding to start that shell script within a kiosk session. %prep %autosetup -S git -n %{name}-%{tarball_version} %build %meson %meson_build %install %meson_install %check desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Kiosk.desktop desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Kiosk.SearchApp.desktop %files %license COPYING %doc README.md %{_bindir}/gnome-kiosk %{_datadir}/applications/org.gnome.Kiosk.desktop %{_userunitdir}/org.gnome.Kiosk.target %{_userunitdir}/org.gnome.Kiosk@wayland.service %{_userunitdir}/org.gnome.Kiosk@x11.service %files -n gnome-kiosk-script-session %{_bindir}/gnome-kiosk-script %{_userunitdir}/gnome-session@gnome-kiosk-script.target.d/session.conf %{_userunitdir}/org.gnome.Kiosk.Script.service %{_datadir}/applications/org.gnome.Kiosk.Script.desktop %{_datadir}/gnome-session/sessions/gnome-kiosk-script.session %{_datadir}/wayland-sessions/gnome-kiosk-script.desktop %{_datadir}/xsessions/gnome-kiosk-script.desktop %files -n gnome-kiosk-search-appliance %{_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 * Wed Aug 11 2021 Ray Strode - 40.0-4 - Fix crash when hitting alt-f2 - Various fixes to the script-session Related: #1965338 * Mon Aug 09 2021 Mohan Boddu - 40.0-3 - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688 * Fri Aug 06 2021 Ray Strode - 40.0-2 - Support systemd --user sessions - Add script-session subpackage Related: #1965338 * Mon May 17 2021 Ray Strode - 40.0-1 - Update to 40.0 Related: #1950042 * Tue Apr 27 2021 Ray Strode - 40~alpha-7 - Fix desktop file Resolves: #1954285 * Fri Apr 23 2021 Ray Strode - 40~alpha-6 - Add vprovides so initial-setup can use this * Wed Apr 21 2021 Ray Strode - 40~alpha-5 - Fix keyboard layouts getting out of sync in anaconda * Tue Apr 20 2021 Ray Strode - 40~alpha-4 - Fix infinite loop * Mon Apr 19 2021 Ray Strode - 40~alpha-3 - Fix crash * Sun Apr 18 2021 Ray Strode - 40~alpha-2 - Work with 3rd party keyboard layout selectors - Be less aggressive about fullscreening windows * Mon Apr 12 2021 Ray Strode - 40~alpha-1 - Initial import