diff options
Diffstat (limited to 'staging')
-rw-r--r-- | staging/dbus-python/PKGBUILD | 66 | ||||
-rw-r--r-- | staging/kdebase-workspace/PKGBUILD | 59 | ||||
-rw-r--r-- | staging/kdebase-workspace/kde-np.pam | 19 | ||||
-rw-r--r-- | staging/kdebase-workspace/kde.pam | 15 | ||||
-rw-r--r-- | staging/kdebase-workspace/kdm.logrotate | 6 | ||||
-rw-r--r-- | staging/kdebase-workspace/kdm.service | 2 | ||||
-rw-r--r-- | staging/kdebase-workspace/logind-support.patch | 66 | ||||
-rw-r--r-- | staging/konversation/PKGBUILD | 11 | ||||
-rw-r--r-- | staging/pycrypto/PKGBUILD | 52 | ||||
-rw-r--r-- | staging/pyopenssl/PKGBUILD | 46 | ||||
-rw-r--r-- | staging/python-egenix-mx-base/PKGBUILD | 31 | ||||
-rw-r--r-- | staging/python-markupsafe/PKGBUILD | 41 | ||||
-rw-r--r-- | staging/xfce4-session/PKGBUILD | 44 | ||||
-rw-r--r-- | staging/xfce4-session/xfce4-session.install | 13 | ||||
-rw-r--r-- | staging/xorg-xdm/PKGBUILD | 60 | ||||
-rw-r--r-- | staging/xorg-xdm/Xsession-loginshell.patch | 15 | ||||
-rw-r--r-- | staging/xorg-xdm/Xsession-xsm.patch | 22 | ||||
-rw-r--r-- | staging/xorg-xdm/git_fixes.diff | 673 | ||||
-rw-r--r-- | staging/xorg-xdm/xdm-1.0.5-sessreg-utmp-fix-bug177890.patch | 8 | ||||
-rw-r--r-- | staging/xorg-xdm/xdm.pam | 10 |
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&a=commitdiff&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 |