Date: Wednesday, September 5, 2012 @ 14:09:21 Author: andrea Revision: 166197
archrelease: copy trunk to testing-i686 Added: kdebase-workspace/repos/testing-i686/PKGBUILD (from rev 166196, kdebase-workspace/trunk/PKGBUILD) kdebase-workspace/repos/testing-i686/fix-freeze.patch (from rev 166196, kdebase-workspace/trunk/fix-freeze.patch) kdebase-workspace/repos/testing-i686/fixpath.patch (from rev 166196, kdebase-workspace/trunk/fixpath.patch) kdebase-workspace/repos/testing-i686/kde-np.pam (from rev 166196, kdebase-workspace/trunk/kde-np.pam) kdebase-workspace/repos/testing-i686/kde.pam (from rev 166196, kdebase-workspace/trunk/kde.pam) kdebase-workspace/repos/testing-i686/kdebase-workspace.install (from rev 166196, kdebase-workspace/trunk/kdebase-workspace.install) kdebase-workspace/repos/testing-i686/kdm (from rev 166196, kdebase-workspace/trunk/kdm) kdebase-workspace/repos/testing-i686/kdm-xinitrd.patch (from rev 166196, kdebase-workspace/trunk/kdm-xinitrd.patch) kdebase-workspace/repos/testing-i686/kdm.service (from rev 166196, kdebase-workspace/trunk/kdm.service) kdebase-workspace/repos/testing-i686/kscreensaver.pam (from rev 166196, kdebase-workspace/trunk/kscreensaver.pam) kdebase-workspace/repos/testing-i686/terminate-server.patch (from rev 166196, kdebase-workspace/trunk/terminate-server.patch) Deleted: kdebase-workspace/repos/testing-i686/fix-freeze.patch ---------------------------+ PKGBUILD | 85 ++++++++++++++++++++++++++++++++++++++++++++ fix-freeze.patch | 81 ++++++++++++++++++++++++++++------------- fixpath.patch | 34 +++++++++++++++++ kde-np.pam | 9 ++++ kde.pam | 9 ++++ kdebase-workspace.install | 25 ++++++++++++ kdm | 36 ++++++++++++++++++ kdm-xinitrd.patch | 18 +++++++++ kdm.service | 9 ++++ kscreensaver.pam | 1 terminate-server.patch | 11 +++++ 11 files changed, 293 insertions(+), 25 deletions(-) Copied: kdebase-workspace/repos/testing-i686/PKGBUILD (from rev 166196, kdebase-workspace/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2012-09-05 18:09:21 UTC (rev 166197) @@ -0,0 +1,85 @@ +# $Id$ +# Maintainer: Andrea Scarpino <and...@archlinux.org> +# Contributor: Pierre Schmitz <pie...@archlinux.de> + +pkgname=kdebase-workspace +_pkgname=kde-workspace +pkgver=4.9.1 +pkgrel=3 +pkgdesc="Provides the interface and basic tools for the KDE workspace" +arch=('i686' 'x86_64') +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' + 'libxklavier' 'xorg-xsetroot' 'libxcomposite' 'libxinerama' + '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" +backup=('usr/share/config/kdm/kdmrc' + 'etc/pam.d/kde' + 'etc/pam.d/kde-np' + 'etc/pam.d/kscreensaver') +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' + 'fix-freeze.patch') +sha1sums=('ac1753e2264246ec6347961f44b0aae07072dbb4' + '5db3a245201bd4a50e65aa2ef583cf5490e4f646' + '712a90999bd429883dcef5dcaf288aace332ced8' + 'b321b5e613b60231330e606fdf1e124646148388' + '106635aa1aae51d6f0668b1853f6c49a4fe9d3d8' + 'b6f8e8692737b11eec1f8022ce74b5b23e247b1b' + 'd7b5883f7e65c6839b1f65f94d58026673dd0226' + 'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee' + 'd509dac592bd8b310df27991b208c95b6d907514' + '820135367cc577a8557061b9844d3ce4a5fde90f') + +build() { + cd "${srcdir}"/${_pkgname}-${pkgver} + patch -p1 -i "${srcdir}"/kdm-xinitrd.patch + patch -p0 -i "${srcdir}"/fixpath.patch + patch -p0 -i "${srcdir}"/terminate-server.patch + + # KDEBUG 306260 + patch -p1 -i "${srcdir}"/fix-freeze.patch + + cd "${srcdir}" + mkdir build + cd build + cmake ../${_pkgname}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DWITH_Xmms=OFF \ + -DWITH_Googlegadgets=OFF \ + -DWITH_libgps=OFF \ + -DPYTHON_EXECUTABLE=/usr/bin/python2 + make +} + +package() { + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install + + install -D -m644 "${srcdir}"/kde.pam "${pkgdir}"/etc/pam.d/kde + install -D -m644 "${srcdir}"/kde-np.pam "${pkgdir}"/etc/pam.d/kde-np + install -D -m644 "${srcdir}"/kscreensaver.pam "${pkgdir}"/etc/pam.d/kscreensaver + + install -d -m755 "${pkgdir}"/usr/share/xsessions/ + ln -sf /usr/share/apps/kdm/sessions/kde-plasma{,-safe}.desktop \ + "${pkgdir}"/usr/share/xsessions/ + 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 -D -m644 "${srcdir}"/kdm.service \ + "${pkgdir}"/usr/lib/systemd/system/kdm.service +} Deleted: fix-freeze.patch =================================================================== --- fix-freeze.patch 2012-09-05 18:05:10 UTC (rev 166196) +++ fix-freeze.patch 2012-09-05 18:09:21 UTC (rev 166197) @@ -1,25 +0,0 @@ -diff --git a/kwin/tabbox/clientmodel.cpp b/kwin/tabbox/clientmodel.cpp -index 9591bab..9790245 100644 ---- a/kwin/tabbox/clientmodel.cpp -+++ b/kwin/tabbox/clientmodel.cpp -@@ -195,6 +195,9 @@ void ClientModel::createClientList(int desktop, bool partialReset) - } - } - TabBoxClient* stop = c; -+ // test whether the Client marked as stop will be included at all in the list -+ // see BUG: 306260 -+ bool stopInFocusChain = !tabBox->clientToAddToList(c, desktop).isNull(); - do { - QWeakPointer<TabBoxClient> add = tabBox->clientToAddToList(c, desktop); - if (!add.isNull()) { -@@ -204,6 +207,10 @@ void ClientModel::createClientList(int desktop, bool partialReset) - } - } - c = tabBox->nextClientFocusChain(c).data(); -+ if (!stopInFocusChain) { -+ stop = c; -+ stopInFocusChain = true; -+ } - } while (c && c != stop); - break; - } Copied: kdebase-workspace/repos/testing-i686/fix-freeze.patch (from rev 166196, kdebase-workspace/trunk/fix-freeze.patch) =================================================================== --- fix-freeze.patch (rev 0) +++ fix-freeze.patch 2012-09-05 18:09:21 UTC (rev 166197) @@ -0,0 +1,56 @@ +diff --git a/kwin/tabbox/clientmodel.cpp b/kwin/tabbox/clientmodel.cpp +index 9591bab..a67d979 100644 +--- a/kwin/tabbox/clientmodel.cpp ++++ b/kwin/tabbox/clientmodel.cpp +@@ -188,7 +188,7 @@ void ClientModel::createClientList(int desktop, bool partialReset) + switch(tabBox->config().clientSwitchingMode()) { + case TabBoxConfig::FocusChainSwitching: { + TabBoxClient* c = start; +- if (!c) { ++ if (!tabBox->isInFocusChain(c)) { + QSharedPointer<TabBoxClient> firstClient = tabBox->firstClientFocusChain().toStrongRef(); + if (firstClient) { + c = firstClient.data(); +diff --git a/kwin/tabbox/tabbox.cpp b/kwin/tabbox/tabbox.cpp +index d96d0bd..7a08d37 100644 +--- a/kwin/tabbox/tabbox.cpp ++++ b/kwin/tabbox/tabbox.cpp +@@ -112,6 +112,14 @@ QWeakPointer< TabBoxClient > TabBoxHandlerImpl::firstClientFocusChain() const + } + } + ++bool TabBoxHandlerImpl::isInFocusChain(TabBoxClient *client) const ++{ ++ if (TabBoxClientImpl *c = static_cast<TabBoxClientImpl*>(client)) { ++ return Workspace::self()->globalFocusChain().contains(c->client()); ++ } ++ return false; ++} ++ + int TabBoxHandlerImpl::nextDesktopFocusChain(int desktop) const + { + return m_tabBox->nextDesktopFocusChain(desktop); +diff --git a/kwin/tabbox/tabbox.h b/kwin/tabbox/tabbox.h +index 6652f93..bba0b39 100644 +--- a/kwin/tabbox/tabbox.h ++++ b/kwin/tabbox/tabbox.h +@@ -52,6 +52,7 @@ public: + virtual QString desktopName(int desktop) const; + virtual QWeakPointer< TabBoxClient > nextClientFocusChain(TabBoxClient* client) const; + virtual QWeakPointer< TabBoxClient > firstClientFocusChain() const; ++ virtual bool isInFocusChain (TabBoxClient* client) const; + virtual int nextDesktopFocusChain(int desktop) const; + virtual int numberOfDesktops() const; + virtual TabBoxClientList stackingOrder() const; +diff --git a/kwin/tabbox/tabboxhandler.h b/kwin/tabbox/tabboxhandler.h +index 7abddfc..d9a6122 100644 +--- a/kwin/tabbox/tabboxhandler.h ++++ b/kwin/tabbox/tabboxhandler.h +@@ -119,6 +119,7 @@ public: + * @since 4.9.1 + **/ + virtual QWeakPointer<TabBoxClient> firstClientFocusChain() const = 0; ++ virtual bool isInFocusChain(TabBoxClient* client) const = 0; + /** + * @param client The client whose desktop name should be retrieved + * @return The desktop name of the given TabBoxClient. If the client is Copied: kdebase-workspace/repos/testing-i686/fixpath.patch (from rev 166196, kdebase-workspace/trunk/fixpath.patch) =================================================================== --- fixpath.patch (rev 0) +++ fixpath.patch 2012-09-05 18:09:21 UTC (rev 166197) @@ -0,0 +1,34 @@ +--- startkde.cmake.orig 2009-01-15 14:24:44.000000000 +0100 ++++ startkde.cmake 2009-01-15 14:33:08.000000000 +0100 +@@ -34,22 +34,6 @@ + MALLOC_CHECK_=2 + export MALLOC_CHECK_ + +-# in case we have been started with full pathname spec without being in PATH +-bindir=`echo "$0" | sed -n 's,^\(/.*\)/[^/][^/]*$,\1,p'` +-if [ -n "$bindir" ]; then +- qbindir=`$bindir/kde4-config --qt-binaries` +- if [ -n "$qbindir" ]; then +- case $PATH in +- $qbindir|$qbindir:*|*:$qbindir|*:$qbindir:*) ;; +- *) PATH=$qbindir:$PATH; export PATH;; +- esac +- fi +- case $PATH in +- $bindir|$bindir:*|*:$bindir|*:$bindir:*) ;; +- *) PATH=$bindir:$PATH; export PATH;; +- esac +-fi +- + # Boot sequence: + # + # kdeinit is used to fork off processes which improves memory usage +@@ -206,7 +190,7 @@ + # For anything else (that doesn't set env vars, or that needs a window manager), + # better use the Autostart folder. + +-libpath=`kde4-config --path lib | tr : '\n'` ++libpath=`kde4-config --path lib | tr : '\n'`$(echo -e '\n/etc/kde/lib/') + + for prefix in `echo "$libpath" | sed -n -e 's,/lib[^/]*/,/env/,p'`; do + for file in "$prefix"*.sh; do Copied: kdebase-workspace/repos/testing-i686/kde-np.pam (from rev 166196, kdebase-workspace/trunk/kde-np.pam) =================================================================== --- kde-np.pam (rev 0) +++ kde-np.pam 2012-09-05 18:09:21 UTC (rev 166197) @@ -0,0 +1,9 @@ +#%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 Copied: kdebase-workspace/repos/testing-i686/kde.pam (from rev 166196, kdebase-workspace/trunk/kde.pam) =================================================================== --- kde.pam (rev 0) +++ kde.pam 2012-09-05 18:09:21 UTC (rev 166197) @@ -0,0 +1,9 @@ +#%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 Copied: kdebase-workspace/repos/testing-i686/kdebase-workspace.install (from rev 166196, kdebase-workspace/trunk/kdebase-workspace.install) =================================================================== --- kdebase-workspace.install (rev 0) +++ kdebase-workspace.install 2012-09-05 18:09:21 UTC (rev 166197) @@ -0,0 +1,25 @@ +post_install() { + groupadd -g 135 kdm &>/dev/null + useradd -u 135 -g kdm -d /var/lib/kdm -s /bin/false -r -M kdm &>/dev/null + chown -R 135:135 var/lib/kdm &>/dev/null + xdg-icon-resource forceupdate --theme hicolor &>/dev/null + update-desktop-database -q +} + +post_upgrade() { + getent group kdm >/dev/null 2>&1 || groupadd -g 135 kdm &>/dev/null + getent passwd kdm >/dev/null 2>&1 || useradd -u 135 -g kdm -d /var/lib/kdm -s /bin/false -r -M kdm &>/dev/null + chown -R 135:135 var/lib/kdm &>/dev/null + xdg-icon-resource forceupdate --theme hicolor &> /dev/null + update-desktop-database -q +} + +post_remove() { + if getent passwd kdm >/dev/null 2>&1; then + userdel kdm + fi + if getent group kdm >/dev/null 2>&1; then + groupdel kdm + fi + xdg-icon-resource forceupdate --theme hicolor &> /dev/null +} Copied: kdebase-workspace/repos/testing-i686/kdm (from rev 166196, kdebase-workspace/trunk/kdm) =================================================================== --- kdm (rev 0) +++ kdm 2012-09-05 18:09:21 UTC (rev 166197) @@ -0,0 +1,36 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=$(pidof -o %PPID /usr/bin/kdm) +case "$1" in + start) + stat_busy "Starting KDE Desktop Manager" + [ -z "$PID" ] && /usr/bin/kdm &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon kdm + stat_done + fi + ;; + stop) + stat_busy "Stopping KDE Desktop Manager" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon kdm + stat_done + fi + ;; + restart) + $0 stop + sleep 3 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 Copied: kdebase-workspace/repos/testing-i686/kdm-xinitrd.patch (from rev 166196, kdebase-workspace/trunk/kdm-xinitrd.patch) =================================================================== --- kdm-xinitrd.patch (rev 0) +++ kdm-xinitrd.patch 2012-09-05 18:09:21 UTC (rev 166197) @@ -0,0 +1,18 @@ +--- kde-workspace-4.7.2/kdm/kfrontend/genkdmconf.c~ 2011-10-04 22:11:24.787771512 +0000 ++++ kde-workspace-4.7.2/kdm/kfrontend/genkdmconf.c 2011-10-04 22:13:58.612702824 +0000 +@@ -742,6 +742,15 @@ + "[ -f /etc/xprofile ] && . /etc/xprofile\n" + "[ -f $HOME/.xprofile ] && . $HOME/.xprofile\n" + "\n" ++"# run all system xinitrc shell scripts.\n" ++"if [ -d /etc/X11/xinit/xinitrc.d ]; then\n" ++" for i in /etc/X11/xinit/xinitrc.d/* ; do\n" ++" if [ -x \"$i\" ]; then\n" ++" . \"$i\"\n" ++" fi\n" ++" done\n" ++"fi\n" ++"\n" + "if [ -d /etc/X11/Xresources ]; then\n" + " for i in /etc/X11/Xresources/*; do\n" + " [ -f $i ] && xrdb -merge $i\n" Copied: kdebase-workspace/repos/testing-i686/kdm.service (from rev 166196, kdebase-workspace/trunk/kdm.service) =================================================================== --- kdm.service (rev 0) +++ kdm.service 2012-09-05 18:09:21 UTC (rev 166197) @@ -0,0 +1,9 @@ +[Unit] +Description=K Display Manager +After=systemd-user-sessions.service + +[Service] +ExecStart=/usr/bin/kdm -nodaemon + +[Install] +Alias=display-manager.service Copied: kdebase-workspace/repos/testing-i686/kscreensaver.pam (from rev 166196, kdebase-workspace/trunk/kscreensaver.pam) =================================================================== --- kscreensaver.pam (rev 0) +++ kscreensaver.pam 2012-09-05 18:09:21 UTC (rev 166197) @@ -0,0 +1 @@ +auth required pam_unix_auth.so Copied: kdebase-workspace/repos/testing-i686/terminate-server.patch (from rev 166196, kdebase-workspace/trunk/terminate-server.patch) =================================================================== --- terminate-server.patch (rev 0) +++ terminate-server.patch 2012-09-05 18:09:21 UTC (rev 166197) @@ -0,0 +1,11 @@ +--- kdm/config.def 2009-08-27 10:17:39.000000000 +0200 ++++ kdm/config.def 2009-10-31 00:40:21.000000000 +0100 +@@ -1448,7 +1448,7 @@ + + Key: TerminateServer + Type: bool +-Default: false ++Default: true + User: core + Instance: #:*/! + Merge: xdm