rpms/kdebase-workspace/devel kdebase-workspace-4.2.95-rootprivs.patch, NONE, 1.1 kdebase-workspace.spec, 1.238, 1.239

Kevin Kofler kkofler at fedoraproject.org
Mon Jun 29 17:24:29 UTC 2009


Author: kkofler

Update of /cvs/pkgs/rpms/kdebase-workspace/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv19633/devel

Modified Files:
	kdebase-workspace.spec 
Added Files:
	kdebase-workspace-4.2.95-rootprivs.patch 
Log Message:
* Mon Jun 29 2009 Kevin Kofler <Kevin at tigcc.ticalc.org> - 4.2.95-2
- port and reapply rootprivs (#434824) patch (#508593)

kdebase-workspace-4.2.95-rootprivs.patch:

--- NEW FILE kdebase-workspace-4.2.95-rootprivs.patch ---
diff -ur kdebase-workspace-4.2.95/systemsettings/core/ModuleView.cpp kdebase-workspace-4.2.95-rootprivs/systemsettings/core/ModuleView.cpp
--- kdebase-workspace-4.2.95/systemsettings/core/ModuleView.cpp	2009-06-23 13:14:38.000000000 +0200
+++ kdebase-workspace-4.2.95-rootprivs/systemsettings/core/ModuleView.cpp	2009-06-29 19:11:18.000000000 +0200
@@ -39,6 +39,7 @@
 #include <KCModuleProxy>
 #include <KStandardGuiItem>
 #include <KDialogButtonBox>
+#include <KStandardDirs>
 
 #include "MenuItem.h"
 
@@ -124,6 +125,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( mItem->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();


Index: kdebase-workspace.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kdebase-workspace/devel/kdebase-workspace.spec,v
retrieving revision 1.238
retrieving revision 1.239
diff -u -p -r1.238 -r1.239
--- kdebase-workspace.spec	26 Jun 2009 10:09:21 -0000	1.238
+++ kdebase-workspace.spec	29 Jun 2009 17:23:59 -0000	1.239
@@ -4,7 +4,7 @@ Summary: K Desktop Environment - Workspa
 Name: kdebase-workspace
 Version: 4.2.95
 
-Release: 1%{?dist}
+Release: 2%{?dist}
 Source0: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/kdebase-workspace-%{version}.tar.bz2
 License: GPLv2
 Group: User Interface/Desktops
@@ -20,6 +20,8 @@ Patch6: kdebase-workspace-4.0.3-timedate
 # 441062: packagekit tools do not show icons correctly on KDE
 Patch7: kdebase-workspace-4.0.3-krdb.patch
 Patch8: kdebase-workspace-4.2.85-klipper-url.patch
+# 434824: KDE4 System Settings - No Method To Enter Administrative Mode
+Patch9: kdebase-workspace-4.2.95-rootprivs.patch
 Patch11: kdebase-workspace-4.1.96-font.patch
 Patch12: kdebase-workspace-4.2.0-default_applets.patch
 Patch13: kdebase-workspace-4.2.0-pykde4.patch
@@ -212,6 +214,7 @@ Requires: PyKDE4 >= %{version}
 %patch6 -p0 -b .timedate-kcm
 %patch7 -p0 -b .krdb
 %patch8 -p1 -b .klipper-url
+%patch9 -p1 -b .rootprivs
 %patch11 -p1 -b .font
 %patch12 -p1 -b .default_applets
 %patch13 -p1 -b .pykde4
@@ -500,6 +503,9 @@ fi
 
 
 %changelog
+* Mon Jun 29 2009 Kevin Kofler <Kevin at tigcc.ticalc.org> - 4.2.95-2
+- port and reapply rootprivs (#434824) patch (#508593)
+
 * Fri Jun 26 2009 Than Ngo <than at redhat.com> - 4.2.95-1
 - 4.3rc1
 




More information about the fedora-extras-commits mailing list