diff --git a/kdelibs-4.5.90-halectomy.patch b/kdelibs-4.5.90-halectomy.patch deleted file mode 100644 index f167b68..0000000 --- a/kdelibs-4.5.90-halectomy.patch +++ /dev/null @@ -1,107 +0,0 @@ -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) diff --git a/kdelibs-fix_fd_leak_in_klockfile.patch b/kdelibs-fix_fd_leak_in_klockfile.patch new file mode 100644 index 0000000..78220f4 --- /dev/null +++ b/kdelibs-fix_fd_leak_in_klockfile.patch @@ -0,0 +1,50 @@ +commit 865e5fa4108bb3f470b9424ec34dc573d97e2473 +Author: David Faure +Date: Wed Aug 24 10:29:09 2011 +0200 + + Fix fd leak in KLockFile + + Didn't expect that after open(fd), QFile::close doesn't close the fd :) + +diff --git a/kdecore/io/klockfile_unix.cpp b/kdecore/io/klockfile_unix.cpp +index fa2eda4..93e92e2 100644 +--- a/kdecore/io/klockfile_unix.cpp ++++ b/kdecore/io/klockfile_unix.cpp +@@ -78,6 +78,7 @@ public: + : staleTime(30), // 30 seconds + isLocked(false), + linkCountSupport(true), ++ mustCloseFd(false), + m_pid(-1), + m_componentData(c) + { +@@ -102,6 +103,7 @@ public: + int staleTime; + bool isLocked; + bool linkCountSupport; ++ bool mustCloseFd; + QTime staleTimer; + KDE_struct_stat statBuf; + int m_pid; +@@ -285,7 +287,10 @@ KLockFile::LockResult KLockFile::Private::lockFileOExcl(KDE_struct_stat &st_buf) + if (!m_file.open(fd, QIODevice::WriteOnly)) { + return LockError; + } ++ mustCloseFd = true; + writeIntoLockFile(m_file, m_componentData); ++ ++ // stat to get the modification time + const int result = KDE_lstat(QFile::encodeName(m_fileName), &st_buf); + if (result != 0) + return KLockFile::LockError; +@@ -476,6 +481,10 @@ void KLockFile::unlock() + if (d->isLocked) + { + ::unlink(QFile::encodeName(d->m_fileName)); ++ if (d->mustCloseFd) { ++ close(d->m_file.handle()); ++ d->mustCloseFd = false; ++ } + d->m_file.close(); + d->m_pid = -1; + d->isLocked = false; diff --git a/kdelibs.spec b/kdelibs.spec index dc6f9ed..212e9bc 100644 --- a/kdelibs.spec +++ b/kdelibs.spec @@ -20,7 +20,7 @@ Summary: KDE Libraries Version: 4.6.5 -Release: 7%{?dist} +Release: 8%{?dist} Name: kdelibs Epoch: 6 @@ -122,6 +122,10 @@ Patch103: kdelibs-4.6.5-kconfig_sync-1.patch Patch104: kdelibs-4.6.5-kconfig_sync-2.patch Patch105: kdelibs-4.6.5-kconfig_sync-3.patch +## 4.7 upstream +# https://projects.kde.org/projects/kde/kdelibs/repository/revisions/865e5fa4108bb3f470b9424ec34dc573d97e2473 +Patch150: kdelibs-fix_fd_leak_in_klockfile.patch + ## security fix # Not Upstreamed? why not ? -- Rex @@ -131,8 +135,6 @@ Patch201: kdelibs-4.6.5-CVE-2011-3365-kio.patch Patch202: kdelibs-4.6.5-CVE-2011-3365-kssl.patch ## Fedora specific patches -# make forcefully hal-free build -Patch300: kdelibs-4.5.90-halectomy.patch # force upgrade of apps using the discontinued KatePart Smart* interfaces to # versions using the new Moving* interfaces instead @@ -312,15 +314,15 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage %patch104 -p1 -b .kconfig_sync-2 %patch105 -p1 -b .kconfig_sync-3 +# 4.7 backported patches +%patch150 -p1 -b .fix_leak_in_klockfile + # security fix %patch200 -p1 -b .CVE-2009-2702 %patch201 -p1 -b .CVE-2011-3365-kio %patch202 -p1 -b .CVE-2011-3365-kssl # Fedora patches -%if 0%{?halectomy} -%patch300 -p0 -b .halectomy -%endif %build @@ -568,6 +570,10 @@ rm -rf %{buildroot} %changelog +* Mon Nov 14 2011 Rex Dieter 4.6.5-8 +- solid hardware does not detect NFS drives, related to halectomy (#751879) +- Fix fd leak in KLockFile (#753709) + * Tue Oct 11 2011 Rex Dieter 4.6.5-7 - KConfig fails to sync on VFAT, CIFS, and EncFS (#730721,kde#203554)