[arch-commits] Commit in kdebase-workspace/repos (24 files)

Andrea Scarpino andrea at nymeria.archlinux.org
Wed Jul 3 08:56:28 UTC 2013


    Date: Wednesday, July 3, 2013 @ 10:56:27
  Author: andrea
Revision: 189353

archrelease: copy trunk to staging-i686, staging-x86_64

Added:
  kdebase-workspace/repos/staging-i686/
  kdebase-workspace/repos/staging-i686/PKGBUILD
    (from rev 189352, kdebase-workspace/trunk/PKGBUILD)
  kdebase-workspace/repos/staging-i686/etc-scripts.patch
    (from rev 189352, kdebase-workspace/trunk/etc-scripts.patch)
  kdebase-workspace/repos/staging-i686/fix-plasma-memory-leak.patch
    (from rev 189352, kdebase-workspace/trunk/fix-plasma-memory-leak.patch)
  kdebase-workspace/repos/staging-i686/kde-np.pam
    (from rev 189352, kdebase-workspace/trunk/kde-np.pam)
  kdebase-workspace/repos/staging-i686/kde.pam
    (from rev 189352, kdebase-workspace/trunk/kde.pam)
  kdebase-workspace/repos/staging-i686/kdebase-workspace.install
    (from rev 189352, kdebase-workspace/trunk/kdebase-workspace.install)
  kdebase-workspace/repos/staging-i686/kdm-xinitrd.patch
    (from rev 189352, kdebase-workspace/trunk/kdm-xinitrd.patch)
  kdebase-workspace/repos/staging-i686/kdm.logrotate
    (from rev 189352, kdebase-workspace/trunk/kdm.logrotate)
  kdebase-workspace/repos/staging-i686/kdm.service
    (from rev 189352, kdebase-workspace/trunk/kdm.service)
  kdebase-workspace/repos/staging-i686/kscreensaver.pam
    (from rev 189352, kdebase-workspace/trunk/kscreensaver.pam)
  kdebase-workspace/repos/staging-i686/terminate-server.patch
    (from rev 189352, kdebase-workspace/trunk/terminate-server.patch)
  kdebase-workspace/repos/staging-x86_64/
  kdebase-workspace/repos/staging-x86_64/PKGBUILD
    (from rev 189352, kdebase-workspace/trunk/PKGBUILD)
  kdebase-workspace/repos/staging-x86_64/etc-scripts.patch
    (from rev 189352, kdebase-workspace/trunk/etc-scripts.patch)
  kdebase-workspace/repos/staging-x86_64/fix-plasma-memory-leak.patch
    (from rev 189352, kdebase-workspace/trunk/fix-plasma-memory-leak.patch)
  kdebase-workspace/repos/staging-x86_64/kde-np.pam
    (from rev 189352, kdebase-workspace/trunk/kde-np.pam)
  kdebase-workspace/repos/staging-x86_64/kde.pam
    (from rev 189352, kdebase-workspace/trunk/kde.pam)
  kdebase-workspace/repos/staging-x86_64/kdebase-workspace.install
    (from rev 189352, kdebase-workspace/trunk/kdebase-workspace.install)
  kdebase-workspace/repos/staging-x86_64/kdm-xinitrd.patch
    (from rev 189352, kdebase-workspace/trunk/kdm-xinitrd.patch)
  kdebase-workspace/repos/staging-x86_64/kdm.logrotate
    (from rev 189352, kdebase-workspace/trunk/kdm.logrotate)
  kdebase-workspace/repos/staging-x86_64/kdm.service
    (from rev 189352, kdebase-workspace/trunk/kdm.service)
  kdebase-workspace/repos/staging-x86_64/kscreensaver.pam
    (from rev 189352, kdebase-workspace/trunk/kscreensaver.pam)
  kdebase-workspace/repos/staging-x86_64/terminate-server.patch
    (from rev 189352, kdebase-workspace/trunk/terminate-server.patch)

