Merge remote-tracking branch 'origin/f15/master' into f14/master

Conflicts:
	.gitignore
	kdelibs.spec
	sources
This commit is contained in:
Rex Dieter 2011-03-11 10:37:52 -06:00
commit cd262aa261
15 changed files with 893 additions and 358 deletions

4
.gitignore vendored
View File

@ -1 +1,5 @@
<<<<<<< HEAD
/kdelibs-4.5.5.tar.bz2 /kdelibs-4.5.5.tar.bz2
=======
/kdelibs-4.6.1.tar.bz2
>>>>>>> origin/f15/master

View File

@ -1,12 +0,0 @@
diff -up kdelibs-4.0.2/kio/kio/kprotocolmanager.cpp.branding kdelibs-4.0.2/kio/kio/kprotocolmanager.cpp
--- kdelibs-4.0.2/kio/kio/kprotocolmanager.cpp.branding 2008-01-04 18:00:15.000000000 -0600
+++ kdelibs-4.0.2/kio/kio/kprotocolmanager.cpp 2008-03-07 14:49:46.000000000 -0600
@@ -73,7 +73,7 @@ KProtocolManagerPrivate::~KProtocolManag
// DEFAULT USERAGENT STRING
#define CFG_DEFAULT_UAGENT(X) \
-QString("Mozilla/5.0 (compatible; Konqueror/%1.%2%3) KHTML/%4.%5.%6 (like Gecko)") \
+QString("Mozilla/5.0 (compatible; Konqueror/%1.%2%3) KHTML/%4.%5.%6 (like Gecko) Fedora/@@VERSION_RELEASE@@") \
.arg(KDE_VERSION_MAJOR).arg(KDE_VERSION_MINOR).arg(X).arg(KDE_VERSION_MAJOR).arg(KDE_VERSION_MINOR).arg(KDE_VERSION_RELEASE)
#define PRIVATE_DATA \

View File

@ -1,60 +0,0 @@
diff -up kdelibs-4.4.80/kdecore/kernel/kstandarddirs.cpp.libexecdir kdelibs-4.4.80/kdecore/kernel/kstandarddirs.cpp
--- kdelibs-4.4.80/kdecore/kernel/kstandarddirs.cpp.libexecdir 2010-04-28 10:01:43.000000000 +0200
+++ kdelibs-4.4.80/kdecore/kernel/kstandarddirs.cpp 2010-05-21 09:51:22.456216633 +0200
@@ -1819,7 +1819,7 @@ void KStandardDirs::addKDEDefaults()
addResourceType(types_string + types_indices[index], 0, types_string + types_indices[index+1], true);
index+=2;
}
- addResourceType("exe", "lib", "kde4/libexec", true );
+ addResourceType("exe", 0, "libexec/kde4", true );
addResourceDir("home", QDir::homePath(), false);
diff -up kdelibs-4.4.80/kdecore/kernel/kstandarddirs_unix.cpp.libexecdir kdelibs-4.4.80/kdecore/kernel/kstandarddirs_unix.cpp
--- kdelibs-4.4.80/kdecore/kernel/kstandarddirs_unix.cpp.libexecdir 2008-05-21 13:08:57.000000000 +0200
+++ kdelibs-4.4.80/kdecore/kernel/kstandarddirs_unix.cpp 2010-05-21 09:51:22.456216633 +0200
@@ -62,7 +62,7 @@ QString KStandardDirs::installPath(const
if (strcmp("lib", type) == 0)
return QString::fromLatin1(LIB_INSTALL_DIR "/");
if (strcmp("libexec", type) == 0)
- return QString::fromLatin1(KDEDIR "/lib" KDELIBSUFF "/kde4/libexec/");
+ return QString::fromLatin1(LIBEXEC_INSTALL_DIR "/");
if (strcmp("locale", type) == 0)
return QString::fromLatin1(LOCALE_INSTALL_DIR "/");
break;
diff -up kdelibs-4.4.80/kdecore/tests/kstandarddirstest.cpp.libexecdir kdelibs-4.4.80/kdecore/tests/kstandarddirstest.cpp
--- kdelibs-4.4.80/kdecore/tests/kstandarddirstest.cpp.libexecdir 2010-04-28 10:01:43.000000000 +0200
+++ kdelibs-4.4.80/kdecore/tests/kstandarddirstest.cpp 2010-05-21 09:59:12.502278424 +0200
@@ -83,8 +83,9 @@ void KStandarddirsTest::testFindResource
#define KIOSLAVE "bin/kioslave.exe"
#else
#define EXT ""
-#define KIOSLAVE "kde4/libexec/kioslave"
+#define KIOSLAVE "libexec/kde4/kioslave"
#endif
+
const QString bin = KGlobal::dirs()->findResource( "exe", "kioslave" EXT );
QVERIFY( !bin.isEmpty() );
QVERIFY( bin.endsWith( KIOSLAVE ) );
@@ -210,7 +211,8 @@ void KStandarddirsTest::testFindExe()
// findExe with a result in libexec
const QString lnusertemp = KGlobal::dirs()->findExe( "lnusertemp" );
QVERIFY( !lnusertemp.isEmpty() );
- QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY ) );
+ QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY )
+ || lnusertemp.endsWith( "libexec/kde4/lnusertemp" EXT, PATH_SENSITIVITY ) );
#endif
// Check the "exe" resource too
diff -up kdelibs-4.4.80/kio/tests/krununittest.cpp.libexecdir kdelibs-4.4.80/kio/tests/krununittest.cpp
--- kdelibs-4.4.80/kio/tests/krununittest.cpp.libexecdir 2010-02-24 13:52:53.000000000 +0100
+++ kdelibs-4.4.80/kio/tests/krununittest.cpp 2010-05-21 09:51:22.457216466 +0200
@@ -147,7 +147,7 @@ void KRunUnitTest::testProcessDesktopExe
if (kmailservice.isEmpty()) kmailservice = "kmailservice";
if (!kdeinit.isEmpty()) {
QVERIFY(!kmailservice.isEmpty());
- QVERIFY(kmailservice.contains("kde4/libexec"));
+ QVERIFY(kmailservice.contains("kde4/libexec") || kmailservice.contains("libexec/kde4"));
}
QTest::newRow("%U l0") << "kdeinit4 %U" << l0 << false << kdeinit;

View File

@ -1,26 +0,0 @@
diff -up kdelibs-4.4.80/cmake/modules/FindKDE4Internal.cmake.no_rpath kdelibs-4.4.80/cmake/modules/FindKDE4Internal.cmake
--- kdelibs-4.4.80/cmake/modules/FindKDE4Internal.cmake.no_rpath 2010-05-21 10:00:15.000000000 +0200
+++ kdelibs-4.4.80/cmake/modules/FindKDE4Internal.cmake 2010-05-21 10:09:42.195154891 +0200
@@ -1014,12 +1014,20 @@ if (UNIX)
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${LIB_INSTALL_DIR}" _isSystemLibDir)
if("${_isSystemLibDir}" STREQUAL "-1")
- set(CMAKE_INSTALL_RPATH "${LIB_INSTALL_DIR}")
+ set(CMAKE_INSTALL_RPATH "${LIB_INSTALL_DIR}")
+ #message(STATUS "CMAKE_SYSTEM_LIBRARY_PATH: ${CMAKE_SYSTEM_LIBRARY_PATH}")
+ #message(STATUS "LIB_INSTALL_DIR: ${LIB_INSTALL_DIR}")
+ #list(FIND CMAKE_SYSTEM_LIBRARY_PATH ${LIB_INSTALL_DIR} _LIB_INSTALL_DIR_INDEX_IN_CMAKE_SYSTEM_LIBRARY_PATH)
+ #message(STATUS "_LIB_INSTALL_DIR_INDEX_IN_CMAKE_SYSTEM_LIBRARY_PATH: ${_LIB_INSTALL_DIR_INDEX_IN_CMAKE_SYSTEM_LIBRARY_PATH}")
+ #if(${_LIB_INSTALL_DIR_INDEX_IN_CMAKE_SYSTEM_LIBRARY_PATH} EQUAL -1)
+ # message(STATUS "appending to CMAKE_INSTALL_RPATH: ${LIB_INSTALL_DIR}")
+ # list(APPEND CMAKE_INSTALL_RPATH ${LIB_INSTALL_DIR})
+ #endif(${_LIB_INSTALL_DIR_INDEX_IN_CMAKE_SYSTEM_LIBRARY_PATH} EQUAL -1)
endif("${_isSystemLibDir}" STREQUAL "-1")
set(CMAKE_SKIP_BUILD_RPATH FALSE)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
endif (APPLE)
endif (UNIX)

View File

