diff options
author | Brian Bidulock | 2015-06-10 23:42:10 -0600 |
---|---|---|
committer | Brian Bidulock | 2015-06-10 23:42:10 -0600 |
commit | 7ef35475517e83576680273dab1802f59df56513 (patch) | |
tree | 48a8c66f32d608b22bf75cb6a8d4134591dd629c | |
download | aur-7ef35475517e83576680273dab1802f59df56513.tar.gz |
initial version
-rw-r--r-- | .SRCINFO | 47 | ||||
-rw-r--r-- | PKGBUILD | 68 | ||||
-rw-r--r-- | Xsession-loginshell.patch | 15 | ||||
-rw-r--r-- | Xsession-xsm.patch | 22 | ||||
-rw-r--r-- | build-fixes.patch | 44 | ||||
-rw-r--r-- | xdm-1.0.5-sessreg-utmp-fix-bug177890.patch | 8 | ||||
-rw-r--r-- | xdm.pam | 10 |
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 |