---------------------------------------------+
 staging-i686/PKGBUILD                       |   90 ++++++++++++++++++++++++++
 staging-i686/etc-scripts.patch              |   11 +++
 staging-i686/fix-plasma-memory-leak.patch   |   53 +++++++++++++++
 staging-i686/kde-np.pam                     |   12 +++
 staging-i686/kde.pam                        |    8 ++
 staging-i686/kdebase-workspace.install      |   31 ++++++++
 staging-i686/kdm-xinitrd.patch              |   18 +++++
 staging-i686/kdm.logrotate                  |    6 +
 staging-i686/kdm.service                    |    9 ++
 staging-i686/kscreensaver.pam               |    1 
 staging-i686/terminate-server.patch         |   11 +++
 staging-x86_64/PKGBUILD                     |   90 ++++++++++++++++++++++++++
 staging-x86_64/etc-scripts.patch            |   11 +++
 staging-x86_64/fix-plasma-memory-leak.patch |   53 +++++++++++++++
 staging-x86_64/kde-np.pam                   |   12 +++
 staging-x86_64/kde.pam                      |    8 ++
 staging-x86_64/kdebase-workspace.install    |   31 ++++++++
 staging-x86_64/kdm-xinitrd.patch            |   18 +++++
 staging-x86_64/kdm.logrotate                |    6 +
 staging-x86_64/kdm.service                  |    9 ++
 staging-x86_64/kscreensaver.pam             |    1 
 staging-x86_64/terminate-server.patch       |   11 +++
 22 files changed, 500 insertions(+)

Copied: kdebase-workspace/repos/staging-i686/PKGBUILD (from rev 189352, kdebase-workspace/trunk/PKGBUILD)
===================================================================
--- staging-i686/PKGBUILD	                        (rev 0)
+++ staging-i686/PKGBUILD	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,90 @@
+# $Id$
+# Maintainer: Andrea Scarpino <andrea at archlinux.org>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+
+pkgname=kdebase-workspace
+_pkgname=kde-workspace
+pkgver=4.10.5
+pkgrel=1
+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=("kdelibs>=${pkgver}" 'kdepim-runtime' 'lm_sensors' 'libraw1394'
+         'qimageblitz' 'polkit-kde' 'xorg-xprop' 'libxdamage' 'libqalculate'
+         'libxklavier' 'xorg-xsetroot' 'libxcomposite' 'libxinerama'
+         'xorg-xrdb' 'libxres' 'xorg-xrandr' 'xorg-xmessage' 'libusb-compat'
+         'kde-base-artwork' 'xcb-util-renderutil' 'xcb-util-image' 'ttf-font')
+makedepends=('cmake' 'automoc4' 'boost' 'kdebindings-python2' 'networkmanager')
+optdepends=('kde-wallpapers: wallpapers for KDE Plasma Workspaces'
+            'appmenu-qt: menu applications over dbus')
+install="${pkgname}.install"
+backup=('usr/share/config/kdm/kdmrc')
+source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz"
+        'kde.pam' 'kde-np.pam' 'kscreensaver.pam' 'kdm.service' 'kdm.logrotate'
+        'etc-scripts.patch' 'terminate-server.patch' 'kdm-xinitrd.patch'
+        'fix-plasma-memory-leak.patch')
+sha1sums=('d4986c1b4e3232f74a6348116908a13aee073a93'
+          '660eae40a707d2711d8d7f32a93214865506b795'
+          '6aeecc9e0e221f0515c6bf544f9a3c11cb6961fe'
+          '106635aa1aae51d6f0668b1853f6c49a4fe9d3d8'
+          'b6f8e8692737b11eec1f8022ce74b5b23e247b1b'
+          'bbe55f2000217474ce7246f12ee437ceaaf7e9ae'
+          'c079ebd157c836ba996190f0d2bcea1a7828d02c'
+          'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee'
+          'd509dac592bd8b310df27991b208c95b6d907514'
+          'e453545568d20165f80b97dd270b5adc731d5f21')
+
+prepare() {
+        cd ${_pkgname}-${pkgver}
+
+        # reads the shell scripts in /etc/kde/
+        patch -p0 -i "${srcdir}"/etc-scripts.patch
+        # FS#26120
+        patch -p1 -i "${srcdir}"/kdm-xinitrd.patch
+
+        # KDEBUG#202629
+        patch -p0 -i "${srcdir}"/terminate-server.patch
+
+        # KDEBUG#314919
+        patch -p1 -i "${srcdir}"/fix-plasma-memory-leak.patch
+}
+
+build() {
+        mkdir build
+        cd build
+        cmake ../${_pkgname}-${pkgver} \
+          -DCMAKE_BUILD_TYPE=Release \
+          -DKDE4_BUILD_TESTS=OFF \
+          -DCMAKE_SKIP_RPATH=ON \
+          -DCMAKE_INSTALL_PREFIX=/usr \
+          -DWITH_Xmms=OFF \
+          -DWITH_Googlegadgets=OFF \
+          -DWITH_libgps=OFF \
+          -DPYTHON_EXECUTABLE=/usr/bin/python2 \
+          -DWITH_CkConnector=OFF
+        make
+}
+
+package() {
+	cd 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 -m644 "${srcdir}"/kdm.service \
+      "${pkgdir}"/usr/lib/systemd/system/kdm.service
+    install -Dm644 "${srcdir}"/kdm.logrotate "${pkgdir}"/etc/logrotate.d/kdm
+}

