* [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang
@ 2022-09-09 23:59 oreo639
2022-09-10 5:04 ` [PR PATCH] [Updated] " oreo639
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: oreo639 @ 2022-09-09 23:59 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1746 bytes --]
There is a new pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
If you want me to re-add the autostart-app patch, feel free to let me know.
I used GDM_LANG since it is stated here for this purpose (resetting lang after loading `/etc/profile`), but it seems to come from the GDM 2 days and I don't see any current docs referencing it, so I'm not sure I should be using it: https://gitlab.gnome.org/GNOME/gdm/-/blob/42.0/docs/ko/ko.po#L837-839
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 5393 bytes --]
From e888db0a87ed9d7e9ad6eeba49552e7f672891d0 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
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 af8350b8d933..000000000000
--- 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 <oss@cogitri.dev>
-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 2e06bddecb1f..c25840f5457a 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
++ LANG=$GDM_LANG
++fi
+
exec @libexecdir@/gnome-session-binary "$@"
diff --git a/srcpkgs/gnome-session/template b/srcpkgs/gnome-session/template
index cce39e931eb8..76b1f49f1cdc 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"
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] gnome-session: remove outdated workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
@ 2022-09-10 5:04 ` oreo639
2022-09-10 5:05 ` oreo639
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-10 5:04 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1649 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
If you want me to re-add the autostart-app patch, feel free to let me know.
I used GDM_LANG since it is stated [here](https://gitlab.gnome.org/GNOME/gdm/-/blob/42.0/docs/ko/ko.po#L837-839) as existing explicitly for this purpose (resetting LANG after loading `/etc/profile`).
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 8828 bytes --]
From 8b50fc7625dfa2124af17a1ce6e3cbce6f3d51f7 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
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 ++-
.../patches/no-systemd-dep.patch | 39 +++++++++--
srcpkgs/gnome-session/template | 9 +--
4 files changed, 46 insertions(+), 79 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 af8350b8d933..000000000000
--- 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 <oss@cogitri.dev>
-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 2e06bddecb1f..c25840f5457a 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
++ LANG=$GDM_LANG
++fi
+
exec @libexecdir@/gnome-session-binary "$@"
diff --git a/srcpkgs/gnome-session/patches/no-systemd-dep.patch b/srcpkgs/gnome-session/patches/no-systemd-dep.patch
index 8292d60d5a9e..94f35d1c5ad0 100644
--- a/srcpkgs/gnome-session/patches/no-systemd-dep.patch
+++ b/srcpkgs/gnome-session/patches/no-systemd-dep.patch
@@ -1,14 +1,45 @@
+From d2be832ae5ea12996fe8b9f42346c1038b01c9cb Mon Sep 17 00:00:00 2001
+From: oreo639 <oreo6391@gmail.com>
+Date: Fri, 9 Sep 2022 21:43:11 -0700
+Subject: [PATCH] meson: Add option to override sytemd user unit directory
+
+This also fixes building with elogind.
+---
+ meson.build | 9 ++++++---
+ meson_options.txt | 1 +
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 5aa5e749..72509922 100644
--- a/meson.build
+++ b/meson.build
-@@ -130,10 +130,7 @@ if enable_systemd or enable_consolekit
+@@ -124,9 +124,12 @@ if enable_systemd or enable_consolekit
# Check for systemd
if enable_systemd
- systemd_dep = dependency('systemd', version: '>= 242', required: true)
- systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
- define_variable: ['prefix', prefix])
--
-+ systemd_userunitdir = '/tmp'
++ systemd_userunitdir = get_option('systemduserunitdir')
++ if systemd_userunitdir == ''
++ systemd_dep = dependency('systemd', version: '>= 242', required: true)
++ systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
++ define_variable: ['prefix', prefix])
++ endif
+
libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false)
session_bin_deps += libsystemd_dep
-
+diff --git a/meson_options.txt b/meson_options.txt
+index 4c05dc6e..d3bd3838 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -3,6 +3,7 @@ option('session_selector', type: 'boolean', value: false, description: 'enable b
+ option('systemd', type: 'boolean', value: true, description: 'Use systemd')
+ option('systemd_session', type: 'combo', choices: ['disable', 'enable', 'default'], value: 'default', description: 'Whether to include systemd session support and use it by default')
+ option('systemd_journal', type: 'boolean', value:'true', description: 'Send log to systemd-journal')
++option('systemduserunitdir', type: 'string', description: 'Directory for systemd user service files')
+ option('consolekit', type: 'boolean', value: false, description: 'Use consolekit')
+ option('docbook', type: 'boolean', value: true, description: 'build documentation')
+ option('man', type: 'boolean', value: true, description: 'build documentation (requires xmlto)')
+--
+GitLab
diff --git a/srcpkgs/gnome-session/template b/srcpkgs/gnome-session/template
index cce39e931eb8..fe3d7ac09514 100644
--- a/srcpkgs/gnome-session/template
+++ b/srcpkgs/gnome-session/template
@@ -1,9 +1,10 @@
# 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"
+configure_args="-Dsystemd_journal=false -Dsystemd_session=disable
+ -Dsystemduserunitdir=/usr/lib/systemd/user"
hostmakedepends="glib-devel intltool pkg-config xmlto"
makedepends="elogind-devel gnome-desktop-devel gtk+3-devel json-glib-devel
libglib-devel libICE-devel libSM-devel libXtst-devel startup-notification-devel
@@ -17,7 +18,3 @@ homepage="https://gitlab.gnome.org/GNOME/gnome-session"
changelog="https://gitlab.gnome.org/GNOME/gnome-session/-/blob/main/NEWS"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
checksum=3cca06053ab682926920951a7da95f8cc6d72da74c682c46d0a0653332969caa
-
-post_install() {
- rm -rf ${DESTDIR}/tmp
-}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] gnome-session: remove outdated workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
2022-09-10 5:04 ` [PR PATCH] [Updated] " oreo639
@ 2022-09-10 5:05 ` oreo639
2022-09-10 5:06 ` oreo639
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-10 5:05 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1649 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
If you want me to re-add the autostart-app patch, feel free to let me know.
I used GDM_LANG since it is stated [here](https://gitlab.gnome.org/GNOME/gdm/-/blob/42.0/docs/ko/ko.po#L837-839) as existing explicitly for this purpose (resetting LANG after loading `/etc/profile`).
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 8879 bytes --]
From f49a08be1fa488248bff3485f23d9cf8a224c5ee Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
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 ++-
.../patches/no-systemd-dep.patch | 41 ++++++++++--
srcpkgs/gnome-session/template | 9 +--
4 files changed, 48 insertions(+), 79 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 af8350b8d933..000000000000
--- 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 <oss@cogitri.dev>
-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 2e06bddecb1f..c25840f5457a 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
++ LANG=$GDM_LANG
++fi
+
exec @libexecdir@/gnome-session-binary "$@"
diff --git a/srcpkgs/gnome-session/patches/no-systemd-dep.patch b/srcpkgs/gnome-session/patches/no-systemd-dep.patch
index 8292d60d5a9e..94681c7eaeae 100644
--- a/srcpkgs/gnome-session/patches/no-systemd-dep.patch
+++ b/srcpkgs/gnome-session/patches/no-systemd-dep.patch
@@ -1,14 +1,47 @@
+From d2be832ae5ea12996fe8b9f42346c1038b01c9cb Mon Sep 17 00:00:00 2001
+From: oreo639 <oreo6391@gmail.com>
+Date: Fri, 9 Sep 2022 21:43:11 -0700
+Subject: [PATCH] meson: Add option to override sytemd user unit directory
+
+This also fixes building with elogind.
+
+Status: Patch sent. Not currently in upstream.
+---
+ meson.build | 9 ++++++---
+ meson_options.txt | 1 +
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 5aa5e749..72509922 100644
--- a/meson.build
+++ b/meson.build
-@@ -130,10 +130,7 @@ if enable_systemd or enable_consolekit
+@@ -124,9 +124,12 @@ if enable_systemd or enable_consolekit
# Check for systemd
if enable_systemd
- systemd_dep = dependency('systemd', version: '>= 242', required: true)
- systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
- define_variable: ['prefix', prefix])
--
-+ systemd_userunitdir = '/tmp'
++ systemd_userunitdir = get_option('systemduserunitdir')
++ if systemd_userunitdir == ''
++ systemd_dep = dependency('systemd', version: '>= 242', required: true)
++ systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
++ define_variable: ['prefix', prefix])
++ endif
+
libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false)
session_bin_deps += libsystemd_dep
-
+diff --git a/meson_options.txt b/meson_options.txt
+index 4c05dc6e..d3bd3838 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -3,6 +3,7 @@ option('session_selector', type: 'boolean', value: false, description: 'enable b
+ option('systemd', type: 'boolean', value: true, description: 'Use systemd')
+ option('systemd_session', type: 'combo', choices: ['disable', 'enable', 'default'], value: 'default', description: 'Whether to include systemd session support and use it by default')
+ option('systemd_journal', type: 'boolean', value:'true', description: 'Send log to systemd-journal')
++option('systemduserunitdir', type: 'string', description: 'Directory for systemd user service files')
+ option('consolekit', type: 'boolean', value: false, description: 'Use consolekit')
+ option('docbook', type: 'boolean', value: true, description: 'build documentation')
+ option('man', type: 'boolean', value: true, description: 'build documentation (requires xmlto)')
+--
+GitLab
diff --git a/srcpkgs/gnome-session/template b/srcpkgs/gnome-session/template
index cce39e931eb8..fe3d7ac09514 100644
--- a/srcpkgs/gnome-session/template
+++ b/srcpkgs/gnome-session/template
@@ -1,9 +1,10 @@
# 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"
+configure_args="-Dsystemd_journal=false -Dsystemd_session=disable
+ -Dsystemduserunitdir=/usr/lib/systemd/user"
hostmakedepends="glib-devel intltool pkg-config xmlto"
makedepends="elogind-devel gnome-desktop-devel gtk+3-devel json-glib-devel
libglib-devel libICE-devel libSM-devel libXtst-devel startup-notification-devel
@@ -17,7 +18,3 @@ homepage="https://gitlab.gnome.org/GNOME/gnome-session"
changelog="https://gitlab.gnome.org/GNOME/gnome-session/-/blob/main/NEWS"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
checksum=3cca06053ab682926920951a7da95f8cc6d72da74c682c46d0a0653332969caa
-
-post_install() {
- rm -rf ${DESTDIR}/tmp
-}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] gnome-session: remove outdated workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
2022-09-10 5:04 ` [PR PATCH] [Updated] " oreo639
2022-09-10 5:05 ` oreo639
@ 2022-09-10 5:06 ` oreo639
2022-09-10 5:59 ` oreo639
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-10 5:06 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1649 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
If you want me to re-add the autostart-app patch, feel free to let me know.
I used GDM_LANG since it is stated [here](https://gitlab.gnome.org/GNOME/gdm/-/blob/42.0/docs/ko/ko.po#L837-839) as existing explicitly for this purpose (resetting LANG after loading `/etc/profile`).
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 8884 bytes --]
From aa8ee1e7ea30c5ebe5168f1f73ada5f9ce21911e Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
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 ++-
.../patches/no-systemd-dep.patch | 41 ++++++++++--
srcpkgs/gnome-session/template | 9 +--
4 files changed, 48 insertions(+), 79 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 af8350b8d933..000000000000
--- 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 <oss@cogitri.dev>
-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 2e06bddecb1f..c25840f5457a 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
++ LANG=$GDM_LANG
++fi
+
exec @libexecdir@/gnome-session-binary "$@"
diff --git a/srcpkgs/gnome-session/patches/no-systemd-dep.patch b/srcpkgs/gnome-session/patches/no-systemd-dep.patch
index 8292d60d5a9e..8568a638ddd8 100644
--- a/srcpkgs/gnome-session/patches/no-systemd-dep.patch
+++ b/srcpkgs/gnome-session/patches/no-systemd-dep.patch
@@ -1,14 +1,47 @@
+Status: Patch submitted. Not currently in upstream.
+
+From d2be832ae5ea12996fe8b9f42346c1038b01c9cb Mon Sep 17 00:00:00 2001
+From: oreo639 <oreo6391@gmail.com>
+Date: Fri, 9 Sep 2022 21:43:11 -0700
+Subject: [PATCH] meson: Add option to override sytemd user unit directory
+
+This also fixes building with elogind.
+---
+ meson.build | 9 ++++++---
+ meson_options.txt | 1 +
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 5aa5e749..72509922 100644
--- a/meson.build
+++ b/meson.build
-@@ -130,10 +130,7 @@ if enable_systemd or enable_consolekit
+@@ -124,9 +124,12 @@ if enable_systemd or enable_consolekit
# Check for systemd
if enable_systemd
- systemd_dep = dependency('systemd', version: '>= 242', required: true)
- systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
- define_variable: ['prefix', prefix])
--
-+ systemd_userunitdir = '/tmp'
++ systemd_userunitdir = get_option('systemduserunitdir')
++ if systemd_userunitdir == ''
++ systemd_dep = dependency('systemd', version: '>= 242', required: true)
++ systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
++ define_variable: ['prefix', prefix])
++ endif
+
libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false)
session_bin_deps += libsystemd_dep
-
+diff --git a/meson_options.txt b/meson_options.txt
+index 4c05dc6e..d3bd3838 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -3,6 +3,7 @@ option('session_selector', type: 'boolean', value: false, description: 'enable b
+ option('systemd', type: 'boolean', value: true, description: 'Use systemd')
+ option('systemd_session', type: 'combo', choices: ['disable', 'enable', 'default'], value: 'default', description: 'Whether to include systemd session support and use it by default')
+ option('systemd_journal', type: 'boolean', value:'true', description: 'Send log to systemd-journal')
++option('systemduserunitdir', type: 'string', description: 'Directory for systemd user service files')
+ option('consolekit', type: 'boolean', value: false, description: 'Use consolekit')
+ option('docbook', type: 'boolean', value: true, description: 'build documentation')
+ option('man', type: 'boolean', value: true, description: 'build documentation (requires xmlto)')
+--
+GitLab
diff --git a/srcpkgs/gnome-session/template b/srcpkgs/gnome-session/template
index cce39e931eb8..fe3d7ac09514 100644
--- a/srcpkgs/gnome-session/template
+++ b/srcpkgs/gnome-session/template
@@ -1,9 +1,10 @@
# 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"
+configure_args="-Dsystemd_journal=false -Dsystemd_session=disable
+ -Dsystemduserunitdir=/usr/lib/systemd/user"
hostmakedepends="glib-devel intltool pkg-config xmlto"
makedepends="elogind-devel gnome-desktop-devel gtk+3-devel json-glib-devel
libglib-devel libICE-devel libSM-devel libXtst-devel startup-notification-devel
@@ -17,7 +18,3 @@ homepage="https://gitlab.gnome.org/GNOME/gnome-session"
changelog="https://gitlab.gnome.org/GNOME/gnome-session/-/blob/main/NEWS"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
checksum=3cca06053ab682926920951a7da95f8cc6d72da74c682c46d0a0653332969caa
-
-post_install() {
- rm -rf ${DESTDIR}/tmp
-}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] gnome-session: remove outdated workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
` (2 preceding siblings ...)
2022-09-10 5:06 ` oreo639
@ 2022-09-10 5:59 ` oreo639
2022-09-10 6:02 ` oreo639
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-10 5:59 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1649 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
If you want me to re-add the autostart-app patch, feel free to let me know.
I used GDM_LANG since it is stated [here](https://gitlab.gnome.org/GNOME/gdm/-/blob/42.0/docs/ko/ko.po#L837-839) as existing explicitly for this purpose (resetting LANG after loading `/etc/profile`).
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 11286 bytes --]
From 3d928d5a0ef5963e30585127be11c3fa4fdc151e Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
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 -------------------
...4c78461487e0f225e9568570ab0ba96f729e.patch | 48 +++++++++++++
.../include-profile-env-variables.patch | 10 ++-
.../patches/no-systemd-dep.patch | 41 ++++++++++--
srcpkgs/gnome-session/template | 9 +--
5 files changed, 96 insertions(+), 79 deletions(-)
delete mode 100644 srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch
create mode 100644 srcpkgs/gnome-session/patches/caf04c78461487e0f225e9568570ab0ba96f729e.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 af8350b8d933..000000000000
--- 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 <oss@cogitri.dev>
-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/caf04c78461487e0f225e9568570ab0ba96f729e.patch b/srcpkgs/gnome-session/patches/caf04c78461487e0f225e9568570ab0ba96f729e.patch
new file mode 100644
index 000000000000..b37a4ea41d0b
--- /dev/null
+++ b/srcpkgs/gnome-session/patches/caf04c78461487e0f225e9568570ab0ba96f729e.patch
@@ -0,0 +1,48 @@
+From caf04c78461487e0f225e9568570ab0ba96f729e Mon Sep 17 00:00:00 2001
+From: Benjamin Berg <bberg@redhat.com>
+Date: Sun, 17 Apr 2022 15:58:13 +0200
+Subject: [PATCH] main: Also clear error when running under GDM
+
+Commit 0349a77ad875 ("main: Lower fallback warning when running in GDM")
+removed error logging when running under GDM. However, the error was not
+cleared afterwards, leaking it to later operations and causing other
+issues.
+
+Closes: #105
+---
+ gnome-session/main.c | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+diff --git a/gnome-session/main.c b/gnome-session/main.c
+index a460a849..6f033246 100644
+--- a/gnome-session/main.c
++++ b/gnome-session/main.c
+@@ -543,10 +543,9 @@ main (int argc, char **argv)
+
+ #ifdef HAVE_SYSTEMD
+ gsm_util_export_user_environment (&error);
+- if (error && !g_getenv ("RUNNING_UNDER_GDM")) {
++ if (error && !g_getenv ("RUNNING_UNDER_GDM"))
+ g_warning ("Failed to upload environment to systemd: %s", error->message);
+- g_clear_error (&error);
+- }
++ g_clear_error (&error);
+ #endif
+
+ #ifdef ENABLE_SYSTEMD_SESSION
+@@ -567,10 +566,9 @@ main (int argc, char **argv)
+ * in a previous session
+ */
+ gsm_util_systemd_reset_failed (&error);
+- if (error && !g_getenv ("RUNNING_UNDER_GDM")) {
++ if (error && !g_getenv ("RUNNING_UNDER_GDM"))
+ g_warning ("Failed to reset failed state of units: %s", error->message);
+- g_clear_error (&error);
+- }
++ g_clear_error (&error);
+
+ /* We don't escape the name (i.e. we leave any '-' intact). */
+ gnome_session_target = g_strdup_printf ("gnome-session-%s@%s.target", session_type, session_name);
+--
+GitLab
+
diff --git a/srcpkgs/gnome-session/patches/include-profile-env-variables.patch b/srcpkgs/gnome-session/patches/include-profile-env-variables.patch
index 2e06bddecb1f..c25840f5457a 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
++ LANG=$GDM_LANG
++fi
+
exec @libexecdir@/gnome-session-binary "$@"
diff --git a/srcpkgs/gnome-session/patches/no-systemd-dep.patch b/srcpkgs/gnome-session/patches/no-systemd-dep.patch
index 8292d60d5a9e..8568a638ddd8 100644
--- a/srcpkgs/gnome-session/patches/no-systemd-dep.patch
+++ b/srcpkgs/gnome-session/patches/no-systemd-dep.patch
@@ -1,14 +1,47 @@
+Status: Patch submitted. Not currently in upstream.
+
+From d2be832ae5ea12996fe8b9f42346c1038b01c9cb Mon Sep 17 00:00:00 2001
+From: oreo639 <oreo6391@gmail.com>
+Date: Fri, 9 Sep 2022 21:43:11 -0700
+Subject: [PATCH] meson: Add option to override sytemd user unit directory
+
+This also fixes building with elogind.
+---
+ meson.build | 9 ++++++---
+ meson_options.txt | 1 +
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 5aa5e749..72509922 100644
--- a/meson.build
+++ b/meson.build
-@@ -130,10 +130,7 @@ if enable_systemd or enable_consolekit
+@@ -124,9 +124,12 @@ if enable_systemd or enable_consolekit
# Check for systemd
if enable_systemd
- systemd_dep = dependency('systemd', version: '>= 242', required: true)
- systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
- define_variable: ['prefix', prefix])
--
-+ systemd_userunitdir = '/tmp'
++ systemd_userunitdir = get_option('systemduserunitdir')
++ if systemd_userunitdir == ''
++ systemd_dep = dependency('systemd', version: '>= 242', required: true)
++ systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
++ define_variable: ['prefix', prefix])
++ endif
+
libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false)
session_bin_deps += libsystemd_dep
-
+diff --git a/meson_options.txt b/meson_options.txt
+index 4c05dc6e..d3bd3838 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -3,6 +3,7 @@ option('session_selector', type: 'boolean', value: false, description: 'enable b
+ option('systemd', type: 'boolean', value: true, description: 'Use systemd')
+ option('systemd_session', type: 'combo', choices: ['disable', 'enable', 'default'], value: 'default', description: 'Whether to include systemd session support and use it by default')
+ option('systemd_journal', type: 'boolean', value:'true', description: 'Send log to systemd-journal')
++option('systemduserunitdir', type: 'string', description: 'Directory for systemd user service files')
+ option('consolekit', type: 'boolean', value: false, description: 'Use consolekit')
+ option('docbook', type: 'boolean', value: true, description: 'build documentation')
+ option('man', type: 'boolean', value: true, description: 'build documentation (requires xmlto)')
+--
+GitLab
diff --git a/srcpkgs/gnome-session/template b/srcpkgs/gnome-session/template
index cce39e931eb8..fcc510232d7f 100644
--- a/srcpkgs/gnome-session/template
+++ b/srcpkgs/gnome-session/template
@@ -1,9 +1,10 @@
# 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"
+configure_args="-Dsystemd_journal=false -Dsystemd_session=default
+ -Dsystemduserunitdir=/usr/lib/systemd/user"
hostmakedepends="glib-devel intltool pkg-config xmlto"
makedepends="elogind-devel gnome-desktop-devel gtk+3-devel json-glib-devel
libglib-devel libICE-devel libSM-devel libXtst-devel startup-notification-devel
@@ -17,7 +18,3 @@ homepage="https://gitlab.gnome.org/GNOME/gnome-session"
changelog="https://gitlab.gnome.org/GNOME/gnome-session/-/blob/main/NEWS"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
checksum=3cca06053ab682926920951a7da95f8cc6d72da74c682c46d0a0653332969caa
-
-post_install() {
- rm -rf ${DESTDIR}/tmp
-}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] gnome-session: remove outdated workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
` (3 preceding siblings ...)
2022-09-10 5:59 ` oreo639
@ 2022-09-10 6:02 ` oreo639
2022-09-12 23:03 ` oreo639
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-10 6:02 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1649 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
If you want me to re-add the autostart-app patch, feel free to let me know.
I used GDM_LANG since it is stated [here](https://gitlab.gnome.org/GNOME/gdm/-/blob/42.0/docs/ko/ko.po#L837-839) as existing explicitly for this purpose (resetting LANG after loading `/etc/profile`).
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 8884 bytes --]
From f2582349a254132125ff3d40e9e7f0b6300db587 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
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 ++-
.../patches/no-systemd-dep.patch | 41 ++++++++++--
srcpkgs/gnome-session/template | 9 +--
4 files changed, 48 insertions(+), 79 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 af8350b8d933..000000000000
--- 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 <oss@cogitri.dev>
-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 2e06bddecb1f..c25840f5457a 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
++ LANG=$GDM_LANG
++fi
+
exec @libexecdir@/gnome-session-binary "$@"
diff --git a/srcpkgs/gnome-session/patches/no-systemd-dep.patch b/srcpkgs/gnome-session/patches/no-systemd-dep.patch
index 8292d60d5a9e..8568a638ddd8 100644
--- a/srcpkgs/gnome-session/patches/no-systemd-dep.patch
+++ b/srcpkgs/gnome-session/patches/no-systemd-dep.patch
@@ -1,14 +1,47 @@
+Status: Patch submitted. Not currently in upstream.
+
+From d2be832ae5ea12996fe8b9f42346c1038b01c9cb Mon Sep 17 00:00:00 2001
+From: oreo639 <oreo6391@gmail.com>
+Date: Fri, 9 Sep 2022 21:43:11 -0700
+Subject: [PATCH] meson: Add option to override sytemd user unit directory
+
+This also fixes building with elogind.
+---
+ meson.build | 9 ++++++---
+ meson_options.txt | 1 +
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 5aa5e749..72509922 100644
--- a/meson.build
+++ b/meson.build
-@@ -130,10 +130,7 @@ if enable_systemd or enable_consolekit
+@@ -124,9 +124,12 @@ if enable_systemd or enable_consolekit
# Check for systemd
if enable_systemd
- systemd_dep = dependency('systemd', version: '>= 242', required: true)
- systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
- define_variable: ['prefix', prefix])
--
-+ systemd_userunitdir = '/tmp'
++ systemd_userunitdir = get_option('systemduserunitdir')
++ if systemd_userunitdir == ''
++ systemd_dep = dependency('systemd', version: '>= 242', required: true)
++ systemd_userunitdir = systemd_dep.get_pkgconfig_variable('systemduserunitdir',
++ define_variable: ['prefix', prefix])
++ endif
+
libsystemd_dep = dependency('libsystemd', version: '>= 209', required: false)
session_bin_deps += libsystemd_dep
-
+diff --git a/meson_options.txt b/meson_options.txt
+index 4c05dc6e..d3bd3838 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -3,6 +3,7 @@ option('session_selector', type: 'boolean', value: false, description: 'enable b
+ option('systemd', type: 'boolean', value: true, description: 'Use systemd')
+ option('systemd_session', type: 'combo', choices: ['disable', 'enable', 'default'], value: 'default', description: 'Whether to include systemd session support and use it by default')
+ option('systemd_journal', type: 'boolean', value:'true', description: 'Send log to systemd-journal')
++option('systemduserunitdir', type: 'string', description: 'Directory for systemd user service files')
+ option('consolekit', type: 'boolean', value: false, description: 'Use consolekit')
+ option('docbook', type: 'boolean', value: true, description: 'build documentation')
+ option('man', type: 'boolean', value: true, description: 'build documentation (requires xmlto)')
+--
+GitLab
diff --git a/srcpkgs/gnome-session/template b/srcpkgs/gnome-session/template
index cce39e931eb8..fe3d7ac09514 100644
--- a/srcpkgs/gnome-session/template
+++ b/srcpkgs/gnome-session/template
@@ -1,9 +1,10 @@
# 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"
+configure_args="-Dsystemd_journal=false -Dsystemd_session=disable
+ -Dsystemduserunitdir=/usr/lib/systemd/user"
hostmakedepends="glib-devel intltool pkg-config xmlto"
makedepends="elogind-devel gnome-desktop-devel gtk+3-devel json-glib-devel
libglib-devel libICE-devel libSM-devel libXtst-devel startup-notification-devel
@@ -17,7 +18,3 @@ homepage="https://gitlab.gnome.org/GNOME/gnome-session"
changelog="https://gitlab.gnome.org/GNOME/gnome-session/-/blob/main/NEWS"
distfiles="${GNOME_SITE}/${pkgname}/${version%.*}/${pkgname}-${version}.tar.xz"
checksum=3cca06053ab682926920951a7da95f8cc6d72da74c682c46d0a0653332969caa
-
-post_install() {
- rm -rf ${DESTDIR}/tmp
-}
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] gnome-session: remove outdated workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
` (4 preceding siblings ...)
2022-09-10 6:02 ` oreo639
@ 2022-09-12 23:03 ` oreo639
2022-09-13 2:09 ` oreo639
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-12 23:03 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1708 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
This fixes the language preference so it can work when using both GDM and GNOME.
If there are any issues, feel free to let me know.
I used GDM_LANG since it is stated [here](https://gitlab.gnome.org/GNOME/gdm/-/blob/42.0/docs/ko/ko.po#L837-839) as existing explicitly for this purpose (resetting LANG after loading `/etc/profile`).
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 5399 bytes --]
From a09ffdd9fdaa1d7720a0de7e7a9f8eabf4d9df75 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
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 <oss@cogitri.dev>
-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..c25840f5457a8 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
++ 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"
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] gnome-session: remove outdated workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
` (5 preceding siblings ...)
2022-09-12 23:03 ` oreo639
@ 2022-09-13 2:09 ` oreo639
2022-09-13 4:09 ` oreo639
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-13 2:09 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1777 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
This fixes a bug introduced by https://github.com/void-linux/void-packages/pull/9126 which causes the LANG variable written by GDM to be overwritten.
If there are any issues, feel free to let me know.
I used GDM_LANG since it is stated [here](https://gitlab.gnome.org/GNOME/gdm/-/blob/42.0/docs/ko/ko.po#L837-839) as existing explicitly for this purpose (resetting LANG after loading `/etc/profile`).
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 5406 bytes --]
From 7ea83d1a2e5eb427bd30a5fbd1017c2bc145040e Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
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 <oss@cogitri.dev>
-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"
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] gnome-session: remove outdated workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
` (6 preceding siblings ...)
2022-09-13 2:09 ` oreo639
@ 2022-09-13 4:09 ` oreo639
2022-09-13 4:13 ` oreo639
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-13 4:09 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2173 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
This removes an outdated workaround for an elogind issue.
This also fixes a bug introduced by https://github.com/void-linux/void-packages/pull/9126 which causes the LANG variable written by GDM to be overwritten.
This patch was added as a hacky workaround since as stated here, GDM does not use `/etc/profile` on Wayland:
https://wiki.gnome.org/Initiatives/Wayland/SessionStart
If there are any issues, feel free to let me know.
I used GDM_LANG since it is stated [here](https://gitlab.gnome.org/GNOME/gdm/-/blob/42.0/docs/ko/ko.po#L837-839) as existing explicitly for this purpose (resetting LANG after loading `/etc/profile`).
If we decide to remove the patch altogether, keep in mind flatpak will need to be fixed:
https://github.com/flatpak/flatpak/blob/main/configure.ac#L339-L342
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 6121 bytes --]
From ae5d9cc575b02db36e51c1bb30817fc594c891b3 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 9 Sep 2022 16:46:44 -0700
Subject: [PATCH 1/2] 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
On wayland `/etc/profile` is not loaded by GDM. while this may cause
some inconvience, gnome-session is the wrong place to load it.
---
...-app-Strip-blacklisted-variables-fro.patch | 67 -------------------
.../include-profile-env-variables.patch | 21 ------
srcpkgs/gnome-session/template | 2 +-
3 files changed, 1 insertion(+), 89 deletions(-)
delete mode 100644 srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch
delete mode 100644 srcpkgs/gnome-session/patches/include-profile-env-variables.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 <oss@cogitri.dev>
-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
deleted file mode 100644
index 2e06bddecb1f9..0000000000000
--- a/srcpkgs/gnome-session/patches/include-profile-env-variables.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-By default GNOME folks want us to put all stuff in /usr/share/gdm/env.d
-(which is a lot of effort for no good reason for us) or use the systemd
-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.
-
---- a/gnome-session/gnome-session.in
-+++ b/gnome-session/gnome-session.in
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/bin/bash
-
- if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
- [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
-@@ -25,4 +25,6 @@ if [ -n "$REGION" ]; then
- export LC_PAPER=$REGION
- fi
-
-+source /etc/profile
-+
- 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"
From 71a3d9d5ac6890ebf335b1cd6ce648f0b2743b6f Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 12 Sep 2022 21:09:42 -0700
Subject: [PATCH 2/2] flatpak: fix support for gdm
---
srcpkgs/flatpak/template | 1 +
1 file changed, 1 insertion(+)
diff --git a/srcpkgs/flatpak/template b/srcpkgs/flatpak/template
index 778ab0e681d8a..e35c94161aea1 100644
--- a/srcpkgs/flatpak/template
+++ b/srcpkgs/flatpak/template
@@ -9,6 +9,7 @@ configure_args="
--with-system-dbus-proxy
--with-system-helper-user=_flatpak
--enable-selinux-module=no
+ --enable-gdm-env-file
$(vopt_enable gir introspection)"
hostmakedepends="bubblewrap gettext glib-devel libxslt pkg-config bison
python3-parsing xmlto docbook-xml docbook-xsl xdg-dbus-proxy"
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] gnome-session: remove outdated workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
` (7 preceding siblings ...)
2022-09-13 4:09 ` oreo639
@ 2022-09-13 4:13 ` oreo639
2022-09-13 5:27 ` oreo639
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-13 4:13 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1953 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
This removes an outdated workaround for an elogind issue.
This also fixes a bug introduced by https://github.com/void-linux/void-packages/pull/9126 which causes the LANG variable written by GDM to be overwritten.
This patch was added as a hacky workaround since as stated here, GDM does not use `/etc/profile` on Wayland:
https://wiki.gnome.org/Initiatives/Wayland/SessionStart
I chose to remove the patch altogether since it affects all desktops being loaded from GDM, not just gnome, the aforementioned LANG issue, and such a patch should go in GDM, not gnome-session.
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 6308 bytes --]
From ae5d9cc575b02db36e51c1bb30817fc594c891b3 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 9 Sep 2022 16:46:44 -0700
Subject: [PATCH 1/2] 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
On wayland `/etc/profile` is not loaded by GDM. while this may cause
some inconvience, gnome-session is the wrong place to load it.
---
...-app-Strip-blacklisted-variables-fro.patch | 67 -------------------
.../include-profile-env-variables.patch | 21 ------
srcpkgs/gnome-session/template | 2 +-
3 files changed, 1 insertion(+), 89 deletions(-)
delete mode 100644 srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch
delete mode 100644 srcpkgs/gnome-session/patches/include-profile-env-variables.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 <oss@cogitri.dev>
-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
deleted file mode 100644
index 2e06bddecb1f9..0000000000000
--- a/srcpkgs/gnome-session/patches/include-profile-env-variables.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-By default GNOME folks want us to put all stuff in /usr/share/gdm/env.d
-(which is a lot of effort for no good reason for us) or use the systemd
-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.
-
---- a/gnome-session/gnome-session.in
-+++ b/gnome-session/gnome-session.in
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/bin/bash
-
- if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
- [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
-@@ -25,4 +25,6 @@ if [ -n "$REGION" ]; then
- export LC_PAPER=$REGION
- fi
-
-+source /etc/profile
-+
- 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"
From cf9d670e4b9afaa4e349bc860730622561de514c Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 12 Sep 2022 21:09:42 -0700
Subject: [PATCH 2/2] flatpak: fix support for gdm
---
srcpkgs/flatpak/template | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/srcpkgs/flatpak/template b/srcpkgs/flatpak/template
index 778ab0e681d8a..e9fefbf339253 100644
--- a/srcpkgs/flatpak/template
+++ b/srcpkgs/flatpak/template
@@ -1,7 +1,7 @@
# Template file for 'flatpak'
pkgname=flatpak
version=1.14.0
-revision=1
+revision=2
build_style=gnu-configure
build_helper="gir"
configure_args="
@@ -9,6 +9,7 @@ configure_args="
--with-system-dbus-proxy
--with-system-helper-user=_flatpak
--enable-selinux-module=no
+ --enable-gdm-env-file
$(vopt_enable gir introspection)"
hostmakedepends="bubblewrap gettext glib-devel libxslt pkg-config bison
python3-parsing xmlto docbook-xml docbook-xsl xdg-dbus-proxy"
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] gnome-session: remove outdated workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
` (8 preceding siblings ...)
2022-09-13 4:13 ` oreo639
@ 2022-09-13 5:27 ` oreo639
2022-09-13 6:06 ` oreo639
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-13 5:27 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2058 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
This removes an outdated workaround for an elogind issue.
This also fixes a bug introduced by https://github.com/void-linux/void-packages/pull/9126 which causes the LANG variable written by GDM to be overwritten.
This patch was added as a hacky workaround since as stated here, GDM does not use `/etc/profile` on Wayland:
https://wiki.gnome.org/Initiatives/Wayland/SessionStart
I chose to remove the patch altogether since it affects all desktops being loaded from GDM, not just gnome, the aforementioned LANG issue, and such a patch should go in GDM, not gnome-session since it hides issues that cause `GDM -> <anything other than gnome>` to be a horribly broken experience.
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 7932 bytes --]
From ae5d9cc575b02db36e51c1bb30817fc594c891b3 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 9 Sep 2022 16:46:44 -0700
Subject: [PATCH 1/3] 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
On wayland `/etc/profile` is not loaded by GDM. while this may cause
some inconvience, gnome-session is the wrong place to load it.
---
...-app-Strip-blacklisted-variables-fro.patch | 67 -------------------
.../include-profile-env-variables.patch | 21 ------
srcpkgs/gnome-session/template | 2 +-
3 files changed, 1 insertion(+), 89 deletions(-)
delete mode 100644 srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch
delete mode 100644 srcpkgs/gnome-session/patches/include-profile-env-variables.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 <oss@cogitri.dev>
-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
deleted file mode 100644
index 2e06bddecb1f9..0000000000000
--- a/srcpkgs/gnome-session/patches/include-profile-env-variables.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-By default GNOME folks want us to put all stuff in /usr/share/gdm/env.d
-(which is a lot of effort for no good reason for us) or use the systemd
-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.
-
---- a/gnome-session/gnome-session.in
-+++ b/gnome-session/gnome-session.in
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/bin/bash
-
- if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
- [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
-@@ -25,4 +25,6 @@ if [ -n "$REGION" ]; then
- export LC_PAPER=$REGION
- fi
-
-+source /etc/profile
-+
- 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"
From cf9d670e4b9afaa4e349bc860730622561de514c Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 12 Sep 2022 21:09:42 -0700
Subject: [PATCH 2/3] flatpak: fix support for gdm
---
srcpkgs/flatpak/template | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/srcpkgs/flatpak/template b/srcpkgs/flatpak/template
index 778ab0e681d8a..e9fefbf339253 100644
--- a/srcpkgs/flatpak/template
+++ b/srcpkgs/flatpak/template
@@ -1,7 +1,7 @@
# Template file for 'flatpak'
pkgname=flatpak
version=1.14.0
-revision=1
+revision=2
build_style=gnu-configure
build_helper="gir"
configure_args="
@@ -9,6 +9,7 @@ configure_args="
--with-system-dbus-proxy
--with-system-helper-user=_flatpak
--enable-selinux-module=no
+ --enable-gdm-env-file
$(vopt_enable gir introspection)"
hostmakedepends="bubblewrap gettext glib-devel libxslt pkg-config bison
python3-parsing xmlto docbook-xml docbook-xsl xdg-dbus-proxy"
From f168261e9ea8bfbaad24ab10383b80e6feda4a39 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 12 Sep 2022 22:27:25 -0700
Subject: [PATCH 3/3] bash: ensure /etc/profile.d is loaded
---
srcpkgs/bash/files/bashrc | 30 +++++++++++++++++++++---------
srcpkgs/bash/template | 2 +-
2 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/srcpkgs/bash/files/bashrc b/srcpkgs/bash/files/bashrc
index 832c52aa65918..42f269c7e2dc4 100644
--- a/srcpkgs/bash/files/bashrc
+++ b/srcpkgs/bash/files/bashrc
@@ -3,14 +3,26 @@
# Do not edit this file.
# Place your readable configs in /etc/bash/bashrc.d/*.sh
-if [[ $- != *i* ]] ; then
- # Shell is non-interactive. Be done now!
- return
-fi
+# Prevent doublesourcing
+if [ -z "$BASHRCSOURCED" ]; then
+ BASHRCSOURCED="Y"
+
+ if [[ $- != *i* ]] ; then
+ # Shell is non-interactive. Be done now!
+ return
+ fi
+
+ if [ -d /etc/bash/bashrc.d/ ]; then
+ for f in /etc/bash/bashrc.d/*.sh; do
+ [ -r "$f" ] && . "$f"
+ done
+ unset f
+ fi
-if [ -d /etc/bash/bashrc.d/ ]; then
- for f in /etc/bash/bashrc.d/*.sh; do
- [ -r "$f" ] && . "$f"
- done
- unset f
+ if [ -d /etc/profile.d/ ]; then
+ for f in /etc/profile.d/*.sh; do
+ [ -r "$f" ] && . "$f"
+ done
+ unset f
+ fi
fi
diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 9751a08f34eea..f897241e7e1f5 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -1,7 +1,7 @@
# Template file for 'bash'
pkgname=bash
version=5.1.016
-revision=1
+revision=2
_bash_distver=${version%.*}
_bash_patchlevel=${version##*.}
_patchprefix="bash${_bash_distver/./}"
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] gnome-session: remove outdated workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
` (9 preceding siblings ...)
2022-09-13 5:27 ` oreo639
@ 2022-09-13 6:06 ` oreo639
2022-09-13 9:10 ` [PR PATCH] [Updated] gnome-session: remove outdated elogind " oreo639
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-13 6:06 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2058 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
This removes an outdated workaround for an elogind issue.
This also fixes a bug introduced by https://github.com/void-linux/void-packages/pull/9126 which causes the LANG variable written by GDM to be overwritten.
This patch was added as a hacky workaround since as stated here, GDM does not use `/etc/profile` on Wayland:
https://wiki.gnome.org/Initiatives/Wayland/SessionStart
I chose to remove the patch altogether since it affects all desktops being loaded from GDM, not just gnome, the aforementioned LANG issue, and such a patch should go in GDM, not gnome-session since it hides issues that cause `GDM -> <anything other than gnome>` to be a horribly broken experience.
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 9525 bytes --]
From ae5d9cc575b02db36e51c1bb30817fc594c891b3 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 9 Sep 2022 16:46:44 -0700
Subject: [PATCH 1/4] 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
On wayland `/etc/profile` is not loaded by GDM. while this may cause
some inconvience, gnome-session is the wrong place to load it.
---
...-app-Strip-blacklisted-variables-fro.patch | 67 -------------------
.../include-profile-env-variables.patch | 21 ------
srcpkgs/gnome-session/template | 2 +-
3 files changed, 1 insertion(+), 89 deletions(-)
delete mode 100644 srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch
delete mode 100644 srcpkgs/gnome-session/patches/include-profile-env-variables.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 <oss@cogitri.dev>
-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
deleted file mode 100644
index 2e06bddecb1f9..0000000000000
--- a/srcpkgs/gnome-session/patches/include-profile-env-variables.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-By default GNOME folks want us to put all stuff in /usr/share/gdm/env.d
-(which is a lot of effort for no good reason for us) or use the systemd
-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.
-
---- a/gnome-session/gnome-session.in
-+++ b/gnome-session/gnome-session.in
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/bin/bash
-
- if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
- [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
-@@ -25,4 +25,6 @@ if [ -n "$REGION" ]; then
- export LC_PAPER=$REGION
- fi
-
-+source /etc/profile
-+
- 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"
From cf9d670e4b9afaa4e349bc860730622561de514c Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 12 Sep 2022 21:09:42 -0700
Subject: [PATCH 2/4] flatpak: fix support for gdm
---
srcpkgs/flatpak/template | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/srcpkgs/flatpak/template b/srcpkgs/flatpak/template
index 778ab0e681d8a..e9fefbf339253 100644
--- a/srcpkgs/flatpak/template
+++ b/srcpkgs/flatpak/template
@@ -1,7 +1,7 @@
# Template file for 'flatpak'
pkgname=flatpak
version=1.14.0
-revision=1
+revision=2
build_style=gnu-configure
build_helper="gir"
configure_args="
@@ -9,6 +9,7 @@ configure_args="
--with-system-dbus-proxy
--with-system-helper-user=_flatpak
--enable-selinux-module=no
+ --enable-gdm-env-file
$(vopt_enable gir introspection)"
hostmakedepends="bubblewrap gettext glib-devel libxslt pkg-config bison
python3-parsing xmlto docbook-xml docbook-xsl xdg-dbus-proxy"
From f168261e9ea8bfbaad24ab10383b80e6feda4a39 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 12 Sep 2022 22:27:25 -0700
Subject: [PATCH 3/4] bash: ensure /etc/profile.d is loaded
---
srcpkgs/bash/files/bashrc | 30 +++++++++++++++++++++---------
srcpkgs/bash/template | 2 +-
2 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/srcpkgs/bash/files/bashrc b/srcpkgs/bash/files/bashrc
index 832c52aa65918..42f269c7e2dc4 100644
--- a/srcpkgs/bash/files/bashrc
+++ b/srcpkgs/bash/files/bashrc
@@ -3,14 +3,26 @@
# Do not edit this file.
# Place your readable configs in /etc/bash/bashrc.d/*.sh
-if [[ $- != *i* ]] ; then
- # Shell is non-interactive. Be done now!
- return
-fi
+# Prevent doublesourcing
+if [ -z "$BASHRCSOURCED" ]; then
+ BASHRCSOURCED="Y"
+
+ if [[ $- != *i* ]] ; then
+ # Shell is non-interactive. Be done now!
+ return
+ fi
+
+ if [ -d /etc/bash/bashrc.d/ ]; then
+ for f in /etc/bash/bashrc.d/*.sh; do
+ [ -r "$f" ] && . "$f"
+ done
+ unset f
+ fi
-if [ -d /etc/bash/bashrc.d/ ]; then
- for f in /etc/bash/bashrc.d/*.sh; do
- [ -r "$f" ] && . "$f"
- done
- unset f
+ if [ -d /etc/profile.d/ ]; then
+ for f in /etc/profile.d/*.sh; do
+ [ -r "$f" ] && . "$f"
+ done
+ unset f
+ fi
fi
diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 9751a08f34eea..f897241e7e1f5 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -1,7 +1,7 @@
# Template file for 'bash'
pkgname=bash
version=5.1.016
-revision=1
+revision=2
_bash_distver=${version%.*}
_bash_patchlevel=${version##*.}
_patchprefix="bash${_bash_distver/./}"
From 33a51370559478bad4e2250a7c4d388c136254c6 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 12 Sep 2022 23:06:23 -0700
Subject: [PATCH 4/4] gdm: create env.d
---
srcpkgs/gdm/template | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/gdm/template b/srcpkgs/gdm/template
index 3686c70b7404e..e2b2fcfc2eb95 100644
--- a/srcpkgs/gdm/template
+++ b/srcpkgs/gdm/template
@@ -1,7 +1,7 @@
# Template file for 'gdm'
pkgname=gdm
version=42.0
-revision=1
+revision=2
build_helper="gir"
build_style=meson
configure_args="
@@ -10,7 +10,8 @@ configure_args="
-Dplymouth=enabled -Dxauth-dir=/run/gdm -Dpid-file=/run/gdm/gdm.pid
-Dsystemd-journal=false -Dinitial-vt=7 -Dwayland-support=true
-Dselinux=disabled -Dlibaudit=disabled
- -Dsystemdsystemunitdir=/tmp -Dsystemduserunitdir=/tmp"
+ -Dsystemdsystemunitdir=/usr/lib/systemd/system
+ -Dsystemduserunitdir=/usr/lib/systemd/user"
hostmakedepends="dconf gettext itstool pkg-config"
makedepends="accountsservice-devel elogind-devel gettext-devel glib-devel
iso-codes libSM-devel libcanberra-devel nss-devel pam-devel upower-devel
@@ -32,6 +33,9 @@ conf_files="
/etc/pam.d/gdm-launch-environment
/etc/pam.d/gdm-password
/etc/pam.d/gdm-smartcard"
+make_dirs="
+ /usr/share/gdm/env.d 0755 root root
+ /etc/gdm/env.d 0755 root root"
# Create the 'gdm' system user/group.
system_accounts="gdm"
gdm_homedir="/var/lib/gdm"
@@ -52,7 +56,6 @@ post_install() {
vsed -i "s/pam_systemd\.so/pam_elogind.so/" "$f"
fi
done
- rm -rf ${DESTDIR}/tmp
# runit service
vsv gdm
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] gnome-session: remove outdated elogind workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
` (10 preceding siblings ...)
2022-09-13 6:06 ` oreo639
@ 2022-09-13 9:10 ` oreo639
2022-09-13 17:31 ` oreo639
2022-09-13 18:24 ` [PR PATCH] [Closed]: " oreo639
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-13 9:10 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2143 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated elogind workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
This removes an outdated workaround for an elogind issue that has been fixed a long time ago.
This also fixes a bug introduced by https://github.com/void-linux/void-packages/pull/9126 which causes the LANG variable written by GDM to be overwritten.
This patch was added as a hacky workaround since as stated here, GDM does not use `/etc/profile` on Wayland:
https://wiki.gnome.org/Initiatives/Wayland/SessionStart
That patch is incorrect since the issue affects all desktops loaded by GDM, not just gnome and results in a horribly broken experience when using `GDM -> <anything other than gnome>`, i.e. `/etc/profile.d/*.sh` not being loaded in terminals, flatpaks not working, etc. Those issues should be fixed properly. (which this PR attempts to do)
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 9440 bytes --]
From ae5d9cc575b02db36e51c1bb30817fc594c891b3 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 9 Sep 2022 16:46:44 -0700
Subject: [PATCH 1/4] 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
On wayland `/etc/profile` is not loaded by GDM. while this may cause
some inconvience, gnome-session is the wrong place to load it.
---
...-app-Strip-blacklisted-variables-fro.patch | 67 -------------------
.../include-profile-env-variables.patch | 21 ------
srcpkgs/gnome-session/template | 2 +-
3 files changed, 1 insertion(+), 89 deletions(-)
delete mode 100644 srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch
delete mode 100644 srcpkgs/gnome-session/patches/include-profile-env-variables.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 <oss@cogitri.dev>
-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
deleted file mode 100644
index 2e06bddecb1f9..0000000000000
--- a/srcpkgs/gnome-session/patches/include-profile-env-variables.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-By default GNOME folks want us to put all stuff in /usr/share/gdm/env.d
-(which is a lot of effort for no good reason for us) or use the systemd
-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.
-
---- a/gnome-session/gnome-session.in
-+++ b/gnome-session/gnome-session.in
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/bin/bash
-
- if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
- [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
-@@ -25,4 +25,6 @@ if [ -n "$REGION" ]; then
- export LC_PAPER=$REGION
- fi
-
-+source /etc/profile
-+
- 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"
From cf9d670e4b9afaa4e349bc860730622561de514c Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 12 Sep 2022 21:09:42 -0700
Subject: [PATCH 2/4] flatpak: fix support for gdm
---
srcpkgs/flatpak/template | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/srcpkgs/flatpak/template b/srcpkgs/flatpak/template
index 778ab0e681d8a..e9fefbf339253 100644
--- a/srcpkgs/flatpak/template
+++ b/srcpkgs/flatpak/template
@@ -1,7 +1,7 @@
# Template file for 'flatpak'
pkgname=flatpak
version=1.14.0
-revision=1
+revision=2
build_style=gnu-configure
build_helper="gir"
configure_args="
@@ -9,6 +9,7 @@ configure_args="
--with-system-dbus-proxy
--with-system-helper-user=_flatpak
--enable-selinux-module=no
+ --enable-gdm-env-file
$(vopt_enable gir introspection)"
hostmakedepends="bubblewrap gettext glib-devel libxslt pkg-config bison
python3-parsing xmlto docbook-xml docbook-xsl xdg-dbus-proxy"
From 9a02c0cd79e2d4bb6cf8e83c5e92ece6cdf31c0e Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 12 Sep 2022 22:27:25 -0700
Subject: [PATCH 3/4] bash: ensure /etc/profile.d is loaded
---
srcpkgs/bash/files/bashrc | 25 ++++++++++++++++---------
srcpkgs/bash/template | 2 +-
2 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/srcpkgs/bash/files/bashrc b/srcpkgs/bash/files/bashrc
index 832c52aa65918..d7a0b8814f44c 100644
--- a/srcpkgs/bash/files/bashrc
+++ b/srcpkgs/bash/files/bashrc
@@ -3,14 +3,21 @@
# Do not edit this file.
# Place your readable configs in /etc/bash/bashrc.d/*.sh
-if [[ $- != *i* ]] ; then
- # Shell is non-interactive. Be done now!
- return
-fi
+# Prevent doublesourcing
+if [ -z "$BASHRCSOURCED" ]; then
+ BASHRCSOURCED="Y"
+
+ if [[ $- != *i* ]] ; then
+ # Shell is non-interactive. Be done now!
+ return
+ fi
+
+ if [ -d /etc/bash/bashrc.d/ ]; then
+ for f in /etc/bash/bashrc.d/*.sh; do
+ [ -r "$f" ] && . "$f"
+ done
+ unset f
+ fi
-if [ -d /etc/bash/bashrc.d/ ]; then
- for f in /etc/bash/bashrc.d/*.sh; do
- [ -r "$f" ] && . "$f"
- done
- unset f
+ [ -f /etc/profile ] && . /etc/profile
fi
diff --git a/srcpkgs/bash/template b/srcpkgs/bash/template
index 9751a08f34eea..f897241e7e1f5 100644
--- a/srcpkgs/bash/template
+++ b/srcpkgs/bash/template
@@ -1,7 +1,7 @@
# Template file for 'bash'
pkgname=bash
version=5.1.016
-revision=1
+revision=2
_bash_distver=${version%.*}
_bash_patchlevel=${version##*.}
_patchprefix="bash${_bash_distver/./}"
From 64a35f2931085d2a39befa660a24161afab7b6e7 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 12 Sep 2022 23:06:23 -0700
Subject: [PATCH 4/4] gdm: create env.d
---
srcpkgs/gdm/template | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/gdm/template b/srcpkgs/gdm/template
index 3686c70b7404e..e2b2fcfc2eb95 100644
--- a/srcpkgs/gdm/template
+++ b/srcpkgs/gdm/template
@@ -1,7 +1,7 @@
# Template file for 'gdm'
pkgname=gdm
version=42.0
-revision=1
+revision=2
build_helper="gir"
build_style=meson
configure_args="
@@ -10,7 +10,8 @@ configure_args="
-Dplymouth=enabled -Dxauth-dir=/run/gdm -Dpid-file=/run/gdm/gdm.pid
-Dsystemd-journal=false -Dinitial-vt=7 -Dwayland-support=true
-Dselinux=disabled -Dlibaudit=disabled
- -Dsystemdsystemunitdir=/tmp -Dsystemduserunitdir=/tmp"
+ -Dsystemdsystemunitdir=/usr/lib/systemd/system
+ -Dsystemduserunitdir=/usr/lib/systemd/user"
hostmakedepends="dconf gettext itstool pkg-config"
makedepends="accountsservice-devel elogind-devel gettext-devel glib-devel
iso-codes libSM-devel libcanberra-devel nss-devel pam-devel upower-devel
@@ -32,6 +33,9 @@ conf_files="
/etc/pam.d/gdm-launch-environment
/etc/pam.d/gdm-password
/etc/pam.d/gdm-smartcard"
+make_dirs="
+ /usr/share/gdm/env.d 0755 root root
+ /etc/gdm/env.d 0755 root root"
# Create the 'gdm' system user/group.
system_accounts="gdm"
gdm_homedir="/var/lib/gdm"
@@ -52,7 +56,6 @@ post_install() {
vsed -i "s/pam_systemd\.so/pam_elogind.so/" "$f"
fi
done
- rm -rf ${DESTDIR}/tmp
# runit service
vsv gdm
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Updated] gnome-session: remove outdated elogind workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
` (11 preceding siblings ...)
2022-09-13 9:10 ` [PR PATCH] [Updated] gnome-session: remove outdated elogind " oreo639
@ 2022-09-13 17:31 ` oreo639
2022-09-13 18:24 ` [PR PATCH] [Closed]: " oreo639
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-13 17:31 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 2143 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages gsession
https://github.com/void-linux/void-packages/pull/39196
gnome-session: remove outdated elogind workaround and fix overwriting lang
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
This removes an outdated workaround for an elogind issue that has been fixed a long time ago.
This also fixes a bug introduced by https://github.com/void-linux/void-packages/pull/9126 which causes the LANG variable written by GDM to be overwritten.
This patch was added as a hacky workaround since as stated here, GDM does not use `/etc/profile` on Wayland:
https://wiki.gnome.org/Initiatives/Wayland/SessionStart
That patch is incorrect since the issue affects all desktops loaded by GDM, not just gnome and results in a horribly broken experience when using `GDM -> <anything other than gnome>`, i.e. `/etc/profile.d/*.sh` not being loaded in terminals, flatpaks not working, etc. Those issues should be fixed properly. (which this PR attempts to do)
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/39196.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gsession-39196.patch --]
[-- Type: text/x-diff, Size: 9331 bytes --]
From ae5d9cc575b02db36e51c1bb30817fc594c891b3 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Fri, 9 Sep 2022 16:46:44 -0700
Subject: [PATCH 1/4] 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
On wayland `/etc/profile` is not loaded by GDM. while this may cause
some inconvience, gnome-session is the wrong place to load it.
---
...-app-Strip-blacklisted-variables-fro.patch | 67 -------------------
.../include-profile-env-variables.patch | 21 ------
srcpkgs/gnome-session/template | 2 +-
3 files changed, 1 insertion(+), 89 deletions(-)
delete mode 100644 srcpkgs/gnome-session/patches/0001-revert-autostart-app-Strip-blacklisted-variables-fro.patch
delete mode 100644 srcpkgs/gnome-session/patches/include-profile-env-variables.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 af8350b8d933..000000000000
--- 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 <oss@cogitri.dev>
-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
deleted file mode 100644
index 2e06bddecb1f..000000000000
--- a/srcpkgs/gnome-session/patches/include-profile-env-variables.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-By default GNOME folks want us to put all stuff in /usr/share/gdm/env.d
-(which is a lot of effort for no good reason for us) or use the systemd
-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.
-
---- a/gnome-session/gnome-session.in
-+++ b/gnome-session/gnome-session.in
-@@ -1,4 +1,4 @@
--#!/bin/sh
-+#!/bin/bash
-
- if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
- [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
-@@ -25,4 +25,6 @@ if [ -n "$REGION" ]; then
- export LC_PAPER=$REGION
- fi
-
-+source /etc/profile
-+
- exec @libexecdir@/gnome-session-binary "$@"
diff --git a/srcpkgs/gnome-session/template b/srcpkgs/gnome-session/template
index cce39e931eb8..76b1f49f1cdc 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"
From cf9d670e4b9afaa4e349bc860730622561de514c Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 12 Sep 2022 21:09:42 -0700
Subject: [PATCH 2/4] flatpak: fix support for gdm
---
srcpkgs/flatpak/template | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/srcpkgs/flatpak/template b/srcpkgs/flatpak/template
index 778ab0e681d8..e9fefbf33925 100644
--- a/srcpkgs/flatpak/template
+++ b/srcpkgs/flatpak/template
@@ -1,7 +1,7 @@
# Template file for 'flatpak'
pkgname=flatpak
version=1.14.0
-revision=1
+revision=2
build_style=gnu-configure
build_helper="gir"
configure_args="
@@ -9,6 +9,7 @@ configure_args="
--with-system-dbus-proxy
--with-system-helper-user=_flatpak
--enable-selinux-module=no
+ --enable-gdm-env-file
$(vopt_enable gir introspection)"
hostmakedepends="bubblewrap gettext glib-devel libxslt pkg-config bison
python3-parsing xmlto docbook-xml docbook-xsl xdg-dbus-proxy"
From 4f356c17c5c7f12e427f482f5aa7a459a979f24a Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 12 Sep 2022 23:06:23 -0700
Subject: [PATCH 3/4] gdm: create env.d
---
srcpkgs/gdm/template | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/gdm/template b/srcpkgs/gdm/template
index 3686c70b7404..e2b2fcfc2eb9 100644
--- a/srcpkgs/gdm/template
+++ b/srcpkgs/gdm/template
@@ -1,7 +1,7 @@
# Template file for 'gdm'
pkgname=gdm
version=42.0
-revision=1
+revision=2
build_helper="gir"
build_style=meson
configure_args="
@@ -10,7 +10,8 @@ configure_args="
-Dplymouth=enabled -Dxauth-dir=/run/gdm -Dpid-file=/run/gdm/gdm.pid
-Dsystemd-journal=false -Dinitial-vt=7 -Dwayland-support=true
-Dselinux=disabled -Dlibaudit=disabled
- -Dsystemdsystemunitdir=/tmp -Dsystemduserunitdir=/tmp"
+ -Dsystemdsystemunitdir=/usr/lib/systemd/system
+ -Dsystemduserunitdir=/usr/lib/systemd/user"
hostmakedepends="dconf gettext itstool pkg-config"
makedepends="accountsservice-devel elogind-devel gettext-devel glib-devel
iso-codes libSM-devel libcanberra-devel nss-devel pam-devel upower-devel
@@ -32,6 +33,9 @@ conf_files="
/etc/pam.d/gdm-launch-environment
/etc/pam.d/gdm-password
/etc/pam.d/gdm-smartcard"
+make_dirs="
+ /usr/share/gdm/env.d 0755 root root
+ /etc/gdm/env.d 0755 root root"
# Create the 'gdm' system user/group.
system_accounts="gdm"
gdm_homedir="/var/lib/gdm"
@@ -52,7 +56,6 @@ post_install() {
vsed -i "s/pam_systemd\.so/pam_elogind.so/" "$f"
fi
done
- rm -rf ${DESTDIR}/tmp
# runit service
vsv gdm
From 30bd211fbd924eb1f913a8ce4d7f973c9c57ae4b Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Tue, 13 Sep 2022 10:28:22 -0700
Subject: [PATCH 4/4] base-files: don't overwrite existing locale and define
default LANG
---
srcpkgs/base-files/files/locale.sh | 10 ++++++++--
srcpkgs/base-files/template | 2 +-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/srcpkgs/base-files/files/locale.sh b/srcpkgs/base-files/files/locale.sh
index 8486367bfabf..bf266eefa1d1 100644
--- a/srcpkgs/base-files/files/locale.sh
+++ b/srcpkgs/base-files/files/locale.sh
@@ -1,9 +1,15 @@
# Sets up locale system settings from /etc/locale.conf.
#
-if [ -s /etc/locale.conf ]; then
- . /etc/locale.conf
+
+if [ -z "$LANG" ]; then
+ if [ -s /etc/locale.conf ]; then
+ . /etc/locale.conf
+ fi
fi
+# define default LANG to C if not already defined
+LANG=${LANG:-C}
+
export LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY
export LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
export LC_INDENTIFICATION
diff --git a/srcpkgs/base-files/template b/srcpkgs/base-files/template
index 2249d002f3f9..580523e61e78 100644
--- a/srcpkgs/base-files/template
+++ b/srcpkgs/base-files/template
@@ -1,7 +1,7 @@
# Template file for 'base-files'
pkgname=base-files
version=0.142
-revision=13
+revision=14
bootstrap=yes
depends="xbps-triggers"
short_desc="Void Linux base system files"
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PR PATCH] [Closed]: gnome-session: remove outdated elogind workaround and fix overwriting lang
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
` (12 preceding siblings ...)
2022-09-13 17:31 ` oreo639
@ 2022-09-13 18:24 ` oreo639
13 siblings, 0 replies; 15+ messages in thread
From: oreo639 @ 2022-09-13 18:24 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1986 bytes --]
There's a closed pull request on the void-packages repository
gnome-session: remove outdated elogind workaround and fix overwriting lang
https://github.com/void-linux/void-packages/pull/39196
Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
This removes an outdated workaround for an elogind issue that has been fixed a long time ago.
This also fixes a bug introduced by https://github.com/void-linux/void-packages/pull/9126 which causes the LANG variable written by GDM to be overwritten.
This patch was added as a hacky workaround since as stated here, GDM does not use `/etc/profile` on Wayland:
https://wiki.gnome.org/Initiatives/Wayland/SessionStart
That patch is incorrect since the issue affects all desktops loaded by GDM, not just gnome and results in a horribly broken experience when using `GDM -> <anything other than gnome>`, i.e. `/etc/profile.d/*.sh` not being loaded in terminals, flatpaks not working, etc. Those issues should be fixed properly. (which this PR attempts to do)
Closes: https://github.com/void-linux/void-packages/issues/15292
cc: @paper42
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2022-09-13 18:24 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-09 23:59 [PR PATCH] gnome-session: remove outdated workaround and fix overwriting lang oreo639
2022-09-10 5:04 ` [PR PATCH] [Updated] " oreo639
2022-09-10 5:05 ` oreo639
2022-09-10 5:06 ` oreo639
2022-09-10 5:59 ` oreo639
2022-09-10 6:02 ` oreo639
2022-09-12 23:03 ` oreo639
2022-09-13 2:09 ` oreo639
2022-09-13 4:09 ` oreo639
2022-09-13 4:13 ` oreo639
2022-09-13 5:27 ` oreo639
2022-09-13 6:06 ` oreo639
2022-09-13 9:10 ` [PR PATCH] [Updated] gnome-session: remove outdated elogind " oreo639
2022-09-13 17:31 ` oreo639
2022-09-13 18:24 ` [PR PATCH] [Closed]: " oreo639
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).