Github messages for voidlinux
 help / color / mirror / Atom feed
From: oreo639 <oreo639@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] gnome-session: remove outdated workaround and fix overwriting lang
Date: Tue, 13 Sep 2022 08:06:31 +0200	[thread overview]
Message-ID: <20220913060631.tMzmS1AyWFdtxU1pJwwv3wN8LRlzYEZwFOv5Ja-_BV0@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-39196@inbox.vuxu.org>

[-- 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

  parent reply	other threads:[~2022-09-13  6:06 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-09 23:59 [PR PATCH] " 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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220913060631.tMzmS1AyWFdtxU1pJwwv3wN8LRlzYEZwFOv5Ja-_BV0@z \
    --to=oreo639@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).