Copied: kdebase-workspace/repos/staging-i686/etc-scripts.patch (from rev 189352, kdebase-workspace/trunk/etc-scripts.patch)
===================================================================
--- staging-i686/etc-scripts.patch	                        (rev 0)
+++ staging-i686/etc-scripts.patch	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,11 @@
+--- startkde.cmake.orig	2009-01-15 14:24:44.000000000 +0100
++++ startkde.cmake	2009-01-15 14:33:08.000000000 +0100
+@@ -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/staging-i686/fix-plasma-memory-leak.patch (from rev 189352, kdebase-workspace/trunk/fix-plasma-memory-leak.patch)
===================================================================
--- staging-i686/fix-plasma-memory-leak.patch	                        (rev 0)
+++ staging-i686/fix-plasma-memory-leak.patch	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,53 @@
+commit ec8e405ca447ba5bc5a9f6a2a12e2fa90412a0d4
+Author: Andreas Hartmetz <ahartmetz at gmail.com>
+Date:   Tue Jul 2 18:35:35 2013 +0200
+
+    Fix pixmap leak when the tray icon changes (e.g. when it's animated).
+    
+    This could easily leak 4KB/second of X pixmap memory.
+    All the actual difference comes from the QPixmap::ExplicitlyShared
+    argument, the rest is making some wonky-looking but working code look
+    less wonky.
+    
+    BUG: 314919
+
+diff --git a/plasma/generic/applets/systemtray/protocols/fdo/x11embedcontainer.cpp b/plasma/generic/applets/systemtray/protocols/fdo/x11embedcontainer.cpp
+index 1826512..a5bc826 100644
+--- a/plasma/generic/applets/systemtray/protocols/fdo/x11embedcontainer.cpp
++++ b/plasma/generic/applets/systemtray/protocols/fdo/x11embedcontainer.cpp
+@@ -194,8 +194,7 @@ void X11EmbedContainer::paintEvent(QPaintEvent *event)
+ 
+     // Taking a detour via a QPixmap is unfortunately the only way we can get
+     // the window contents into Qt's backing store.
+-    QPixmap pixmap(size());
+-    pixmap = toX11Pixmap(pixmap);
++    QPixmap pixmap = toX11Pixmap(QPixmap(size()));
+     pixmap.fill(Qt::transparent);
+     XRenderComposite(x11Info().display(), PictOpSrc, d->picture, None, pixmap.x11PictureHandle(),
+                      0, 0, 0, 0, 0, 0, width(), height());
+@@ -232,16 +231,18 @@ void X11EmbedContainer::setBackgroundPixmap(QPixmap background)
+ // NOTE: The alpha-channel is not preserved if it exists, but for X pixmaps it generally should not be needed anyway.
+ QPixmap X11EmbedContainer::toX11Pixmap(const QPixmap& pix)
+ {
+-    if(pix.handle() != 0)   // X11 pixmap
++    if (pix.handle() != 0)   // X11 pixmap
+         return pix;
++    QPixmap ret;
+     Pixmap xpix = XCreatePixmap(pix.x11Info().display(), RootWindow(pix.x11Info().display(), pix.x11Info().screen()),
+                                 pix.width(), pix.height(), QX11Info::appDepth());
+-    QPixmap wrk = QPixmap::fromX11Pixmap(xpix);
+-    QPainter paint(&wrk);
+-    paint.drawPixmap(0, 0, pix);
+-    paint.end();
+-    QPixmap ret = wrk.copy();
+-    wrk = QPixmap(); // reset, so that xpix can be freed (QPixmap does not own it)
++    {
++        QPixmap wrk = QPixmap::fromX11Pixmap(xpix, QPixmap::ExplicitlyShared);
++        QPainter paint(&wrk);
++        paint.drawPixmap(0, 0, pix);
++        paint.end();
++        ret = wrk.copy();
++    } // free resources so that xpix can be freed (QPixmap does not own it)
+     XFreePixmap(pix.x11Info().display(), xpix);
+     return ret;
+ }

Copied: kdebase-workspace/repos/staging-i686/kde-np.pam (from rev 189352, kdebase-workspace/trunk/kde-np.pam)
===================================================================
--- staging-i686/kde-np.pam	                        (rev 0)
+++ staging-i686/kde-np.pam	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,12 @@
+#%PAM-1.0
+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.so
+
+account		include      system-login
+
+password	include      system-login
+
+session		include      system-login

Copied: kdebase-workspace/repos/staging-i686/kde.pam (from rev 189352, kdebase-workspace/trunk/kde.pam)
===================================================================
--- staging-i686/kde.pam	                        (rev 0)
+++ staging-i686/kde.pam	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,8 @@
+#%PAM-1.0
+auth		include		system-login
+
+account		include		system-login
+
+password	include		system-login
+
+session		include		system-login

Copied: kdebase-workspace/repos/staging-i686/kdebase-workspace.install (from rev 189352, kdebase-workspace/trunk/kdebase-workspace.install)
===================================================================
--- staging-i686/kdebase-workspace.install	                        (rev 0)
+++ staging-i686/kdebase-workspace.install	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,31 @@
+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
+    genkdmconf --no-old --no-backup &>/dev/null
+}
+
+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
+    genkdmconf &>/dev/null
+}
+
+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
+
+    if [ -d usr/share/apps/kdm/faces ]; then
+        rm -r usr/share/apps/kdm/faces
+    fi
+}

