Merge branch 'master' into f17

This commit is contained in:
Rex Dieter 2012-09-29 11:12:05 -05:00
commit 7a8dfa2a9c
6 changed files with 20 additions and 98 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
/kdelibs-4.8.5.tar.xz
/kdelibs-4.9.1.tar.xz
/kdelibs-4.9.2.tar.xz

View File

@ -1,7 +1,7 @@
diff -ur kdelibs-4.9.1/cmake/modules/FindKipi.cmake kdelibs-4.9.1-FindKipi-libkipi2/cmake/modules/FindKipi.cmake
--- kdelibs-4.9.1/cmake/modules/FindKipi.cmake 2012-08-13 10:39:41.000000000 +0200
+++ kdelibs-4.9.1-FindKipi-libkipi2/cmake/modules/FindKipi.cmake 2012-09-22 18:37:47.000000000 +0200
@@ -1,116 +1,118 @@
diff -up kdelibs-4.9.1/cmake/modules/FindKipi.cmake.FindKipi-libkipi2 kdelibs-4.9.1/cmake/modules/FindKipi.cmake
--- kdelibs-4.9.1/cmake/modules/FindKipi.cmake.FindKipi-libkipi2 2012-08-13 03:39:41.000000000 -0500
+++ kdelibs-4.9.1/cmake/modules/FindKipi.cmake 2012-09-26 08:01:10.326462520 -0500
@@ -1,116 +1,119 @@
-# - Try to find the Kipi library
+# Module that tries to find the Kipi library
#
@ -86,7 +86,7 @@ diff -ur kdelibs-4.9.1/cmake/modules/FindKipi.cmake kdelibs-4.9.1-FindKipi-libki
+ FIND_LIBRARY(KIPI_LIBRARIES NAMES libkipi PATHS ${KIPI_LIBRARY_DIRS} ${LIB_INSTALL_DIR} ${KDE4_LIB_DIR})
+ FIND_PATH(KIPI_INCLUDE_DIR NAMES libkipi/version.h PATHS ${KIPI_INCLUDE_DIRS} ${INCLUDE_INSTALL_DIR} ${KDE4_INCLUDE_DIR})
+ SET(KIPI_VERSION_H_FILENAME "${KIPI_INCLUDE_DIR}/libkipi/version.h")
+ SET(KIPI_DEFINITIONS ${KIPI_CFLAGS})
+ SET(KIPI_DEFINITIONS ${KIPI_CFLAGS} CACHE STRING "Kipi definitions")
+
+ INCLUDE(FindPackageHandleStandardArgs)
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(KIPI DEFAULT_MSG KIPI_LIBRARIES KIPI_INCLUDE_DIR)
@ -106,9 +106,10 @@ diff -ur kdelibs-4.9.1/cmake/modules/FindKipi.cmake kdelibs-4.9.1-FindKipi-libki
+ STRING(REGEX REPLACE
+ ".*static +const +int +kipi_binary_version += ([^ ;]+).*"
+ "\\1"
+ KIPI_SO_VERSION
+ KIPI_SO_VERSION_FOUND
+ "${KIPI_VERSION_H_CONTENT}"
+ )
+ SET(KIPI_SO_VERSION ${KIPI_SO_VERSION_FOUND} CACHE STRING "libkipi so version")
+ MESSAGE(STATUS "Kipi library SO binary version: ${KIPI_SO_VERSION}")
+ ENDIF(NOT KIPI_SO_VERSION)
+

View File

@ -1,19 +0,0 @@
diff -up kdelibs-4.9.1/solid/solid/backends/udisks/udisksstorageaccess.cpp.solid-detach-external-hdd kdelibs-4.9.1/solid/solid/backends/udisks/udisksstorageaccess.cpp
--- kdelibs-4.9.1/solid/solid/backends/udisks/udisksstorageaccess.cpp.solid-detach-external-hdd 2012-08-28 15:37:29.000000000 +0200
+++ kdelibs-4.9.1/solid/solid/backends/udisks/udisksstorageaccess.cpp 2012-09-04 12:18:00.030489289 +0200
@@ -199,7 +199,14 @@ void UDisksStorageAccess::slotDBusReply(
QDBusMessage msg = QDBusMessage::createMethodCall(UD_DBUS_SERVICE, drivePath, UD_DBUS_INTERFACE_DISKS_DEVICE, "DriveEject");
msg << QStringList(); // options, unused now
c.call(msg, QDBus::NoBlock);
- }
+ // power down removable USB hard drives, rhbz#852196
+ UDisksDevice drive(drivePath);
+ if (drive.prop("DriveCanDetach").toBool()) {
+ QDBusMessage msg2 = QDBusMessage::createMethodCall(UD_DBUS_SERVICE, drivePath, UD_DBUS_INTERFACE_DISKS_DEVICE, "DriveDetach");
+ msg2 << QStringList(); // options, unused now
+ c.call(msg2, QDBus::NoBlock);
+ }
+ }
m_teardownInProgress = false;
m_device->broadcastActionDone("teardown");

View File

