aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/xinit/APKBUILD25
-rw-r--r--main/xinit/Xsession55
-rw-r--r--main/xinit/xsession.skel (renamed from main/xinit/xsession)0
3 files changed, 72 insertions, 8 deletions
diff --git a/main/xinit/APKBUILD b/main/xinit/APKBUILD
index 4470efde47..e48675fd54 100644
--- a/main/xinit/APKBUILD
+++ b/main/xinit/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xinit
pkgver=1.3.3
-pkgrel=2
+pkgrel=3
pkgdesc="X.Org initialisation program "
url="http://xorg.freedesktop.org/"
arch="all"
@@ -12,7 +12,8 @@ makedepends="libx11-dev"
source="http://xorg.freedesktop.org/releases/individual/app/xinit-$pkgver.tar.bz2
06_move_serverauthfile_into_tmp.patch
xinitrc
- xsession
+ xsession.skel
+ Xsession
xserverrc"
prepare() {
@@ -40,22 +41,30 @@ package() {
make DESTDIR="$pkgdir" install || return 1
chmod +x "$pkgdir"/usr/bin/startx
install -m755 -d "$pkgdir"/etc/skel
- install -m755 -D "$srcdir"/xinitrc "$pkgdir"/etc/X11/xinit/xinitrc
- install -m755 "$srcdir"/xsession "$pkgdir"/etc/skel/.xsession || return 1
- install -m755 "$srcdir"/xserverrc "$pkgdir"/etc/X11/xinit/xserverrc || return 1
+ install -m755 -D "$srcdir"/xinitrc "$pkgdir"/etc/X11/xinit/xinitrc \
+ || return 1
+ install -m755 -D "$srcdir"/Xsession "$pkgdir"/etc/X11/xinit/Xsession \
+ || return 1
+ install -m755 "$srcdir"/xsession.skel "$pkgdir"/etc/skel/.xsession \
+ || return 1
+ install -m755 "$srcdir"/xserverrc "$pkgdir"/etc/X11/xinit/xserverrc \
+ || return 1
}
md5sums="3b8da0e6237aee9828cc809c647510a7 xinit-1.3.3.tar.bz2
abd072ec435ce084cf4e89c58f83d45c 06_move_serverauthfile_into_tmp.patch
f5516933186d3a9e10a816d571877821 xinitrc
-4f04d2891ea87f50fde518267b7a1154 xsession
+4f04d2891ea87f50fde518267b7a1154 xsession.skel
+cf8c0ee89d86b2efa401563441d33560 Xsession
12edd1bd52ddf2084cf0972921db5a84 xserverrc"
sha256sums="74b2878de6e3d5b5948f1562a77e7f53b4e10621e505ddb278050c7f3cae00af xinit-1.3.3.tar.bz2
a5c6ced5822bbb3145e0f30a4b12995782ca6d80ff2d927851ec91b5e41212cb 06_move_serverauthfile_into_tmp.patch
8a4095f56ec4603b0bad11f5b1b9595b38759ca16c8aeb98d4e271a86341e52c xinitrc
-da325bbad10c1e05b61ef250c6cdada784be0a08b9f48984e691ea9a5abc9dd8 xsession
+da325bbad10c1e05b61ef250c6cdada784be0a08b9f48984e691ea9a5abc9dd8 xsession.skel
+f79bb26d16e482be736bd2ba5f647fcf13084afdcdf5b9cc32ffe6cbf4c1955a Xsession
86835010b5350c41035495b7b845db0eecf1e4b7eeaf152b12a881fa502e5387 xserverrc"
sha512sums="345d9a00991e25df0a565f5b7edfbf504df9e019fc8ca2d31e4d2899e4765d7a18f0fffec0b4dda5eef99982cf8482925656a4e18576105f267393de51257d65 xinit-1.3.3.tar.bz2
2296c10a5d74bff42d9642a4787dc3f2b77492fc81174af48dc88cd3c8fa49c7f70147b790d8c82c2df6c910d9d412965999e7a342ca28697a97b5d522669edd 06_move_serverauthfile_into_tmp.patch
2f36be3b581290206080e4c2e1d8001735d5c9f7d88f023cbafe69af6f82ef0ada39ee55e62aeca1a0000884ecff9e3d9565f62f73b3399596d73fcfeae84b83 xinitrc
-448bc6c7987a4735b6584e307cd5c53092b1a338043293f5f110d11818dd1b80508401a3b6f09525c82a16a88f293b37011d8ca112460b0f95d26897e3e0619e xsession
+448bc6c7987a4735b6584e307cd5c53092b1a338043293f5f110d11818dd1b80508401a3b6f09525c82a16a88f293b37011d8ca112460b0f95d26897e3e0619e xsession.skel
+b311032a751bb21d6c49ffe1dfc67beb577b5d5bec4a4c12612c4c0f9b9d6d2a07f7435c7d2fe9ab4c318546ee0cb9d4ff3f7ef908e756a818da529e913e667d Xsession
f86d96d76bcb340021e7904925f0029f8662e4dfc32489198b3a8695dca069da496539e2287249c763fe9c4d8d5d591fd18fe49a0bee822cbbd0eb712efbb89b xserverrc"
diff --git a/main/xinit/Xsession b/main/xinit/Xsession
new file mode 100644
index 0000000000..6b9403fd42
--- /dev/null
+++ b/main/xinit/Xsession
@@ -0,0 +1,55 @@
+#!/bin/sh
+#
+# X session wrapper
+
+echo "Running X session wrapper"
+
+# Load profile
+for file in /etc/profile "$HOME/.profile" /etc/xprofile "$HOME/.xprofile"; do
+ if [ -f "$file" ]; then
+ echo "Loading profile from $file";
+ . "$file"
+ fi
+done
+
+# Load resources
+for file in /etc/X11/Xresources "$HOME/.Xresources"; do
+ if [ -f "$file" ]; then
+ echo "Loading resource: $file"
+ xrdb -nocpp -merge "$file"
+ fi
+done
+
+# Load keymaps
+use_xkbmap=false
+for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do
+ if [ -f "$file" ]; then
+ echo "Loading keymap: $file"
+ setxkbmap `cat "$file"` && use_xkbmap=true
+ fi
+done
+
+# Load xmodmap if not using XKB
+if ! $use_xkbmap; then
+ for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do
+ if [ -f "$file" ]; then
+ echo "Loading modmap: $file"
+ xmodmap "$file"
+ fi
+ done
+fi
+
+# Run all system xinitrc shell scripts.
+xinitdir="/etc/X11/xinit/xinitrc.d"
+if [ -d "$xinitdir" ]; then
+ for script in $xinitdir/*; do
+ echo "Loading xinit script $script"
+ if [ -x "$script" -a ! -d "$script" ]; then
+ . "$script"
+ fi
+ done
+fi
+
+echo "X session wrapper complete, running session $@"
+
+exec $@
diff --git a/main/xinit/xsession b/main/xinit/xsession.skel
index 819c248cd5..819c248cd5 100644
--- a/main/xinit/xsession
+++ b/main/xinit/xsession.skel