summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Bidulock2015-06-10 23:42:10 -0600
committerBrian Bidulock2015-06-10 23:42:10 -0600
commit7ef35475517e83576680273dab1802f59df56513 (patch)
tree48a8c66f32d608b22bf75cb6a8d4134591dd629c
downloadaur-7ef35475517e83576680273dab1802f59df56513.tar.gz
initial version
-rw-r--r--.SRCINFO47
-rw-r--r--PKGBUILD68
-rw-r--r--Xsession-loginshell.patch15
-rw-r--r--Xsession-xsm.patch22
-rw-r--r--build-fixes.patch44
-rw-r--r--xdm-1.0.5-sessreg-utmp-fix-bug177890.patch8
-rw-r--r--xdm.pam10
7 files changed, 214 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..908462567e7c
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,47 @@
+pkgbase = xorg-xdm-git
+ pkgdesc = X Display Manager
+ pkgver = 1.1.11.32.gd0e3262
+ pkgrel = 1
+ url = http://xorg.freedesktop.org/
+ arch = i686
+ arch = x86_64
+ license = custom
+ makedepends = git
+ makedepends = pkgconfig
+ makedepends = xorg-util-macros
+ makedepends = xtrans
+ depends = libbsd
+ depends = pam
+ depends = libxaw
+ depends = libxinerama
+ depends = xorg-xrdb
+ depends = xorg-sessreg
+ depends = libxft
+ depends = systemd
+ provides = xorg-xdm
+ conflicts = xorg-xdm
+ conflicts = xorg-xdm-xlogin
+ conflicts = xorg-xdm-xlogin-git
+ options = !libtool
+ backup = etc/X11/xdm/Xaccess
+ backup = etc/X11/xdm/Xresources
+ backup = etc/X11/xdm/Xservers
+ backup = etc/X11/xdm/xdm-config
+ backup = etc/pam.d/xdm
+ backup = etc/X11/xdm/Xsetup_0
+ backup = etc/X11/xdm/Xsession
+ source = xorg-xdm-git::git://anongit.freedesktop.org/git/xorg/app/xdm
+ source = Xsession-loginshell.patch
+ source = Xsession-xsm.patch
+ source = xdm-1.0.5-sessreg-utmp-fix-bug177890.patch
+ source = build-fixes.patch
+ source = xdm.pam
+ sha256sums = SKIP
+ sha256sums = fd3e7c20837b42a8ab111369fd6dc9612f9edb91c1f6904cca1d6a1fa3cfa0ff
+ sha256sums = 77a1ce9bdf363591b72798db08b4df3589bd4e64737fd32cf9028f9245450edb
+ sha256sums = 5f380a2d6f77feb910d77f7f6843fce9b00ff7610c159fc029ee44cc6c23a48a
+ sha256sums = 5da6ed875db3cc07dc1d87d96c92a62f638e1735b22bb365be4b15409af871f7
+ sha256sums = 7d6818a1c1a44e9bd38774c035e03b0b831f6646681bc2bf556761aec7baf418
+
+pkgname = xorg-xdm-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..8928e12d672e
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,68 @@
+# Maintainer: Brian Bidulock <bidulock@openss7.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+pkgname=xorg-xdm-git
+pkgver=1.1.11.32.gd0e3262
+pkgrel=1
+pkgdesc="X Display Manager"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libbsd' 'pam' 'libxaw' 'libxinerama' 'xorg-xrdb' 'xorg-sessreg' 'libxft' 'systemd')
+provides=('xorg-xdm')
+conflicts=('xorg-xdm' 'xorg-xdm-xlogin' 'xorg-xdm-xlogin-git')
+makedepends=('git' 'pkgconfig' 'xorg-util-macros' 'xtrans')
+backup=(etc/X11/xdm/Xaccess etc/X11/xdm/Xresources etc/X11/xdm/Xservers etc/X11/xdm/xdm-config etc/pam.d/xdm etc/X11/xdm/Xsetup_0 etc/X11/xdm/Xsession)
+options=('!libtool')
+source=("$pkgname::git://anongit.freedesktop.org/git/xorg/app/xdm"
+ Xsession-loginshell.patch
+ Xsession-xsm.patch
+ xdm-1.0.5-sessreg-utmp-fix-bug177890.patch
+ build-fixes.patch
+ xdm.pam)
+sha256sums=('SKIP'
+ 'fd3e7c20837b42a8ab111369fd6dc9612f9edb91c1f6904cca1d6a1fa3cfa0ff'
+ '77a1ce9bdf363591b72798db08b4df3589bd4e64737fd32cf9028f9245450edb'
+ '5f380a2d6f77feb910d77f7f6843fce9b00ff7610c159fc029ee44cc6c23a48a'
+ '5da6ed875db3cc07dc1d87d96c92a62f638e1735b22bb365be4b15409af871f7'
+ '7d6818a1c1a44e9bd38774c035e03b0b831f6646681bc2bf556761aec7baf418')
+
+pkgver() {
+ cd $pkgname
+ git describe | sed 's,xdm-,,;s,-,.,g'
+}
+
+prepare() {
+ cd $pkgname
+ patch -Np0 -i "${srcdir}/Xsession-loginshell.patch"
+ patch -Np1 -i "${srcdir}/Xsession-xsm.patch"
+ patch -Np0 -i "${srcdir}/xdm-1.0.5-sessreg-utmp-fix-bug177890.patch"
+ patch -Np2 -i "${srcdir}/build-fixes.patch"
+ autoreconf -fi
+}
+
+build() {
+ cd $pkgname
+ ./configure --prefix=/usr \
+ --disable-xdm-auth \
+ --disable-static \
+ --with-xdmconfigdir=/etc/X11/xdm \
+ --with-xdmscriptdir=/etc/X11/xdm \
+ --with-pixmapdir=/usr/share/xdm/pixmaps
+ make
+}
+
+package() {
+ cd $pkgname
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/var/lib/xdm"
+ install -m755 -d "${pkgdir}/etc/pam.d"
+ install -m644 "${srcdir}/xdm.pam" "${pkgdir}/etc/pam.d/xdm"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+
+ sed -i -e 's/\/X11R6//g' "${pkgdir}"/etc/X11/xdm/*
+
+ sed -i 's|^Alias=.*|Alias=display-manager.service|' \
+ "$pkgdir/usr/lib/systemd/system/xdm.service"
+}
diff --git a/Xsession-loginshell.patch b/Xsession-loginshell.patch
new file mode 100644
index 000000000000..3710752efa62
--- /dev/null
+++ b/Xsession-loginshell.patch
@@ -0,0 +1,15 @@
+--- config/Xsession.cpp.orig 2008-06-21 13:57:36.000000000 +0000
++++ config/Xsession.cpp 2008-06-21 14:01:25.000000000 +0000
+@@ -56,11 +56,7 @@
+ resources=$HOME/.Xresources
+
+ if [ -s "$startup" ]; then
+- if [ -x "$startup" ]; then
+- exec "$startup"
+- else
+- exec /bin/sh "$startup"
+- fi
++ exec /bin/sh -ls -c "$startup"
+ else
+ if [ -r "$resources" ]; then
+ BINDIR/xrdb -load "$resources"
diff --git a/Xsession-xsm.patch b/Xsession-xsm.patch
new file mode 100644
index 000000000000..a2d4d6cc6616
--- /dev/null
+++ b/Xsession-xsm.patch
@@ -0,0 +1,22 @@
+diff -Naur xdm-1.1.8-orig/config/Xsession.cpp xdm-1.1.8/config/Xsession.cpp
+--- xdm-1.1.8-orig/config/Xsession.cpp 2008-05-21 14:08:45.000000000 -0400
++++ xdm-1.1.8/config/Xsession.cpp 2009-04-28 02:56:11.000000000 -0400
+@@ -54,6 +54,7 @@
+
+ startup=$HOME/.xsession
+ resources=$HOME/.Xresources
++xinitrc=$HOME/.xinitrc
+
+ if [ -s "$startup" ]; then
+ if [ -x "$startup" ]; then
+@@ -83,5 +84,9 @@
+ exec `eval $XDESKTOP`
+ }
+ #endif
+- exec BINDIR/xsm
++ if [ -r "$xinitrc" ]; then
++ exec /bin/sh -ls -c "$xinitrc"
++ else
++ exec /bin/sh -l /etc/X11/xinit/xinitrc
++ fi
+ fi
diff --git a/build-fixes.patch b/build-fixes.patch
new file mode 100644
index 000000000000..817e4732ef6f
--- /dev/null
+++ b/build-fixes.patch
@@ -0,0 +1,44 @@
+diff -up src/xorg-xdm/xdm/choose.c.orig src/xorg-xdm/xdm/choose.c
+--- src/xorg-xdm/xdm/choose.c.orig 2014-03-27 00:13:25.000000000 -0600
++++ src/xorg-xdm/xdm/choose.c 2014-03-27 00:13:59.000000000 -0600
+@@ -54,6 +54,11 @@ in this Software without prior written a
+ # include <time.h>
+ # define Time_t time_t
+
++# ifdef HAVE_SETPROCTITLE
++# include <sys/types.h>
++# include <bsd/unistd.h>
++# endif
++
+ static int
+ FormatBytes (
+ unsigned char *data,
+diff -up src/xorg-xdm/xdm/genauth.c.orig src/xorg-xdm/xdm/genauth.c
+--- src/xorg-xdm/xdm/genauth.c.orig 2014-03-27 00:15:27.000000000 -0600
++++ src/xorg-xdm/xdm/genauth.c 2014-03-27 00:15:54.000000000 -0600
+@@ -43,6 +43,10 @@ from The Open Group.
+ #include <time.h>
+ #define Time_t time_t
+
++#ifdef HAVE_ARC4RANDOM
++#include <bsd/stdlib.h>
++#endif
++
+ #ifdef HASXDMAUTH
+ static unsigned char key[8];
+ #endif
+diff -up src/xorg-xdm/xdm/session.c.orig src/xorg-xdm/xdm/session.c
+--- src/xorg-xdm/xdm/session.c.orig 2014-03-27 00:16:39.000000000 -0600
++++ src/xorg-xdm/xdm/session.c 2014-03-27 00:17:20.000000000 -0600
+@@ -85,6 +85,11 @@ extern int key_setnet(struct key_netstar
+ #include <systemd/sd-daemon.h>
+ #endif
+
++#ifdef HAVE_SETPROCTITLE
++# include <sys/types.h>
++# include <bsd/unistd.h>
++#endif
++
+ #ifdef USE_SELINUX
+ /* This should be run just before we exec the user session. */
+ static int
diff --git a/xdm-1.0.5-sessreg-utmp-fix-bug177890.patch b/xdm-1.0.5-sessreg-utmp-fix-bug177890.patch
new file mode 100644
index 000000000000..1958588836b7
--- /dev/null
+++ b/xdm-1.0.5-sessreg-utmp-fix-bug177890.patch
@@ -0,0 +1,8 @@
+--- config/GiveConsole.sessreg-utmp-fix-bug177890 2006-07-24 04:20:10.000000000 -0400
++++ config/GiveConsole 2006-07-24 04:21:16.000000000 -0400
+@@ -8,3 +8,5 @@
+ # causing serious grief.
+ #
+ chown $USER /dev/console
++exec /usr/bin/sessreg -a -w "/var/log/wtmp" -u "/run/utmp" \
++ -x "/etc/X11/xdm/Xservers" -l $DISPLAY -h "" $USER
diff --git a/xdm.pam b/xdm.pam
new file mode 100644
index 000000000000..a0b601db6a80
--- /dev/null
+++ b/xdm.pam
@@ -0,0 +1,10 @@
+#%PAM-1.0
+auth required pam_unix.so
+auth required pam_nologin.so
+auth required pam_env.so
+account required pam_unix.so
+password required pam_unix.so
+session required pam_unix.so
+session required pam_limits.so
+session required pam_loginuid.so
+-session optional pam_systemd.so