Copied: kdebase-workspace/repos/staging-i686/kdm-xinitrd.patch (from rev 189352, kdebase-workspace/trunk/kdm-xinitrd.patch)
===================================================================
--- staging-i686/kdm-xinitrd.patch	                        (rev 0)
+++ staging-i686/kdm-xinitrd.patch	2013-07-03 08:56:27 UTC (rev 189353)
@@ -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/staging-i686/kdm.logrotate (from rev 189352, kdebase-workspace/trunk/kdm.logrotate)
===================================================================
--- staging-i686/kdm.logrotate	                        (rev 0)
+++ staging-i686/kdm.logrotate	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,6 @@
+/var/log/kdm.log {
+    maxage 365
+    size=+1024k
+    notifempty
+    missingok
+}

Copied: kdebase-workspace/repos/staging-i686/kdm.service (from rev 189352, kdebase-workspace/trunk/kdm.service)
===================================================================
--- staging-i686/kdm.service	                        (rev 0)
+++ staging-i686/kdm.service	2013-07-03 08:56:27 UTC (rev 189353)
@@ -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/staging-i686/kscreensaver.pam (from rev 189352, kdebase-workspace/trunk/kscreensaver.pam)
===================================================================
--- staging-i686/kscreensaver.pam	                        (rev 0)
+++ staging-i686/kscreensaver.pam	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1 @@
+auth		required	pam_unix_auth.so

