From 7ea83d1a2e5eb427bd30a5fbd1017c2bc145040e Mon Sep 17 00:00:00 2001 From: oreo639 Date: Fri, 9 Sep 2022 16:46:44 -0700 Subject: [PATCH] gnome-session: remove outdated workaround and fix overwriting lang The issue the revert autostart-app patch was added for was fixed in elogind: https://gitlab.gnome.org/GNOME/gnome-session/-/issues/44 The LANG variable is set by GDM but gets overwritten when loading /etc/profile. This resets it afterwards using the GDM_LANG variable. --- ...-app-Strip-blacklisted-variables-fro.patch | 67 ------------------- .../include-profile-env-variables.patch | 10 ++- srcpkgs/gnome-session/template | 2 +- 3 files changed, 9 insertions(+), 70 deletions(-) delete mode 100644 srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch diff --git a/srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch b/srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch deleted file mode 100644 index af8350b8d9336..0000000000000 --- a/srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 1de3575a1ea9cdb3579ad538108c51818847797c Mon Sep 17 00:00:00 2001 -From: Rasmus Thomsen -Date: Fri, 6 Dec 2019 11:48:02 +0100 -Subject: [PATCH] revert: autostart-app: Strip blacklisted variables from - autostart environment - -This breaks gnome-session on non-systemd systems. - -https://gitlab.gnome.org/GNOME/gnome-session/issues/44 ---- - gnome-session/gsm-autostart-app.c | 5 ----- - gnome-session/gsm-util.c | 6 ------ - gnome-session/gsm-util.h | 1 - - 3 files changed, 12 deletions(-) - -diff --git a/gnome-session/gsm-autostart-app.c b/gnome-session/gsm-autostart-app.c -index 6fd5915..01ba5f9 100644 ---- a/gnome-session/gsm-autostart-app.c -+++ b/gnome-session/gsm-autostart-app.c -@@ -997,7 +997,6 @@ autostart_app_start_spawn (GsmAutostartApp *app, - gboolean success; - GError *local_error; - const char *startup_id; -- const char * const *variable_blacklist; - const char * const *child_environment; - int i; - GAppLaunchContext *ctx; -@@ -1014,10 +1013,6 @@ autostart_app_start_spawn (GsmAutostartApp *app, - local_error = NULL; - ctx = g_app_launch_context_new (); - -- variable_blacklist = gsm_util_get_variable_blacklist (); -- for (i = 0; variable_blacklist[i] != NULL; i++) -- g_app_launch_context_unsetenv (ctx, variable_blacklist[i]); -- - child_environment = gsm_util_listenv (); - for (i = 0; child_environment[i] != NULL; i++) { - char **environment_tuple; -diff --git a/gnome-session/gsm-util.c b/gnome-session/gsm-util.c -index 02bc4a5..ada1225 100644 ---- a/gnome-session/gsm-util.c -+++ b/gnome-session/gsm-util.c -@@ -808,9 +808,3 @@ gsm_util_listenv (void) - return (const char * const *) child_environment; - - } -- --const char * const * --gsm_util_get_variable_blacklist (void) --{ -- return variable_blacklist; --} -diff --git a/gnome-session/gsm-util.h b/gnome-session/gsm-util.h -index bd7b698..8bca5f4 100644 ---- a/gnome-session/gsm-util.h -+++ b/gnome-session/gsm-util.h -@@ -50,7 +50,6 @@ char * gsm_util_generate_startup_id (void); - void gsm_util_setenv (const char *variable, - const char *value); - const char * const * gsm_util_listenv (void); --const char * const * gsm_util_get_variable_blacklist(void); - - gboolean gsm_util_export_activation_environment (GError **error); - #ifdef HAVE_SYSTEMD --- -2.24.0 - diff --git a/srcpkgs/gnome-session/patches/include-profile-env-variables.patch b/srcpkgs/gnome-session/patches/include-profile-env-variables.patch index 2e06bddecb1f9..849b77290831b 100644 --- a/srcpkgs/gnome-session/patches/include-profile-env-variables.patch +++ b/srcpkgs/gnome-session/patches/include-profile-env-variables.patch @@ -4,6 +4,8 @@ specific /etc/environment.d to set environment variables. With this patch we just force gnome-session's hand to include the env variables of /etc/profile. +diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in +index ddd1a591..bbb05260 100755 --- a/gnome-session/gnome-session.in +++ b/gnome-session/gnome-session.in @@ -1,4 +1,4 @@ @@ -12,10 +14,14 @@ of /etc/profile. if [ "x$XDG_SESSION_TYPE" = "xwayland" ] && [ "x$XDG_SESSION_CLASS" != "xgreeter" ] && -@@ -25,4 +25,6 @@ if [ -n "$REGION" ]; then - export LC_PAPER=$REGION +@@ -29,4 +29,10 @@ if [ -n "$REGION" ]; then + fi fi +source /etc/profile ++ ++if [ -n "$GDM_LANG" ]; then ++ export LANG=$GDM_LANG ++fi + exec @libexecdir@/gnome-session-binary "$@" diff --git a/srcpkgs/gnome-session/template b/srcpkgs/gnome-session/template index cce39e931eb86..76b1f49f1cdcc 100644 --- a/srcpkgs/gnome-session/template +++ b/srcpkgs/gnome-session/template @@ -1,7 +1,7 @@ # Template file for 'gnome-session' pkgname=gnome-session version=42.0 -revision=1 +revision=2 build_style=meson configure_args="-Dsystemd_journal=false -Dsystemd_session=disable" hostmakedepends="glib-devel intltool pkg-config xmlto"