summaryrefslogtreecommitdiff
path: root/source/kde/kdebase-workspace
diff options
context:
space:
mode:
Diffstat (limited to 'source/kde/kdebase-workspace')
-rw-r--r--source/kde/kdebase-workspace/kcmshell_root_privilege.patch43
-rwxr-xr-xsource/kde/kdebase-workspace/kdebase-workspace.SlackBuild13
-rw-r--r--source/kde/kdebase-workspace/kdebase-workspace.kdm.server.timeout.diff14
-rw-r--r--source/kde/kdebase-workspace/slack-desc6
-rwxr-xr-xsource/kde/kdebase-workspace/xinit/xinitrc.kde2
5 files changed, 73 insertions, 5 deletions
diff --git a/source/kde/kdebase-workspace/kcmshell_root_privilege.patch b/source/kde/kdebase-workspace/kcmshell_root_privilege.patch
new file mode 100644
index 00000000..f81a98ed
--- /dev/null
+++ b/source/kde/kdebase-workspace/kcmshell_root_privilege.patch
@@ -0,0 +1,43 @@
+--- kdebase-workspace-4.3.85/systemsettings/core/ModuleView.cpp~ 2009-12-11 00:14:03.000000000 +0100
++++ kdebase-workspace-4.3.85/systemsettings/core/ModuleView.cpp 2009-12-22 15:47:35.000000000 +0100
+@@ -40,6 +40,7 @@
+ #include <KCModuleProxy>
+ #include <KStandardGuiItem>
+ #include <KDialogButtonBox>
++#include <KStandardDirs>
+ #include <kauthaction.h>
+
+ #include "MenuItem.h"
+@@ -129,6 +130,32 @@
+ return;
+ }
+
++ if ( menuItem->service()->property( "X-KDE-RootOnly", QVariant::Bool ).toBool() ) {
++ QString kdesu = KStandardDirs::findExe( "kdesu" );
++ QString cmd = menuItem->service()->exec().trimmed();
++
++ /* Prepare the process to run the kcmshell */
++ if ( cmd.left(5) == "kdesu" )
++ {
++ cmd = cmd.remove(0,5).trimmed();
++
++ /* Remove all kdesu switches */
++ while ( cmd.length() > 1 && cmd[ 0 ] == '-' )
++ cmd = cmd.remove( 0, cmd.indexOf( ' ' ) ).trimmed();
++ }
++
++ if ( cmd.left(9) == "kcmshell4" )
++ cmd = cmd.remove(0,9).trimmed();
++
++ QStringList args;
++ args << "-i" << QString( menuItem->service()->icon() ) << "-c" << QString( "%1 %2 --lang %3" ).arg( KStandardDirs::locate("exe", "kcmshell4") ).arg( cmd ).arg( KGlobal::locale()->language() );
++
++ kDebug() << "Starting root module: " << args;
++ QProcess::startDetached( kdesu, args );
++
++ return;
++ }
++
+ QList<KCModuleInfo*> modules;
+ if ( menuItem->children().empty() ) {
+ modules << &menuItem->item();
diff --git a/source/kde/kdebase-workspace/kdebase-workspace.SlackBuild b/source/kde/kdebase-workspace/kdebase-workspace.SlackBuild
index 63e5b251..1dd46d61 100755
--- a/source/kde/kdebase-workspace/kdebase-workspace.SlackBuild
+++ b/source/kde/kdebase-workspace/kdebase-workspace.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -53,9 +53,15 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+cat $CWD/kcmshell_root_privilege.patch | patch -p1 --verbose || exit 1
+
+# Increase the timeout to accomodate slow-to-initialize video chipset drivers:
+zcat $CWD/kdebase-workspace.kdm.server.timeout.diff.gz | patch -p1 --verbose || exit 1
+
mkdir -p build
cd build
cmake \
+ $KDE_OPT_ARGS \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_BUILD_TYPE=Release \
@@ -72,6 +78,8 @@ if [ -d $PKG/usr/man ]; then
gzip -9 $PKG/usr/man/man?/*
fi
+# Use ck-launch-session in runlevel 3,
+# to start and attach a ConsoleKit session to the X session:
mkdir -p $PKG/etc/X11/xinit
cat $CWD/xinit/xinitrc.kde > $PKG/etc/X11/xinit/xinitrc.kde
chmod 0755 $PKG/etc/X11/xinit/xinitrc.kde
@@ -96,6 +104,9 @@ mkdir -p $PKG/etc/kde
mv $PKG/usr/share/config/kdm $PKG/etc/kde
( cd $PKG/usr/share/config ; ln -sf ../../../etc/kde/kdm . )
+# Move the polkit dbus configuration files to the proper place:
+mv $PKG/etc/kde/dbus-1 $PKG/etc/
+
# This is fubar:
rm -f $PKG/usr/share/icons/hicolor/index.theme
diff --git a/source/kde/kdebase-workspace/kdebase-workspace.kdm.server.timeout.diff b/source/kde/kdebase-workspace/kdebase-workspace.kdm.server.timeout.diff
new file mode 100644
index 00000000..56deff54
--- /dev/null
+++ b/source/kde/kdebase-workspace/kdebase-workspace.kdm.server.timeout.diff
@@ -0,0 +1,14 @@
+--- ./kdm/config.def.orig 2010-02-26 12:32:20.000000000 -0600
++++ ./kdm/config.def 2010-05-03 22:11:48.000000000 -0500
+@@ -1332,9 +1332,9 @@
+
+ Key: ServerTimeout
+ Type: int
+-Default: 15
++Default: 45
+ User: core
+-Instance: #:*/
++Instance: :*/
+ Comment:
+ How long to wait for a local &X-Server; to come up.
+ Description:
diff --git a/source/kde/kdebase-workspace/slack-desc b/source/kde/kdebase-workspace/slack-desc
index e828d208..87f2c418 100644
--- a/source/kde/kdebase-workspace/slack-desc
+++ b/source/kde/kdebase-workspace/slack-desc
@@ -1,8 +1,8 @@
|-----handy-ruler------------------------------------------------------|
-kdebase-workspace: kdebase-workspace - the KDE Workspace
+kdebase-workspace: kdebase-workspace (KDE Plasma Desktop)
kdebase-workspace:
-kdebase-workspace: The KDE Workspace (kdebase-workspace) package consists of what is
-kdebase-workspace: essentially the KDE workspace presented to the user.
+kdebase-workspace: This package provides the essential parts of the KDE Plasma Desktop
+kdebase-workspace: that are presented to the user.
kdebase-workspace:
kdebase-workspace:
kdebase-workspace:
diff --git a/source/kde/kdebase-workspace/xinit/xinitrc.kde b/source/kde/kdebase-workspace/xinit/xinitrc.kde
index 2fda1fab..5e11a9ac 100755
--- a/source/kde/kdebase-workspace/xinit/xinitrc.kde
+++ b/source/kde/kdebase-workspace/xinit/xinitrc.kde
@@ -25,4 +25,4 @@ if [ -f $usermodmap ]; then
fi
# Start the window manager:
-startkde
+ck-launch-session startkde