Copied: kdebase-workspace/repos/staging-i686/terminate-server.patch (from rev 189352, kdebase-workspace/trunk/terminate-server.patch)
===================================================================
--- staging-i686/terminate-server.patch	                        (rev 0)
+++ staging-i686/terminate-server.patch	2013-07-03 08:56:27 UTC (rev 189353)
@@ -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

Copied: kdebase-workspace/repos/staging-x86_64/PKGBUILD (from rev 189352, kdebase-workspace/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,90 @@
+# $Id$
+# Maintainer: Andrea Scarpino <andrea at archlinux.org>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+
+pkgname=kdebase-workspace
+_pkgname=kde-workspace
+pkgver=4.10.5
+pkgrel=1
+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=("kdelibs>=${pkgver}" 'kdepim-runtime' 'lm_sensors' 'libraw1394'
+         'qimageblitz' 'polkit-kde' 'xorg-xprop' 'libxdamage' 'libqalculate'
+         'libxklavier' 'xorg-xsetroot' 'libxcomposite' 'libxinerama'
+         'xorg-xrdb' 'libxres' 'xorg-xrandr' 'xorg-xmessage' 'libusb-compat'
+         'kde-base-artwork' 'xcb-util-renderutil' 'xcb-util-image' 'ttf-font')
+makedepends=('cmake' 'automoc4' 'boost' 'kdebindings-python2' 'networkmanager')
+optdepends=('kde-wallpapers: wallpapers for KDE Plasma Workspaces'
+            'appmenu-qt: menu applications over dbus')
+install="${pkgname}.install"
+backup=('usr/share/config/kdm/kdmrc')
+source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz"
+        'kde.pam' 'kde-np.pam' 'kscreensaver.pam' 'kdm.service' 'kdm.logrotate'
+        'etc-scripts.patch' 'terminate-server.patch' 'kdm-xinitrd.patch'
+        'fix-plasma-memory-leak.patch')
+sha1sums=('d4986c1b4e3232f74a6348116908a13aee073a93'
+          '660eae40a707d2711d8d7f32a93214865506b795'
+          '6aeecc9e0e221f0515c6bf544f9a3c11cb6961fe'
+          '106635aa1aae51d6f0668b1853f6c49a4fe9d3d8'
+          'b6f8e8692737b11eec1f8022ce74b5b23e247b1b'
+          'bbe55f2000217474ce7246f12ee437ceaaf7e9ae'
+          'c079ebd157c836ba996190f0d2bcea1a7828d02c'
+          'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee'
+          'd509dac592bd8b310df27991b208c95b6d907514'
+          'e453545568d20165f80b97dd270b5adc731d5f21')
+
+prepare() {
+        cd ${_pkgname}-${pkgver}
+
+        # reads the shell scripts in /etc/kde/
+        patch -p0 -i "${srcdir}"/etc-scripts.patch
+        # FS#26120
+        patch -p1 -i "${srcdir}"/kdm-xinitrd.patch
+
+        # KDEBUG#202629
+        patch -p0 -i "${srcdir}"/terminate-server.patch
+
+        # KDEBUG#314919
+        patch -p1 -i "${srcdir}"/fix-plasma-memory-leak.patch
+}
+
+build() {
+        mkdir build
+        cd build
+        cmake ../${_pkgname}-${pkgver} \
+          -DCMAKE_BUILD_TYPE=Release \
+          -DKDE4_BUILD_TESTS=OFF \
+          -DCMAKE_SKIP_RPATH=ON \
+          -DCMAKE_INSTALL_PREFIX=/usr \
+          -DWITH_Xmms=OFF \
+          -DWITH_Googlegadgets=OFF \
+          -DWITH_libgps=OFF \
+          -DPYTHON_EXECUTABLE=/usr/bin/python2 \
+          -DWITH_CkConnector=OFF
+        make
+}
+
+package() {
+	cd 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 -m644 "${srcdir}"/kdm.service \
+      "${pkgdir}"/usr/lib/systemd/system/kdm.service
+    install -Dm644 "${srcdir}"/kdm.logrotate "${pkgdir}"/etc/logrotate.d/kdm
+}

