aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Funk <bobfunk11@gmail.com>2022-08-06 02:14:16 +0100
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2022-08-06 20:16:11 +0700
commitfb556a691dd010c3df91af7de8ce566161456f30 (patch)
tree7d89dc29a7cde470c2933b4fde4eb36277f1c2e8
parent638e8d5fe739aa668932f57b4c93ae3344bc8e18 (diff)
desktop/gnome-session: Patched for wayland session script sourcing.
Signed-off-by: Dave Woodfall <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--desktop/gnome-session/0002-gnome-session-add-profile-sourcing.patch62
-rw-r--r--desktop/gnome-session/gnome-session.SlackBuild5
2 files changed, 66 insertions, 1 deletions
diff --git a/desktop/gnome-session/0002-gnome-session-add-profile-sourcing.patch b/desktop/gnome-session/0002-gnome-session-add-profile-sourcing.patch
new file mode 100644
index 000000000000..5f273536e3b4
--- /dev/null
+++ b/desktop/gnome-session/0002-gnome-session-add-profile-sourcing.patch
@@ -0,0 +1,62 @@
+diff -Naur gnome-session-42.0/gnome-session/gnome-session.in gnome-session-42.0-patched/gnome-session/gnome-session.in
+--- gnome-session-42.0/gnome-session/gnome-session.in 2022-08-03 19:15:53.227967625 -0000
++++ gnome-session-42.0-patched/gnome-session/gnome-session.in 2022-08-03 19:17:49.002962878 -0000
+@@ -10,6 +10,58 @@
+ exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
+ else
+ shift
++
++ # Source some profile scripts in gnome so we dont have to
++ # depend on a systemd locale service.
++ # This code was copied from KDE's "wayland-session" script.
++ # Copyright (C) 2015-2016 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
++ # This file is extracted from kde-workspace (kdm/kfrontend/genkdmconf.c)
++ # Copyright (C) 2001-2005 Oswald Buddenhagen <ossi@kde.org>
++ # Added to gnome's "gnome-session" script by Bob Funk <bobfunk11@gmail.com>
++ # Note that the respective logout scripts are not sourced.
++ case $SHELL in
++ */bash)
++ [ -z "$BASH" ] && exec $SHELL $0 "$@"
++ set +o posix
++ [ -f /etc/profile ] && . /etc/profile
++ if [ -f $HOME/.bash_profile ]; then
++ . $HOME/.bash_profile
++ elif [ -f $HOME/.bash_login ]; then
++ . $HOME/.bash_login
++ elif [ -f $HOME/.profile ]; then
++ . $HOME/.profile
++ fi
++ ;;
++ */zsh)
++ [ -z "$ZSH_NAME" ] && exec $SHELL $0 "$@"
++ [ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc
++ zhome=${ZDOTDIR:-$HOME}
++ # zshenv is always sourced automatically.
++ [ -f $zdir/zprofile ] && . $zdir/zprofile
++ [ -f $zhome/.zprofile ] && . $zhome/.zprofile
++ [ -f $zdir/zlogin ] && . $zdir/zlogin
++ [ -f $zhome/.zlogin ] && . $zhome/.zlogin
++ emulate -R sh
++ ;;
++ */csh|*/tcsh)
++ # [t]cshrc is always sourced automatically.
++ # Note that sourcing csh.login after .cshrc is non-standard.
++ wlsess_tmp=`mktemp /tmp/wlsess-env-XXXXXX`
++ $SHELL -c "if (-f /etc/csh.login) source /etc/csh.login; if (-f ~/.login) source ~/.login; /bin/sh -c 'export -p' >! $wlsess_tmp"
++ . $wlsess_tmp
++ rm -f $wlsess_tmp
++ ;;
++ */fish)
++ xsess_tmp=`mktemp /tmp/xsess-env-XXXXXX`
++ $SHELL --login -c "/bin/sh -c 'export -p' > $xsess_tmp"
++ . $xsess_tmp
++ rm -f $xsess_tmp
++ ;;
++ *) # Plain sh, ksh, and anything we do not know.
++ [ -f /etc/profile ] && . /etc/profile
++ [ -f $HOME/.profile ] && . $HOME/.profile
++ ;;
++ esac
+ fi
+ fi
+
diff --git a/desktop/gnome-session/gnome-session.SlackBuild b/desktop/gnome-session/gnome-session.SlackBuild
index 80983afd747d..1085048f06e1 100644
--- a/desktop/gnome-session/gnome-session.SlackBuild
+++ b/desktop/gnome-session/gnome-session.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=gnome-session
VERSION=${VERSION:-42.0}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -79,6 +79,9 @@ find -L . \
# Patch gnome-session so it can be built with elogind:
patch -Np1 -i $CWD/0001-meson-add-elogind-support.patch
+# Patch the gnome-session wrapper script to source profile scripts:
+patch -Np1 -i $CWD/0002-gnome-session-add-profile-sourcing.patch
+
mkdir build
cd build
CFLAGS="$SLKCFLAGS" \