import CS gnome-session-3.28.1-21.el8

This commit is contained in:
eabdullin 2023-09-27 13:01:07 +00:00
parent 5d8dbb1529
commit 26deeecd46
10 changed files with 244 additions and 9 deletions

View File

@ -0,0 +1,63 @@
From a42ccfa0e8be2e658d081c3637ff0f43e2b38d3c Mon Sep 17 00:00:00 2001
From: Takao Fujiwara <tfujiwar@redhat.com>
Date: Tue, 22 Oct 2019 20:44:04 +0900
Subject: [PATCH] gnome-session: avoid setting LC_ unless LANG and region
disagree
At the moment, gnome-session explicitly sets the various LC_ variables
to the user configured region.
That's unnecessary, though. If the LC_ variables are unset,
applications know to use LANG. Furthermore, setting the LC_ variables
makes it so you can't override them with LANG anymore.
This commit makes sure the LC_ variables only get set when absolutely
necesary. That is, when they are different than LANG.
https://gitlab.gnome.org/GNOME/gnome-session/issues/37
---
gnome-session/gnome-session.in | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
index 7d967d34..90566f1d 100755
--- a/gnome-session/gnome-session.in
+++ b/gnome-session/gnome-session.in
@@ -1,25 +1,29 @@
#!/bin/sh
if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
[ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
[ -n "$SHELL" ]; then
if [ "$1" != '-l' ]; then
exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
else
shift
fi
fi
SETTING=$(gsettings get org.gnome.system.locale region)
REGION=${SETTING#\'}
REGION=${REGION%\'}
if [ -n "$REGION" ]; then
- export LC_TIME=$REGION
- export LC_NUMERIC=$REGION
- export LC_MONETARY=$REGION
- export LC_MEASUREMENT=$REGION
- export LC_PAPER=$REGION
+ unset LC_TIME LC_NUMERIC LC_MONETARY LC_MEASUREMENT LC_PAPER
+
+ if [ "$LANG" != "$REGION" ] ; then
+ export LC_TIME=$REGION
+ export LC_NUMERIC=$REGION
+ export LC_MONETARY=$REGION
+ export LC_MEASUREMENT=$REGION
+ export LC_PAPER=$REGION
+ fi
fi
exec @libexecdir@/gnome-session-binary "$@"
--
2.41.0.rc2

View File

@ -0,0 +1,38 @@
[org/gnome/desktop/a11y/applications]
screen-keyboard-enabled=true
[org/gnome/desktop/interface]
gtk-im-module='ibus'
toolkit-accessibility=true
[org/gnome/desktop/lockdown]
disable-command-line=true
disable-lock-screen=true
disable-application-handlers=true
disable-user-switching=true
user-administration-disabled=true
[org/gnome/desktop/wm/keybindings]
always-on-top=@as []
begin-move=@as []
begin-resize=@as []
close=@as []
lower=@as []
maximize=@as []
maximize-horizontally=@as []
maximize-vertically=@as []
minimize=@as []
panel-main-menu=@as []
panel-run-dialog=@as []
raise=@as []
raise-or-lower=@as []
show-desktop=@as []
toggle-fullscreen=@as []
toggle-maximized=@as []
unmaximize=@as []
[org/gnome/desktop/wm/preferences]
num-workspaces=1
[org/gnome/mutter]
dynamic-workspaces=false

View File

@ -0,0 +1,8 @@
/org/gnome/desktop/a11y/applications/screen-keyboard-enabled
/org/gnome/desktop/interface/gtk-im-module
/org/gnome/desktop/interface/toolkit-accessibility
/org/gnome/desktop/lockdown/disable-command-line
/org/gnome/desktop/lockdown/disable-lock-screen
/org/gnome/desktop/lockdown/disable-application-handlers
/org/gnome/desktop/lockdown/disable-user-switching
/org/gnome/desktop/lockdown/user-administration-disabled

View File

@ -0,0 +1,13 @@
[Desktop Entry]
Type=Application
Name=GNOME Shell Kiosk Mode
Comment=Window manager
Exec=env DCONF_PROFILE=redhatkiosk /usr/bin/gnome-shell --mode=redhat-kiosk
Categories=GNOME;GTK;Core;
OnlyShowIn=GNOME;
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer
X-GNOME-Provides=windowmanager;
X-GNOME-Autostart-Notify=true
X-GNOME-AutoRestart=false
X-GNOME-HiddenUnderSystemd=true

View File

@ -0,0 +1,6 @@
[Desktop Entry]
Name=Kiosk (with on-screen keyboard)
Comment=Kiosk mode with on-screen keyboard
Exec=/usr/bin/env DCONF_PROFILE=redhatkiosk /usr/bin/gnome-session --session=redhat-kiosk-with-keyboard
DesktopNames=Red-Hat-Kiosk;GNOME;

View File

@ -23,4 +23,7 @@ EOF
touch ~/.config/gnome-initial-setup-done
fi
export DCONF_PROFILE=redhatkiosk
systemctl --user import-environment DCONF_PROFILE
exec ~/.local/bin/redhat-kiosk "$@"

View File

@ -0,0 +1,3 @@
[GNOME Session]
Name=Kiosk
RequiredComponents=com.redhat.KioskWithKeyboard.WindowManager;com.redhat.Kiosk.Script;

View File

@ -0,0 +1,5 @@
user-db:user
system-db:redhatkiosk
system-db:local
system-db:site
system-db:distro

11
SOURCES/redhat-kiosk.json Normal file
View File

@ -0,0 +1,11 @@
{
"parentMode": "user",
"hasOverview": false,
"hasRunDialog": false,
"allowSettings": false,
"panel": { "left": [""],
"center": [],
"right": ["keyboard"]
}
}

View File

@ -9,7 +9,7 @@
Name: gnome-session
Version: 3.28.1
Release: 14%{?dist}
Release: 21%{?dist}
Summary: GNOME session manager
License: GPLv2+
@ -17,12 +17,26 @@ URL: http://www.gnome.org
Source0: http://download.gnome.org/sources/gnome-session/3.28/%{name}-%{version}.tar.xz
Source1: gnome.desktop
Source2: gnome-xorg.desktop
Source3: com.redhat.Kiosk.WindowManager.desktop
Source4: com.redhat.Kiosk.Script.desktop
Source5: com.redhat.Kiosk.desktop
Source6: redhat-kiosk.session
Source7: redhat-kiosk
Source8: 20-redhat-kiosk.conf
Source3: com.redhat.Kiosk.Script.desktop
Source4: com.redhat.Kiosk.desktop
Source5: com.redhat.KioskWithKeyboard.desktop
Source6: com.redhat.Kiosk.WindowManager.desktop
Source7: com.redhat.KioskWithKeyboard.WindowManager.desktop
Source8: redhat-kiosk.json
Source9: redhat-kiosk.session
Source10: redhat-kiosk-with-keyboard.session
Source11: redhat-kiosk
Source12: 20-redhat-kiosk.conf
Source13: 50-redhat-kiosk.dconf
Source14: 50-redhat-kiosk.dconf.locks
Source15: redhat-kiosk.dconf.profile
Patch0: 0001-gnome-session-don-t-validate-shell-before-using-it.patch
@ -42,6 +56,10 @@ Patch20001: 0001-Fedora-Set-grub-boot-flags-on-shutdown-reboot.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1877997
Patch30001: 0001-main-only-log-check-accelerated-errors-when-debuggin.patch
# Allow user to override language settings
# https://bugzilla.redhat.com/show_bug.cgi?id=2170474
Patch40001: 0001-gnome-session-avoid-setting-LC_-unless-LANG-and-regi.patch
BuildRequires: meson
BuildRequires: gcc
BuildRequires: pkgconfig(egl)
@ -133,17 +151,42 @@ cp $RPM_SOURCE_DIR/gnome.desktop $RPM_BUILD_ROOT%{_datadir}/wayland-sessions/gno
cp $RPM_SOURCE_DIR/gnome-xorg.desktop $RPM_BUILD_ROOT%{_datadir}/xsessions
cp $RPM_SOURCE_DIR/gnome-xorg.desktop $RPM_BUILD_ROOT%{_datadir}/xsessions/gnome.desktop
install -D $RPM_SOURCE_DIR/com.redhat.Kiosk.WindowManager.desktop -t $RPM_BUILD_ROOT/%{_datadir}/applications
install -D $RPM_SOURCE_DIR/com.redhat.Kiosk.Script.desktop -t $RPM_BUILD_ROOT%{_datadir}/applications
install -D $RPM_SOURCE_DIR/com.redhat.Kiosk.WindowManager.desktop -t $RPM_BUILD_ROOT/%{_datadir}/applications
install -D $RPM_SOURCE_DIR/com.redhat.KioskWithKeyboard.WindowManager.desktop -t $RPM_BUILD_ROOT/%{_datadir}/applications
install -D $RPM_SOURCE_DIR/com.redhat.Kiosk.desktop -t $RPM_BUILD_ROOT%{_datadir}/xsessions
install -D $RPM_SOURCE_DIR/com.redhat.KioskWithKeyboard.desktop -t $RPM_BUILD_ROOT%{_datadir}/xsessions
install -D $RPM_SOURCE_DIR/redhat-kiosk.json -t $RPM_BUILD_ROOT%{_datadir}/gnome-shell/modes
install -D $RPM_SOURCE_DIR/redhat-kiosk.session -t $RPM_BUILD_ROOT%{_datadir}/gnome-session/sessions
install -D $RPM_SOURCE_DIR/redhat-kiosk-with-keyboard.session -t $RPM_BUILD_ROOT%{_datadir}/gnome-session/sessions
install -D $RPM_SOURCE_DIR/redhat-kiosk -t $RPM_BUILD_ROOT%{_bindir}
install -D $RPM_SOURCE_DIR/20-redhat-kiosk.conf -t $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d
install -D $RPM_SOURCE_DIR/50-redhat-kiosk.dconf $RPM_BUILD_ROOT%{_sysconfdir}/dconf/db/redhatkiosk.d/50-redhat-kiosk
install -D $RPM_SOURCE_DIR/50-redhat-kiosk.dconf.locks $RPM_BUILD_ROOT%{_sysconfdir}/dconf/db/redhatkiosk.d/locks/50-redhat-kiosk
install -D $RPM_SOURCE_DIR/redhat-kiosk.dconf.profile $RPM_BUILD_ROOT%{_sysconfdir}/dconf/profile/redhatkiosk
install -D $RPM_SOURCE_DIR/20-redhat-kiosk.conf -t $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d
%find_lang %{po_package}
%ldconfig_scriptlets
%posttrans
# These files weren't packaged correctly in gnome-session-3.28.1-19.el8 so manually prune them
rmdir %{_sysconfdir}/dconf/db/redhat-kiosk.d/locks 2> /dev/null || :
rmdir %{_sysconfdir}/dconf/db/redhat-kiosk.d 2> /dev/null || :
rm -f %{_sysconfdir}/dconf/db/redhat-kiosk 2> /dev/null || :
dconf update
%files xsession
%{_datadir}/xsessions/*
%exclude %{_datadir}/xsessions/com.redhat.Kiosk.desktop
@ -152,10 +195,20 @@ install -D $RPM_SOURCE_DIR/20-redhat-kiosk.conf -t $RPM_BUILD_ROOT%{_datadir}/X1
%{_datadir}/wayland-sessions/*
%files kiosk-session
%{_datadir}/applications/com.redhat.Kiosk.WindowManager.desktop
%dir %{_sysconfdir}/dconf/db/redhatkiosk.d/locks
%dir %{_sysconfdir}/dconf/db/redhatkiosk.d
%ghost %{_sysconfdir}/dconf/db/redhatkiosk
%{_sysconfdir}/dconf/db/redhatkiosk.d/50-redhat-kiosk
%{_sysconfdir}/dconf/db/redhatkiosk.d/locks/50-redhat-kiosk
%{_sysconfdir}/dconf/profile/redhatkiosk
%{_datadir}/applications/com.redhat.Kiosk.Script.desktop
%{_datadir}/applications/com.redhat.Kiosk.WindowManager.desktop
%{_datadir}/applications/com.redhat.KioskWithKeyboard.WindowManager.desktop
%{_datadir}/gnome-shell/modes/redhat-kiosk.json
%{_datadir}/xsessions/com.redhat.Kiosk.desktop
%{_datadir}/xsessions/com.redhat.KioskWithKeyboard.desktop
%{_datadir}/gnome-session/sessions/redhat-kiosk.session
%{_datadir}/gnome-session/sessions/redhat-kiosk-with-keyboard.session
%{_datadir}/X11/xorg.conf.d/20-redhat-kiosk.conf
%{_bindir}/redhat-kiosk
@ -175,6 +228,38 @@ install -D $RPM_SOURCE_DIR/20-redhat-kiosk.conf -t $RPM_BUILD_ROOT%{_datadir}/X1
%{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml
%changelog
* Wed May 31 2023 Ray Strode <rstrode@redhat.com> - 3.28.1-21
- Allow users to override language settings in environment
Resolves: #2170474
* Wed Mar 01 2023 Ray Strode <rstrode@redhat.com> - 3.28.1-20
- Work around dconf log spew by renaming dconf profile
Related: 2070976
Resolves: #2174414
* Tue Feb 28 2023 Ray Strode <rstrode@redhat.com> - 3.28.1-19
- Another fix
Related: #2070976
* Tue Feb 28 2023 Ray Strode <rstrode@redhat.com> - 3.28.1-18
- Fix issue introduced in last build
Related: #2070976
* Tue Feb 28 2023 Ray Strode <rstrode@redhat.com> - 3.28.1-17
- Don't force kiosk profile for user in non-kiosk sessions
after the user has been used for a kiosk session once
Related: #2070976
* Tue Feb 28 2023 Ray Strode <rstrode@redhat.com> - 3.28.1-16
- Fix glitch where enabling on-screen keyboard requires initial
reboot
Related: #2070976
* Mon Feb 27 2023 Ray Strode <rstrode@redhat.com> - 3.28.1-15
- Add new shell based variant of kiosk mode that supports
on-screen keyboard
Resolves: #2070976
* Tue Dec 21 2021 Ray Strode <rstrode@redhat.com> - 3.28.1-14
- Make some debug spew only show up if debugging is enabled
Resolves: #1877997