Hello community, here is the log from the commit of package kdelibs4 for openSUSE:Factory checked in at 2012-05-10 14:32:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdelibs4 (Old) and /work/SRC/openSUSE:Factory/.kdelibs4.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdelibs4", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/kdelibs4/kdelibs4-apidocs.changes 2012-04-17 21:59:01.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kdelibs4.new/kdelibs4-apidocs.changes 2012-05-10 14:32:33.000000000 +0200 @@ -1,0 +2,6 @@ +Sun Apr 29 20:52:53 UTC 2012 - [email protected] + +- update to 4.8.3 + * see http://kde.org/announcements/changelogs/changelog4_8_2to4_8_3.php for details + +------------------------------------------------------------------- --- /work/SRC/openSUSE:Factory/kdelibs4/kdelibs4.changes 2012-04-17 21:59:01.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.kdelibs4.new/kdelibs4.changes 2012-05-10 14:32:33.000000000 +0200 @@ -1,0 +2,6 @@ +Sun Apr 29 20:52:53 UTC 2012 - [email protected] + +- update to 4.8.3 + * see http://kde.org/announcements/changelogs/changelog4_8_2to4_8_3.php for details + +------------------------------------------------------------------- @@ -31,0 +38,9 @@ + +------------------------------------------------------------------- +Tue Mar 6 01:21:08 UTC 2012 - [email protected] + +- fix crash due to race in fstabstorageaccess constructor +- cache fstabstorageaccess interface instance +- solid udisks/upower backends: + * fix solid call to org.freedesktop.Properties.GetAll + * do not call Properties method on Root object Old: ---- kdelibs-4.8.2.tar.xz New: ---- fix_kdeclarative_install_location.diff kdelibs-4.8.3.tar.xz solid_fstab_cache_storageaccess.diff solid_fstab_fix_race.diff solid_udisks_upower_fix_properties.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdelibs4-apidocs.spec ++++++ --- /var/tmp/diff_new_pack.K8w0Ts/_old 2012-05-10 14:32:39.000000000 +0200 +++ /var/tmp/diff_new_pack.K8w0Ts/_new 2012-05-10 14:32:39.000000000 +0200 @@ -17,7 +17,7 @@ Name: kdelibs4-apidocs -Version: 4.8.2 +Version: 4.8.3 Release: 0 Summary: KDE 4 API documentation License: LGPL-2.1+ ++++++ kdelibs4.spec ++++++ --- /var/tmp/diff_new_pack.K8w0Ts/_old 2012-05-10 14:32:39.000000000 +0200 +++ /var/tmp/diff_new_pack.K8w0Ts/_new 2012-05-10 14:32:39.000000000 +0200 @@ -24,7 +24,7 @@ %define kderev 0 Name: kdelibs4 -Version: 4.8.2 +Version: 4.8.3 Release: 0 BuildRequires: OpenEXR-devel BuildRequires: alsa-devel @@ -114,6 +114,10 @@ Patch20: ignore-inline-menu.diff Patch24: ksuseinstall.diff Patch25: fix_kcalc_shortcut.diff +Patch26: fix_kdeclarative_install_location.diff +Patch28: solid_udisks_upower_fix_properties.diff +Patch29: solid_fstab_fix_race.diff +Patch30: solid_fstab_cache_storageaccess.diff PreReq: permissions Requires: soprano >= %( echo `rpm -q --queryformat '%{VERSION}' libsoprano-devel`) Recommends: strigi >= %( echo `rpm -q --queryformat '%{VERSION}' strigi-devel`) @@ -180,6 +184,10 @@ %patch20 %patch24 %patch25 +%patch26 -p1 +%patch28 -p1 +%patch29 -p1 +%patch30 -p1 # # define KDE version exactly @@ -487,6 +495,7 @@ %exclude %{_kde4_libdir}/libksuseinstall.so %{_kde4_appsdir}/cmake +%{_kde4_libdir}/cmake/KDeclarative %{_kde4_includedir}/* %{_kde4_libdir}/*.so %{_kde4_libdir}/kde4/plugins/script/libkrossqtsplugin.so @@ -518,6 +527,7 @@ %doc %lang(en) %{_kde4_htmldir}/en/sonnet %exclude %{_kde4_appsdir}/cmake +%exclude %{_kde4_libdir}/cmake/KDeclarative %if %suse_version > 1200 %exclude %{_kde4_appsdir}/kdeui/about %else ++++++ fix_kdeclarative_install_location.diff ++++++ Index: kdelibs-4.8.3/experimental/libkdeclarative/CMakeLists.txt =================================================================== --- kdelibs-4.8.3.orig/experimental/libkdeclarative/CMakeLists.txt +++ kdelibs-4.8.3/experimental/libkdeclarative/CMakeLists.txt @@ -6,6 +6,9 @@ endif(KDE_PLATFORM_FEATURE_BINARY_COMPAT configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-kdeclarative.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kdeclarative.h) +set (LIB_SUFFIX "" CACHE STRING "Define suffix of library directory name (eg. '64')") +set( LIB_INSTALL_DIR lib${LIB_SUFFIX} ) + include_directories( ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ++++++ solid_fstab_cache_storageaccess.diff ++++++ diff --git a/solid/solid/backends/fstab/fstabdevice.cpp b/solid/solid/backends/fstab/fstabdevice.cpp index 4a4dcee..30a961a 100644 --- a/solid/solid/backends/fstab/fstabdevice.cpp +++ b/solid/solid/backends/fstab/fstabdevice.cpp @@ -77,8 +77,11 @@ QString FstabDevice::icon() const QStringList FstabDevice::emblems() const { QStringList res; - const FstabStorageAccess accessIface(const_cast<FstabDevice *>(this)); - if (accessIface.isAccessible()) { + if (!m_storageAccess) { + FstabDevice* d = const_cast<FstabDevice *>(this); + d->m_storageAccess = new FstabStorageAccess(d); + } + if (m_storageAccess->isAccessible()) { res << "emblem-mounted"; } else { res << "emblem-unmounted"; @@ -104,7 +107,9 @@ bool FstabDevice::queryDeviceInterface(const Solid::DeviceInterface::Type &type) QObject* FstabDevice::createDeviceInterface(const Solid::DeviceInterface::Type &type) { if (type == Solid::DeviceInterface::StorageAccess) { - return new FstabStorageAccess(this); + if (!m_storageAccess) + m_storageAccess = new FstabStorageAccess(this); + return m_storageAccess; } else if (type == Solid::DeviceInterface::NetworkShare) { return new FstabNetworkShare(this); } diff --git a/solid/solid/backends/fstab/fstabdevice.h b/solid/solid/backends/fstab/fstabdevice.h index 07279f8..bac409e 100644 --- a/solid/solid/backends/fstab/fstabdevice.h +++ b/solid/solid/backends/fstab/fstabdevice.h @@ -23,6 +23,8 @@ #include <solid/ifaces/device.h> #include <QtCore/QStringList> +#include <QtCore/QPointer> +#include "fstabstorageaccess.h" namespace Solid { @@ -72,6 +74,7 @@ namespace Fstab QString m_product; QString m_vendor; QString m_description; + QPointer<FstabStorageAccess> m_storageAccess; }; } ++++++ solid_fstab_fix_race.diff ++++++ diff --git a/solid/solid/backends/fstab/fstabstorageaccess.cpp b/solid/solid/backends/fstab/fstabstorageaccess.cpp index 6af83cf..5482d48 100644 --- a/solid/solid/backends/fstab/fstabstorageaccess.cpp +++ b/solid/solid/backends/fstab/fstabstorageaccess.cpp @@ -37,7 +37,8 @@ FstabStorageAccess::FstabStorageAccess(Solid::Backends::Fstab::FstabDevice *devi { QStringList currentMountPoints = FstabHandling::currentMountPoints(device->device()); if (currentMountPoints.isEmpty()) { - m_filePath = FstabHandling::mountPoints(device->device()).first(); + QStringList mountPoints = FstabHandling::mountPoints(device->device()); + m_filePath = mountPoints.isEmpty() ? QString() : mountPoints.first(); m_isAccessible = false; } else { m_filePath = currentMountPoints.first(); ++++++ solid_udisks_upower_fix_properties.diff ++++++ diff --git a/solid/solid/backends/udisks/udisksdevice.cpp b/solid/solid/backends/udisks/udisksdevice.cpp index 638531e..80ea072 100644 --- a/solid/solid/backends/udisks/udisksdevice.cpp +++ b/solid/solid/backends/udisks/udisksdevice.cpp @@ -706,6 +706,7 @@ QMap<QString, QVariant> UDisksDevice::allProperties() const { QDBusMessage call = QDBusMessage::createMethodCall(m_device->service(), m_device->path(), "org.freedesktop.DBus.Properties", "GetAll"); + call << m_device->interface(); QDBusPendingReply< QVariantMap > reply = QDBusConnection::systemBus().asyncCall(call); reply.waitForFinished(); diff --git a/solid/solid/backends/udisks/udisksmanager.cpp b/solid/solid/backends/udisks/udisksmanager.cpp index 01db48f..e18cc66 100644 --- a/solid/solid/backends/udisks/udisksmanager.cpp +++ b/solid/solid/backends/udisks/udisksmanager.cpp @@ -108,6 +108,9 @@ QStringList UDisksManager::devicesFromQuery(const QString& parentUdi, Solid::Dev { foreach (const QString &udi, deviceCache()) { + if (udi==udiPrefix()) + continue; + UDisksDevice device(udi); if (device.queryDeviceInterface(type) && device.parentUdi() == parentUdi) result << udi; @@ -119,6 +122,9 @@ QStringList UDisksManager::devicesFromQuery(const QString& parentUdi, Solid::Dev { foreach (const QString &udi, deviceCache()) { + if (udi==udiPrefix()) + continue; + UDisksDevice device(udi); if (device.queryDeviceInterface(type)) result << udi; diff --git a/solid/solid/backends/upower/upowerdevice.cpp b/solid/solid/backends/upower/upowerdevice.cpp index 0858f14..5b672c7 100644 --- a/solid/solid/backends/upower/upowerdevice.cpp +++ b/solid/solid/backends/upower/upowerdevice.cpp @@ -200,6 +200,7 @@ QMap<QString, QVariant> UPowerDevice::allProperties() const { QDBusMessage call = QDBusMessage::createMethodCall(m_device.service(), m_device.path(), "org.freedesktop.DBus.Properties", "GetAll"); + call << m_device.interface(); QDBusPendingReply< QVariantMap > reply = QDBusConnection::systemBus().asyncCall(call); reply.waitForFinished(); diff --git a/solid/solid/backends/upower/upowermanager.cpp b/solid/solid/backends/upower/upowermanager.cpp index de2db75..bae234b 100644 --- a/solid/solid/backends/upower/upowermanager.cpp +++ b/solid/solid/backends/upower/upowermanager.cpp @@ -103,6 +103,9 @@ QStringList UPowerManager::devicesFromQuery(const QString& parentUdi, Solid::Dev { foreach (const QString & udi, allDev) { + if (udi==udiPrefix()) + continue; + UPowerDevice device(udi); if (device.queryDeviceInterface(type) && device.parentUdi() == parentUdi) result << udi; @@ -114,6 +117,9 @@ QStringList UPowerManager::devicesFromQuery(const QString& parentUdi, Solid::Dev { foreach (const QString & udi, allDev) { + if (udi==udiPrefix()) + continue; + UPowerDevice device(udi); if (device.queryDeviceInterface(type)) result << udi; -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