@ -1,63 +0,0 @@
diff --git a/solid/solid/backends/udisks/udisksopticaldisc.cpp b/solid/solid/backends/udisks/udisksopticaldisc.cpp
index 42272aa..8eb3588 100644
--- a/solid/solid/backends/udisks/udisksopticaldisc.cpp
+++ b/solid/solid/backends/udisks/udisksopticaldisc.cpp
@@ -25,8 +25,15 @@
#include <fcntl.h>
#include <QtCore/QFile>
+#include <QtCore/QMap>
+#include <QtCore/QMutexLocker>
#include "udisksopticaldisc.h"
+#include "soliddefs_p.h"
+
+typedef QMap<QString, Solid::OpticalDisc::ContentTypes> ContentTypesCache;
+SOLID_GLOBAL_STATIC(ContentTypesCache, cache)
+SOLID_GLOBAL_STATIC(QMutex, cacheLock)
// inspired by http://cgit.freedesktop.org/hal/tree/hald/linux/probing/probe-volume.c
static Solid::OpticalDisc::ContentType advancedDiscDetect(const QString & device_file)
@@ -234,6 +241,16 @@ Solid::OpticalDisc::ContentTypes OpticalDisc::availableContent() const
}
if (m_needsReprobe) {
+ QMutexLocker lock(cacheLock);
+
+ QString deviceFile = m_device->prop("DeviceFile").toString();
+
+ if (cache->contains(deviceFile)) {
+ m_cachedContent = cache->value(deviceFile);
+ m_needsReprobe = false;
+ return m_cachedContent;
+ }
+
m_cachedContent = Solid::OpticalDisc::NoContent;
bool hasData = m_device->prop("OpticalDiscNumTracks").toInt() > 0 &&
m_device->prop("OpticalDiscNumTracks").toInt() > m_device->prop("OpticalDiscNumAudioTracks").toInt();
@@ -241,12 +258,14 @@ Solid::OpticalDisc::ContentTypes OpticalDisc::availableContent() const
if ( hasData ) {
m_cachedContent |= Solid::OpticalDisc::Data;
- m_cachedContent |= advancedDiscDetect(m_device->prop("DeviceFile").toString());
+ m_cachedContent |= advancedDiscDetect(deviceFile);
}
if ( hasAudio )
m_cachedContent |= Solid::OpticalDisc::Audio;
m_needsReprobe = false;
+
+ cache->insert(deviceFile, m_cachedContent);
}
return m_cachedContent;
@@ -254,7 +273,8 @@ Solid::OpticalDisc::ContentTypes OpticalDisc::availableContent() const
void OpticalDisc::slotChanged()
{
+ QMutexLocker lock(cacheLock);
m_needsReprobe = true;
m_cachedContent = Solid::OpticalDisc::NoContent;
+ cache->remove(m_device->prop("DeviceFile").toString());
}
-

View File

@ -24,8 +24,8 @@
%global dbusmenu_qt_version %(pkg-config --modversion dbusmenu-qt 2>/dev/null || echo %{dbusmenu_qt_ver})
Summary: KDE Libraries
Version: 4.9.1
Release: 4%{?dist}
Version: 4.9.2
Release: 2%{?dist}
Name: kdelibs
Epoch: 6
@ -142,14 +142,10 @@ Patch53: kdelibs-4.7.2-kjs-s390.patch
# return valid locale (RFC 1766)
Patch54: kdelibs-4.8.4-kjs-locale.patch
# Can't safely remove a USB removable hard drive ( http://bugzilla.redhat.com/852196 )
Patch55: kdelibs-4.9.1-udisks_detatch_external_hdd.patch
# backport FindKipi.cmake from Digikam SC 3.0.0-beta1 for libkipi 2 (kde#307213)
Patch56: kdelibs-4.9.1-FindKipi-libkipi2.patch
## upstream
Patch100: kdelibs-4.9.2-optdiscspin.patch
## security fix
# Not Upstreamed? why not ? -- Rex
@ -317,11 +313,9 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
%patch52 -p1 -b .SOLID_UPNP
%patch53 -p1 -b .kjs-s390
%patch54 -p1 -b .kjs-locale
%patch55 -p1 -b .solid-detach-external-hdd
%patch56 -p1 -b .FindKipi-libkipi2
# upstream patches
%patch100 -p1 -b .optdiscspin
# security fixes
%patch200 -p1 -b .CVE-2009-2702
@ -577,6 +571,15 @@ rm -rf %{buildroot}
%changelog
* Sat Sep 29 2012 Rex Dieter <rdieter@fedoraproject.org> 6:4.9.2-2
- respin
* Fri Sep 28 2012 Rex Dieter <rdieter@fedoraproject.org> - 6:4.9.2-1
- 4.9.2
* Wed Sep 26 2012 Rex Dieter <rdieter@fedoraproject.org> 6:4.9.1-5
- respin FindKipi.cmake patch (kde#307213)
* Sat Sep 22 2012 Kevin Kofler <Kevin@tigcc.ticalc.org> - 6:4.9.1-4
- actually enable Solid udisks2 backend (restore patch hunks lost in 4.9.1-2)
- backport FindKipi.cmake from Digikam SC 3.0.0-beta1 for libkipi 2 (kde#307213)

View File

@ -1 +1 @@
d20b95b594a0df518f270dda0331f88c kdelibs-4.9.1.tar.xz
421a0cb4e51db7d8eb6bb8aff508aeab kdelibs-4.9.2.tar.xz