summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xkde/kdebase-workspace/Pkgfile25
-rw-r--r--kde/kdebase-workspace/kde-np.pam7
-rw-r--r--kde/kdebase-workspace/kde.pam7
-rw-r--r--kde/kdebase-workspace/kdebase-workspace-4.6.0-fix-MALLOC_CHECK.patch23
-rw-r--r--kde/kdebase-workspace/kdebase-workspace-4.6.0-fix-plasma-crash-on-exit.patch127
-rw-r--r--kde/kdebase-workspace/kscreensaver.pam1
6 files changed, 185 insertions, 5 deletions
diff --git a/kde/kdebase-workspace/Pkgfile b/kde/kdebase-workspace/Pkgfile
index 04ea44eb7..4e07a173f 100755
--- a/kde/kdebase-workspace/Pkgfile
+++ b/kde/kdebase-workspace/Pkgfile
@@ -2,22 +2,33 @@
# URL: http://www.kde.org
# Maintainer: NuTyX packager team
# Packager: lesibel at free dot fr
-# Depends on: xorg-libxkbfile,kdebase-runtime, xorg-libxscrnsaver, xorg-libxtst, shared-mime-info, kdelibs, kdepimlibs, libvorbis, libogg, audiofile, alsa-utils, qimageblitz, lm_sensors, libxklavier, libcaptury, consolekit, networkmanager, libraw1394, docbook-xsl
-# Run on: kdebase-runtime,xorg-libxscrnsaver,shared-mime-info,kdelibs,kdepimlibs,libvorbis,libogg,audiofile,alsa-utils,qimageblitz,lm_sensors,libxklavier,libcaptury,consolekit,networkmanager,libraw1394
+# Depends on: cmake, automoc4, boost, networkmanager, polkit-kde, qimageblitz, libraw1394, lm_sensors, xorg-libxkbfile, xorg-libxdamage, xorg-libxtst, kdepimlibs, gpsd, consolekit
+
+# Run on: kdepim-runtime, lm_sensors, libraw1394, qimageblitz, polkit-kde, consolekit, xorg-xprop, xorg-libxdamage, xorg-libxkbfile
+
name=kdebase-workspace
version=4.6.0
-release=3
+release=5
source=(ftp://ftp.kde.org/pub/kde/stable/$version/src/$name-$version.tar.bz2 \
lxde.desktop ede.desktop Xsession.kde4 \
http://nutyx.meticul.eu/files/kdm-nutyx-attapu.1.tar.bz2 \
http://nutyx.meticul.eu/files/nutyx-attapu-ksplash.tar.gz \
- http://nutyx.meticul.eu/files/Attapu.tar.bz2 )
+ http://nutyx.meticul.eu/files/Attapu.tar.bz2 \
+ kdebase-workspace-4.6.0-fix-plasma-crash-on-exit.patch \
+ kdebase-workspace-4.6.0-fix-MALLOC_CHECK.patch \
+ kde.pam \
+ kde-np.pam \
+ kscreensaver.pam)
build() {
mkdir -v -p $PKG/etc/kde
- cd $name-*
+ cd $name-*
+
+ patch -Np0 -i $SRC/kdebase-workspace-4.6.0-fix-MALLOC_CHECK.patch
+ patch -Np1 -i $SRC/kdebase-workspace-4.6.0-fix-plasma-crash-on-exit.patch
+
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr \
@@ -56,4 +67,8 @@ build() {
# rm -r $PKG/usr/etc
mkdir -p $PKG/var/lib/kdm
chown -R kdm:kdm $PKG/var/lib/kdm
+
+ install -D -m644 $SRC/kde.pam $PKG/etc/pam.d/kde
+ install -D -m644 $SRC/kde-np.pam $PKG/etc/pam.d/kde-np
+ install -D -m644 $SRC/kscreensaver.pam $PKG/etc/pam.d/kscreensaver
}
diff --git a/kde/kdebase-workspace/kde-np.pam b/kde/kdebase-workspace/kde-np.pam
new file mode 100644
index 000000000..d59c4a0dc
--- /dev/null
+++ b/kde/kdebase-workspace/kde-np.pam
@@ -0,0 +1,7 @@
+#%PAM-1.0
+auth required pam_nologin.so
+auth required pam_permit.so
+account required pam_unix.so
+password required pam_unix.so
+session required pam_unix.so
+session required pam_limits.so
diff --git a/kde/kdebase-workspace/kde.pam b/kde/kdebase-workspace/kde.pam
new file mode 100644
index 000000000..b0f4fbec2
--- /dev/null
+++ b/kde/kdebase-workspace/kde.pam
@@ -0,0 +1,7 @@
+#%PAM-1.0
+auth required pam_unix.so
+auth required pam_nologin.so
+account required pam_unix.so
+password required pam_unix.so
+session required pam_unix.so
+session required pam_limits.so
diff --git a/kde/kdebase-workspace/kdebase-workspace-4.6.0-fix-MALLOC_CHECK.patch b/kde/kdebase-workspace/kdebase-workspace-4.6.0-fix-MALLOC_CHECK.patch
new file mode 100644
index 000000000..a0448a8ba
--- /dev/null
+++ b/kde/kdebase-workspace/kdebase-workspace-4.6.0-fix-MALLOC_CHECK.patch
@@ -0,0 +1,23 @@
+Index: startkde.cmake
+===================================================================
+--- startkde.cmake (revision 1217283)
++++ startkde.cmake (revision 1217284)
+@@ -36,18 +36,6 @@
+ # we have to unset this for Darwin since it will screw up KDE's dynamic-loading
+ unset DYLD_FORCE_FLAT_NAMESPACE
+
+-# Enable lightweight memory corruption checker if not already set
+-# -- this is for trunk only, we remove it for releases
+-if [ "x$MALLOC_CHECK_" = "x" ] && [ -x /lib/libc.so.6 ]; then
+- # Extract the first two components of the version from the output.
+- glibc_version=$(LC_ALL=C /lib/libc.so.6 | sed -e 's/[^0-9]*\([0-9]\.[0-9]\+\).*/\1/;s/\.\([0-9]\)$/.0\1/;q')
+-
+- MALLOC_CHECK_=2 # Default to 2 unless glibc 2.9 or higher.
+- test $glibc_version \> 2.08 && MALLOC_CHECK_=3
+-
+- export MALLOC_CHECK_
+-fi
+-
+ # 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
diff --git a/kde/kdebase-workspace/kdebase-workspace-4.6.0-fix-plasma-crash-on-exit.patch b/kde/kdebase-workspace/kdebase-workspace-4.6.0-fix-plasma-crash-on-exit.patch
new file mode 100644
index 000000000..41561858d
--- /dev/null
+++ b/kde/kdebase-workspace/kdebase-workspace-4.6.0-fix-plasma-crash-on-exit.patch
@@ -0,0 +1,127 @@
+commit 92f71adb8bb6e46d4a3187ab8824c859312e9136
+Author: Aaron Seigo <aseigo@kde.org>
+Date: Tue Feb 1 12:54:44 2011 -0800
+
+ try to avoid doing any work when we are deleting
+
+diff --git a/plasma/generic/applets/notifications/ui/notificationgroup.cpp b/plasma/generic/applets/notifications/ui/notificationgroup.cpp
+index 1f7c0b8..6bbf43c 100644
+--- a/plasma/generic/applets/notifications/ui/notificationgroup.cpp
++++ b/plasma/generic/applets/notifications/ui/notificationgroup.cpp
+@@ -66,6 +66,8 @@ NotificationGroup::NotificationGroup(Extender *parent, uint groupId)
+
+ NotificationGroup::~NotificationGroup()
+ {
++ m_extenderItemsForNotification.clear();
++ m_notificationForExtenderItems.clear();
+ qDeleteAll(m_notifications);
+ }
+
+@@ -137,6 +139,11 @@ void NotificationGroup::addNotification(Notification *notification)
+
+ void NotificationGroup::extenderItemDestroyed(Plasma::ExtenderItem *object)
+ {
++ if (m_extenderItemsForNotification.isEmpty()) {
++ // either we aren't tracking this notification or else we're being deleted
++ return;
++ }
++
+ Notification *n = m_notificationForExtenderItems.value(object);
+
+ if (n) {
+@@ -148,10 +155,16 @@ void NotificationGroup::extenderItemDestroyed(Plasma::ExtenderItem *object)
+
+ void NotificationGroup::removeNotification(Notification *notification)
+ {
++ if (m_extenderItemsForNotification.isEmpty()) {
++ // either we aren't tracking this notification or else we're being deleted
++ return;
++ }
++
+ Plasma::ExtenderItem *item = m_extenderItemsForNotification.value(notification);
+ if (item) {
+ m_notificationForExtenderItems.remove(item);
+ }
++
+ m_extenderItemsForNotification.remove(notification);
+ m_notifications.removeAll(notification);
+ QString applicationName = m_appForNotification.value(notification);
+diff --git a/plasma/generic/applets/notifications/ui/notifications.cpp b/plasma/generic/applets/notifications/ui/notifications.cpp
+index 9b1a7c0..c7aa6dd 100644
+--- a/plasma/generic/applets/notifications/ui/notifications.cpp
++++ b/plasma/generic/applets/notifications/ui/notifications.cpp
+@@ -106,6 +106,9 @@ Notifications::~Notifications()
+ {
+ // stop listening to the manager
+ disconnect(m_manager, 0, this, 0);
++ if (m_notificationStackDialog) {
++ disconnect(m_notificationStackDialog, 0, this, 0);
++ }
+
+ foreach (Notification *notification, m_manager->notifications()) {
+ // we don't want a destroyed managed after the destruction of manager
+@@ -342,10 +345,10 @@ void Notifications::initExtenderItem(Plasma::ExtenderItem *extenderItem)
+ return;
+ }
+
+- if (extenderItem->config().readEntry("type", "") == "job") {
++ if (extenderItem->config().readEntry("type", QString()) == "job") {
+ extenderItem->setWidget(new JobWidget(0, extenderItem));
+- //unknown type, this should never happen
+ } else {
++ //unknown type, this should never happen
+ extenderItem->destroy();
+ }
+
+commit 1fc6c46a49695ec6ad6cd80a8459c5c083de8e06
+Author: Aaron Seigo <aseigo@kde.org>
+Date: Tue Feb 1 12:54:25 2011 -0800
+
+ make them all uniqueconnections
+
+diff --git a/plasma/generic/applets/notifications/ui/notificationstack.cpp b/plasma/generic/applets/notifications/ui/notificationstack.cpp
+index 2f68961..3b53559 100644
+--- a/plasma/generic/applets/notifications/ui/notificationstack.cpp
++++ b/plasma/generic/applets/notifications/ui/notificationstack.cpp
+@@ -54,11 +54,9 @@ NotificationStack::~NotificationStack()
+ void NotificationStack::addNotification(Notification *notification)
+ {
+ m_canDismissTimer->start(1000);
+- connect(notification, SIGNAL(notificationDestroyed(Notification *)), this, SLOT(removeNotification(Notification *)));
+- connect(notification, SIGNAL(expired(Notification *)), this, SLOT(delayedRemoveNotification(Notification *)));
+-
+- disconnect(notification, SIGNAL(changed(Notification *)), this, SLOT(notificationChanged(Notification *)));
+- connect(notification, SIGNAL(changed(Notification *)), this, SLOT(notificationChanged(Notification *)));
++ connect(notification, SIGNAL(notificationDestroyed(Notification *)), this, SLOT(removeNotification(Notification *)), Qt::UniqueConnection);
++ connect(notification, SIGNAL(expired(Notification *)), this, SLOT(delayedRemoveNotification(Notification *)), Qt::UniqueConnection);
++ connect(notification, SIGNAL(changed(Notification *)), this, SLOT(notificationChanged(Notification *)), Qt::UniqueConnection);
+
+ NotificationWidget *notificationWidget = new NotificationWidget(notification, this);
+ notificationWidget->installEventFilter(this);
+commit f0f66f023e6f2896bcc2ea67d7922fc0745ff7b5
+Author: Aaron Seigo <aseigo@kde.org>
+Date: Tue Feb 1 12:54:10 2011 -0800
+
+ simplification
+
+diff --git a/plasma/generic/applets/notifications/ui/notificationwidget.cpp b/plasma/generic/applets/notifications/ui/notificationwidget.cpp
+index 7764ede..3f87cfe 100644
+--- a/plasma/generic/applets/notifications/ui/notificationwidget.cpp
++++ b/plasma/generic/applets/notifications/ui/notificationwidget.cpp
+@@ -43,7 +43,6 @@
+
+ #include <Plasma/Animation>
+ #include <Plasma/Animator>
+-#include <Plasma/Extender>
+ #include <Plasma/Frame>
+ #include <Plasma/IconWidget>
+ #include <Plasma/Label>
+@@ -170,7 +169,7 @@ NotificationWidget::NotificationWidget(Notification *notification, QGraphicsWidg
+ d->notification = notification;
+
+ connect(d->signalMapper, SIGNAL(mapped(const QString &)),
+- d->notification.data(), SLOT(triggerAction(const QString &)));
++ notification, SLOT(triggerAction(const QString &)));
+ connect(notification, SIGNAL(changed()),
+ this, SLOT(updateNotification()));
+ connect(notification, SIGNAL(destroyed()),
diff --git a/kde/kdebase-workspace/kscreensaver.pam b/kde/kdebase-workspace/kscreensaver.pam
new file mode 100644
index 000000000..b4d80c21f
--- /dev/null
+++ b/kde/kdebase-workspace/kscreensaver.pam
@@ -0,0 +1 @@
+auth required pam_unix_auth.so