diff --git a/.gnome-session.metadata b/.gnome-session.metadata deleted file mode 100644 index 8b9c089..0000000 --- a/.gnome-session.metadata +++ /dev/null @@ -1 +0,0 @@ -3233201cc82fa736997ddee7e54cb7f61c9d0074 SOURCES/gnome-session-3.28.1.tar.xz diff --git a/SOURCES/0001-gnome-session-avoid-setting-LC_-unless-LANG-and-regi.patch b/SOURCES/0001-gnome-session-avoid-setting-LC_-unless-LANG-and-regi.patch new file mode 100644 index 0000000..72115c8 --- /dev/null +++ b/SOURCES/0001-gnome-session-avoid-setting-LC_-unless-LANG-and-regi.patch @@ -0,0 +1,63 @@ +From a42ccfa0e8be2e658d081c3637ff0f43e2b38d3c Mon Sep 17 00:00:00 2001 +From: Takao Fujiwara +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 + diff --git a/SPECS/gnome-session.spec b/SPECS/gnome-session.spec index 5b6ef82..37a31ab 100644 --- a/SPECS/gnome-session.spec +++ b/SPECS/gnome-session.spec @@ -9,7 +9,7 @@ Name: gnome-session Version: 3.28.1 -Release: 20%{?dist} +Release: 21%{?dist} Summary: GNOME session manager License: GPLv2+ @@ -56,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) @@ -224,10 +228,14 @@ dconf update %{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml %changelog +* Wed May 31 2023 Ray Strode - 3.28.1-21 +- Allow users to override language settings in environment + Resolves: #2170474 + * Wed Mar 01 2023 Ray Strode - 3.28.1-20 - Work around dconf log spew by renaming dconf profile Related: 2070976 - Resolves: #2175124 + Resolves: #2174414 * Tue Feb 28 2023 Ray Strode - 3.28.1-19 - Another fix