diff options
Diffstat (limited to 'source/kde/kdebase-workspace')
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 |