Copied: kdebase-workspace/repos/staging-x86_64/etc-scripts.patch (from rev 189352, kdebase-workspace/trunk/etc-scripts.patch)
===================================================================
--- staging-x86_64/etc-scripts.patch	                        (rev 0)
+++ staging-x86_64/etc-scripts.patch	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,11 @@
+--- startkde.cmake.orig	2009-01-15 14:24:44.000000000 +0100
++++ startkde.cmake	2009-01-15 14:33:08.000000000 +0100
+@@ -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/staging-x86_64/fix-plasma-memory-leak.patch (from rev 189352, kdebase-workspace/trunk/fix-plasma-memory-leak.patch)
===================================================================
--- staging-x86_64/fix-plasma-memory-leak.patch	                        (rev 0)
+++ staging-x86_64/fix-plasma-memory-leak.patch	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,53 @@
+commit ec8e405ca447ba5bc5a9f6a2a12e2fa90412a0d4
+Author: Andreas Hartmetz <ahartmetz at gmail.com>
+Date:   Tue Jul 2 18:35:35 2013 +0200
+
+    Fix pixmap leak when the tray icon changes (e.g. when it's animated).
+    
+    This could easily leak 4KB/second of X pixmap memory.
+    All the actual difference comes from the QPixmap::ExplicitlyShared
+    argument, the rest is making some wonky-looking but working code look
+    less wonky.
+    
+    BUG: 314919
+
+diff --git a/plasma/generic/applets/systemtray/protocols/fdo/x11embedcontainer.cpp b/plasma/generic/applets/systemtray/protocols/fdo/x11embedcontainer.cpp
+index 1826512..a5bc826 100644
+--- a/plasma/generic/applets/systemtray/protocols/fdo/x11embedcontainer.cpp
++++ b/plasma/generic/applets/systemtray/protocols/fdo/x11embedcontainer.cpp
+@@ -194,8 +194,7 @@ void X11EmbedContainer::paintEvent(QPaintEvent *event)
+ 
+     // Taking a detour via a QPixmap is unfortunately the only way we can get
+     // the window contents into Qt's backing store.
+-    QPixmap pixmap(size());
+-    pixmap = toX11Pixmap(pixmap);
++    QPixmap pixmap = toX11Pixmap(QPixmap(size()));
+     pixmap.fill(Qt::transparent);
+     XRenderComposite(x11Info().display(), PictOpSrc, d->picture, None, pixmap.x11PictureHandle(),
+                      0, 0, 0, 0, 0, 0, width(), height());
+@@ -232,16 +231,18 @@ void X11EmbedContainer::setBackgroundPixmap(QPixmap background)
+ // NOTE: The alpha-channel is not preserved if it exists, but for X pixmaps it generally should not be needed anyway.
+ QPixmap X11EmbedContainer::toX11Pixmap(const QPixmap& pix)
+ {
+-    if(pix.handle() != 0)   // X11 pixmap
++    if (pix.handle() != 0)   // X11 pixmap
+         return pix;
++    QPixmap ret;
+     Pixmap xpix = XCreatePixmap(pix.x11Info().display(), RootWindow(pix.x11Info().display(), pix.x11Info().screen()),
+                                 pix.width(), pix.height(), QX11Info::appDepth());
+-    QPixmap wrk = QPixmap::fromX11Pixmap(xpix);
+-    QPainter paint(&wrk);
+-    paint.drawPixmap(0, 0, pix);
+-    paint.end();
+-    QPixmap ret = wrk.copy();
+-    wrk = QPixmap(); // reset, so that xpix can be freed (QPixmap does not own it)
++    {
++        QPixmap wrk = QPixmap::fromX11Pixmap(xpix, QPixmap::ExplicitlyShared);
++        QPainter paint(&wrk);
++        paint.drawPixmap(0, 0, pix);
++        paint.end();
++        ret = wrk.copy();
++    } // free resources so that xpix can be freed (QPixmap does not own it)
+     XFreePixmap(pix.x11Info().display(), xpix);
+     return ret;
+ }

Copied: kdebase-workspace/repos/staging-x86_64/kde-np.pam (from rev 189352, kdebase-workspace/trunk/kde-np.pam)
===================================================================
--- staging-x86_64/kde-np.pam	                        (rev 0)
+++ staging-x86_64/kde-np.pam	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,12 @@
+#%PAM-1.0
+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.so
+
+account		include      system-login
+
+password	include      system-login
+
+session		include      system-login

Copied: kdebase-workspace/repos/staging-x86_64/kde.pam (from rev 189352, kdebase-workspace/trunk/kde.pam)
===================================================================
--- staging-x86_64/kde.pam	                        (rev 0)
+++ staging-x86_64/kde.pam	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,8 @@
+#%PAM-1.0
+auth		include		system-login
+
+account		include		system-login
+
+password	include		system-login
+
+session		include		system-login

Copied: kdebase-workspace/repos/staging-x86_64/kdebase-workspace.install (from rev 189352, kdebase-workspace/trunk/kdebase-workspace.install)
===================================================================
--- staging-x86_64/kdebase-workspace.install	                        (rev 0)
+++ staging-x86_64/kdebase-workspace.install	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,31 @@
+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
+    genkdmconf --no-old --no-backup &>/dev/null
+}
+
+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
+    genkdmconf &>/dev/null
+}
+
+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
+
+    if [ -d usr/share/apps/kdm/faces ]; then
+        rm -r usr/share/apps/kdm/faces
+    fi
+}

