Hello community, here is the log from the commit of package kdebase3 for openSUSE:Factory checked in at Thu Jul 23 17:23:37 CEST 2009. -------- --- KDE/kdebase3/kdebase3.changes 2009-07-13 09:51:50.000000000 +0200 +++ kdebase3/kdebase3.changes 2009-07-23 11:53:30.000000000 +0200 @@ -1,0 +2,10 @@ +Thu Jul 23 11:52:14 CEST 2009 - llunak@suse.cz + +- use kdeinit from ksmserver when possible (r967149) + +------------------------------------------------------------------- +Sun Jul 19 12:21:09 CEST 2009 - beineri@opensuse.org + +- fix kdebase3-devel dependencies + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- ksmserver-kdeinit.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdebase3.spec ++++++ --- /var/tmp/diff_new_pack.34pPdL/_old 2009-07-23 17:22:32.000000000 +0200 +++ /var/tmp/diff_new_pack.34pPdL/_new 2009-07-23 17:22:32.000000000 +0200 @@ -67,13 +67,16 @@ %define fileshare_prefix %{_prefix} Conflicts: kdebase3-SuSE <= 9.0 PreReq: /bin/sh fileutils permissions +%if %suse_version < 1120 +Requires: kdebase3-apps kdebase3-workspace +%endif License: GPL v2 or later Group: System/GUI/KDE Summary: The KDE Core Components BuildRoot: %{_tmppath}/%{name}-%{version}-build Url: http://www.kde.org/ Version: 3.5.10 -Release: 24 +Release: 25 %define kde_version 3.5.10 Requires: kdebase3-runtime == %{version} Source0: kdebase-%{kde_version}.tar.bz2 @@ -194,6 +197,7 @@ Patch171: khotkeys-multimedia-action2.diff Patch172: select-wm-gui.diff Patch173: suspend-unmount.diff +Patch174: ksmserver-kdeinit.diff Patch177: kio-media-errorhandling.diff Patch179: restore-description-parens.diff Patch180: kompmgr_use_defaults.diff @@ -318,7 +322,7 @@ %package devel License: GPL v2 or later -Requires: kdelibs3-devel kdebase3 = %version kdebase3-runtime = %version kdebase3-workspace = %version +Requires: kdelibs3-devel kdebase3 = %version kdebase3-apps = %version kdebase3-runtime = %version kdebase3-workspace = %version Summary: KDE Base Package: Base, Build Environment Group: System/GUI/KDE @@ -492,7 +496,7 @@ Summary: Set and list fileshares Group: System/Management Version: 2.0 -Release: 567 +Release: 568 %description -n fileshareset This package contains the the fileshareset utility to allow users to @@ -620,6 +624,7 @@ %patch171 %patch172 %patch173 +%patch174 %patch177 %patch179 %patch180 ++++++ ksmserver-kdeinit.diff ++++++ --- ksmserver/server.h.sav 2009-07-23 11:44:55.000000000 +0200 +++ ksmserver/server.h 2009-07-23 11:47:52.000000000 +0200 @@ -145,7 +145,8 @@ private: KProcess* startApplication( QStringList command, const QString& clientMachine = QString::null, - const QString& userId = QString::null ); + const QString& userId = QString::null, + bool wm = false ); void executeCommand( const QStringList& command ); bool isWM( const KSMClient* client ) const; --- ksmserver/startup.cpp.sav 2009-07-23 11:44:54.000000000 +0200 +++ ksmserver/startup.cpp 2009-07-23 11:45:49.000000000 +0200 @@ -168,7 +168,7 @@ void KSMServer::launchWM( const QValueLi // when we have a window manager, we start it first and give // it some time before launching other processes. Results in a // visually more appealing startup. - wmProcess = startApplication( wmStartCommands[ 0 ] ); + wmProcess = startApplication( wmStartCommands[ 0 ], QString(), QString(), true ); connect( wmProcess, SIGNAL( processExited( KProcess* )), SLOT( wmProcessChange())); // there can be possibly more wm's (because of forking for multihead), // but in such case care only about the process of the first one --- ksmserver/server.cpp.sav 2009-07-23 11:51:33.000000000 +0200 +++ ksmserver/server.cpp 2009-07-23 11:49:02.000000000 +0200 @@ -101,7 +101,7 @@ KSMServer* KSMServer::self() * to restart applications. */ KProcess* KSMServer::startApplication( QStringList command, const QString& clientMachine, - const QString& userId ) + const QString& userId, bool wm ) { if ( command.isEmpty() ) return NULL; @@ -118,12 +118,26 @@ KProcess* KSMServer::startApplication( Q command.prepend( clientMachine ); command.prepend( xonCommand ); // "xon" by default } - KProcess* process = new KProcess( this ); - *process << command; - // make it auto-delete - connect( process, SIGNAL( processExited( KProcess* )), process, SLOT( deleteLater())); - process->start(); - return process; +// TODO this function actually should not use KProcess at all and use klauncher (kdeinit) instead. +// Klauncher should also have support for tracking whether the launched process is still alive +// or not, so this should be redone. For now, use KProcess for wm's, as they need to be tracked, +// klauncher for the rest where ksmserver doesn't care. + if( wm ) { + KProcess* process = new KProcess( this ); + *process << command; + // make it auto-delete + connect( process, SIGNAL( processExited( KProcess* )), process, SLOT( deleteLater())); + process->start(); + return process; + } else { + int n = command.count(); + QCString app = command[0].latin1(); + QValueList<QCString> argList; + for ( int i=1; i < n; i++) + argList.append( QCString(command[i].latin1())); + DCOPRef( launcher ).send( "exec_blind", app, DCOPArg( argList, "QValueList<QCString>" ) ); + return NULL; + } } /*! Utility function to execute a command on the local machine. Used ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org