summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Bidulock2014-05-08 17:35:01 -0600
committerBrian Bidulock2015-06-10 23:39:13 -0600
commit37ebca221e9dbb5a60bc2b5ec28b2547c5123fca (patch)
tree53b3e9bc3640f150dbae03eb4de341d89bda0643
parent79b99fb380c9e1afb2b9563d83b04649c41f1f26 (diff)
downloadaur-37ebca221e9dbb5a60bc2b5ec28b2547c5123fca.tar.gz
version 1.1.11.24.gf573790-1
-rw-r--r--.SRCINFO21
-rw-r--r--PKGBUILD42
-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
-rw-r--r--xlogin.patch93
8 files changed, 240 insertions, 15 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1e819f264cbb..d404bfa39b1a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
pkgbase = xorg-xdm-xlogin-git
pkgdesc = X Display Manager
- pkgver = 1.1.11.71.gb80fc37
+ pkgver = 1.1.11.24.gf573790
pkgrel = 1
- url = https://github.com/bbidulock/xdm
+ url = http://xorg.freedesktop.org/
arch = i686
arch = x86_64
license = custom
@@ -18,22 +18,33 @@ pkgbase = xorg-xdm-xlogin-git
depends = xorg-sessreg
depends = libxft
depends = systemd
- optdepends = slim-xdm: for separate greeter
provides = xorg-xdm
provides = xorg-xdm-xlogin
conflicts = xorg-xdm
conflicts = xorg-xdm-xlogin
conflicts = xorg-xdm-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/pam.d/greeter
backup = etc/X11/xdm/Xsetup_0
backup = etc/X11/xdm/Xsession
- source = xorg-xdm-xlogin-git::git+https://github.com/bbidulock/xdm.git
+ source = xorg-xdm-xlogin-git::git://anongit.freedesktop.org/git/xorg/app/xdm
+ source = xlogin.patch
+ 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 = 4bb8742f9bef48df06430112fa7665dd78a5d5d6a5f835dd21b0ea0fc8c04801
+ sha256sums = fd3e7c20837b42a8ab111369fd6dc9612f9edb91c1f6904cca1d6a1fa3cfa0ff
+ sha256sums = 77a1ce9bdf363591b72798db08b4df3589bd4e64737fd32cf9028f9245450edb
+ sha256sums = 5f380a2d6f77feb910d77f7f6843fce9b00ff7610c159fc029ee44cc6c23a48a
+ sha256sums = 5da6ed875db3cc07dc1d87d96c92a62f638e1735b22bb365be4b15409af871f7
+ sha256sums = 7d6818a1c1a44e9bd38774c035e03b0b831f6646681bc2bf556761aec7baf418
pkgname = xorg-xdm-xlogin-git
diff --git a/PKGBUILD b/PKGBUILD
index 77ae50413c01..def0a157471c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,43 +2,65 @@
# Contributor: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=xorg-xdm-xlogin-git
-pkgver=1.1.11.71.gb80fc37
+pkgver=1.1.11.24.gf573790
pkgrel=1
pkgdesc="X Display Manager"
arch=(i686 x86_64)
-#url="http://xorg.freedesktop.org/"
-url="https://github.com/bbidulock/xdm"
+url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libbsd' 'pam' 'libxaw' 'libxinerama' 'xorg-xrdb' 'xorg-sessreg' 'libxft' 'systemd')
-optdepends=('slim-xdm: for separate greeter')
provides=('xorg-xdm' 'xorg-xdm-xlogin')
conflicts=('xorg-xdm' 'xorg-xdm-xlogin' 'xorg-xdm-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/pam.d/greeter etc/X11/xdm/Xsetup_0 etc/X11/xdm/Xsession)
-source=("$pkgname::git+https://github.com/bbidulock/xdm.git")
-sha256sums=('SKIP')
+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"
+ xlogin.patch
+ Xsession-loginshell.patch
+ Xsession-xsm.patch
+ xdm-1.0.5-sessreg-utmp-fix-bug177890.patch
+ build-fixes.patch
+ xdm.pam)
+sha256sums=('SKIP'
+ '4bb8742f9bef48df06430112fa7665dd78a5d5d6a5f835dd21b0ea0fc8c04801'
+ 'fd3e7c20837b42a8ab111369fd6dc9612f9edb91c1f6904cca1d6a1fa3cfa0ff'
+ '77a1ce9bdf363591b72798db08b4df3589bd4e64737fd32cf9028f9245450edb'
+ '5f380a2d6f77feb910d77f7f6843fce9b00ff7610c159fc029ee44cc6c23a48a'
+ '5da6ed875db3cc07dc1d87d96c92a62f638e1735b22bb365be4b15409af871f7'
+ '7d6818a1c1a44e9bd38774c035e03b0b831f6646681bc2bf556761aec7baf418')
pkgver() {
cd $pkgname
git describe | sed 's,xdm-,,;s,-,.,g'
}
+prepare() {
+ cd $pkgname
+ patch -Np1 -i "${srcdir}/xlogin.patch"
+ 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
- ./autogen.sh --prefix=/usr \
- --sysconfdir=/etc \
+ ./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 CWARNFLAGS=""
+ 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}/"
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
diff --git a/xlogin.patch b/xlogin.patch
new file mode 100644
index 000000000000..723fb97242f9
--- /dev/null
+++ b/xlogin.patch
@@ -0,0 +1,93 @@
+diff -pur xdm-1.1.11.orig/include/dm.h xdm-1.1.11/include/dm.h
+--- xdm-1.1.11.orig/include/dm.h 2011-09-25 01:35:47.000000000 -0600
++++ xdm-1.1.11/include/dm.h 2013-03-02 03:15:10.000000000 -0700
+@@ -222,6 +222,7 @@ struct display {
+ char *systemShell; /* interpreter for startup/reset */
+ char *failsafeClient;/* a client to start when the session fails */
+ char *chooser; /* chooser program */
++ char *greeter; /* greeter program */
+
+ /* authorization resources */
+ int authorize; /* enable authorization */
+diff -pur xdm-1.1.11.orig/man/xdm.man xdm-1.1.11/man/xdm.man
+--- xdm-1.1.11.orig/man/xdm.man 2011-09-25 01:35:47.000000000 -0600
++++ xdm-1.1.11/man/xdm.man 2013-03-02 03:22:51.000000000 -0700
+@@ -415,6 +415,10 @@ Specifies the program run to offer a hos
+ redirected to the special host name CHOOSER.
+ \fI CHOOSERPATH \fP is the default.
+ See the sections \fBXDMCP Access Control\fP and \fBChooser\fP.
++.IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.greeter\fP"
++Specifies the program run to offer a graphical login prompt. When
++this resource is specified, the value of \fBDisplayManager.greeterLib\fP
++is ignored for the specified \fIDISPLAY\fP.
+ .IP "\fBDisplayManager.\fP\fIDISPLAY\fP\fB.xrdb\fP"
+ Specifies the program used to load the resources. By default,
+ .I xdm
+Only in xdm-1.1.11: wdm.patch
+diff -pur xdm-1.1.11.orig/xdm/dpylist.c xdm-1.1.11/xdm/dpylist.c
+--- xdm-1.1.11.orig/xdm/dpylist.c 2011-09-25 01:35:47.000000000 -0600
++++ xdm-1.1.11/xdm/dpylist.c 2013-03-02 03:15:58.000000000 -0700
+@@ -148,6 +148,7 @@ RemoveDisplay (struct display *old)
+ free (d->systemShell);
+ free (d->failsafeClient);
+ free (d->chooser);
++ free (d->greeter);
+ if (d->authorizations)
+ {
+ for (i = 0; i < d->authNum; i++)
+@@ -224,6 +225,7 @@ NewDisplay (char *name, char *class)
+ d->systemShell = NULL;
+ d->failsafeClient = NULL;
+ d->chooser = NULL;
++ d->greeter = NULL;
+ d->authorize = FALSE;
+ d->authorizations = NULL;
+ d->authNum = 0;
+diff -pur xdm-1.1.11.orig/xdm/resource.c xdm-1.1.11/xdm/resource.c
+--- xdm-1.1.11.orig/xdm/resource.c 2011-09-25 01:35:47.000000000 -0600
++++ xdm-1.1.11/xdm/resource.c 2013-03-02 03:15:42.000000000 -0700
+@@ -106,6 +106,9 @@ int choiceTimeout; /* chooser choice tim
+ #ifndef DEF_CHOOSER
+ # define DEF_CHOOSER "/usr/lib/X11/xdm/chooser"
+ #endif
++#ifndef DEF_GREETER
++# define DEF_GREETER ""
++#endif
+ #ifndef DEF_AUTH_NAME
+ # ifdef HASXDMAUTH
+ # define DEF_AUTH_NAME "XDM-AUTHORIZATION-1 MIT-MAGIC-COOKIE-1"
+@@ -280,6 +283,8 @@ struct displayResource sessionResources[
+ DEF_USER_AUTH_DIR },
+ { "chooser", "Chooser", DM_STRING, boffset(chooser),
+ DEF_CHOOSER },
++{ "greeter", "Greeter", DM_STRING, boffset(greeter),
++ DEF_GREETER },
+ };
+
+ #define NUM_SESSION_RESOURCES (sizeof sessionResources/\
+diff -pur xdm-1.1.11.orig/xdm/session.c xdm-1.1.11/xdm/session.c
+--- xdm-1.1.11.orig/xdm/session.c 2011-09-25 01:35:47.000000000 -0600
++++ xdm-1.1.11/xdm/session.c 2013-03-02 03:16:29.000000000 -0700
+@@ -340,6 +340,22 @@ ManageSession (struct display *d)
+ */
+ LoadXloginResources (d);
+
++ if (d->greeter && d->greeter[0] != 0) {
++ char **args;
++ char **env;
++
++ args = parseArgs ((char **) 0, d->greeter);
++ env = systemEnv (d, (char *) 0, (char *) 0);
++#ifdef USE_SYSTEMD_DAEMON
++ sd_notify(1, "READY=1");
++#endif
++ Debug ("ManageSession: running %s\n", args[0]);
++ execute (args, env);
++ Debug ("ManageSession: couldn't run %s\n", args[0]);
++ LogError ("Cannot execute %s\n", args[0]);
++ exit (UNMANAGE_DISPLAY);
++ }
++
+ Debug ("ManageSession: loading greeter library %s\n", greeterLib);
+ greet_lib_handle = dlopen(greeterLib, RTLD_NOW);
+ if (greet_lib_handle != NULL)