Copied: kdebase-workspace/repos/staging-x86_64/kdm-xinitrd.patch (from rev 189352, kdebase-workspace/trunk/kdm-xinitrd.patch)
===================================================================
--- staging-x86_64/kdm-xinitrd.patch	                        (rev 0)
+++ staging-x86_64/kdm-xinitrd.patch	2013-07-03 08:56:27 UTC (rev 189353)
@@ -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/staging-x86_64/kdm.logrotate (from rev 189352, kdebase-workspace/trunk/kdm.logrotate)
===================================================================
--- staging-x86_64/kdm.logrotate	                        (rev 0)
+++ staging-x86_64/kdm.logrotate	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1,6 @@
+/var/log/kdm.log {
+    maxage 365
+    size=+1024k
+    notifempty
+    missingok
+}

Copied: kdebase-workspace/repos/staging-x86_64/kdm.service (from rev 189352, kdebase-workspace/trunk/kdm.service)
===================================================================
--- staging-x86_64/kdm.service	                        (rev 0)
+++ staging-x86_64/kdm.service	2013-07-03 08:56:27 UTC (rev 189353)
@@ -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/staging-x86_64/kscreensaver.pam (from rev 189352, kdebase-workspace/trunk/kscreensaver.pam)
===================================================================
--- staging-x86_64/kscreensaver.pam	                        (rev 0)
+++ staging-x86_64/kscreensaver.pam	2013-07-03 08:56:27 UTC (rev 189353)
@@ -0,0 +1 @@
+auth		required	pam_unix_auth.so

Copied: kdebase-workspace/repos/staging-x86_64/terminate-server.patch (from rev 189352, kdebase-workspace/trunk/terminate-server.patch)
===================================================================
--- staging-x86_64/terminate-server.patch	                        (rev 0)
+++ staging-x86_64/terminate-server.patch	2013-07-03 08:56:27 UTC (rev 189353)
@@ -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




More information about the arch-commits mailing list