summaryrefslogtreecommitdiff
path: root/staging
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-10-14 00:46:01 -0700
committerroot <root@rshg054.dnsready.net>2012-10-14 00:46:01 -0700
commit4eb56e1b3a80c84f2dddf2692310369dc9cbd31a (patch)
treeb31de2992989d616383f6552ba5d23b75701ef04 /staging
parent21c295a86a10a3cd59802b2cf3ab7c24ebf0c608 (diff)
Sun Oct 14 00:45:38 PDT 2012
Diffstat (limited to 'staging')
-rw-r--r--staging/dbus-python/PKGBUILD66
-rw-r--r--staging/kdebase-workspace/PKGBUILD59
-rw-r--r--staging/kdebase-workspace/kde-np.pam19
-rw-r--r--staging/kdebase-workspace/kde.pam15
-rw-r--r--staging/kdebase-workspace/kdm.logrotate6
-rw-r--r--staging/kdebase-workspace/kdm.service2
-rw-r--r--staging/kdebase-workspace/logind-support.patch66
-rw-r--r--staging/konversation/PKGBUILD11
-rw-r--r--staging/pycrypto/PKGBUILD52
-rw-r--r--staging/pyopenssl/PKGBUILD46
-rw-r--r--staging/python-egenix-mx-base/PKGBUILD31
-rw-r--r--staging/python-markupsafe/PKGBUILD41
-rw-r--r--staging/xfce4-session/PKGBUILD44
-rw-r--r--staging/xfce4-session/xfce4-session.install13
-rw-r--r--staging/xorg-xdm/PKGBUILD60
-rw-r--r--staging/xorg-xdm/Xsession-loginshell.patch15
-rw-r--r--staging/xorg-xdm/Xsession-xsm.patch22
-rw-r--r--staging/xorg-xdm/git_fixes.diff673
-rw-r--r--staging/xorg-xdm/xdm-1.0.5-sessreg-utmp-fix-bug177890.patch8
-rw-r--r--staging/xorg-xdm/xdm.pam10
20 files changed, 1214 insertions, 45 deletions
diff --git a/staging/dbus-python/PKGBUILD b/staging/dbus-python/PKGBUILD
new file mode 100644
index 000000000..b6b1bc24f
--- /dev/null
+++ b/staging/dbus-python/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 168669 2012-10-13 22:15:37Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=dbus-python
+pkgname=('python-dbus' 'python2-dbus' 'python-dbus-common')
+pkgver=1.1.1
+pkgrel=2
+pkgdesc="Python bindings for DBUS"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL')
+url="http://www.freedesktop.org/wiki/Software/DBusBindings"
+makedepends=('docutils' 'dbus-glib' 'python' 'python2')
+options=('!libtool')
+source=(http://dbus.freedesktop.org/releases/${pkgbase}/${pkgbase}-${pkgver}.tar.gz)
+md5sums=('742c7432ad0f7c3f98291d58fa2e35dc')
+
+build() {
+ cd "${srcdir}"
+ mkdir build-python2 build-python3
+ cd "${srcdir}/build-python2"
+ PYTHON=python2 ../${pkgbase}-${pkgver}/configure --prefix=/usr
+ make
+
+
+ cd "${srcdir}/build-python3"
+ ../${pkgbase}-${pkgver}/configure --prefix=/usr
+ make
+}
+
+package_python-dbus-common() {
+ pkgdesc="Common dbus-python files shared between python-dbus and python2-dbus"
+ conflicts=('dbus-python<1.1.0')
+
+ cd "${srcdir}/build-python3"
+ make DESTDIR="${pkgdir}" install-data
+ rm -rf "${pkgdir}"/usr/lib/python*
+}
+
+package_python-dbus() {
+ depends=('python-dbus-common' 'python' 'dbus-core')
+ optdepends=('dbus-glib: glib mainloop support')
+ pkgdesc="Python 3.3 bindings for DBUS"
+
+ cd "${srcdir}/build-python3"
+ make DESTDIR="${pkgdir}" install
+
+ rm -rf "${pkgdir}/usr/share"
+ rm -rf "${pkgdir}/usr/include"
+ rm -rf "${pkgdir}/usr/lib/pkgconfig"
+}
+
+package_python2-dbus() {
+ depends=('python-dbus-common' 'python2' 'dbus-core')
+ optdepends=('dbus-glib: glib mainloop support')
+ pkgdesc="Python 2.7 bindings for DBUS"
+ replaces=('dbus-python')
+ conflicts=('dbus-python')
+ provides=("dbus-python=$pkgver")
+
+ cd "${srcdir}/build-python2"
+ make DESTDIR="${pkgdir}" install
+
+ rm -rf "${pkgdir}/usr/share"
+ rm -rf "${pkgdir}/usr/include"
+ rm -rf "${pkgdir}/usr/lib/pkgconfig"
+}
diff --git a/staging/kdebase-workspace/PKGBUILD b/staging/kdebase-workspace/PKGBUILD
index bab0e357a..6fde6ac6b 100644
--- a/staging/kdebase-workspace/PKGBUILD
+++ b/staging/kdebase-workspace/PKGBUILD
@@ -1,24 +1,24 @@
-# $Id: PKGBUILD 161959 2012-06-17 08:29:22Z andrea $
+# $Id: PKGBUILD 168620 2012-10-13 14:47:43Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=kdebase-workspace
_pkgname=kde-workspace
-pkgver=4.8.4
-pkgrel=2
-pkgdesc="KDE Base Workspace"
+pkgver=4.9.2
+pkgrel=5
+pkgdesc="Provides the interface and basic tools for the KDE workspace"
arch=('i686' 'x86_64')
-url='http://www.kde.org'
+url='https://projects.kde.org/projects/kde/kde-workspace'
license=('GPL' 'LGPL' 'FDL')
groups=('kde')
# note on libxdamage:
# not detected by namcap because libgl depends on it
# but nvidia providing libgl does not depend on libxdamage
depends=('kdepim-runtime' 'lm_sensors' 'libraw1394' 'libqalculate'
- 'qimageblitz' 'polkit-kde' 'consolekit' 'xorg-xprop' 'libxdamage'
+ 'qimageblitz' 'polkit-kde' 'xorg-xprop' 'libxdamage'
'libxklavier' 'xorg-xsetroot' 'libxcomposite' 'libxinerama'
- 'xorg-xrdb' 'libgles' 'libegl' 'kactivities' 'libxres' 'libxtst'
- 'xorg-xrandr' 'xorg-xmessage' 'libusb-compat')
+ 'xorg-xrdb' 'libgles' 'libegl' 'libxres' 'xorg-xrandr'
+ 'xorg-xmessage' 'libusb-compat' 'kde-base-artwork')
makedepends=('cmake' 'automoc4' 'boost' 'kdebindings-python2' 'networkmanager')
optdepends=('kde-wallpapers: wallpapers for KDE Plasma Workspaces')
install="${pkgname}.install"
@@ -29,24 +29,37 @@ backup=('usr/share/config/kdm/kdmrc'
options=('emptydirs')
source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz"
'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam' 'kdm.service'
- 'fixpath.patch' 'terminate-server.patch' 'kdm-xinitrd.patch')
-sha1sums=('a732ceacf34dfb79c8ab243f17cd5a70b9183212'
+ 'fixpath.patch' 'terminate-server.patch' 'kdm-xinitrd.patch'
+ 'kdm.logrotate'
+ 'logind-support.patch')
+sha1sums=('091bec159d85db2a9a6d6b1b43a53183c23de488'
'5db3a245201bd4a50e65aa2ef583cf5490e4f646'
- '712a90999bd429883dcef5dcaf288aace332ced8'
- 'b321b5e613b60231330e606fdf1e124646148388'
+ '660eae40a707d2711d8d7f32a93214865506b795'
+ 'b7980f2e199963caf8e92b499042d244ece2fca0'
'106635aa1aae51d6f0668b1853f6c49a4fe9d3d8'
- '758203a76b58d62786a1013f6f8682e48844138a'
+ 'b6f8e8692737b11eec1f8022ce74b5b23e247b1b'
'd7b5883f7e65c6839b1f65f94d58026673dd0226'
'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee'
- 'd509dac592bd8b310df27991b208c95b6d907514')
+ 'd509dac592bd8b310df27991b208c95b6d907514'
+ 'bbe55f2000217474ce7246f12ee437ceaaf7e9ae'
+ 'ccde71c42e19feaf40d3bd76e7396a0cb6df012f')
build() {
- cd "${srcdir}"/${_pkgname}-${pkgver}
+ cd ${_pkgname}-${pkgver}
+
+ # FS#26120
patch -p1 -i "${srcdir}"/kdm-xinitrd.patch
+
patch -p0 -i "${srcdir}"/fixpath.patch
+
+ # KDEBUG#202629
patch -p0 -i "${srcdir}"/terminate-server.patch
-
- cd "${srcdir}"
+
+ # KDEBUG#307412 (fixed upstream)
+ patch -p1 -i "${srcdir}"/logind-support.patch
+
+ cd ../
+
mkdir build
cd build
cmake ../${_pkgname}-${pkgver} \
@@ -56,14 +69,13 @@ build() {
-DWITH_Xmms=OFF \
-DWITH_Googlegadgets=OFF \
-DWITH_libgps=OFF \
- -DWITH_OpenGLES=ON \
- -DKWIN_BUILD_WITH_OPENGLES=ON \
- -DPYTHON_EXECUTABLE=/usr/bin/python2
+ -DPYTHON_EXECUTABLE=/usr/bin/python2 \
+ -DWITH_CkConnector=OFF
make
}
package() {
- cd "${srcdir}"/build
+ cd build
make DESTDIR="${pkgdir}" install
install -D -m644 "${srcdir}"/kde.pam "${pkgdir}"/etc/pam.d/kde
@@ -76,7 +88,8 @@ package() {
install -d -m755 "${pkgdir}"/etc/kde/{env,shutdown}
install -d -g 135 -o 135 "${pkgdir}"/var/lib/kdm
- install -D -m755 "${srcdir}"/kdm "${pkgdir}"/etc/rc.d/kdm
- install -Dm644 "${srcdir}"/kdm.service \
+ install -D -m755 "${srcdir}"/kdm "${pkgdir}"/etc/rc.d/kdm
+ install -D -m644 "${srcdir}"/kdm.service \
"${pkgdir}"/usr/lib/systemd/system/kdm.service
+ install -Dm644 "${srcdir}"/kdm.logrotate "${pkgdir}"/etc/logrotate.d/kdm
}
diff --git a/staging/kdebase-workspace/kde-np.pam b/staging/kdebase-workspace/kde-np.pam
index 7d60cc35c..eccaa08f4 100644
--- a/staging/kdebase-workspace/kde-np.pam
+++ b/staging/kdebase-workspace/kde-np.pam
@@ -1,9 +1,12 @@
#%PAM-1.0
-auth required pam_nologin.so
-auth required pam_permit.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 optional pam_systemd.so
+auth required pam_tally.so onerr=succeed file=/var/log/faillog
+auth required pam_shells.so
+auth requisite pam_nologin.so
+auth required pam_env.so
+auth optional pam_permit.s
+
+account include system-login
+
+password include system-login
+
+session include system-login
diff --git a/staging/kdebase-workspace/kde.pam b/staging/kdebase-workspace/kde.pam
index ec1d8277f..a0a29483d 100644
--- a/staging/kdebase-workspace/kde.pam
+++ b/staging/kdebase-workspace/kde.pam
@@ -1,9 +1,8 @@
#%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 optional pam_systemd.so
+auth include system-login
+
+account include system-login
+
+password include system-login
+
+session include system-login
diff --git a/staging/kdebase-workspace/kdm.logrotate b/staging/kdebase-workspace/kdm.logrotate
new file mode 100644
index 000000000..34331feae
--- /dev/null
+++ b/staging/kdebase-workspace/kdm.logrotate
@@ -0,0 +1,6 @@
+/var/log/kdm.log {
+ maxage 365
+ size=+1024k
+ notifempty
+ missingok
+}
diff --git a/staging/kdebase-workspace/kdm.service b/staging/kdebase-workspace/kdm.service
index 15ff75ff2..c57aba920 100644
--- a/staging/kdebase-workspace/kdm.service
+++ b/staging/kdebase-workspace/kdm.service
@@ -6,4 +6,4 @@ After=systemd-user-sessions.service
ExecStart=/usr/bin/kdm -nodaemon
[Install]
-WantedBy=graphical.target
+Alias=display-manager.service
diff --git a/staging/kdebase-workspace/logind-support.patch b/staging/kdebase-workspace/logind-support.patch
new file mode 100644
index 000000000..9de205400
--- /dev/null
+++ b/staging/kdebase-workspace/logind-support.patch
@@ -0,0 +1,66 @@
+From: Lukas Tinkl <lukas@kde.org>
+Date: Fri, 05 Oct 2012 09:57:13 +0000
+Subject: store the filedescriptor in a member variable
+X-Git-Url: http://quickgit.kde.org/?p=kde-workspace.git&amp;a=commitdiff&amp;h=a18b78d7da8cb8d627ad2e85f666bfcf1a2721e1
+---
+store the filedescriptor in a member variable
+
+make systemd-inhibit work as intended, PowerDevil now handles
+power/sleep/lid buttons as intended
+
+BUG: 307412
+---
+
+
+--- a/powerdevil/daemon/powerdevilpolicyagent.cpp
++++ b/powerdevil/daemon/powerdevilpolicyagent.cpp
+@@ -29,7 +29,6 @@
+ #include <QtDBus/QDBusPendingReply>
+ #include <QtDBus/QDBusConnectionInterface>
+ #include <QtDBus/QDBusServiceWatcher>
+-#include <QtDBus/QDBusUnixFileDescriptor>
+
+ #include <KGlobal>
+ #include <KDebug>
+@@ -225,6 +224,9 @@
+ onActiveSessionChanged(m_activeSessionPath);
+
+ // inhibit systemd handling of power/sleep/lid buttons
++ // http://www.freedesktop.org/wiki/Software/systemd/inhibit
++ kDebug() << "fd passing available:" << bool(managerIface.connection().connectionCapabilities() & QDBusConnection::UnixFileDescriptorPassing);
++
+ QVariantList args;
+ args << "handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch"; // what
+ args << "PowerDevil"; // who
+@@ -232,8 +234,9 @@
+ args << "block"; // mode
+ QDBusPendingReply<QDBusUnixFileDescriptor> desc = managerIface.asyncCallWithArgumentList("Inhibit", args);
+ desc.waitForFinished();
+- if (desc.isValid() && desc.value().isValid()) {
+- kDebug() << "systemd powersave events handling inhibited";
++ if (desc.isValid()) {
++ m_systemdInhibitFd = desc.value();
++ kDebug() << "systemd powersave events handling inhibited, descriptor:" << m_systemdInhibitFd.fileDescriptor();
+ }
+ else
+ kWarning() << "failed to inhibit systemd powersave handling";
+
+--- a/powerdevil/daemon/powerdevilpolicyagent.h
++++ b/powerdevil/daemon/powerdevilpolicyagent.h
+@@ -27,6 +27,7 @@
+ #include <QtCore/QWeakPointer>
+
+ #include <QtDBus/QDBusContext>
++#include <QtDBus/QDBusUnixFileDescriptor>
+
+ #include <kdemacros.h>
+
+@@ -108,6 +109,7 @@
+ QString m_activeSessionPath;
+ QWeakPointer< QDBusInterface > m_sdSessionInterface;
+ QWeakPointer< QDBusInterface > m_sdSeatInterface;
++ QDBusUnixFileDescriptor m_systemdInhibitFd;
+
+ // ConsoleKit support
+ bool m_ckAvailable;
+
diff --git a/staging/konversation/PKGBUILD b/staging/konversation/PKGBUILD
index e491f6801..ee8a55574 100644
--- a/staging/konversation/PKGBUILD
+++ b/staging/konversation/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 167386 2012-10-01 19:44:28Z stephane $
+# $Id: PKGBUILD 168681 2012-10-14 00:39:34Z stephane $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: James Rayner <iphitus@gmail.com>
@@ -6,12 +6,13 @@
pkgname=konversation
pkgver=1.4
-pkgrel=2
+pkgrel=3
pkgdesc="A user friendly IRC client for KDE"
arch=('i686' 'x86_64')
url="http://konversation.kde.org"
-depends=('kdebase-runtime' 'kdepimlibs' 'python')
+depends=('kdebase-runtime' 'kdepimlibs')
makedepends=('automoc4' 'cmake' 'pkgconfig' 'docbook-xml')
+optdepends=('python: python scripting support')
license=('GPL2' 'FDL')
install=${pkgname}.install
options=('!makeflags')
@@ -34,7 +35,7 @@ package() {
make DESTDIR="${pkgdir}" install
# Remove a bunch of symlinks pointing to non-existant files
- for lang in pt_BR uk sv et de en nl; do
- rm "${pkgdir}"/usr/share/doc/kde/html/${lang}/konversation/common
+ for _lang in pt_BR uk sv et de en nl; do
+ rm "${pkgdir}"/usr/share/doc/kde/html/${_lang}/konversation/common
done
}
diff --git a/staging/pycrypto/PKGBUILD b/staging/pycrypto/PKGBUILD
new file mode 100644
index 000000000..d4987b4b3
--- /dev/null
+++ b/staging/pycrypto/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 168667 2012-10-13 21:58:25Z eric $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Kritoke <kritoke@gamebox.net>
+
+pkgbase=pycrypto
+pkgname=('python2-crypto' 'python-crypto')
+pkgver=2.6
+pkgrel=3
+arch=('i686' 'x86_64')
+makedepends=('python2' 'python')
+url="http://www.dlitz.net/software/pycrypto/"
+license=('custom')
+source=("http://ftp.dlitz.net/pub/dlitz/crypto/${pkgbase}/${pkgbase}-${pkgver}.tar.gz")
+sha256sums=('7293c9d7e8af2e44a82f86eb9c3b058880f4bcc884bf3ad6c8a34b64986edde8')
+
+build() {
+ cd "${srcdir}"
+ find ${pkgbase}-${pkgver}/LEGAL -type f -exec chmod 644 {} \;
+ find ${pkgbase}-${pkgver}/LEGAL -type d -exec chmod 755 {} \;
+
+ cp -r ${pkgbase}-${pkgver} ${pkgbase}-${pkgver}-py3
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ python2 setup.py build
+
+ cd "${srcdir}/${pkgbase}-${pkgver}-py3"
+ python setup.py build
+}
+
+package_python2-crypto() {
+ pkgdesc="Collection of cryptographic algorithms and protocols, implemented for use from Python 2."
+ depends=('python2')
+ replaces=('pycrypto')
+ conflicts=('pycrypto')
+ provides=("pycrypto=${pkgver}")
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ python2 setup.py install --root="${pkgdir}" --optimize=1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/"
+ cp -r LEGAL "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
+
+package_python-crypto() {
+ pkgdesc="Collection of cryptographic algorithms and protocols, implemented for use from Python 3."
+ depends=('python')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}-py3"
+ python setup.py install --root="${pkgdir}" --optimize=1
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/"
+ cp -r LEGAL "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/staging/pyopenssl/PKGBUILD b/staging/pyopenssl/PKGBUILD
new file mode 100644
index 000000000..12bf75be8
--- /dev/null
+++ b/staging/pyopenssl/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 168651 2012-10-13 20:29:33Z eric $
+# Maintainer : Ionut Biru<ibiru@archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgbase=pyopenssl
+pkgname=('python-pyopenssl' 'python2-pyopenssl')
+pkgver=0.13
+pkgrel=2
+arch=('i686' 'x86_64')
+url="http://pypi.python.org/pypi/pyOpenSSL"
+license=('LGPL2.1')
+makedepends=('python' 'python2' 'openssl')
+source=(http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-${pkgver}.tar.gz)
+md5sums=('767bca18a71178ca353dff9e10941929')
+
+build() {
+ cd "${srcdir}"
+ cp -a "pyOpenSSL-${pkgver}"{,-python2}
+
+ #build python 3 module
+ cd "pyOpenSSL-${pkgver}"
+ python setup.py build
+
+ #build python 2 module
+ cd ../"pyOpenSSL-${pkgver}-python2"
+ python2 setup.py build
+}
+
+package_python-pyopenssl(){
+ pkgdesc="Python3 wrapper module around the OpenSSL library"
+ depends=('python>=3.3' 'openssl')
+ replaces=('pyopenssl')
+ provides=('pyopenssl')
+ conflicts=('pyopenssl')
+
+ cd "${srcdir}/pyOpenSSL-${pkgver}"
+ python setup.py install --root "${pkgdir}" --optimize=1
+}
+
+package_python2-pyopenssl(){
+ pkgdesc="Python2 wrapper module around the OpenSSL library"
+ depends=('python2>=2.7' 'openssl')
+
+ cd "${srcdir}/pyOpenSSL-${pkgver}-python2"
+ python2 setup.py install --root "${pkgdir}" --optimize=1
+}
diff --git a/staging/python-egenix-mx-base/PKGBUILD b/staging/python-egenix-mx-base/PKGBUILD
new file mode 100644
index 000000000..f48fd8fb8
--- /dev/null
+++ b/staging/python-egenix-mx-base/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 168671 2012-10-13 23:05:54Z stephane $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
+
+pkgbase=python-egenix-mx-base
+pkgname=('python2-egenix-mx-base')
+_origname=egenix-mx-base
+pkgver=3.2.4
+pkgrel=2
+pkgdesc="A collection of Python tools"
+arch=('i686' 'x86_64')
+license=('custom')
+url="http://www.egenix.com/products/python/mxBase/"
+makedepends=('python2')
+source=("http://downloads.egenix.com/python/${_origname}-${pkgver}.tar.gz")
+sha1sums=('22d7fcbd582177f9a43245eadc3644f3b48cc9a7')
+
+build() {
+ cd "${srcdir}/${_origname}-${pkgver}"
+
+ find . -name \*.py -exec sed -i -e "s|^#!.*python|#!/usr/bin/python2|" {} \;
+
+ python2 setup.py build
+}
+
+package_python2-egenix-mx-base() {
+ depends=('python2>=2.7')
+ cd "${srcdir}/${_origname}-${pkgver}"
+ python2 setup.py install --root="${pkgdir}" --skip-build --optimize=1
+ install -D -m644 COPYRIGHT "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/staging/python-markupsafe/PKGBUILD b/staging/python-markupsafe/PKGBUILD
new file mode 100644
index 000000000..0ead0adad
--- /dev/null
+++ b/staging/python-markupsafe/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 168655 2012-10-13 20:45:16Z eric $
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Alex Anthony <alex.anthony28991@gmail.com>
+
+pkgname=('python-markupsafe' 'python2-markupsafe')
+pkgver=0.15
+pkgrel=2
+pkgdesc="Implements a XML/HTML/XHTML Markup safe string for Python"
+arch=('i686' 'x86_64')
+url="http://pypi.python.org/pypi/MarkupSafe"
+license=('custom')
+makedepends=('python-distribute' 'python2-distribute')
+source=("http://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-${pkgver}.tar.gz")
+md5sums=('4e7c4d965fe5e033fa2d7bb7746bb186')
+
+build() {
+ cp -r MarkupSafe-${pkgver} python2-MarkupSafe-${pkgver}
+ cd "${srcdir}/MarkupSafe-${pkgver}"
+ python setup.py build
+
+ cd "${srcdir}/python2-MarkupSafe-${pkgver}"
+ python2 setup.py build
+}
+
+package_python-markupsafe() {
+ depends=('python')
+
+ cd "${srcdir}/MarkupSafe-${pkgver}"
+ python setup.py install --root="${pkgdir}" --optimize=1
+
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/python-markupsafe/LICENSE"
+}
+
+package_python2-markupsafe() {
+ depends=('python2')
+
+ cd "${srcdir}/python2-MarkupSafe-${pkgver}"
+ python2 setup.py install --root="${pkgdir}" --optimize=1
+
+ install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/python2-markupsafe/LICENSE"
+}
diff --git a/staging/xfce4-session/PKGBUILD b/staging/xfce4-session/PKGBUILD
new file mode 100644
index 000000000..11ff3e201
--- /dev/null
+++ b/staging/xfce4-session/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 168641 2012-10-13 17:34:14Z foutrelis $
+# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
+# Contributor: tobias <tobias funnychar archlinux.org>
+
+pkgname=xfce4-session
+pkgver=4.10.0
+pkgrel=4
+pkgdesc="A session manager for Xfce"
+arch=('i686' 'x86_64')
+url="http://www.xfce.org/"
+license=('GPL2')
+groups=('xfce4')
+depends=('libxfce4ui' 'libwnck' 'libsm' 'xorg-iceauth' 'upower' 'xorg-xinit'
+ 'hicolor-icon-theme')
+makedepends=('intltool')
+optdepends=('gnome-keyring: for keyring support when GNOME compatibility is enabled'
+ 'xscreensaver: for locking screen with xflock4'
+ 'gnome-screensaver: for locking screen with xflock4'
+ 'xlockmore: for locking screen with xflock4')
+replaces=('xfce-utils')
+options=('!libtool')
+install=$pkgname.install
+source=(http://archive.xfce.org/src/xfce/$pkgname/4.10/$pkgname-$pkgver.tar.bz2)
+sha256sums=('bb8aa9a74c3d382840596fb4875144d66c7f3f47c8e9ee81d31e3428a72c46ce')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/xfce4 \
+ --localstatedir=/var \
+ --disable-static \
+ --enable-libgnome-keyring \
+ --disable-debug
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/staging/xfce4-session/xfce4-session.install b/staging/xfce4-session/xfce4-session.install
new file mode 100644
index 000000000..e4f8fd06c
--- /dev/null
+++ b/staging/xfce4-session/xfce4-session.install
@@ -0,0 +1,13 @@
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/staging/xorg-xdm/PKGBUILD b/staging/xorg-xdm/PKGBUILD
new file mode 100644
index 000000000..6da8b604c
--- /dev/null
+++ b/staging/xorg-xdm/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 168625 2012-10-13 15:55:26Z andyrtr $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+pkgname=xorg-xdm
+pkgver=1.1.11
+pkgrel=4
+pkgdesc="X Display Manager"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('pam' 'libxaw' 'libxinerama' 'xorg-xrdb' 'xorg-sessreg' 'libxft' 'systemd')
+makedepends=('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=(${url}/releases/individual/app/xdm-${pkgver}.tar.bz2
+ Xsession-loginshell.patch
+ Xsession-xsm.patch
+ xdm-1.0.5-sessreg-utmp-fix-bug177890.patch
+ xdm.pam
+ git_fixes.diff)
+sha256sums=('d4da426ddea0124279a3f2e00a26db61944690628ee818a64df9d27352081c47'
+ 'fd3e7c20837b42a8ab111369fd6dc9612f9edb91c1f6904cca1d6a1fa3cfa0ff'
+ '77a1ce9bdf363591b72798db08b4df3589bd4e64737fd32cf9028f9245450edb'
+ '5f380a2d6f77feb910d77f7f6843fce9b00ff7610c159fc029ee44cc6c23a48a'
+ '7d6818a1c1a44e9bd38774c035e03b0b831f6646681bc2bf556761aec7baf418'
+ '781b5577bb070220d018a11832d0d4a65fd16e130730ba26fb055c3aa68156b2')
+
+build() {
+ cd "${srcdir}/xdm-${pkgver}"
+ # upstream commits - Add some missing malloc failure checks 2012-01-07
+ patch -Np1 -i "${srcdir}/git_fixes.diff"
+
+ 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"
+
+ autoreconf -fi
+ ./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 "${srcdir}/xdm-${pkgver}"
+ 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/staging/xorg-xdm/Xsession-loginshell.patch b/staging/xorg-xdm/Xsession-loginshell.patch
new file mode 100644
index 000000000..3710752ef
--- /dev/null
+++ b/staging/xorg-xdm/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/staging/xorg-xdm/Xsession-xsm.patch b/staging/xorg-xdm/Xsession-xsm.patch
new file mode 100644
index 000000000..a2d4d6cc6
--- /dev/null
+++ b/staging/xorg-xdm/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/staging/xorg-xdm/git_fixes.diff b/staging/xorg-xdm/git_fixes.diff
new file mode 100644
index 000000000..69836d488
--- /dev/null
+++ b/staging/xorg-xdm/git_fixes.diff
@@ -0,0 +1,673 @@
+From 011a2710a69cd345a8ee3a6b2f15407b4c3b355a Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Sun, 25 Sep 2011 07:56:15 +0000
+Subject: Require xt >= 1.0 for appdefaultdir
+
+https://bugs.freedesktop.org/show_bug.cgi?id=7237
+
+Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+---
+diff --git a/configure.ac b/configure.ac
+index b488f0c..a4222f1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -383,7 +383,7 @@ PKG_CHECK_MODULES(AUTH, xau)
+ # Greeter
+ #
+
+-PKG_CHECK_MODULES(XDMGREET, xt x11 xext)
++PKG_CHECK_MODULES(XDMGREET, xt >= 1.0 x11 xext)
+
+ GREETERLIB="${XDMLIBDIR}/libXdmGreet.so"
+ AX_DEFINE_DIR(DEF_GREETER_LIB, GREETERLIB, [Location of Xdm Greeter library])
+--
+cgit v0.9.0.2-2-gbebe
+From 618039261b0c7f14eb3b32c8f636464369724407 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Wed, 21 Sep 2011 02:11:20 +0000
+Subject: Mark some chars as const to fix gcc -Wwrite-strings warnings
+
+Can't fix all the warnings, due to the Xt API, but can fix a bunch.
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+---
+diff --git a/greeter/greet.c b/greeter/greet.c
+index 539ce17..82e2c21 100644
+--- a/greeter/greet.c
++++ b/greeter/greet.c
+@@ -110,9 +110,9 @@ void (*__xdm_SessionExit)(struct display *d, int status, int removeAuth) = NU
+ void (*__xdm_DeleteXloginResources)(struct display *d, Display *dpy) = NULL;
+ int (*__xdm_source)(char **environ, char *file) = NULL;
+ char **(*__xdm_defaultEnv)(void) = NULL;
+-char **(*__xdm_setEnv)(char **e, char *name, char *value) = NULL;
++char **(*__xdm_setEnv)(char **e, const char *name, const char *value) = NULL;
+ char **(*__xdm_putEnv)(const char *string, char **env) = NULL;
+-char **(*__xdm_parseArgs)(char **argv, char *string) = NULL;
++char **(*__xdm_parseArgs)(char **argv, const char *string) = NULL;
+ void (*__xdm_printEnv)(char **e) = NULL;
+ char **(*__xdm_systemEnv)(struct display *d, char *user, char *home) = NULL;
+ void (*__xdm_LogOutOfMem)(const char * fmt, ...) = NULL;
+diff --git a/greeter/verify.c b/greeter/verify.c
+index ea62cd2..5d2ad17 100644
+--- a/greeter/verify.c
++++ b/greeter/verify.c
+@@ -61,7 +61,7 @@ from The Open Group.
+ extern char *crypt(const char *, const char *);
+ #endif
+
+-static char *envvars[] = {
++static const char *envvars[] = {
+ "TZ", /* SYSV and SVR4, but never hurts */
+ #if defined(sony) && !defined(SYSTYPE_SYSV) && !defined(_SYSTYPE_SYSV)
+ "bootdev",
+@@ -94,8 +94,8 @@ static char **
+ userEnv (struct display *d, int useSystemPath, char *user, char *home, char *shell)
+ {
+ char **env;
+- char **envvar;
+- char *str;
++ const char **envvar;
++ const char *str;
+
+ env = defaultEnv ();
+ env = setEnv (env, "DISPLAY", d->name);
+diff --git a/include/dm.h b/include/dm.h
+index 316dd46..4085cae 100644
+--- a/include/dm.h
++++ b/include/dm.h
+@@ -443,7 +443,7 @@ extern void UnsecureDisplay (struct display *d, Display *dpy);
+ extern void execute(char **argv, char **environ);
+
+ /* server.c */
+-extern char *_SysErrorMsg (int n);
++extern const char *_SysErrorMsg (int n);
+ extern int StartServer (struct display *d);
+ extern int WaitForServer (struct display *d);
+ extern void ResetServer (struct display *d);
+@@ -462,10 +462,10 @@ extern int Asprintf(char ** ret, const char *restrict format, ...)
+ _X_ATTRIBUTE_PRINTF(2,3);
+ # endif
+ extern char *localHostname (void);
+-extern char **parseArgs (char **argv, char *string);
+-extern char **setEnv (char **e, char *name, char *value);
++extern char **parseArgs (char **argv, const char *string);
++extern char **setEnv (char **e, const char *name, const char *value);
+ extern char **putEnv(const char *string, char **env);
+-extern char *getEnv (char **e, char *name);
++extern char *getEnv (char **e, const char *name);
+ extern void CleanUpChild (void);
+ extern void freeArgs (char **argv);
+ extern void freeEnv (char **env);
+@@ -478,7 +478,7 @@ extern int Verify (struct display *d, struct greet_info *greet, struct verify_in
+ extern char *NetworkAddressToHostname (CARD16 connectionType, ARRAY8Ptr connectionAddress);
+ extern int AnyWellKnownSockets (void);
+ extern void DestroyWellKnownSockets (void);
+-extern void SendFailed (struct display *d, char *reason);
++extern void SendFailed (struct display *d, const char *reason);
+ extern void StopDisplay (struct display *d);
+ extern void WaitForChild (void);
+ extern void WaitForSomething (void);
+diff --git a/include/greet.h b/include/greet.h
+index 6b6689e..0d607ba 100644
+--- a/include/greet.h
++++ b/include/greet.h
+@@ -65,9 +65,9 @@ struct dlfuncs {
+ void (*_DeleteXloginResources)(struct display *d, Display *dpy);
+ int (*_source)(char **environ, char *file);
+ char **(*_defaultEnv)(void);
+- char **(*_setEnv)(char **e, char *name, char *value);
++ char **(*_setEnv)(char **e, const char *name, const char *value);
+ char **(*_putEnv)(const char *string, char **env);
+- char **(*_parseArgs)(char **argv, char *string);
++ char **(*_parseArgs)(char **argv, const char *string);
+ void (*_printEnv)(char **e);
+ char **(*_systemEnv)(struct display *d, char *user, char *home);
+ void (*_LogOutOfMem)(const char * fmt, ...);
+@@ -149,9 +149,9 @@ extern void (*__xdm_SessionExit)(struct display *d, int status, int removeAut
+ extern void (*__xdm_DeleteXloginResources)(struct display *d, Display *dpy);
+ extern int (*__xdm_source)(char **environ, char *file);
+ extern char **(*__xdm_defaultEnv)(void);
+-extern char **(*__xdm_setEnv)(char **e, char *name, char *value);
++extern char **(*__xdm_setEnv)(char **e, const char *name, const char *value);
+ extern char **(*__xdm_putEnv)(const char *string, char **env);
+-extern char **(*__xdm_parseArgs)(char **argv, char *string);
++extern char **(*__xdm_parseArgs)(char **argv, const char *string);
+ extern void (*__xdm_printEnv)(char **e);
+ extern char **(*__xdm_systemEnv)(struct display *d, char *user, char *home);
+ extern void (*__xdm_LogOutOfMem)(const char * fmt, ...);
+diff --git a/xdm/access.c b/xdm/access.c
+index d0850ad..7035375 100644
+--- a/xdm/access.c
++++ b/xdm/access.c
+@@ -667,7 +667,7 @@ scanHostlist (
+ /* Returns non-0 iff string is matched by pattern. Does case folding.
+ */
+ static int
+-patternMatch (char *string, char *pattern)
++patternMatch (const char *string, char *pattern)
+ {
+ int p, s;
+
+diff --git a/xdm/auth.c b/xdm/auth.c
+index bbca167..9e5cba2 100644
+--- a/xdm/auth.c
++++ b/xdm/auth.c
+@@ -116,7 +116,7 @@ int chown(int a,int b,int c) {}
+
+ struct AuthProtocol {
+ unsigned short name_length;
+- char *name;
++ const char *name;
+ void (*InitAuth)(unsigned short len, char *name);
+ Xauth *(*GetAuth)(unsigned short len, char *name);
+ void (*GetXdmcpAuth)(
+diff --git a/xdm/file.c b/xdm/file.c
+index 6e929b8..7b7f3d3 100644
+--- a/xdm/file.c
++++ b/xdm/file.c
+@@ -225,7 +225,7 @@ ParseDisplay (char *source, DisplayType *acceptableTypes, int numAcceptable)
+ }
+
+ static struct displayMatch {
+- char *name;
++ const char *name;
+ DisplayType type;
+ } displayTypes[] = {
+ { "local", { Local, Permanent, FromFile } },
+diff --git a/xdm/resource.c b/xdm/resource.c
+index ece4de3..83901a2 100644
+--- a/xdm/resource.c
++++ b/xdm/resource.c
+@@ -145,10 +145,10 @@ int choiceTimeout; /* chooser choice timeout */
+ #define DEF_UDP_PORT "177" /* registered XDMCP port, dont change */
+
+ struct dmResources {
+- char *name, *class;
+- int type;
+- char **dm_value;
+- char *default_value;
++ const char *name, *class;
++ int type;
++ char **dm_value;
++ const char *default_value;
+ } DmResources[] = {
+ { "servers", "Servers", DM_STRING, &servers,
+ DEF_SERVER_LINE} ,
+@@ -203,10 +203,10 @@ struct dmResources {
+ #define boffset(f) XtOffsetOf(struct display, f)
+
+ struct displayResource {
+- char *name, *class;
+- int type;
+- int offset;
+- char *default_value;
++ const char *name, *class;
++ int type;
++ int offset;
++ const char *default_value;
+ };
+
+ /* resources for managing the server */
+@@ -289,15 +289,16 @@ XrmDatabase DmResourceDB;
+
+ static void
+ GetResource (
+- char *name,
+- char *class,
+- int valueType,
+- char **valuep,
+- char *default_value)
++ const char *name,
++ const char *class,
++ int valueType,
++ char **valuep,
++ const char *default_value)
+ {
+ char *type;
+ XrmValue value;
+- char *string, *new_string;
++ const char *string;
++ char *new_string;
+ char str_buf[50];
+ int len;
+
+diff --git a/xdm/server.c b/xdm/server.c
+index 7fe55e6..1bb8873 100644
+--- a/xdm/server.c
++++ b/xdm/server.c
+@@ -62,9 +62,9 @@ CatchUsr1 (int n)
+ errno = olderrno;
+ }
+
+-char *_SysErrorMsg (int n)
++const char *_SysErrorMsg (int n)
+ {
+- char *s = strerror(n);
++ const char *s = strerror(n);
+ return (s ? s : "unknown error");
+ }
+
+diff --git a/xdm/util.c b/xdm/util.c
+index 033633a..60aab21 100644
+--- a/xdm/util.c
++++ b/xdm/util.c
+@@ -97,7 +97,7 @@ printEnv (char **e)
+ }
+
+ static char *
+-makeEnv (char *name, char *value)
++makeEnv (const char *name, const char *value)
+ {
+ char *result;
+
+@@ -111,7 +111,7 @@ makeEnv (char *name, char *value)
+ }
+
+ char *
+-getEnv (char **e, char *name)
++getEnv (char **e, const char *name)
+ {
+ int l = strlen (name);
+
+@@ -127,7 +127,7 @@ getEnv (char **e, char *name)
+ }
+
+ char **
+-setEnv (char **e, char *name, char *value)
++setEnv (char **e, const char *name, const char *value)
+ {
+ char **new, **old;
+ char *newe;
+@@ -207,9 +207,9 @@ freeEnv (char **env)
+ #define isblank(c) ((c) == ' ' || c == '\t')
+
+ char **
+-parseArgs (char **argv, char *string)
++parseArgs (char **argv, const char *string)
+ {
+- char *word;
++ const char *word;
+ char *save;
+ char **newargv;
+ int i;
+diff --git a/xdm/xdmauth.c b/xdm/xdmauth.c
+index 4b945cf..66804a4 100644
+--- a/xdm/xdmauth.c
++++ b/xdm/xdmauth.c
+@@ -44,7 +44,7 @@ static char auth_name[256];
+ static int auth_name_len;
+
+ static void
+-XdmPrintDataHex (char *s, char *a, int l)
++XdmPrintDataHex (const char *s, const char *a, int l)
+ {
+ int i;
+
+@@ -56,7 +56,7 @@ XdmPrintDataHex (char *s, char *a, int l)
+
+ # ifdef XDMCP
+ static void
+-XdmPrintArray8Hex (char *s, ARRAY8Ptr a)
++XdmPrintArray8Hex (const char *s, ARRAY8Ptr a)
+ {
+ XdmPrintDataHex (s, (char *) a->data, a->length);
+ }
+diff --git a/xdm/xdmcp.c b/xdm/xdmcp.c
+index 5bc4716..1c34e7c 100644
+--- a/xdm/xdmcp.c
++++ b/xdm/xdmcp.c
+@@ -74,7 +74,7 @@ static void request_respond (struct sockaddr *from, int fromlen, int length, int
+ static void send_accept (struct sockaddr *to, int tolen, CARD32 sessionID, ARRAY8Ptr authenticationName, ARRAY8Ptr authenticationData, ARRAY8Ptr authorizationName, ARRAY8Ptr authorizationData, int fd);
+ static void send_alive (struct sockaddr *from, int fromlen, int length, int fd);
+ static void send_decline (struct sockaddr *to, int tolen, ARRAY8Ptr authenticationName, ARRAY8Ptr authenticationData, ARRAY8Ptr status, int fd);
+-static void send_failed (struct sockaddr *from, int fromlen, char *name, CARD32 sessionID, char *reason, int fd);
++static void send_failed (struct sockaddr *from, int fromlen, const char *name, CARD32 sessionID, const char *reason, int fd);
+ static void send_refuse (struct sockaddr *from, int fromlen, CARD32 sessionID, int fd);
+ static void send_unwilling (struct sockaddr *from, int fromlen, ARRAY8Ptr authenticationName, ARRAY8Ptr status, int fd);
+ static void send_willing (struct sockaddr *from, int fromlen, ARRAY8Ptr authenticationName, ARRAY8Ptr status, int fd);
+@@ -1300,7 +1300,7 @@ abort:
+ void
+ SendFailed (
+ struct display *d,
+- char *reason)
++ const char *reason)
+ {
+ Debug ("Display start failed, sending Failed\n");
+ send_failed ((struct sockaddr *)(d->from), d->fromlen, d->name,
+@@ -1311,9 +1311,9 @@ static void
+ send_failed (
+ struct sockaddr *from,
+ int fromlen,
+- char *name,
++ const char *name,
+ CARD32 sessionID,
+- char *reason,
++ const char *reason,
+ int fd)
+ {
+ static char buf[256];
+@@ -1416,7 +1416,7 @@ NetworkAddressToHostname (
+ # else
+ char dotted[20];
+ # endif
+- char *local_name = "";
++ const char *local_name = "";
+ int af_type;
+
+ # if defined(IPv6) && defined(AF_INET6)
+--
+cgit v0.9.0.2-2-gbebe
+From c43eb799774743bc50233eff6643c51a5fbe6899 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Wed, 21 Sep 2011 02:22:48 +0000
+Subject: Fix warnings about printing longs with int type format strings
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+---
+diff --git a/xdm/dm.c b/xdm/dm.c
+index cd0ee25..7bc2605 100644
+--- a/xdm/dm.c
++++ b/xdm/dm.c
+@@ -536,7 +536,7 @@ WaitForChild (void)
+ time(&now);
+ crash = d->lastReserv &&
+ ((now - d->lastReserv) < XDM_BROKEN_INTERVAL);
+- Debug("time %i %i try %i of %i%s\n", now, d->lastReserv,
++ Debug("time %li %li try %i of %i%s\n", now, d->lastReserv,
+ d->reservTries, d->reservAttempts,
+ crash ? " crash" : "");
+
+diff --git a/xdm/xdmauth.c b/xdm/xdmauth.c
+index 66804a4..b3c1c16 100644
+--- a/xdm/xdmauth.c
++++ b/xdm/xdmauth.c
+@@ -234,7 +234,7 @@ XdmGetKey(struct protoDisplay *pdpy, ARRAY8Ptr displayID)
+ if (line[0] == '#' || sscanf (line, "%s %s", id, key) != 2)
+ continue;
+ bzero(line, sizeof(line));
+- Debug ("Key entry for \"%s\" %d bytes\n", id, strlen(key));
++ Debug ("Key entry for \"%s\" %ld bytes\n", id, strlen(key));
+ if (strlen (id) == displayID->length &&
+ !strncmp (id, (char *)displayID->data, displayID->length))
+ {
+--
+cgit v0.9.0.2-2-gbebe
+From 8eee942be0db913511b4c53f94829e1201dfdf00 Mon Sep 17 00:00:00 2001
+From: Michał Górny <mgorny@gentoo.org>
+Date: Wed, 28 Sep 2011 19:25:17 +0000
+Subject: Support systemd startup notification.
+
+If libsystemd-daemon support is enabled, xdm uses it to announce its
+startup as soon as the session is established. This gives the user
+opportunity to delay I/O-intensive operations until the X server is
+started so that they would not interfere with its loading while keeping
+the machine busy when user types in his/her login.
+
+Reviewed-by: Jamey Sharp <jamey@minilop.net>
+Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+---
+diff --git a/Makefile.am b/Makefile.am
+index e5f9f5c..bb6b51c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -43,8 +43,13 @@ endif LINT
+ if HAVE_SYSTEMD
+ systemdsystemunit_DATA = xdm.service
+
+-xdm.service: xdm.service.in
+- $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' < $< > $@
++xdm.service: xdm.service.in Makefile
++if USE_SYSTEMD_DAEMON
++ $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' < xdm.service.in > $@
++else !USE_SYSTEMD_DAEMON
++ $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' -e '/[Nn]otify/d' < xdm.service.in > $@
++endif !USE_SYSTEMD_DAEMON
++
+ endif HAVE_SYSTEMD
+ CLEANFILES = xdm.service
+ EXTRA_DIST = xdm.service.in
+diff --git a/configure.ac b/configure.ac
+index a4222f1..fcb37f8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -146,6 +146,7 @@ if test "x$USE_SELINUX" != "xno" ; then
+ fi
+
+ # Check whether to install systemd unit files, as suggested in daemon(7).
++# When a full path is specified, this does not require systemd installed.
+ AC_ARG_WITH([systemdsystemunitdir], AS_HELP_STRING([--with-systemdsystemunitdir=DIR],
+ [Directory for systemd service files (default from the System and Service Manager)]),,
+ [with_systemdsystemunitdir=auto])
+@@ -166,6 +167,21 @@ AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [
+ ])
+ AM_CONDITIONAL(HAVE_SYSTEMD, [test "x$with_systemdsystemunitdir" != "xno"])
+
++# Check whether to enable systemd startup notification.
++# This requires libsystemd-daemon.
++AC_ARG_WITH([systemd-daemon], AS_HELP_STRING([--with-systemd-daemon],
++ [Add support for systemd startup notification (default is autodetected)]),
++ [USE_SYSTEMD_DAEMON=$withval], [USE_SYSTEMD_DAEMON=auto])
++AS_IF([test "x$USE_SYSTEMD_DAEMON" != "xno"], [
++ PKG_CHECK_MODULES([SYSTEMD_DAEMON], [libsystemd-daemon],
++ [AC_DEFINE(USE_SYSTEMD_DAEMON,1,[Use systemd startup notification])],
++ [AS_IF([test "x$USE_SYSTEMD_DAEMON" = "xyes"],
++ [AC_MSG_ERROR([systemd startup notification support requested, but libsystemd-daemon not found.])]
++ )]
++ )
++])
++AM_CONDITIONAL(USE_SYSTEMD_DAEMON, [test "x$USE_SYSTEMD_DAEMON" != "xno"])
++
+ # FIXME: Find better test for which OS'es use su -m - for now, just try to
+ # mirror the Imakefile setting of:
+ # if defined(OpenBSDArchitecture) || defined(NetBSDArchitecture) || defined(FreeBSDArchitecture) || defined(DarwinArchitecture)
+diff --git a/xdm.service.in b/xdm.service.in
+index d15e072..e782dd9 100644
+--- a/xdm.service.in
++++ b/xdm.service.in
+@@ -4,6 +4,8 @@ After=systemd-user-sessions.service
+
+ [Service]
+ ExecStart=BINDIR/xdm -nodaemon
++Type=notify
++NotifyAccess=all
+
+ [Install]
+ Alias=graphical.target.wants/xdm.service
+diff --git a/xdm/Makefile.am b/xdm/Makefile.am
+index aa9765c..797b5c5 100644
+--- a/xdm/Makefile.am
++++ b/xdm/Makefile.am
+@@ -22,11 +22,11 @@
+ bin_PROGRAMS = xdm
+
+ AM_CPPFLAGS = -I$(top_srcdir)/include
+-AM_CFLAGS = $(CWARNFLAGS) $(XDM_CFLAGS)
++AM_CFLAGS = $(CWARNFLAGS) $(XDM_CFLAGS) $(SYSTEMD_DAEMON_CFLAGS)
+
+ # The xdm binary needs to export symbols so that they can be used from
+ # libXdmGreet.so loaded through a dlopen call from session.c
+-AM_LDFLAGS = $(XDM_LIBS) -export-dynamic
++AM_LDFLAGS = $(XDM_LIBS) $(SYSTEMD_DAEMON_LIBS) -export-dynamic
+
+ xdm_SOURCES = \
+ access.c \
+diff --git a/xdm/session.c b/xdm/session.c
+index 5fd47f0..573747d 100644
+--- a/xdm/session.c
++++ b/xdm/session.c
+@@ -81,6 +81,10 @@ extern int key_setnet(struct key_netstarg *arg);
+ # define RTLD_NOW 1
+ # endif
+
++#ifdef USE_SYSTEMD_DAEMON
++#include <systemd/sd-daemon.h>
++#endif
++
+ #ifdef USE_SELINUX
+ /* This should be run just before we exec the user session. */
+ static int
+@@ -349,6 +353,12 @@ ManageSession (struct display *d)
+ exit(UNMANAGE_DISPLAY);
+ }
+
++#ifdef USE_SYSTEMD_DAEMON
++ /* Subsequent notifications will be ignored by systemd
++ * and calling this function will clean up the env */
++ sd_notify(1, "READY=1");
++#endif
++
+ /* tell the possibly dynamically loaded greeter function
+ * what data structure formats to expect.
+ * These version numbers are registered with The Open Group. */
+--
+cgit v0.9.0.2-2-gbebe
+From 284532c0884893728b75ca37f5d2a9a33f7bc8db Mon Sep 17 00:00:00 2001
+From: Julien Cristau <jcristau@debian.org>
+Date: Sat, 22 Oct 2011 15:14:46 +0000
+Subject: greeter: link against -lXrender if xft is enabled
+
+XmuCvtStringToXftColor uses XRenderParseColor, so require xrender for
+the xft option, and link against it.
+
+Signed-off-by: Julien Cristau <jcristau@debian.org>
+Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+---
+diff --git a/configure.ac b/configure.ac
+index fcb37f8..d20ae28 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -345,10 +345,10 @@ AC_ARG_WITH(xft,
+ AS_HELP_STRING([--with-xft],
+ [Use Xft to draw text (default is YES if installed)]),
+ [USE_XFT="$withval"],
+- PKG_CHECK_EXISTS(xft, [USE_XFT="yes"], [USE_XFT="no"]))
++ PKG_CHECK_EXISTS(xft xrender, [USE_XFT="yes"], [USE_XFT="no"]))
+
+ if test "x$USE_XFT" = "xyes" ; then
+- PKG_CHECK_MODULES(XFT, xft)
++ PKG_CHECK_MODULES(XFT, xft xrender)
+ GREETER_CFLAGS="$GREETER_CFLAGS $XFT_CFLAGS"
+ GREETER_LIBS="$GREETER_LIBS $XFT_LIBS"
+ AC_DEFINE([USE_XFT], 1,
+diff --git a/greeter/Login.c b/greeter/Login.c
+index 99a3932..d899376 100644
+--- a/greeter/Login.c
++++ b/greeter/Login.c
+@@ -86,6 +86,10 @@ from The Open Group.
+ # include <X11/extensions/Xinerama.h>
+ #endif
+
++#ifdef USE_XFT
++# include <X11/extensions/Xrender.h>
++#endif
++
+ #ifndef DEBUG
+ # define XDM_ASSERT(a) /* do nothing */
+ #else
+--
+cgit v0.9.0.2-2-gbebe
+From a02edebf21aae37f8564d7b9fad01d5d2942ad8d Mon Sep 17 00:00:00 2001
+From: Matthieu Herrb <matthieu.herrb@laas.fr>
+Date: Mon, 07 Nov 2011 16:01:44 +0000
+Subject: Fix build outside of source dir. Fixes distcheck too.
+
+Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>
+Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+---
+diff --git a/Makefile.am b/Makefile.am
+index bb6b51c..e9da40f 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -45,9 +45,9 @@ systemdsystemunit_DATA = xdm.service
+
+ xdm.service: xdm.service.in Makefile
+ if USE_SYSTEMD_DAEMON
+- $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' < xdm.service.in > $@
++ $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' < ${srcdir}/xdm.service.in > $@
+ else !USE_SYSTEMD_DAEMON
+- $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' -e '/[Nn]otify/d' < xdm.service.in > $@
++ $(AM_V_GEN)$(SED) -e 's|BINDIR|$(bindir)|g' -e '/[Nn]otify/d' < ${srcdir}/xdm.service.in > $@
+ endif !USE_SYSTEMD_DAEMON
+
+ endif HAVE_SYSTEMD
+--
+cgit v0.9.0.2-2-gbebe
+From ad7a54288f62c0266540279dac775ebee68f092e Mon Sep 17 00:00:00 2001
+From: Matthieu Herrb <matthieu.herrb@laas.fr>
+Date: Thu, 15 Dec 2011 21:14:23 +0000
+Subject: replace <varargs.h> by <stdarg.h>. Spotted my Marco Peereboom with clang.
+
+Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
+Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>
+---
+diff --git a/greeter/verify.c b/greeter/verify.c
+index 5d2ad17..1221874 100644
+--- a/greeter/verify.c
++++ b/greeter/verify.c
+@@ -48,7 +48,7 @@ from The Open Group.
+ # include <errno.h>
+ #elif defined(USE_BSDAUTH)
+ # include <login_cap.h>
+-# include <varargs.h>
++# include <stdarg.h>
+ # include <bsd_auth.h>
+ #elif defined(USESECUREWARE)
+ # include <sys/types.h>
+--
+cgit v0.9.0.2-2-gbebe
+From 78403f6a7420798bf24798811c8c6b936c9ccb34 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sat, 07 Jan 2012 03:34:30 +0000
+Subject: Add some missing malloc failure checks
+
+Flagged by Solaris Studio 12.3 code analyzer
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+---
+diff --git a/xdm/access.c b/xdm/access.c
+index 7035375..b16a066 100644
+--- a/xdm/access.c
++++ b/xdm/access.c
+@@ -304,6 +304,11 @@ tryagain:
+ if (!hostOrAlias)
+ return NULL;
+ h = malloc (sizeof (DisplayEntry));
++ if (!h)
++ {
++ LogOutOfMem ("ReadHostEntry: DisplayEntry\n");
++ return NULL;
++ }
+ h->hopCount = 1;
+ if (*hostOrAlias == ALIAS_CHARACTER)
+ {
+@@ -423,6 +428,11 @@ tryagain:
+ if (!displayOrAlias)
+ return NULL;
+ d = malloc (sizeof (DisplayEntry));
++ if (!d)
++ {
++ LogOutOfMem ("ReadDisplayEntry: DisplayEntry\n");
++ return NULL;
++ }
+ d->notAllowed = 0;
+ d->notBroadcast = 0;
+ d->chooser = 0;
+diff --git a/xdm/choose.c b/xdm/choose.c
+index 6f077eb..e5e003d 100644
+--- a/xdm/choose.c
++++ b/xdm/choose.c
+@@ -128,6 +128,11 @@ RememberIndirectClient (
+ connectionType == i->connectionType)
+ return 1;
+ i = malloc (sizeof (IndirectUsersRec));
++ if (!i)
++ {
++ LogOutOfMem ("RememberIndirectClient\n");
++ return 0;
++ }
+ if (!XdmcpCopyARRAY8 (clientAddress, &i->client))
+ {
+ free (i);
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/staging/xorg-xdm/xdm-1.0.5-sessreg-utmp-fix-bug177890.patch b/staging/xorg-xdm/xdm-1.0.5-sessreg-utmp-fix-bug177890.patch
new file mode 100644
index 000000000..195858883
--- /dev/null
+++ b/staging/xorg-xdm/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/staging/xorg-xdm/xdm.pam b/staging/xorg-xdm/xdm.pam
new file mode 100644
index 000000000..a0b601db6
--- /dev/null
+++ b/staging/xorg-xdm/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