From f66f3de28dbfa81933da4cb7622bdffd33365a5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Correa=20G=C3=B3mez?= <ablocorrea@hotmail.com> Date: Tue, 24 Oct 2023 22:06:37 +0200 Subject: [PATCH] community/gnome-session: force bash login shell on workaround See https://bugzilla.gnome.org/show_bug.cgi?id=736660 for context (you can probably scroll to the end of the discussion) In alpine, we compile bash as-is, without "NON_INTERACTIVE_LOGIN_SHELLS", which is what makes it work in other distros. Forcing the non-POSIX compliant variation when we know we're bash should actually work. --- community/gnome-session/APKBUILD | 6 ++++-- .../gnome-session-bash-login.patch | 17 +++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 community/gnome-session/gnome-session-bash-login.patch diff --git a/community/gnome-session/APKBUILD b/community/gnome-session/APKBUILD index f8a6b08476b9..61c6535516fe 100644 --- a/community/gnome-session/APKBUILD +++ b/community/gnome-session/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: team/gnome <ablocorrea@hotmail.com> pkgname=gnome-session pkgver=45.0 -pkgrel=0 +pkgrel=1 pkgdesc="GNOME session manager" url="https://gitlab.gnome.org/GNOME/gnome-session" arch="all" @@ -31,7 +31,9 @@ makedepends=" replaces="gnome-shell" options="!check" #no tests subpackages="$pkgname-lang $pkgname-doc" -source="https://download.gnome.org/sources/gnome-session/${pkgver%%.*}/gnome-session-$pkgver.tar.xz" +source="https://download.gnome.org/sources/gnome-session/${pkgver%%.*}/gnome-session-$pkgver.tar.xz + gnome-session-bash-login.patch +" build() { abuild-meson \ diff --git a/community/gnome-session/gnome-session-bash-login.patch b/community/gnome-session/gnome-session-bash-login.patch new file mode 100644 index 000000000000..df2149f020d4 --- /dev/null +++ b/community/gnome-session/gnome-session-bash-login.patch @@ -0,0 +1,17 @@ +diff --git i/gnome-session/gnome-session.in w/gnome-session/gnome-session.in +index ddd1a591..b6dd6cb8 100755 +--- i/gnome-session/gnome-session.in ++++ w/gnome-session/gnome-session.in +@@ -7,7 +7,11 @@ if [ "x$XDG_SESSION_TYPE" = "xwayland" ] && + ! (echo "$SHELL" | grep -q "false") && + ! (echo "$SHELL" | grep -q "nologin"); then + if [ "$1" != '-l' ]; then +- exec bash -c "exec -l '$SHELL' -c '$0 -l $*'" ++ if [ "x$SHELL" = "x/bin/bash" ]; then ++ exec bash -c "exec '$SHELL' -l -c '$0 -l $*'" ++ else ++ exec bash -c "exec -l '$SHELL' -c '$0 -l $*'" ++ fi + else + shift + fi -- GitLab