@ -1,119 +0,0 @@
diff -up kdelibs-4.4.80/solid/solid/backends/hal/halstorageaccess.cpp.policykit-workaround kdelibs-4.4.80/solid/solid/backends/hal/halstorageaccess.cpp
--- kdelibs-4.4.80/solid/solid/backends/hal/halstorageaccess.cpp.policykit-workaround 2010-04-22 10:04:55.000000000 +0200
+++ kdelibs-4.4.80/solid/solid/backends/hal/halstorageaccess.cpp 2010-05-21 22:07:08.043211300 +0200
@@ -17,6 +17,8 @@
*/
+#include <config-prefix.h> // for LIBEXEC_INSTALL_DIR
+
#include "halstorageaccess.h"
#include "halfstabhandling.h"
@@ -201,11 +203,21 @@ void StorageAccess::slotDBusError(const
{
// TODO: Better error reporting here
if (m_setupInProgress) {
+ if (error.name() == "org.freedesktop.Hal.Device.PermissionDeniedByPolicy") {
+ if (callPrivilegedMount())
+ return;
+ // if we fail to run kdesu, fall through and emit the original PermissionDeniedByPolicy error
+ }
m_setupInProgress = false;
m_device->broadcastActionDone("setupDone", Solid::UnauthorizedOperation,
QString(error.name()+": "+error.message()),
m_device->udi());
} else if (m_teardownInProgress) {
+ if (error.name() == "org.freedesktop.Hal.Device.PermissionDeniedByPolicy") {
+ if (callPrivilegedUnmount())
+ return;
+ // if we fail to run kdesu, fall through and emit the original PermissionDeniedByPolicy error
+ }
m_teardownInProgress = false;
m_device->broadcastActionDone("teardownDone", Solid::UnauthorizedOperation,
QString(error.name()+": "+error.message()),
@@ -347,8 +359,9 @@ bool StorageAccess::callHalVolumeMount()
#else
QString uid="uid=";
#endif
- if (halOptions.contains(uid)) {
- options << uid+QString::number(::getuid());
+ if (halOptions.contains(uid) &&
+ (fstype == "vfat" || fstype == "iso9660" || fstype == "hfs" || fstype == "udf")) {
+ options << uid+QString::number(::getuid());
}
#ifdef Q_OS_FREEBSD
@@ -390,6 +403,59 @@ bool StorageAccess::callHalVolumeMount()
SLOT(slotDBusError(const QDBusError &)));
}
+bool Solid::Backends::Hal::StorageAccess::callPrivilegedMount()
+{
+ QString udi = m_device->udi();
+ QString options;
+ QStringList halOptions = m_device->property("volume.mount.valid_options").toStringList();
+ QString fstype = m_device->property("volume.fstype").toString();
+
+ if (halOptions.contains("uid=")
+ && (fstype == "vfat" || fstype == "iso9660" || fstype == "hfs" || fstype == "udf")) {
+ options = "uid="+QString::number(::getuid());
+ }
+
+ m_process = new QProcess(this);
+
+ connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)),
+ this, SLOT(slotProcessFinished(int, QProcess::ExitStatus)));
+
+ m_process->start(LIBEXEC_INSTALL_DIR "/kdesu", QStringList() << "-d" << "-t"
+ << "--noignorebutton" << "-c"
+ << QString::fromLatin1("dbus-send --system --print-reply --dest=org.freedesktop.Hal %1 "
+ "org.freedesktop.Hal.Device.Volume.Mount string: string: "
+ "array:string:%2").arg(udi).arg(options));
+
+ if (m_process->waitForStarted()) {
+ return true;
+ } else {
+ delete m_process;
+ return false;
+ }
+}
+
+bool Solid::Backends::Hal::StorageAccess::callPrivilegedUnmount()
+{
+ QString udi = m_device->udi();
+
+ m_process = new QProcess(this);
+
+ connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)),
+ this, SLOT(slotProcessFinished(int, QProcess::ExitStatus)));
+
+ m_process->start(LIBEXEC_INSTALL_DIR "/kdesu", QStringList() << "-d" << "-t"
+ << "--noignorebutton" << "-c"
+ << QString::fromLatin1("dbus-send --system --print-reply --dest=org.freedesktop.Hal %1 "
+ "org.freedesktop.Hal.Device.Volume.Unmount array:string:").arg(udi));
+
+ if (m_process->waitForStarted()) {
+ return true;
+ } else {
+ delete m_process;
+ return false;
+ }
+}
+
bool StorageAccess::callHalVolumeUnmount()
{
QDBusConnection c = QDBusConnection::systemBus();
diff -up kdelibs-4.4.80/solid/solid/backends/hal/halstorageaccess.h.policykit-workaround kdelibs-4.4.80/solid/solid/backends/hal/halstorageaccess.h
--- kdelibs-4.4.80/solid/solid/backends/hal/halstorageaccess.h.policykit-workaround 2010-04-22 10:04:55.000000000 +0200
+++ kdelibs-4.4.80/solid/solid/backends/hal/halstorageaccess.h 2010-05-21 22:03:25.933210697 +0200
@@ -78,6 +78,9 @@ private:
bool callSystemMount();
bool callSystemUnmount();
+ bool callPrivilegedMount();
+ bool callPrivilegedUnmount();
+
bool requestPassphrase();
void callCryptoSetup(const QString &passphrase);
bool callCryptoTeardown();

View File

@ -1,36 +0,0 @@
--- trunk/KDE/kdelibs/plasma/containment.cpp 2010/10/14 15:42:21 1185911
+++ trunk/KDE/kdelibs/plasma/containment.cpp 2010/10/14 15:46:05 1185912
@@ -2079,6 +2079,17 @@
Applet::showConfigurationInterface();
}
+void Containment::configChanged()
+{
+ if (d->drawWallpaper) {
+ KConfigGroup group = config();
+ setWallpaper(group.readEntry("wallpaperplugin", defaultWallpaper),
+ group.readEntry("wallpaperpluginmode", defaultWallpaperMode));
+ }
+
+ Applet::configChanged();
+}
+
void ContainmentPrivate::requestConfiguration()
{
emit q->configureRequested(q);
--- trunk/KDE/kdelibs/plasma/containment.h 2010/10/14 15:42:21 1185911
+++ trunk/KDE/kdelibs/plasma/containment.h 2010/10/14 15:46:05 1185912
@@ -527,6 +527,13 @@
*/
void showConfigurationInterface();
+ /**
+ * Called when applet configuration values have changed.
+ * @reimp
+ * @sa Applet::configChanged()
+ */
+ void configChanged();
+
protected:
/**
* Sets the type of this containment.

View File

@ -0,0 +1,12 @@
diff -up kdelibs-4.5.80/kio/kio/kprotocolmanager.cpp.branding kdelibs-4.5.80/kio/kio/kprotocolmanager.cpp
--- kdelibs-4.5.80/kio/kio/kprotocolmanager.cpp.branding 2010-11-05 05:48:26.000000000 -0500
+++ kdelibs-4.5.80/kio/kio/kprotocolmanager.cpp 2010-11-20 10:42:54.223363491 -0600
@@ -87,7 +87,7 @@ QL1S("Mozilla/5.0 (compatible; Konqueror
QString::number(KDE::versionMajor()) % QL1C('.') % QString::number(KDE::versionMinor()) % \
X % QL1S(") KHTML/") % \
QString::number(KDE::versionMajor()) % QL1C('.') % QString::number(KDE::versionMinor()) % \
-QL1C('.') % QString::number(KDE::versionRelease()) % QL1S(" (like Gecko)")
+QL1C('.') % QString::number(KDE::versionRelease()) % QL1S(" (like Gecko) Fedora/@@VERSION_RELEASE@@")
#define PRIVATE_DATA \
KProtocolManagerPrivate *d = kProtocolManagerPrivate

View File

@ -1,7 +1,7 @@
diff -Naur kdelibs-4.1.72/kdecore/kernel/kstandarddirs.cpp kdelibs-4.1.72.kstandarddirs/kdecore/kernel/kstandarddirs.cpp diff -up kdelibs-4.5.80/kdecore/kernel/kstandarddirs.cpp.kstandarddirs kdelibs-4.5.80/kdecore/kernel/kstandarddirs.cpp
--- kdelibs-4.1.72/kdecore/kernel/kstandarddirs.cpp 2008-11-12 18:31:44.000000000 +0100 --- kdelibs-4.5.80/kdecore/kernel/kstandarddirs.cpp.kstandarddirs 2010-11-20 16:04:10.456373049 -0600
+++ kdelibs-4.1.72.kstandarddirs/kdecore/kernel/kstandarddirs.cpp 2008-11-12 18:38:40.000000000 +0100 +++ kdelibs-4.5.80/kdecore/kernel/kstandarddirs.cpp 2010-11-20 16:05:09.356363480 -0600
@@ -1002,7 +1002,9 @@ @@ -1125,7 +1125,9 @@ QStringList KStandardDirs::KStandardDirs
pit != prefixList->end(); pit != prefixList->end();
++pit) ++pit)
{ {
@ -12,7 +12,7 @@ diff -Naur kdelibs-4.1.72/kdecore/kernel/kstandarddirs.cpp kdelibs-4.1.72.kstand
{ {
for (QStringList::ConstIterator it = dirs.constBegin(); for (QStringList::ConstIterator it = dirs.constBegin();
it != dirs.constEnd(); ++it) it != dirs.constEnd(); ++it)
@@ -1016,6 +1018,11 @@ @@ -1143,6 +1145,11 @@ QStringList KStandardDirs::KStandardDirs
if ((local || testdir.exists()) && !candidates.contains(path)) if ((local || testdir.exists()) && !candidates.contains(path))
candidates.append(path); candidates.append(path);
} }
@ -20,7 +20,7 @@ diff -Naur kdelibs-4.1.72/kdecore/kernel/kstandarddirs.cpp kdelibs-4.1.72.kstand
+ // hack) - we want /etc/kde after the local config paths + // hack) - we want /etc/kde after the local config paths
+ // and before the ones in /usr (including kde-profile) + // and before the ones in /usr (including kde-profile)
+ if (local && !strcmp("config", type)) + if (local && !strcmp("config", type))
+ candidates.append("/etc/kde/"); + candidates.append(QLatin1String("/etc/kde/"));
local = false; local = false;
} }
else else

View File

@ -0,0 +1,60 @@
diff -up kdelibs-4.5.80/kdecore/kernel/kstandarddirs.cpp.libexecdir kdelibs-4.5.80/kdecore/kernel/kstandarddirs.cpp
--- kdelibs-4.5.80/kdecore/kernel/kstandarddirs.cpp.libexecdir 2010-11-19 04:52:23.000000000 -0600
+++ kdelibs-4.5.80/kdecore/kernel/kstandarddirs.cpp 2010-11-20 10:44:54.913612398 -0600
@@ -1842,7 +1842,7 @@ void KStandardDirs::addKDEDefaults()
addResourceType(types_string + types_indices[index], 0, types_string + types_indices[index+1], true);
index+=2;
}
- addResourceType("exe", "lib", "kde4/libexec", true );
+ addResourceType("exe", 0, "libexec/kde4", true );
addResourceDir("home", QDir::homePath(), false);
diff -up kdelibs-4.5.80/kdecore/kernel/kstandarddirs_unix.cpp.libexecdir kdelibs-4.5.80/kdecore/kernel/kstandarddirs_unix.cpp
--- kdelibs-4.5.80/kdecore/kernel/kstandarddirs_unix.cpp.libexecdir 2010-11-05 05:48:28.000000000 -0500
+++ kdelibs-4.5.80/kdecore/kernel/kstandarddirs_unix.cpp 2010-11-20 10:48:44.671378287 -0600
@@ -63,7 +63,7 @@ QString KStandardDirs::installPath(const
if (strcmp("lib", type) == 0)
return QFile::decodeName(LIB_INSTALL_DIR "/");
if (strcmp("libexec", type) == 0)
- return QFile::decodeName(KDEDIR "/lib" KDELIBSUFF "/kde4/libexec/");
+ return QFile::decodeName(LIBEXEC_INSTALL_DIR "/");
if (strcmp("locale", type) == 0)
return QFile::decodeName(LOCALE_INSTALL_DIR "/");
break;
diff -up kdelibs-4.5.80/kdecore/tests/kstandarddirstest.cpp.libexecdir kdelibs-4.5.80/kdecore/tests/kstandarddirstest.cpp
--- kdelibs-4.5.80/kdecore/tests/kstandarddirstest.cpp.libexecdir 2010-11-11 08:41:42.000000000 -0600
+++ kdelibs-4.5.80/kdecore/tests/kstandarddirstest.cpp 2010-11-20 10:44:54.914612189 -0600
@@ -94,8 +94,9 @@ void KStandarddirsTest::testFindResource
#define KIOSLAVE "bin/kioslave.exe"
#else
#define EXT ""
-#define KIOSLAVE "kde4/libexec/kioslave"
+#define KIOSLAVE "libexec/kde4/kioslave"
#endif
+
const QString bin = KGlobal::dirs()->findResource( "exe", "kioslave" EXT );
QVERIFY( !bin.isEmpty() );
QVERIFY( bin.endsWith( KIOSLAVE ) );
@@ -221,7 +222,8 @@ void KStandarddirsTest::testFindExe()
// findExe with a result in libexec
const QString lnusertemp = KGlobal::dirs()->findExe( "lnusertemp" );
QVERIFY( !lnusertemp.isEmpty() );
- QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY ) );
+ QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY )
+ || lnusertemp.endsWith( "libexec/kde4/lnusertemp" EXT, PATH_SENSITIVITY ) );
#endif
// Check the "exe" resource too
diff -up kdelibs-4.5.80/kio/tests/krununittest.cpp.libexecdir kdelibs-4.5.80/kio/tests/krununittest.cpp
--- kdelibs-4.5.80/kio/tests/krununittest.cpp.libexecdir 2010-11-05 05:48:27.000000000 -0500
+++ kdelibs-4.5.80/kio/tests/krununittest.cpp 2010-11-20 10:44:54.915612398 -0600
@@ -148,7 +148,7 @@ void KRunUnitTest::testProcessDesktopExe
if (kmailservice.isEmpty()) kmailservice = "kmailservice";
if (!kdeinit.isEmpty()) {
QVERIFY(!kmailservice.isEmpty());
- QVERIFY(kmailservice.contains("kde4/libexec"));
+ QVERIFY(kmailservice.contains("kde4/libexec") || kmailservice.contains("libexec/kde4"));
}
QTest::newRow("%U l0") << "kdeinit4 %U" << l0 << false << kdeinit;

View File

@ -0,0 +1,107 @@
diff -up kdelibs-4.5.80/cmake/modules/FindKDE4Internal.cmake.no_rpath kdelibs-4.5.80/cmake/modules/FindKDE4Internal.cmake
--- kdelibs-4.5.80/cmake/modules/FindKDE4Internal.cmake.no_rpath 2010-11-20 16:28:26.945612607 -0600
+++ kdelibs-4.5.80/cmake/modules/FindKDE4Internal.cmake 2010-11-20 18:18:01.926613935 -0600
@@ -1042,7 +1042,7 @@ if (UNIX)
set(CMAKE_SKIP_BUILD_RPATH FALSE)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
endif (APPLE)
endif (UNIX)
diff -up kdelibs-4.5.80/kdewidgets/CMakeLists.txt.no_rpath kdelibs-4.5.80/kdewidgets/CMakeLists.txt
--- kdelibs-4.5.80/kdewidgets/CMakeLists.txt.no_rpath 2010-11-20 16:28:26.784363550 -0600
+++ kdelibs-4.5.80/kdewidgets/CMakeLists.txt 2010-11-20 18:20:09.111363760 -0600
@@ -46,14 +46,14 @@ if(QT_QTDESIGNER_FOUND)
kde4_add_plugin(kdewidgets ${kdewidgets_PART_SRCS})
target_link_libraries(kdewidgets ${KDE4_KIO_LIBS})
- if(NOT WIN32)
- set_target_properties(kdewidgets PROPERTIES
- INSTALL_RPATH_USE_LINK_PATH TRUE
- SKIP_BUILD_RPATH TRUE
- BUILD_WITH_INSTALL_RPATH TRUE
- INSTALL_RPATH ${LIB_INSTALL_DIR}
- )
- endif(NOT WIN32)
+# if(NOT WIN32)
+# set_target_properties(kdewidgets PROPERTIES
+# INSTALL_RPATH_USE_LINK_PATH TRUE
+# SKIP_BUILD_RPATH TRUE
+# BUILD_WITH_INSTALL_RPATH TRUE
+# INSTALL_RPATH ${LIB_INSTALL_DIR}
+# )
+# endif(NOT WIN32)
install(TARGETS kdewidgets DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer )
@@ -76,14 +76,14 @@ if(QT_QTDESIGNER_FOUND)
kde4_add_plugin(kdedeprecated ${kdedeprecated_PART_SRCS})
target_link_libraries(kdedeprecated ${KDE4_KIO_LIBS})
- if(NOT WIN32)
- set_target_properties(kdedeprecated PROPERTIES
- INSTALL_RPATH_USE_LINK_PATH TRUE
- SKIP_BUILD_RPATH TRUE
- BUILD_WITH_INSTALL_RPATH TRUE
- INSTALL_RPATH ${LIB_INSTALL_DIR}
- )
- endif(NOT WIN32)
+# if(NOT WIN32)
+# set_target_properties(kdedeprecated PROPERTIES
+# INSTALL_RPATH_USE_LINK_PATH TRUE
+# SKIP_BUILD_RPATH TRUE
+# BUILD_WITH_INSTALL_RPATH TRUE
+# INSTALL_RPATH ${LIB_INSTALL_DIR}
+# )
+# endif(NOT WIN32)
install(TARGETS kdedeprecated DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer )
endif(NOT KDE_NO_DEPRECATED)
@@ -111,14 +111,14 @@ if(QT_QTDESIGNER_FOUND)
kde4_add_plugin(kdewebkitwidgets ${kdewebkitwidgets_PART_SRCS})
target_link_libraries(kdewebkitwidgets ${KDE4_KDEUI_LIBS} ${KDE4_KDEWEBKIT_LIBS} ${QT_QTWEBKIT_LIBRARY})
- if(NOT WIN32)
- set_target_properties(kdewebkitwidgets PROPERTIES
- INSTALL_RPATH_USE_LINK_PATH TRUE
- SKIP_BUILD_RPATH TRUE
- BUILD_WITH_INSTALL_RPATH TRUE
- INSTALL_RPATH ${LIB_INSTALL_DIR}
- )
- endif(NOT WIN32)
+# if(NOT WIN32)
+# set_target_properties(kdewebkitwidgets PROPERTIES
+# INSTALL_RPATH_USE_LINK_PATH TRUE
+# SKIP_BUILD_RPATH TRUE
+# BUILD_WITH_INSTALL_RPATH TRUE
+# INSTALL_RPATH ${LIB_INSTALL_DIR}
+# )
+# endif(NOT WIN32)
install(TARGETS kdewebkitwidgets DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer )
@@ -147,14 +147,14 @@ if(QT_QTDESIGNER_FOUND)
kde4_add_plugin(kde3supportwidgets ${kde3supportwidgets_PART_SRCS})
target_link_libraries(kde3supportwidgets ${KDE4_KDE3SUPPORT_LIBS} ${KDE4_KIO_LIBS})
- if(NOT WIN32)
- set_target_properties(kde3supportwidgets PROPERTIES
- INSTALL_RPATH_USE_LINK_PATH TRUE
- SKIP_BUILD_RPATH TRUE
- BUILD_WITH_INSTALL_RPATH TRUE
- INSTALL_RPATH ${LIB_INSTALL_DIR}
- )
- endif(NOT WIN32)
+# if(NOT WIN32)
+# set_target_properties(kde3supportwidgets PROPERTIES
+# INSTALL_RPATH_USE_LINK_PATH TRUE
+# SKIP_BUILD_RPATH TRUE
+# BUILD_WITH_INSTALL_RPATH TRUE
+# INSTALL_RPATH ${LIB_INSTALL_DIR}
+# )
+# endif(NOT WIN32)
install(TARGETS kde3supportwidgets DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer )
endif (QT_QT3SUPPORT_FOUND)

View File

@ -1,7 +1,7 @@
diff -up kdelibs-4.4.85/cmake/modules/FindKDE4Internal.cmake.parallel_devel kdelibs-4.4.85/cmake/modules/FindKDE4Internal.cmake diff -ur kdelibs-4.5.80/cmake/modules/FindKDE4Internal.cmake kdelibs-4.5.80-parallel_devel/cmake/modules/FindKDE4Internal.cmake
--- kdelibs-4.4.85/cmake/modules/FindKDE4Internal.cmake.parallel_devel 2010-05-20 13:40:44.000000000 +0200 --- kdelibs-4.5.80/cmake/modules/FindKDE4Internal.cmake 2010-10-27 21:55:42.000000000 +0200
+++ kdelibs-4.4.85/cmake/modules/FindKDE4Internal.cmake 2010-06-07 15:50:26.148340678 +0200 +++ kdelibs-4.5.80-parallel_devel/cmake/modules/FindKDE4Internal.cmake 2010-11-20 19:41:54.000000000 +0100
@@ -37,10 +37,10 @@ @@ -38,10 +38,10 @@
# The following variables are defined for the various tools required to # The following variables are defined for the various tools required to
# compile KDE software: # compile KDE software:
# #
@ -14,7 +14,7 @@ diff -up kdelibs-4.4.85/cmake/modules/FindKDE4Internal.cmake.parallel_devel kdel
# #
# The following variables point to the location of the KDE libraries, # The following variables point to the location of the KDE libraries,
# but shouldn't be used directly: # but shouldn't be used directly:
@@ -174,7 +174,7 @@ @@ -191,7 +191,7 @@
# relative path to the file. # relative path to the file.
# #
# KDE4_ADD_WIDGET_FILES (SRCS_VAR file1.widgets ... fileN.widgets) # KDE4_ADD_WIDGET_FILES (SRCS_VAR file1.widgets ... fileN.widgets)
@ -23,12 +23,18 @@ diff -up kdelibs-4.4.85/cmake/modules/FindKDE4Internal.cmake.parallel_devel kdel
# for Qt Designer plugins. # for Qt Designer plugins.
# #
# KDE4_CREATE_FINAL_FILES (filename_CXX filename_C file1 ... fileN) # KDE4_CREATE_FINAL_FILES (filename_CXX filename_C file1 ... fileN)
@@ -487,25 +487,25 @@ if (_kdeBootStrapping) @@ -506,31 +506,31 @@
if (WIN32)
set(LIBRARY_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH} ) set(LIBRARY_OUTPUT_PATH ${EXECUTABLE_OUTPUT_PATH} )
# CMAKE_CFG_INTDIR is the output subdirectory created e.g. by XCode and MSVC # CMAKE_CFG_INTDIR is the output subdirectory created e.g. by XCode and MSVC
if (NOT WINCE)
- set(KDE4_KCFGC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler ) - set(KDE4_KCFGC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler )
+ set(KDE4_KCFGC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler4 ) + set(KDE4_KCFGC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kconfig_compiler4 )
set(KDE4_MEINPROC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/meinproc4 )
else (NOT WINCE)
- set(KDE4_KCFGC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/kconfig_compiler )
+ set(KDE4_KCFGC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/kconfig_compiler4 )
set(KDE4_MEINPROC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/meinproc4 )
endif(NOT WINCE)
set(KDE4_MEINPROC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/meinproc4 ) set(KDE4_MEINPROC_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/meinproc4 )
set(KDE4_KAUTH_POLICY_GEN_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kauth-policy-gen ) set(KDE4_KAUTH_POLICY_GEN_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/kauth-policy-gen )
@ -46,6 +52,7 @@ diff -up kdelibs-4.4.85/cmake/modules/FindKDE4Internal.cmake.parallel_devel kdel
set(KDE4_LIB_DIR ${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}) set(KDE4_LIB_DIR ${LIBRARY_OUTPUT_PATH}/${CMAKE_CFG_INTDIR})
# when building kdelibs, make the kcfg rules depend on the binaries... # when building kdelibs, make the kcfg rules depend on the binaries...
- set( _KDE4_KCONFIG_COMPILER_DEP kconfig_compiler) - set( _KDE4_KCONFIG_COMPILER_DEP kconfig_compiler)
+ set( _KDE4_KCONFIG_COMPILER_DEP kconfig_compiler4) + set( _KDE4_KCONFIG_COMPILER_DEP kconfig_compiler4)
@ -55,7 +62,7 @@ diff -up kdelibs-4.4.85/cmake/modules/FindKDE4Internal.cmake.parallel_devel kdel
set( _KDE4_MEINPROC_EXECUTABLE_DEP meinproc4) set( _KDE4_MEINPROC_EXECUTABLE_DEP meinproc4)
set(KDE4_INSTALLED_VERSION_OK TRUE) set(KDE4_INSTALLED_VERSION_OK TRUE)
@@ -554,7 +554,8 @@ else (_kdeBootStrapping) @@ -579,7 +579,8 @@
# KDE4_LIB_INSTALL_DIR and KDE4_INCLUDE_INSTALL_DIR are set in KDELibsDependencies.cmake, # KDE4_LIB_INSTALL_DIR and KDE4_INCLUDE_INSTALL_DIR are set in KDELibsDependencies.cmake,
# use them to set the KDE4_LIB_DIR and KDE4_INCLUDE_DIR "public interface" variables # use them to set the KDE4_LIB_DIR and KDE4_INCLUDE_DIR "public interface" variables
@ -65,20 +72,30 @@ diff -up kdelibs-4.4.85/cmake/modules/FindKDE4Internal.cmake.parallel_devel kdel
set(KDE4_INCLUDE_DIR ${KDE4_INCLUDE_INSTALL_DIR} ) set(KDE4_INCLUDE_DIR ${KDE4_INCLUDE_INSTALL_DIR} )
@@ -570,10 +571,10 @@ else (_kdeBootStrapping) @@ -593,18 +594,18 @@
get_target_property(_importedConfigurations ${KDE4_TARGET_PREFIX}kconfig_compiler IMPORTED_CONFIGURATIONS )
# get the build CONFIGURATIONS which were exported in this file, and use just the first
# of them to get the location of the installed executables
- get_target_property(_importedConfigurations ${KDE4_TARGET_PREFIX}kconfig_compiler IMPORTED_CONFIGURATIONS )
+ get_target_property(_importedConfigurations ${KDE4_TARGET_PREFIX}kconfig_compiler4 IMPORTED_CONFIGURATIONS )
list(GET _importedConfigurations 0 _firstConfig) list(GET _importedConfigurations 0 _firstConfig)
if(NOT WINCE)
- get_target_property(KDE4_KCFGC_EXECUTABLE ${KDE4_TARGET_PREFIX}kconfig_compiler LOCATION_${_firstConfig}) - get_target_property(KDE4_KCFGC_EXECUTABLE ${KDE4_TARGET_PREFIX}kconfig_compiler LOCATION_${_firstConfig})
+ get_target_property(KDE4_KCFGC_EXECUTABLE ${KDE4_TARGET_PREFIX}kconfig_compiler4 LOCATION_${_firstConfig}) + get_target_property(KDE4_KCFGC_EXECUTABLE ${KDE4_TARGET_PREFIX}kconfig_compiler4 LOCATION_${_firstConfig})
get_target_property(KDE4_MEINPROC_EXECUTABLE ${KDE4_TARGET_PREFIX}meinproc4 LOCATION_${_firstConfig}) get_target_property(KDE4_MEINPROC_EXECUTABLE ${KDE4_TARGET_PREFIX}meinproc4 LOCATION_${_firstConfig})
else(NOT WINCE)
- set(KDE4_KCFGC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/kconfig_compiler )
+ set(KDE4_KCFGC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/kconfig_compiler4 )
set(KDE4_MEINPROC_EXECUTABLE ${HOST_BINDIR}/${CMAKE_CFG_INTDIR}/meinproc4 )
endif(NOT WINCE)
get_target_property(KDE4_KAUTH_POLICY_GEN_EXECUTABLE ${KDE4_TARGET_PREFIX}kauth-policy-gen LOCATION_${_firstConfig}) get_target_property(KDE4_KAUTH_POLICY_GEN_EXECUTABLE ${KDE4_TARGET_PREFIX}kauth-policy-gen LOCATION_${_firstConfig})
- get_target_property(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${KDE4_TARGET_PREFIX}makekdewidgets LOCATION_${_firstConfig}) - get_target_property(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${KDE4_TARGET_PREFIX}makekdewidgets LOCATION_${_firstConfig})
+ get_target_property(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${KDE4_TARGET_PREFIX}makekdewidgets4 LOCATION_${_firstConfig}) + get_target_property(KDE4_MAKEKDEWIDGETS_EXECUTABLE ${KDE4_TARGET_PREFIX}makekdewidgets4 LOCATION_${_firstConfig})
# allow searching cmake modules in all given kde install locations (KDEDIRS based) # allow searching cmake modules in all given kde install locations (KDEDIRS based)
execute_process(COMMAND "${KDE4_KDECONFIG_EXECUTABLE}" --path data OUTPUT_VARIABLE _data_DIR ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND "${KDE4_KDECONFIG_EXECUTABLE}" --path data OUTPUT_VARIABLE _data_DIR ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
@@ -907,7 +908,8 @@ set(CMAKE_SYSTEM_INCLUDE_PATH ${CMAKE_SY @@ -930,7 +931,8 @@
set(CMAKE_SYSTEM_PROGRAM_PATH ${CMAKE_SYSTEM_PROGRAM_PATH} set(CMAKE_SYSTEM_PROGRAM_PATH ${CMAKE_SYSTEM_PROGRAM_PATH}
"${KDE4_BIN_INSTALL_DIR}" ) "${KDE4_BIN_INSTALL_DIR}" )
@ -88,7 +105,7 @@ diff -up kdelibs-4.4.85/cmake/modules/FindKDE4Internal.cmake.parallel_devel kdel
"${KDE4_LIB_INSTALL_DIR}" ) "${KDE4_LIB_INSTALL_DIR}" )
# under Windows dlls may be also installed in bin/ # under Windows dlls may be also installed in bin/
@@ -1309,9 +1311,9 @@ macro (KDE4_PRINT_RESULTS) @@ -1360,9 +1362,9 @@
endif (NOT _kdeBootStrapping) endif (NOT _kdeBootStrapping)
if(KDE4_KCFGC_EXECUTABLE) if(KDE4_KCFGC_EXECUTABLE)
@ -100,7 +117,7 @@ diff -up kdelibs-4.4.85/cmake/modules/FindKDE4Internal.cmake.parallel_devel kdel
endif(KDE4_KCFGC_EXECUTABLE) endif(KDE4_KCFGC_EXECUTABLE)
if(AUTOMOC4_EXECUTABLE) if(AUTOMOC4_EXECUTABLE)
@@ -1330,7 +1332,7 @@ if (KDE4Internal_FIND_REQUIRED AND NOT K @@ -1381,7 +1383,7 @@
endif (NOT KDE4_INSTALLED_VERSION_OK) endif (NOT KDE4_INSTALLED_VERSION_OK)
if (NOT KDE4_KCFGC_EXECUTABLE) if (NOT KDE4_KCFGC_EXECUTABLE)
@ -109,9 +126,9 @@ diff -up kdelibs-4.4.85/cmake/modules/FindKDE4Internal.cmake.parallel_devel kdel
endif (NOT KDE4_KCFGC_EXECUTABLE) endif (NOT KDE4_KCFGC_EXECUTABLE)
message(FATAL_ERROR "ERROR: could NOT find everything required for compiling KDE 4 programs") message(FATAL_ERROR "ERROR: could NOT find everything required for compiling KDE 4 programs")
diff -up kdelibs-4.4.85/doc/api/doxygen-preprocess-kcfg.sh.parallel_devel kdelibs-4.4.85/doc/api/doxygen-preprocess-kcfg.sh diff -ur kdelibs-4.5.80/doc/api/doxygen-preprocess-kcfg.sh kdelibs-4.5.80-parallel_devel/doc/api/doxygen-preprocess-kcfg.sh
--- kdelibs-4.4.85/doc/api/doxygen-preprocess-kcfg.sh.parallel_devel 2008-05-21 13:07:26.000000000 +0200 --- kdelibs-4.5.80/doc/api/doxygen-preprocess-kcfg.sh 2008-05-21 13:07:26.000000000 +0200
+++ kdelibs-4.4.85/doc/api/doxygen-preprocess-kcfg.sh 2010-06-07 15:50:26.149340577 +0200 +++ kdelibs-4.5.80-parallel_devel/doc/api/doxygen-preprocess-kcfg.sh 2010-11-20 19:30:18.000000000 +0100
@@ -2,9 +2,9 @@ @@ -2,9 +2,9 @@
# Generates and cleans KConfigXT source code during a API dox build # Generates and cleans KConfigXT source code during a API dox build
# #
@ -124,10 +141,10 @@ diff -up kdelibs-4.4.85/doc/api/doxygen-preprocess-kcfg.sh.parallel_devel kdelib
exit 1; exit 1;
fi fi
diff -up kdelibs-4.4.85/kdecore/kconfig_compiler/checkkcfg.pl.parallel_devel kdelibs-4.4.85/kdecore/kconfig_compiler/checkkcfg.pl diff -ur kdelibs-4.5.80/kdecore/kconfig_compiler/checkkcfg.pl kdelibs-4.5.80-parallel_devel/kdecore/kconfig_compiler/checkkcfg.pl
--- kdelibs-4.4.85/kdecore/kconfig_compiler/checkkcfg.pl.parallel_devel 2008-05-21 13:09:13.000000000 +0200 --- kdelibs-4.5.80/kdecore/kconfig_compiler/checkkcfg.pl 2008-05-21 13:09:13.000000000 +0200
+++ kdelibs-4.4.85/kdecore/kconfig_compiler/checkkcfg.pl 2010-06-07 15:50:26.154403288 +0200 +++ kdelibs-4.5.80-parallel_devel/kdecore/kconfig_compiler/checkkcfg.pl 2010-11-20 19:30:18.000000000 +0100
@@ -15,12 +15,12 @@ $file_cpp = "$filebase.cpp"; @@ -15,12 +15,12 @@
$kcfgc = $file . "c"; $kcfgc = $file . "c";
@ -142,9 +159,9 @@ diff -up kdelibs-4.4.85/kdecore/kconfig_compiler/checkkcfg.pl.parallel_devel kde
exit 1; exit 1;
} }
diff -up kdelibs-4.4.85/kdecore/kconfig_compiler/CMakeLists.txt.parallel_devel kdelibs-4.4.85/kdecore/kconfig_compiler/CMakeLists.txt diff -ur kdelibs-4.5.80/kdecore/kconfig_compiler/CMakeLists.txt kdelibs-4.5.80-parallel_devel/kdecore/kconfig_compiler/CMakeLists.txt
--- kdelibs-4.4.85/kdecore/kconfig_compiler/CMakeLists.txt.parallel_devel 2010-05-27 19:25:31.000000000 +0200 --- kdelibs-4.5.80/kdecore/kconfig_compiler/CMakeLists.txt 2010-05-27 19:25:31.000000000 +0200
+++ kdelibs-4.4.85/kdecore/kconfig_compiler/CMakeLists.txt 2010-06-07 15:57:35.970340770 +0200 +++ kdelibs-4.5.80-parallel_devel/kdecore/kconfig_compiler/CMakeLists.txt 2010-11-20 19:30:18.000000000 +0100
@@ -11,13 +11,13 @@ @@ -11,13 +11,13 @@
set(kconfig_compiler_SRCS kconfig_compiler.cpp) set(kconfig_compiler_SRCS kconfig_compiler.cpp)
@ -162,10 +179,10 @@ diff -up kdelibs-4.4.85/kdecore/kconfig_compiler/CMakeLists.txt.parallel_devel k
# # export this binary for cross-compilation # # export this binary for cross-compilation
diff -up kdelibs-4.4.85/kdeui/tests/kconfig_compiler/CMakeLists.txt.parallel_devel kdelibs-4.4.85/kdeui/tests/kconfig_compiler/CMakeLists.txt diff -ur kdelibs-4.5.80/kdeui/tests/kconfig_compiler/CMakeLists.txt kdelibs-4.5.80-parallel_devel/kdeui/tests/kconfig_compiler/CMakeLists.txt
--- kdelibs-4.4.85/kdeui/tests/kconfig_compiler/CMakeLists.txt.parallel_devel 2009-08-12 12:00:20.000000000 +0200 --- kdelibs-4.5.80/kdeui/tests/kconfig_compiler/CMakeLists.txt 2009-08-12 12:00:20.000000000 +0200
+++ kdelibs-4.4.85/kdeui/tests/kconfig_compiler/CMakeLists.txt 2010-06-07 15:50:26.155403451 +0200 +++ kdelibs-4.5.80-parallel_devel/kdeui/tests/kconfig_compiler/CMakeLists.txt 2010-11-20 19:30:18.000000000 +0100
@@ -9,7 +9,7 @@ macro(GEN_KCFG_TEST_SOURCE _testName _sr @@ -9,7 +9,7 @@
add_custom_command( add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.cpp ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.cpp ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h
COMMAND ${KDE4_KCFGC_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfg ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfgc COMMAND ${KDE4_KCFGC_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfg ${CMAKE_CURRENT_SOURCE_DIR}/${_testName}.kcfgc
@ -174,10 +191,10 @@ diff -up kdelibs-4.4.85/kdeui/tests/kconfig_compiler/CMakeLists.txt.parallel_dev
# set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h PROPERTIES GENERATED TRUE) # set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h PROPERTIES GENERATED TRUE)
qt4_generate_moc(${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.moc ) qt4_generate_moc(${CMAKE_CURRENT_BINARY_DIR}/${_testName}.h ${CMAKE_CURRENT_BINARY_DIR}/${_testName}.moc )
diff -up kdelibs-4.4.85/kdewidgets/CMakeLists.txt.parallel_devel kdelibs-4.4.85/kdewidgets/CMakeLists.txt diff -ur kdelibs-4.5.80/kdewidgets/CMakeLists.txt kdelibs-4.5.80-parallel_devel/kdewidgets/CMakeLists.txt
--- kdelibs-4.4.85/kdewidgets/CMakeLists.txt.parallel_devel 2010-03-03 19:30:35.000000000 +0100 --- kdelibs-4.5.80/kdewidgets/CMakeLists.txt 2010-11-05 11:48:27.000000000 +0100
+++ kdelibs-4.4.85/kdewidgets/CMakeLists.txt 2010-06-07 15:50:26.156403509 +0200 +++ kdelibs-4.5.80-parallel_devel/kdewidgets/CMakeLists.txt 2010-11-20 19:34:43.000000000 +0100
@@ -14,24 +14,24 @@ include_directories( @@ -14,24 +14,24 @@
set(makekdewidgets_SRCS makekdewidgets.cpp ) set(makekdewidgets_SRCS makekdewidgets.cpp )
@ -207,7 +224,25 @@ diff -up kdelibs-4.4.85/kdewidgets/CMakeLists.txt.parallel_devel kdelibs-4.4.85/
set(kdewidgets_PART_SRCS set(kdewidgets_PART_SRCS
classpreviews.cpp classpreviews.cpp
@@ -66,7 +66,7 @@ if(QT_QTDESIGNER_FOUND) @@ -61,7 +61,7 @@
if(NOT KDE_NO_DEPRECATED)
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kdedeprecated.cpp
COMMAND "${MAKEKDEWIDGETS_EXECUTABLE}" -o ${CMAKE_CURRENT_BINARY_DIR}/kdedeprecated.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kdedeprecated.widgets
- MAIN_DEPENDENCY kdedeprecated.widgets DEPENDS makekdewidgets)
+ MAIN_DEPENDENCY kdedeprecated.widgets DEPENDS makekdewidgets4)
set(kdedeprecated_PART_SRCS
classpreviews.cpp
@@ -96,7 +96,7 @@
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp
COMMAND "${MAKEKDEWIDGETS_EXECUTABLE}" -o ${CMAKE_CURRENT_BINARY_DIR}/kdewebkitwidgets.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kdewebkit.widgets
- MAIN_DEPENDENCY kdewebkit.widgets DEPENDS makekdewidgets)
+ MAIN_DEPENDENCY kdewebkit.widgets DEPENDS makekdewidgets4)
set(kdewebkitwidgets_PART_SRCS
classpreviews.cpp
@@ -132,7 +132,7 @@
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kde3supportwidgets.cpp add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/kde3supportwidgets.cpp
COMMAND "${MAKEKDEWIDGETS_EXECUTABLE}" -o ${CMAKE_CURRENT_BINARY_DIR}/kde3supportwidgets.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kde3support.widgets COMMAND "${MAKEKDEWIDGETS_EXECUTABLE}" -o ${CMAKE_CURRENT_BINARY_DIR}/kde3supportwidgets.cpp ${CMAKE_CURRENT_SOURCE_DIR}/kde3support.widgets

View File

@ -0,0 +1,107 @@
Index: solid/solid/CMakeLists.txt
===================================================================
--- solid/solid/CMakeLists.txt (revision 1211253)
+++ solid/solid/CMakeLists.txt (working copy)
@@ -39,7 +39,6 @@
file(MAKE_DIRECTORY
${CMAKE_CURRENT_BINARY_DIR}/backends/fakehw
- ${CMAKE_CURRENT_BINARY_DIR}/backends/hal
${CMAKE_CURRENT_BINARY_DIR}/backends/udev
${CMAKE_CURRENT_BINARY_DIR}/backends/wmi
)
@@ -195,33 +194,6 @@
endif( UDEV_FOUND )
- message(STATUS "Building Solid HAL backend." )
- set(solid_LIB_SRCS ${solid_LIB_SRCS}
- backends/hal/halacadapter.cpp
- backends/hal/halaudiointerface.cpp
- backends/hal/halbattery.cpp
- backends/hal/halblock.cpp
- backends/hal/halbutton.cpp
- backends/hal/halcamera.cpp
- backends/hal/halcdrom.cpp
- backends/hal/haldeviceinterface.cpp
- backends/hal/haldvbinterface.cpp
- backends/hal/halfstabhandling.cpp
- backends/hal/halgenericinterface.cpp
- backends/hal/haldevice.cpp
- backends/hal/halmanager.cpp
- backends/hal/halnetworkinterface.cpp
- backends/hal/halserialinterface.cpp
- backends/hal/halopticaldisc.cpp
- backends/hal/halportablemediaplayer.cpp
- backends/hal/halprocessor.cpp
- backends/hal/halstorageaccess.cpp
- backends/hal/halstorage.cpp
- backends/hal/halvideo.cpp
- backends/hal/halvolume.cpp
- backends/hal/halsmartcardreader.cpp
- )
-
message(STATUS "Building Solid UPower backend." )
set(solid_LIB_SRCS ${solid_LIB_SRCS}
backends/upower/upowermanager.cpp
@@ -249,15 +221,6 @@
)
endif (CMAKE_SYSTEM_NAME MATCHES Linux)
- message(STATUS "Building Solid fstab backend." )
- set(solid_LIB_SRCS ${solid_LIB_SRCS}
- backends/fstab/fstabmanager.cpp
- backends/fstab/fstabdevice.cpp
- backends/fstab/fstabstorageaccess.cpp
- backends/fstab/fstabhandling.cpp
- backends/fstab/fstabwatcher.cpp
- )
-
endif(NOT WIN32 AND NOT APPLE)
if(APPLE)
Index: solid/solid/managerbase.cpp
===================================================================
--- solid/solid/managerbase.cpp (revision 1211253)
+++ solid/solid/managerbase.cpp (working copy)
@@ -30,7 +30,6 @@
#if defined (Q_OS_MAC)
#include "backends/iokit/iokitmanager.h"
#elif defined (Q_OS_UNIX)
-#include "backends/hal/halmanager.h"
#include "backends/udisks/udisksmanager.h"
#include "backends/upower/upowermanager.h"
@@ -42,8 +41,6 @@
#include "backends/udev/udevmanager.h"
#endif
-#include "backends/fstab/fstabmanager.h"
-
#elif defined (Q_WS_WIN) && defined(HAVE_WBEM) && !defined(_WIN32_WCE)
#include "backends/wmi/wmimanager.h"
#endif
@@ -71,22 +68,12 @@
# elif defined(Q_WS_WIN) && defined(HAVE_WBEM) && !defined(_WIN32_WCE)
m_backends << new Solid::Backends::Wmi::WmiManager(0);
-# elif defined(Q_OS_UNIX) && !defined(Q_OS_LINUX)
- m_backends << new Solid::Backends::Hal::HalManager(0);
-
# elif defined(Q_OS_LINUX)
- bool solidHalLegacyEnabled
- = QString::fromLocal8Bit(qgetenv("SOLID_HAL_LEGACY")).toInt()==1;
- if (solidHalLegacyEnabled) {
- m_backends << new Solid::Backends::Hal::HalManager(0);
- } else {
# if defined(UDEV_FOUND)
m_backends << new Solid::Backends::UDev::UDevManager(0);
# endif
m_backends << new Solid::Backends::UDisks::UDisksManager(0)
- << new Solid::Backends::UPower::UPowerManager(0)
- << new Solid::Backends::Fstab::FstabManager(0);
- }
+ << new Solid::Backends::UPower::UPowerManager(0);
# endif
# if defined (HUPNP_FOUND)

View File

@ -0,0 +1,389 @@
commit 51707e7154082b549216b8a8ecde73505302fadc
Author: David Faure <faure@kde.org>
Date: Tue Mar 8 11:23:47 2011 +0100
Fix stop() killing the list job even if another dirlister needs it.
Regression introduced by me in bef0bd3e3ff.
Symptom: "dolphin $HOME" showed up empty.
In the case of concurrent listings, I made the use of the cached items job
conditional (only created if there's anything to emit) so that we can join
the current listjob without killing it (updateDirectory) if it hasn't emitted
anything yet.
The unittest also uncovered inconsistencies in the emission of the cancelled
signal, now cacheditemsjob behaves like the listjob in this respect.
FIXED-IN: 4.6.2
BUG: 267709
diff --git a/kio/kio/kdirlister.cpp b/kio/kio/kdirlister.cpp
index 75360e08f..df81dc8 100644
--- a/kio/kio/kdirlister.cpp
+++ b/kio/kio/kdirlister.cpp
@@ -194,7 +194,7 @@ bool KDirListerCache::listDir( KDirLister *lister, const KUrl& _u,
// List items from the cache in a delayed manner, just like things would happen
// if we were not using the cache.
- new KDirLister::Private::CachedItemsJob(lister, itemU->lstItems, itemU->rootItem, _url, _reload);
+ new KDirLister::Private::CachedItemsJob(lister, _url, _reload);
} else {
// dir not in cache or _reload is true
@@ -260,8 +260,13 @@ bool KDirListerCache::listDir( KDirLister *lister, const KUrl& _u,
// List existing items in a delayed manner, just like things would happen
// if we were not using the cache.
- //kDebug() << "Listing" << itemU->lstItems.count() << "cached items soon";
- new KDirLister::Private::CachedItemsJob(lister, itemU->lstItems, itemU->rootItem, _url, _reload);
+ if (!itemU->lstItems.isEmpty()) {
+ kDebug() << "Listing" << itemU->lstItems.count() << "cached items soon";
+ new KDirLister::Private::CachedItemsJob(lister, _url, _reload);
+ } else {
+ // The other lister hasn't emitted anything yet. Good, we'll just listen to it.
+ // One problem could be if we have _reload=true and the existing job doesn't, though.
+ }
#ifdef DEBUG_CACHE
printDebug();
@@ -280,11 +285,9 @@ KDirLister::Private::CachedItemsJob* KDirLister::Private::cachedItemsJobForUrl(c
return 0;
}
-KDirLister::Private::CachedItemsJob::CachedItemsJob(KDirLister* lister, const KFileItemList& items,
- const KFileItem& rootItem, const KUrl& url, bool reload)
+KDirLister::Private::CachedItemsJob::CachedItemsJob(KDirLister* lister, const KUrl& url, bool reload)
: KJob(lister),
m_lister(lister), m_url(url),
- m_items(items), m_rootItem(rootItem),
m_reload(reload), m_emitCompleted(true)
{
//kDebug() << "Creating CachedItemsJob" << this << "for lister" << lister << url;
@@ -301,40 +304,70 @@ void KDirLister::Private::CachedItemsJob::done()
{
if (!m_lister) // job was already killed, but waiting deletion due to deleteLater
return;
- kDirListerCache->emitItemsFromCache(this, m_lister, m_items, m_rootItem, m_url, m_reload, m_emitCompleted);
+ kDirListerCache->emitItemsFromCache(this, m_lister, m_url, m_reload, m_emitCompleted);
emitResult();
}
bool KDirLister::Private::CachedItemsJob::doKill()
{
- //kDebug() << this;
- kDirListerCache->emitItemsFromCache(this, m_lister, KFileItemList(), KFileItem(), m_url, false, false);
+ //kDebug(7004) << this;
+ kDirListerCache->forgetCachedItemsJob(this, m_lister, m_url);
+ if (!property("_kdlc_silent").toBool()) {
+ emit m_lister->canceled(m_url);
+ emit m_lister->canceled();
+ }
m_lister = 0;
return true;
}
-void KDirListerCache::emitItemsFromCache(KDirLister::Private::CachedItemsJob* cachedItemsJob, KDirLister* lister, const KFileItemList& items, const KFileItem& rootItem, const KUrl& _url, bool _reload, bool _emitCompleted)
+void KDirListerCache::emitItemsFromCache(KDirLister::Private::CachedItemsJob* cachedItemsJob, KDirLister* lister, const KUrl& _url, bool _reload, bool _emitCompleted)
{
const QString urlStr = _url.url();
- DirItem *itemU = kDirListerCache->itemsInUse.value(urlStr);
- Q_ASSERT(itemU); // hey we're listing that dir, so this can't be 0, right?
-
KDirLister::Private* kdl = lister->d;
-
kdl->complete = false;
- if (kdl->rootFileItem.isNull() && !rootItem.isNull() && kdl->url == _url) {
- kdl->rootFileItem = rootItem;
+ DirItem *itemU = kDirListerCache->itemsInUse.value(urlStr);
+ if (!itemU) {
+ kWarning(7004) << "Can't find item for directory" << urlStr << "anymore";
+ } else {
+ const KFileItemList items = itemU->lstItems;
+ const KFileItem rootItem = itemU->rootItem;
+ _reload = _reload || !itemU->complete;
+
+ if (kdl->rootFileItem.isNull() && !rootItem.isNull() && kdl->url == _url) {
+ kdl->rootFileItem = rootItem;
+ }
+ if (!items.isEmpty()) {
+ //kDebug(7004) << "emitting" << items.count() << "for lister" << lister;
+ kdl->addNewItems(_url, items);
+ kdl->emitItems();
+ }
}
- if (!items.isEmpty()) {
- //kDebug(7004) << "emitting" << items.count() << "for lister" << lister;
- kdl->addNewItems(_url, items);
- kdl->emitItems();
+
+ forgetCachedItemsJob(cachedItemsJob, lister, _url);
+
+ // Emit completed, unless we were told not to,
+ // or if listDir() was called while another directory listing for this dir was happening,
+ // so we "joined" it. We detect that using jobForUrl to ensure it's a real ListJob,
+ // not just a lister-specific CachedItemsJob (which wouldn't emit completed for us).
+ if (_emitCompleted) {
+
+ kdl->complete = true;
+ emit lister->completed( _url );
+ emit lister->completed();
+
+ if ( _reload ) {
+ updateDirectory( _url );
+ }
}
+}
+void KDirListerCache::forgetCachedItemsJob(KDirLister::Private::CachedItemsJob* cachedItemsJob, KDirLister* lister, const KUrl& _url)
+{
// Modifications to data structures only below this point;
// so that addNewItems is called with a consistent state
+ const QString urlStr = _url.url();
lister->d->m_cachedItemsJobs.removeAll(cachedItemsJob);
KDirListerCacheDirectoryData& dirData = directoryData[urlStr];
@@ -343,27 +376,12 @@ void KDirListerCache::emitItemsFromCache(KDirLister::Private::CachedItemsJob* ca
KIO::ListJob *listJob = jobForUrl(urlStr);
if (!listJob) {
Q_ASSERT(!dirData.listersCurrentlyHolding.contains(lister));
- kDebug(7004) << "Moving from listing to holding, because no more job" << lister << urlStr;
+ //kDebug(7004) << "Moving from listing to holding, because no more job" << lister << urlStr;
dirData.listersCurrentlyHolding.append( lister );
dirData.listersCurrentlyListing.removeAll( lister );
} else {
//kDebug(7004) << "Still having a listjob" << listJob << ", so not moving to currently-holding.";
}
-
- // Emit completed, unless we were told not to,
- // or if listDir() was called while another directory listing for this dir was happening,
- // so we "joined" it. We detect that using jobForUrl to ensure it's a real ListJob,
- // not just a lister-specific CachedItemsJob (which wouldn't emit completed for us).
- if (_emitCompleted) {
-
- kdl->complete = true;
- emit lister->completed( _url );
- emit lister->completed();
-
- if ( _reload || !itemU->complete ) {
- updateDirectory( _url );
- }
- }
}
bool KDirListerCache::validUrl( const KDirLister *lister, const KUrl& url ) const
@@ -396,19 +414,13 @@ void KDirListerCache::stop( KDirLister *lister, bool silent )
#ifdef DEBUG_CACHE
//printDebug();
#endif
- //kDebug(7004) << "lister: " << lister;
+ //kDebug(7004) << "lister:" << lister << "silent=" << silent;
const KUrl::List urls = lister->d->lstDirs;
Q_FOREACH(const KUrl& url, urls) {
- //kDebug() << "Stopping any listjob for" << url.url();
- stopListJob(url.url(), silent);
+ stopListingUrl(lister, url, silent);
}
-
- Q_FOREACH(KDirLister::Private::CachedItemsJob* job, lister->d->m_cachedItemsJobs) {
- //kDebug() << "Killing cached items job";
- job->kill(); // removes job from list, too
- }
-
+
#if 0 // test code
QHash<QString,KDirListerCacheDirectoryData>::iterator dirit = directoryData.begin();
const QHash<QString,KDirListerCacheDirectoryData>::iterator dirend = directoryData.end();
@@ -416,6 +428,7 @@ void KDirListerCache::stop( KDirLister *lister, bool silent )
KDirListerCacheDirectoryData& dirData = dirit.value();
if (dirData.listersCurrentlyListing.contains(lister)) {
kDebug(7004) << "ERROR: found lister" << lister << "in list - for" << dirit.key();
+ Q_ASSERT(false);
}
}
#endif
@@ -429,6 +442,9 @@ void KDirListerCache::stopListingUrl(KDirLister *lister, const KUrl& _u, bool si
KDirLister::Private::CachedItemsJob* cachedItemsJob = lister->d->cachedItemsJobForUrl(url);
if (cachedItemsJob) {
+ if (silent) {
+ cachedItemsJob->setProperty("_kdlc_silent", true);
+ }
cachedItemsJob->kill(); // removes job from list, too
}
@@ -440,9 +456,18 @@ void KDirListerCache::stopListingUrl(KDirLister *lister, const KUrl& _u, bool si
return;
KDirListerCacheDirectoryData& dirData = dirit.value();
if (dirData.listersCurrentlyListing.contains(lister)) {
-
//kDebug(7004) << " found lister" << lister << "in list - for" << urlStr;
- stopListJob(urlStr, silent);
+ if (dirData.listersCurrentlyListing.count() == 1) {
+ // This was the only dirlister interested in the list job -> kill the job
+ stopListJob(urlStr, silent);
+ } else {
+ // Leave the job running for the other dirlisters, just unsubscribe us.
+ dirData.listersCurrentlyListing.removeAll(lister);
+ if (!silent) {
+ emit lister->canceled();
+ emit lister->canceled(url);
+ }
+ }
}
}
@@ -460,9 +485,10 @@ void KDirListerCache::stopListJob(const QString& url, bool silent)
KIO::ListJob *job = jobForUrl(url);
if (job) {
- //kDebug() << "Killing list job" << job;
- if (silent)
+ //kDebug() << "Killing list job" << job << "for" << url;
+ if (silent) {
job->setProperty("_kdlc_silent", true);
+ }
job->kill(KJob::EmitResult);
}
}
diff --git a/kio/kio/kdirlister_p.h b/kio/kio/kdirlister_p.h
index 4464c16..dd4c00f 100644
--- a/kio/kio/kdirlister_p.h
+++ b/kio/kio/kdirlister_p.h
@@ -209,10 +209,12 @@ public:
KFileItem *findByUrl(const KDirLister *lister, const KUrl &url) const;
// Called by CachedItemsJob:
- // Emits those items, for this lister and this url
+ // Emits the cached items, for this lister and this url
void emitItemsFromCache(KDirLister::Private::CachedItemsJob* job, KDirLister* lister,
- const KFileItemList& lst, const KFileItem& rootItem,
const KUrl& _url, bool _reload, bool _emitCompleted);
+ // Called by CachedItemsJob:
+ void forgetCachedItemsJob(KDirLister::Private::CachedItemsJob* job, KDirLister* lister,
+ const KUrl& url);
public Q_SLOTS:
/**
@@ -464,8 +466,7 @@ struct KDirListerCacheDirectoryData
class KDirLister::Private::CachedItemsJob : public KJob {
Q_OBJECT
public:
- CachedItemsJob(KDirLister* lister, const KFileItemList& items, const KFileItem& rootItem,
- const KUrl& url, bool reload);
+ CachedItemsJob(KDirLister* lister, const KUrl& url, bool reload);
/*reimp*/ void start() { QMetaObject::invokeMethod(this, "done", Qt::QueuedConnection); }
@@ -483,8 +484,6 @@ public Q_SLOTS:
private:
KDirLister* m_lister;
KUrl m_url;
- KFileItemList m_items;
- KFileItem m_rootItem;
bool m_reload;
bool m_emitCompleted;
};
diff --git a/kio/tests/kdirlistertest.cpp b/kio/tests/kdirlistertest.cpp
index e543c1f..3047fdd 100644
--- a/kio/tests/kdirlistertest.cpp
+++ b/kio/tests/kdirlistertest.cpp
@@ -678,12 +678,83 @@ void KDirListerTest::testConcurrentHoldingListing()
QCOMPARE(m_dirLister.spyClear.count(), 1);
QCOMPARE(m_dirLister.spyClearKUrl.count(), 0);
QVERIFY(dirLister2.isFinished());
- disconnect(&dirLister2, 0, this, 0);
QVERIFY(m_dirLister.isFinished());
disconnect(&m_dirLister, 0, this, 0);
QCOMPARE(m_items.count(), origItemCount);
}
+void KDirListerTest::testConcurrentListingAndStop()
+{
+ m_items.clear();
+ m_items2.clear();
+
+ MyDirLister dirLister2;
+
+ // Use a new tempdir for this test, so that we don't use the cache at all.
+ KTempDir tempDir;
+ const QString path = tempDir.name();
+ createTestFile(path+"file_1");
+ createTestFile(path+"file_2");
+ createTestFile(path+"file_3");
+
+ connect(&m_dirLister, SIGNAL(newItems(KFileItemList)), this, SLOT(slotNewItems(KFileItemList)));
+ connect(&dirLister2, SIGNAL(newItems(KFileItemList)), this, SLOT(slotNewItems2(KFileItemList)));
+
+ // Before m_dirLister has time to emit the items, let's make dirLister2 call stop().
+ // This should not stop the list job for m_dirLister (#267709).
+ dirLister2.openUrl(KUrl(path), KDirLister::Reload);
+ m_dirLister.openUrl(KUrl(path)/*, KDirLister::Reload*/);
+
+ QCOMPARE(m_dirLister.spyStarted.count(), 1);
+ QCOMPARE(m_dirLister.spyCompleted.count(), 0);
+ QCOMPARE(m_dirLister.spyCompletedKUrl.count(), 0);
+ QCOMPARE(m_dirLister.spyCanceled.count(), 0);
+ QCOMPARE(m_dirLister.spyCanceledKUrl.count(), 0);
+ QCOMPARE(m_dirLister.spyClear.count(), 1);
+ QCOMPARE(m_dirLister.spyClearKUrl.count(), 0);
+ QCOMPARE(m_items.count(), 0);
+
+ QCOMPARE(dirLister2.spyStarted.count(), 1);
+ QCOMPARE(dirLister2.spyCompleted.count(), 0);
+ QCOMPARE(dirLister2.spyCompletedKUrl.count(), 0);
+ QCOMPARE(dirLister2.spyCanceled.count(), 0);
+ QCOMPARE(dirLister2.spyCanceledKUrl.count(), 0);
+ QCOMPARE(dirLister2.spyClear.count(), 1);
+ QCOMPARE(dirLister2.spyClearKUrl.count(), 0);
+ QCOMPARE(m_items2.count(), 0);
+ QVERIFY(!m_dirLister.isFinished());
+ QVERIFY(!dirLister2.isFinished());
+
+ dirLister2.stop();
+
+ QCOMPARE(dirLister2.spyStarted.count(), 1);
+ QCOMPARE(dirLister2.spyCompleted.count(), 0);
+ QCOMPARE(dirLister2.spyCompletedKUrl.count(), 0);
+ QCOMPARE(dirLister2.spyCanceled.count(), 1);
+ QCOMPARE(dirLister2.spyCanceledKUrl.count(), 1);
+ QCOMPARE(dirLister2.spyClear.count(), 1);
+ QCOMPARE(dirLister2.spyClearKUrl.count(), 0);
+ QCOMPARE(m_items2.count(), 0);
+
+ // then wait for completed
+ qDebug("waiting for completed");
+ connect(&m_dirLister, SIGNAL(completed()), this, SLOT(exitLoop()));
+ enterLoop();
+
+ QCOMPARE(m_items.count(), 3);
+ QCOMPARE(m_items2.count(), 0);
+
+ //QCOMPARE(m_dirLister.spyStarted.count(), 1); // 2 when in cache
+ QCOMPARE(m_dirLister.spyCompleted.count(), 1);
+ QCOMPARE(m_dirLister.spyCompletedKUrl.count(), 1);
+ QCOMPARE(m_dirLister.spyCanceled.count(), 0);
+ QCOMPARE(m_dirLister.spyCanceledKUrl.count(), 0);
+ QCOMPARE(m_dirLister.spyClear.count(), 1);
+ QCOMPARE(m_dirLister.spyClearKUrl.count(), 0);
+
+ disconnect(&m_dirLister, 0, this, 0);
+}
+
void KDirListerTest::testDeleteListerEarly()
{
// Do the same again, it should behave the same, even with the items in the cache
diff --git a/kio/tests/kdirlistertest.h b/kio/tests/kdirlistertest.h
index 531abd5..a781aca 100644
--- a/kio/tests/kdirlistertest.h
+++ b/kio/tests/kdirlistertest.h
@@ -101,6 +101,7 @@ private Q_SLOTS:
void testRenameAndOverwrite();
void testConcurrentListing();
void testConcurrentHoldingListing();
+ void testConcurrentListingAndStop();
void testDeleteListerEarly();
void testOpenUrlTwice();
void testOpenUrlTwiceWithKeep();

View File

@ -1,21 +1,21 @@
%global attica_ver 0.1.4
%global dbusmenu_qt_ver 0.5.2 %define attica_ver 0.2.0
%global phonon_ver 4.4.2 %define dbusmenu_qt_ver 0.5.2
%global qt4_ver 4.6.2 %define phonon_ver 4.4.4
%global soprano_ver 2.5.0 %define qt4_ver 4.7.0
%global strigi_ver 0.7.2 %define soprano_ver 2.6.0
%define strigi_ver 0.7.2
# to build/include apidocs or not # to build/include apidocs or not
%global apidocs 1 %define apidocs 1
# to build/include QCH apidocs or not (currently broken) # to build/include QCH apidocs or not (currently broken)
#define apidocs_qch 1 #define apidocs_qch 1
%global dbusmenu_qt_version %(pkg-config --modversion dbusmenu-qt 2>/dev/null || echo %{dbusmenu_qt_ver}) %if 0%{?fedora} > 13
%global phonon_version %(pkg-config --modversion phonon 2>/dev/null || echo %{phonon_ver}) %define halectomy 1
%global soprano_version %(pkg-config --modversion soprano 2>/dev/null || echo %{soprano_ver}) %endif
%global strigi_version %(pkg-config --modversion libstreams 2>/dev/null || echo %{strigi_ver})
Summary: KDE Libraries Summary: KDE Libraries
Version: 4.5.5 Version: 4.6.1
Release: 2%{?dist} Release: 2%{?dist}
Name: kdelibs Name: kdelibs
@ -34,8 +34,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: kde4-macros(api) >= 2 BuildRequires: kde4-macros(api) >= 2
BuildRequires: kde-filesystem >= 4-23 BuildRequires: kde-filesystem >= 4-23
BuildRequires: docbook-dtds docbook-style-xsl BuildRequires: docbook-dtds docbook-style-xsl
Requires: ca-certificates Requires: ca-certificates
%global dbusmenu_qt_version %(pkg-config --modversion dbusmenu-qt 2>/dev/null || echo %{dbusmenu_qt_ver})
Requires: dbusmenu-qt%{?_isa} >= %{dbusmenu_qt_version} Requires: dbusmenu-qt%{?_isa} >= %{dbusmenu_qt_version}
Requires: docbook-dtds docbook-style-xsl Requires: docbook-dtds docbook-style-xsl
Requires: hicolor-icon-theme Requires: hicolor-icon-theme
@ -44,56 +44,45 @@ Requires: kde-settings
%{?_kde4_macros_api:Requires: kde4-macros(api) = %{_kde4_macros_api} } %{?_kde4_macros_api:Requires: kde4-macros(api) = %{_kde4_macros_api} }
# versioned dep ok, as long as it comes from *here* # versioned dep ok, as long as it comes from *here*
Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-common = %{epoch}:%{version}-%{release}
Requires: hal
Requires: hunspell Requires: hunspell
# beware of possible bootstrapping problems -- Rex # beware of possible bootstrapping problems -- Rex
Requires: oxygen-icon-theme >= %{version} Requires: oxygen-icon-theme >= %{version}
%global phonon_version %(pkg-config --modversion phonon 2>/dev/null || echo %{phonon_ver})
Requires: phonon%{?_isa} >= %{phonon_version} Requires: phonon%{?_isa} >= %{phonon_version}
Requires: shared-desktop-ontologies Requires: shared-desktop-ontologies >= 0.4
Requires: shared-mime-info Requires: shared-mime-info
%global soprano_version %(pkg-config --modversion soprano 2>/dev/null || echo %{soprano_ver})
Requires: soprano%{?_isa} >= %{soprano_version} Requires: soprano%{?_isa} >= %{soprano_version}
%global strigi_version %(pkg-config --modversion libstreams 2>/dev/null || echo %{strigi_ver})
Requires: strigi-libs%{?_isa} >= %{strigi_version} Requires: strigi-libs%{?_isa} >= %{strigi_version}
# make -devel packages parallel-installable # make kdelibs-devel parallel-installable with kdelibs3-devel
Patch0: kdelibs-4.4.85-parallel_devel.patch Patch0: kdelibs-4.5.80-parallel_devel.patch
# fix kde#149705 # fix kde#149705
Patch2: kdelibs-4.2.85-kde149705.patch Patch2: kdelibs-4.2.85-kde149705.patch
# install all .css files and Doxyfile.global in kdelibs-common to build # install all .css files and Doxyfile.global in kdelibs-common to build
# kdepimlibs-apidocs against # kdepimlibs-apidocs against
Patch8: kdelibs-4.3.90-install_all_css.patch Patch8: kdelibs-4.3.90-install_all_css.patch
# add Fedora/V-R to KHTML UA string # add Fedora/V-R to KHTML UA string
Patch9: kdelibs-4.0.2-branding.patch Patch9: kdelibs-4.5.80-branding.patch
# don't cache kdeglobals paths because they change after profile directories # don't cache kdeglobals paths because they change after profile directories
# are loaded from kde4rc # are loaded from kde4rc
Patch10: kdelibs-4.1.72-no-cache-kdeglobals-paths.patch Patch10: kdelibs-4.1.72-no-cache-kdeglobals-paths.patch
# COMMENT ME PLEASE
# workaround for policykit
Patch11: kdelibs-4.4.80-policykit-workaround.patch
# fedora/rhel applications menu
Patch12: kdelibs-4.1.0-xdg-menu.patch Patch12: kdelibs-4.1.0-xdg-menu.patch
# patch KStandardDirs to use %{_libexecdir}/kde4 instead of %{_libdir}/kde4/libexec # patch KStandardDirs to use %{_libexecdir}/kde4 instead of %{_libdir}/kde4/libexec
Patch14: kdelibs-4.4.80-libexecdir.patch Patch14: kdelibs-4.5.80-libexecdir.patch
# kstandarddirs changes: search /etc/kde, find %{_kde4_libexecdir} # kstandarddirs changes: search /etc/kde, find %{_kde4_libexecdir}
Patch18: kdelibs-4.1.72-kstandarddirs.patch Patch18: kdelibs-4.5.80-kstandarddirs.patch
# COMMENT ME PLEASE
# set correct build type
Patch20: kdelibs-4.1.70-cmake.patch Patch20: kdelibs-4.1.70-cmake.patch
# disable drkonqi by default, RHEL prefers/wants abrt # disable drkonqi by default, RHEL prefers/wants abrt
Patch24: kdelibs-4.3.1-drkonq.patch Patch24: kdelibs-4.3.1-drkonq.patch
# die rpath die, since we're using standard paths, we can avoid # die rpath die, since we're using standard paths, we can avoid
# this extra hassle (even though cmake is *supposed* to not add standard # this extra hassle (even though cmake is *supposed* to not add standard
# paths (like /usr/lib64) already! With this, we can drop # paths (like /usr/lib64) already! With this, we can drop
# -DCMAKE_SKIP_RPATH:BOOL=ON (finally) # -DCMAKE_SKIP_RPATH:BOOL=ON (finally)
Patch27: kdelibs-4.4.80-no_rpath.patch Patch27: kdelibs-4.5.80-no_rpath.patch
## upstreamable ## upstreamable
# add gpg2 support to knewstuff, rough first try s/gpg/gpg2/ # add gpg2 support to knewstuff, rough first try s/gpg/gpg2/
@ -101,20 +90,31 @@ Patch27: kdelibs-4.4.80-no_rpath.patch
# TODO: try to use either gpg or gpg2, whichever is available # TODO: try to use either gpg or gpg2, whichever is available
Patch50: kdelibs-4.5.1-knewstuff_gpg2.patch Patch50: kdelibs-4.5.1-knewstuff_gpg2.patch
## 4.5 upstream, stable branch ## upstream
# https://projects.kde.org/projects/kde/kdelibs/repository/revisions/51707e7154082b549216b8a8ecde73505302fadc
## trunk upstream Patch100: kdelibs-4.6.1-dirlister.patch
# http://websvn.kde.org/?view=revision&revision=1185912
Patch151: kdelibs-4.5.2-plasma_wallpaper_configchanged.patch
## security fix ## security fix
# Not Upstreamed? why not ? -- Rex # Not Upstreamed? why not ? -- Rex
Patch200: kdelibs-4.3.1-CVE-2009-2702.patch Patch200: kdelibs-4.3.1-CVE-2009-2702.patch
## Fedora specific patches
# make forcefully hal-free build
Patch300: kdelibs-4.5.90-halectomy.patch
%if 0%{?fedora} && 0%{?fedora} < 13 %if 0%{?fedora} && 0%{?fedora} < 13
Conflicts: kdebase-workspace-libs < 4.3.80 Conflicts: kdebase-workspace-libs < 4.3.80
%endif %endif
# force upgrade of apps using the discontinued KatePart Smart* interfaces to
# versions using the new Moving* interfaces instead
Conflicts: kdevplatform < 1.1.80
Conflicts: kdevelop < 9:4.1.80
# 2.1-0.9.b4.fc15 is the first build with the fix from beta 5 backported
Conflicts: kile < 2.1-0.9
Conflicts: rkward < 0.5.4
BuildRequires: qt4-devel >= %{qt4_ver} BuildRequires: qt4-devel >= %{qt4_ver}
BuildRequires: qt4-webkit-devel BuildRequires: qt4-webkit-devel
%{?_qt4_version:Requires: qt4%{?_isa} >= %{_qt4_version}} %{?_qt4_version:Requires: qt4%{?_isa} >= %{_qt4_version}}
@ -134,6 +134,7 @@ BuildRequires: enchant-devel
BuildRequires: gamin-devel BuildRequires: gamin-devel
BuildRequires: gettext-devel BuildRequires: gettext-devel
BuildRequires: giflib-devel BuildRequires: giflib-devel
BuildRequires: grantlee-devel
BuildRequires: jasper-devel BuildRequires: jasper-devel
BuildRequires: krb5-devel BuildRequires: krb5-devel
BuildRequires: libacl-devel libattr-devel BuildRequires: libacl-devel libattr-devel
@ -141,12 +142,13 @@ BuildRequires: libjpeg-devel
BuildRequires: libpng-devel BuildRequires: libpng-devel
BuildRequires: libtiff-devel BuildRequires: libtiff-devel
BuildRequires: libxslt-devel libxml2-devel BuildRequires: libxslt-devel libxml2-devel
BuildRequires: libudev-devel
BuildRequires: libutempter-devel BuildRequires: libutempter-devel
BuildRequires: OpenEXR-devel BuildRequires: OpenEXR-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: pcre-devel BuildRequires: pcre-devel
BuildRequires: phonon-devel >= %{phonon_ver} BuildRequires: phonon-devel >= %{phonon_ver}
BuildRequires: polkit-qt-devel BuildRequires: polkit-qt-devel >= 0.98.1
BuildRequires: qca2-devel BuildRequires: qca2-devel
BuildRequires: shared-desktop-ontologies-devel BuildRequires: shared-desktop-ontologies-devel
BuildRequires: shared-mime-info BuildRequires: shared-mime-info
@ -159,10 +161,18 @@ BuildRequires: dbusmenu-qt-devel
%define x_deps libSM-devel libXcomposite-devel libXdamage-devel libxkbfile-devel libXpm-devel libXScrnSaver-devel libXtst-devel libXv-devel libXxf86misc-devel %define x_deps libSM-devel libXcomposite-devel libXdamage-devel libxkbfile-devel libXpm-devel libXScrnSaver-devel libXtst-devel libXv-devel libXxf86misc-devel
%{?x_deps:BuildRequires: %{x_deps}} %{?x_deps:BuildRequires: %{x_deps}}
%if 0%{?halectomy}
Requires: udisks upower
%else
BuildRequires: hal-devel
Requires: hal-storage-addon
%endif
%if 0%{?apidocs} %if 0%{?apidocs}
BuildRequires: docbook-dtds BuildRequires: docbook-dtds
BuildRequires: doxygen BuildRequires: doxygen
BuildRequires: graphviz BuildRequires: graphviz
# should probably do something about removing this one, it's quite huge'ish -- Rex
BuildRequires: qt4-doc BuildRequires: qt4-doc
%endif %endif
@ -182,18 +192,14 @@ Libraries for KDE 4.
%package common %package common
Group: System Environment/Libraries Group: System Environment/Libraries
Summary: Common files for KDE 3 and KDE 4 libraries Summary: Common files for KDE 3 and KDE 4 libraries
# some files moved kdebase-runtime -> here
Conflicts: kdebase-runtime < 4.5.80
%description common %description common
This package includes the common files for the KDE 3 and KDE 4 libraries. This package includes the common files for the KDE 3 and KDE 4 libraries.
%package devel %package devel
Group: Development/Libraries Group: Development/Libraries
Summary: Header files for compiling KDE 4 applications Summary: Header files for compiling KDE 4 applications
# stuff moved, help upgrade path
%if 0%{?fedora} && 0%{?fedora} < 13
Conflicts: kdebase-workspace-devel < 4.3.80
Obsoletes: kdelibs-experimental-devel < 4.3.75
Provides: kdelibs-experimental-devel = %{version}-%{release}
%endif
%if 0%{?fedora} && 0%{?fedora} < 15 %if 0%{?fedora} && 0%{?fedora} < 15
Obsoletes: webkitkde-devel < 0.0.6 Obsoletes: webkitkde-devel < 0.0.6
%endif %endif
@ -256,7 +262,8 @@ format for use with the Qt 4 Assistant or KDevelop 4.
%patch2 -p1 -b .kde149705 %patch2 -p1 -b .kde149705
%patch8 -p1 -b .install_all_css %patch8 -p1 -b .install_all_css
%patch9 -p1 -b .branding %patch9 -p1 -b .branding
%patch11 -p1 -b .policykit-workaround # add release version as part of branding (suggested by cailon)
sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanager.cpp
%patch12 -p1 -b .Administration-menu %patch12 -p1 -b .Administration-menu
%patch14 -p1 -b .libexecdir %patch14 -p1 -b .libexecdir
%patch18 -p1 -b .kstandarddirs %patch18 -p1 -b .kstandarddirs
@ -269,18 +276,20 @@ format for use with the Qt 4 Assistant or KDevelop 4.
# upstreamable patches # upstreamable patches
%patch50 -p1 -b .knewstuff_gpg2 %patch50 -p1 -b .knewstuff_gpg2
# upstream patches, stable branch # upstream patches
%patch100 -p1 -b .dirlister
# upstream patches, trunk
%patch151 -p3 -b .plasma_wallpaper_configchanged
# security fix # security fix
%patch200 -p1 -b .CVE-2009-2702 %patch200 -p1 -b .CVE-2009-2702
# add release version as part of branding (suggested by cailon) # Fedora patches
sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanager.cpp %if 0%{?halectomy}
%patch300 -p0 -b .halectomy
%endif
%build %build
mkdir -p %{_target_platform} mkdir -p %{_target_platform}
pushd %{_target_platform} pushd %{_target_platform}
%{cmake_kde4} -DKDE_DISTRIBUTION_TEXT="%{version}-%{release} Fedora" .. %{cmake_kde4} -DKDE_DISTRIBUTION_TEXT="%{version}-%{release} Fedora" ..
@ -440,6 +449,8 @@ rm -rf %{buildroot}
%{_kde4_configdir}/plasmoids.knsrc %{_kde4_configdir}/plasmoids.knsrc
%{_datadir}/dbus-1/interfaces/* %{_datadir}/dbus-1/interfaces/*
%{_sysconfdir}/dbus-1/system.d/* %{_sysconfdir}/dbus-1/system.d/*
%{_kde4_datadir}/applications/kde4/kmailservice.desktop
%{_kde4_datadir}/applications/kde4/ktelnetservice.desktop
%{_kde4_datadir}/mime/packages/kde.xml %{_kde4_datadir}/mime/packages/kde.xml
%{_kde4_sharedir}/kde4/services/* %{_kde4_sharedir}/kde4/services/*
%{_kde4_sharedir}/kde4/servicetypes/* %{_kde4_sharedir}/kde4/servicetypes/*
@ -493,6 +504,7 @@ rm -rf %{buildroot}
%{_kde4_appsdir}/kdeui/ %{_kde4_appsdir}/kdeui/
%{_kde4_docdir}/HTML/en/common/ %{_kde4_docdir}/HTML/en/common/
%{_kde4_datadir}/locale/all_languages/ %{_kde4_datadir}/locale/all_languages/
%{_kde4_datadir}/locale/en_US/entry.desktop
%files devel %files devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
@ -521,17 +533,79 @@ rm -rf %{buildroot}
%changelog %changelog
* Tue Jan 18 2011 Rex Dieter <rdieter@fedoraproject.org> 4.5.5-2 * Tue Mar 08 2011 Rex Dieter <rdieter@fedoraproject.org> 4.6.1-2
- Dolphin shows no files... (kde#267709)
* Sat Feb 26 2011 Rex Dieter <rdieter@fedoraproject.org> 4.6.1-1
- 4.6.1
* Mon Feb 21 2011 Jaroslav Reznik <jreznik@redhat.com> - 4.6.0-4
- Fix plasma logout crash (kde#264076)
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6:4.6.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Tue Jan 25 2011 Kevin Kofler <Kevin@tigcc.ticalc.org> - 4.6.0-2
- Conflicts with old versions of kdevplatform, kdevelop, kile, rkward to force
their upgrade to compatible versions
* Fri Jan 21 2011 Jaroslav Reznik <jreznik@redhat.com> - 4.6.0-1
- 4.6.0
* Tue Jan 18 2011 Rex Dieter <rdieter@fedoraproject.org> - 4.5.95-2
- Unowned /usr/lib*/kde4/plugins/{gui_platform,styles} dirs (#645059) - Unowned /usr/lib*/kde4/plugins/{gui_platform,styles} dirs (#645059)
* Wed Jan 05 2011 Rex Dieter <rdieter@fedoraproject.org> 4.5.5-1 * Wed Jan 05 2011 Jaroslav Reznik <jreznik@redhat.com> - 4.5.95-1
- 4.5.5 - 4.5.95 (4.6rc2)
* Sat Dec 04 2010 Rex Dieter <rdieter@fedoraproject.org> - 4.5.4-2 * Mon Jan 03 2011 Lukas Tinkl <ltinkl@redhat.com> - 4.5.90-3
- update kdoctools/el from branch (kde-l10n entities) - update the halectomy patch to also omit the fstab backend
(may interfere with the udisks backend, causing deadlocks, cf kdebug#261359)
* Mon Nov 29 2010 Than Ngo <than@redhat.com> - 4.5.4-1 * Thu Dec 23 2010 Rex Dieter <rdieter@fedoraproject.org> 4.5.90-2
- 4.5.4 - build hal-free (ltinkl)
* Wed Dec 22 2010 Rex Dieter <rdieter@fedoraproject.org> 4.5.90-1
- 4.5.90 (4.6rc1)
* Fri Dec 17 2010 Jaroslav Reznik <jreznik@redhat.com> - 4.5.85-5
- rebuild for polkit-qt-1-0.99.0 (soname 1.99.0)
* Fri Dec 10 2010 Rex Dieter <rdieter@fedoraproject.org> - 4.5.85-4
- -common: Conflicts: kdebase-runtime < 4.5.80
- drop some old pre-f13 era Conflicts
* Fri Dec 10 2010 Kevin Kofler <Kevin@tigcc.ticalc.org> - 4.5.85-3
- fix FindQt4.cmake when there's also qt3-devel installed (#661996)
* Wed Dec 08 2010 Thomas Janssen <thomasj@fedoraproject.org> 4.5.85-2
- respun upstream tarball
* Fri Dec 03 2010 Thomas Janssen <thomasj@fedoraproject.org> 4.5.85-1
- 4.5.85 (4.6beta2)
* Fri Nov 26 2010 Rex Dieter <rdieter@fedoraproject.org> 4.5.80-7
- move udisks/upower dep to main pkg (from -devel)
* Wed Nov 24 2010 Lukas Tinkl <ltinkl@redhat.com> - 4.5.80-6
- explicitely require udisks/upower now that we depend on them
* Tue Nov 23 2010 Kevin Kofler <Kevin@tigcc.ticalc.org> - 4.5.80-5
- respun tarball (again), includes fix-build patch
* Tue Nov 23 2010 Kevin Kofler <Kevin@tigcc.ticalc.org> - 4.5.80-4
- respun tarball
- fix build failure triggered by "build fix" (patch by Jonathan Riddell)
* Mon Nov 22 2010 Lukas Tinkl <ltinkl@redhat.com> - 4.5.80-3
- don't build Solid HAL backend, rely on udisks/upower/udev only
(aka project HALsectomy)
* Sat Nov 20 2010 Rex Dieter <rdieter@fedoraproject.org> - 4.5.80-2
- squash more rpath's
* Sat Nov 20 2010 Rex Dieter <rdieter@fedoraproject.org> - 4.5.80-1
- 4.5.80 (4.6beta1)
* Mon Nov 15 2010 Rex Dieter <rdieter@fedoraproject.org> - 4.5.3-3 * Mon Nov 15 2010 Rex Dieter <rdieter@fedoraproject.org> - 4.5.3-3
- Closing a konsolepart shell crashes (kde#256652) - Closing a konsolepart shell crashes (kde#256652)

View File

@ -1 +1 @@
a6037c53d34fe28f8a135181fe7c923b kdelibs-4.5.5.tar.bz2 0cdc56a73009c65b5ad9ba3167ebb227 kdelibs-4.6.1.tar.bz2