summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Moch2019-09-21 13:09:31 -0400
committerDaniel Moch2019-09-21 13:09:31 -0400
commitfb5ca3c857edff33871c5d4848fbd51bbadf67c3 (patch)
treea8745daee991b5d92d9864f33fe40e074e833968
downloadaur-xorg-xinit-posix.tar.gz
upgpkg: xorg-xinit-posix 1.4.1-1
-rw-r--r--.SRCINFO38
-rw-r--r--.gitignore3
-rw-r--r--06_move_serverauthfile_into_tmp.diff21
-rw-r--r--PKGBUILD58
-rw-r--r--fs25361.patch17
-rw-r--r--fs46369.patch11
-rw-r--r--startx-posix.patch20
-rw-r--r--xserverrc2
8 files changed, 170 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..61240b0df02a
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,38 @@
+pkgbase = xorg-xinit-posix
+ pkgdesc = X.Org initialisation program with patches to support POSIX userspaces (e.g. sbase)
+ pkgver = 1.4.1
+ pkgrel = 1
+ url = https://xorg.freedesktop.org/
+ arch = x86_64
+ license = custom
+ makedepends = xorg-util-macros
+ depends = libx11
+ depends = xorg-xauth
+ depends = xorg-xrdb
+ depends = xorg-xmodmap
+ depends = inetutils
+ optdepends = xorg-twm
+ optdepends = xterm
+ provides = xorg-xinit
+ conflicts = xorg-xinit
+ options = !emptydirs
+ backup = etc/X11/xinit/xserverrc
+ backup = etc/X11/xinit/xinitrc
+ source = https://xorg.freedesktop.org//releases/individual/app/xinit-1.4.1.tar.bz2
+ source = https://xorg.freedesktop.org//releases/individual/app/xinit-1.4.1.tar.bz2.sig
+ source = 06_move_serverauthfile_into_tmp.diff
+ source = fs25361.patch
+ source = fs46369.patch
+ source = xserverrc
+ source = startx-posix.patch
+ validpgpkeys = 7C2608F8E5F9E78D7A3F26FF177544B49AF313FB
+ validpgpkeys = 4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E
+ sha256sums = de9b8f617b68a70f6caf87da01fcf0ebd2b75690cdcba9c921d0ef54fa54abb9
+ sha256sums = SKIP
+ sha256sums = 224a8e2de310548101b14c2ab2fc45fecc20e714212932cd797962565164527d
+ sha256sums = 929ed22ab034ee483390857d56f45058aec8002f862987aecd7e1d271102aa22
+ sha256sums = 6e2c44b997e604db167f00168e8b6c68257be50447d7a80856b4aa910f52351e
+ sha256sums = 86835010b5350c41035495b7b845db0eecf1e4b7eeaf152b12a881fa502e5387
+ sha256sums = 567a78a903af4404fc6e7f9781150de3f56df804dd230de4bcc7bf994fdc36e5
+
+pkgname = xorg-xinit-posix
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..924dfb95c209
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+pkg/
+src/
+*.tar.*
diff --git a/06_move_serverauthfile_into_tmp.diff b/06_move_serverauthfile_into_tmp.diff
new file mode 100644
index 000000000000..dde11e3835be
--- /dev/null
+++ b/06_move_serverauthfile_into_tmp.diff
@@ -0,0 +1,21 @@
+Move startx auth files in /tmp so they are removed on reboot.
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=357736
+The trap patch didn't seem to work on reboot.
+---
+ startx.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: xinit/startx.cpp
+===================================================================
+--- xinit.orig/startx.cpp
++++ xinit/startx.cpp
+@@ -273,7 +273,7 @@
+ dummy=0
+
+ XCOMM create a file with auth information for the server. ':0' is a dummy.
+- xserverauthfile=$HOME/.serverauth.$$
++ xserverauthfile=`mktemp -p /tmp serverauth.XXXXXXXXXX`
+ trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM
+ xauth -q -f "$xserverauthfile" << EOF
+ add :$dummy . $mcookie
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..c8c64a450c8a
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,58 @@
+# Maintainer: Daniel Moch <daniel@danielmoch.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
+pkgname=xorg-xinit-posix
+pkgver=1.4.1
+pkgrel=1
+pkgdesc="X.Org initialisation program with patches to support POSIX userspaces (e.g. sbase)"
+arch=('x86_64')
+license=('custom')
+url="https://xorg.freedesktop.org/"
+depends=('libx11' 'xorg-xauth' 'xorg-xrdb' 'xorg-xmodmap' 'inetutils')
+makedepends=('xorg-util-macros')
+optdepends=('xorg-twm' 'xterm')
+provides=('xorg-xinit')
+conflicts=('xorg-xinit')
+backup=('etc/X11/xinit/xserverrc'
+ 'etc/X11/xinit/xinitrc')
+source=(${url}/releases/individual/app/xinit-${pkgver}.tar.bz2{,.sig}
+ 06_move_serverauthfile_into_tmp.diff
+ fs25361.patch
+ fs46369.patch
+ xserverrc
+ startx-posix.patch)
+options=(!emptydirs)
+validpgpkeys=('7C2608F8E5F9E78D7A3F26FF177544B49AF313FB') # "Hans de Goede <jwrdegoede@fedoraproject.org>"
+validpgpkeys+=('4A193C06D35E7C670FA4EF0BA2FB9E081F2D130E') # "Alan Coopersmith <alan.coopersmith@oracle.com>"
+sha256sums=('de9b8f617b68a70f6caf87da01fcf0ebd2b75690cdcba9c921d0ef54fa54abb9'
+ 'SKIP'
+ '224a8e2de310548101b14c2ab2fc45fecc20e714212932cd797962565164527d'
+ '929ed22ab034ee483390857d56f45058aec8002f862987aecd7e1d271102aa22'
+ '6e2c44b997e604db167f00168e8b6c68257be50447d7a80856b4aa910f52351e'
+ '86835010b5350c41035495b7b845db0eecf1e4b7eeaf152b12a881fa502e5387'
+ '567a78a903af4404fc6e7f9781150de3f56df804dd230de4bcc7bf994fdc36e5')
+
+prepare() {
+ cd xinit-${pkgver}
+ patch -Np1 -i ../06_move_serverauthfile_into_tmp.diff
+ patch -Np1 -i ../fs25361.patch
+ patch -Np1 -i ../fs46369.patch
+ patch -Np1 -i ../startx-posix.patch
+ sed -i -e 's/XSLASHGLOB.sh/XSLASHGLOB/' xinitrc.cpp
+}
+
+build() {
+ cd xinit-${pkgver}
+ autoreconf -fi
+ ./configure --prefix=/usr --with-xinitdir=/etc/X11/xinit
+ make
+}
+
+package() {
+ cd xinit-${pkgver}
+ make DESTDIR="${pkgdir}" install
+ install -m644 "${srcdir}/xserverrc" "${pkgdir}/etc/X11/xinit/xserverrc"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/fs25361.patch b/fs25361.patch
new file mode 100644
index 000000000000..046968576e51
--- /dev/null
+++ b/fs25361.patch
@@ -0,0 +1,17 @@
+Common subdirectories: xinit.orig/privileged_startx and xinit/privileged_startx
+diff -u xinit.orig/startx.cpp xinit/startx.cpp
+--- xinit.orig/startx.cpp 2011-08-02 18:26:57.161711018 +0400
++++ xinit/startx.cpp 2011-08-02 19:06:39.348816866 +0400
+@@ -290,9 +290,9 @@
+ XCOMM now add the same credentials to the client authority file
+ XCOMM if '$displayname' already exists do not overwrite it as another
+ XCOMM server may need it. Add them to the '$xserverauthfile' instead.
+- for displayname in $authdisplay $hostname$authdisplay; do
++ for displayname in $authdisplay $hostname/unix$authdisplay; do
+ authcookie=`XAUTH list "$displayname" @@
+- | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null;
++ | sed -n "s/.*$hostname\/unix$authdisplay[[:space:]*].*[[:space:]*]//p"` 2>/dev/null;
+ if [ "z${authcookie}" = "z" ] ; then
+ XAUTH -q << EOF
+ add $displayname . $mcookie
+
diff --git a/fs46369.patch b/fs46369.patch
new file mode 100644
index 000000000000..91f2d70c9999
--- /dev/null
+++ b/fs46369.patch
@@ -0,0 +1,11 @@
+diff -u -r xinit-1.3.4/startx.cpp xinit-1.3.4-dbus/startx.cpp
+--- xinit-1.3.4/startx.cpp 2015-09-21 17:07:29.732240308 +0200
++++ xinit-1.3.4-dbus/startx.cpp 2015-09-21 17:07:59.255424644 +0200
+@@ -11,7 +11,6 @@
+ XCOMM Site administrators are STRONGLY urged to write nicer versions.
+ XCOMM
+
+-unset DBUS_SESSION_BUS_ADDRESS
+ unset SESSION_MANAGER
+
+ #ifdef __APPLE__
diff --git a/startx-posix.patch b/startx-posix.patch
new file mode 100644
index 000000000000..4a8723289397
--- /dev/null
+++ b/startx-posix.patch
@@ -0,0 +1,20 @@
+--- xinit-1.4.1-orig/startx.cpp 2019-09-21 12:59:28.894675922 -0400
++++ xinit-1.4.1/startx.cpp 2019-09-21 12:59:58.674672355 -0400
+@@ -205,7 +205,7 @@
+ XCOMM "https://bugzilla.redhat.com/show_bug.cgi?id=806491"
+ tty=$(tty)
+ if expr "$tty" : '/dev/tty[0-9][0-9]*$' > /dev/null; then
+- tty_num=$(echo "$tty" | grep -oE '[0-9]+$')
++ tty_num=$(echo "$tty" | sed -E 's/[a-zA-Z\/]//g')
+ vtarg="vt$tty_num -keeptty"
+ fi
+ #endif
+@@ -252,7 +252,7 @@
+ XCOMM set up default Xauth info for this machine
+ case `uname` in
+ Linux*)
+- if [ -z "`hostname --version 2>&1 | grep GNU`" ]; then
++ if [ -n "`hostname --version 2>&1 | grep GNU`" ]; then
+ hostname=`hostname -f`
+ else
+ hostname=`hostname`
diff --git a/xserverrc b/xserverrc
new file mode 100644
index 000000000000..b4de2528749e
--- /dev/null
+++ b/xserverrc
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /usr/bin/X -nolisten tcp "$@"