diff options
author | Brian Bidulock | 2014-05-08 17:35:01 -0600 |
---|---|---|
committer | Brian Bidulock | 2015-06-10 23:39:13 -0600 |
commit | 37ebca221e9dbb5a60bc2b5ec28b2547c5123fca (patch) | |
tree | 53b3e9bc3640f150dbae03eb4de341d89bda0643 | |
parent | 79b99fb380c9e1afb2b9563d83b04649c41f1f26 (diff) | |
download | aur-37ebca221e9dbb5a60bc2b5ec28b2547c5123fca.tar.gz |
version 1.1.11.24.gf573790-1
-rw-r--r-- | .SRCINFO | 21 | ||||
-rw-r--r-- | PKGBUILD | 42 | ||||
-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 | ||||
-rw-r--r-- | xlogin.patch | 93 |
8 files changed, 240 insertions, 15 deletions
@@ -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 @@ -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) |