diff --git a/.gitignore b/.gitignore index 574875b..886b175 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ /kdelibs-4.8.5.tar.xz -/kdelibs-4.9.2.tar.xz +/kdelibs-4.9.3.tar.xz diff --git a/kdelibs-4.9.2-cache-solid-device-in-kfileplaces.patch b/kdelibs-4.9.2-cache-solid-device-in-kfileplaces.patch deleted file mode 100644 index ce09b5e..0000000 --- a/kdelibs-4.9.2-cache-solid-device-in-kfileplaces.patch +++ /dev/null @@ -1,117 +0,0 @@ -diff --git a/kfile/kfileplacesitem.cpp b/kfile/kfileplacesitem.cpp -index 3ada0c3..52bbef1 100644 ---- a/kfile/kfileplacesitem.cpp -+++ b/kfile/kfileplacesitem.cpp -@@ -36,7 +36,8 @@ - KFilePlacesItem::KFilePlacesItem(KBookmarkManager *manager, - const QString &address, - const QString &udi) -- : m_manager(manager), m_lister(0), m_folderIsEmpty(true), m_device(udi) -+ : m_manager(manager), m_lister(0), m_folderIsEmpty(true), m_isCdrom(false), -+ m_isAccessible(false), m_device(udi) - { - setBookmark(m_manager->findByAddress(address)); - -@@ -58,8 +59,11 @@ KFilePlacesItem::KFilePlacesItem(KBookmarkManager *manager, - m_disc = m_device.as(); - if (m_access) { - connect(m_access, SIGNAL(accessibilityChanged(bool,QString)), -- this, SLOT(onAccessibilityChanged())); -+ this, SLOT(onAccessibilityChanged(bool))); -+ onAccessibilityChanged(m_access->isAccessible()); - } -+ m_iconPath = m_device.icon(); -+ m_emblems = m_device.emblems(); - } - } - -@@ -171,7 +175,7 @@ QVariant KFilePlacesItem::deviceData(int role) const - case Qt::DisplayRole: - return d.description(); - case Qt::DecorationRole: -- return KIcon(d.icon(), 0, d.emblems()); -+ return KIcon(m_iconPath, 0, m_emblems); - case KFilePlacesModel::UrlRole: - if (m_access) { - return QUrl(KUrl(m_access->filePath())); -@@ -183,7 +187,7 @@ QVariant KFilePlacesItem::deviceData(int role) const - } - case KFilePlacesModel::SetupNeededRole: - if (m_access) { -- return !m_access->isAccessible(); -+ return !m_isAccessible; - } else { - return QVariant(); - } -@@ -203,16 +207,7 @@ QVariant KFilePlacesItem::deviceData(int role) const - } - - case KFilePlacesModel::CapacityBarRecommendedRole: -- { -- bool accessible = m_access && m_access->isAccessible(); -- bool isCdrom = -- ((m_device.is() -- && m_device.as()->driveType() == Solid::StorageDrive::CdromDrive) -- || (m_device.parent().is() -- && m_device.parent().as()->driveType() == Solid::StorageDrive::CdromDrive)); -- -- return accessible && !isCdrom; -- } -+ return m_isAccessible && !m_isCdrom; - - default: - return QVariant(); -@@ -291,8 +286,15 @@ QString KFilePlacesItem::generateNewId() - // + '/' + QString::number(qrand()); - } - --void KFilePlacesItem::onAccessibilityChanged() -+void KFilePlacesItem::onAccessibilityChanged(bool isAccessible) - { -+ m_isAccessible = isAccessible; -+ m_isCdrom = ((m_device.is() -+ && m_device.as()->driveType() == Solid::StorageDrive::CdromDrive) -+ || (m_device.parent().is() -+ && m_device.parent().as()->driveType() == Solid::StorageDrive::CdromDrive)); -+ m_emblems = m_device.emblems(); -+ - emit itemChanged(id()); - } - -diff --git a/kfile/kfileplacesitem_p.h b/kfile/kfileplacesitem_p.h -index 3c6bd30..dec3e64 100644 ---- a/kfile/kfileplacesitem_p.h -+++ b/kfile/kfileplacesitem_p.h -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -69,7 +70,7 @@ Q_SIGNALS: - void itemChanged(const QString &id); - - private Q_SLOTS: -- void onAccessibilityChanged(); -+ void onAccessibilityChanged(bool); - void onListerCompleted(); - - private: -@@ -85,11 +86,15 @@ private: - KBookmark m_bookmark; - KDirLister *m_lister; - bool m_folderIsEmpty; -+ bool m_isCdrom; -+ bool m_isAccessible; - QString m_text; - mutable Solid::Device m_device; - mutable QPointer m_access; - mutable QPointer m_volume; - mutable QPointer m_disc; -+ QString m_iconPath; -+ QStringList m_emblems; - }; - - #endif diff --git a/kdelibs-4.9.2-revert-kde#108510-kde#183534.patch b/kdelibs-4.9.2-revert-kde#108510-kde#183534.patch deleted file mode 100644 index 96a6bc9..0000000 --- a/kdelibs-4.9.2-revert-kde#108510-kde#183534.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff -up kdelibs-4.9.2/kinit/kinit.cpp.me kdelibs-4.9.2/kinit/kinit.cpp ---- kdelibs-4.9.2/kinit/kinit.cpp.me 2012-10-04 14:14:07.992428593 +0200 -+++ kdelibs-4.9.2/kinit/kinit.cpp 2012-10-04 14:19:28.783484339 +0200 -@@ -57,7 +57,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -538,7 +537,6 @@ static pid_t launch(int argc, const char - #endif - // find out these paths before forking, doing it afterwards - // crashes on some platforms, notably OSX -- const QByteArray docPath = QFile::encodeName(KGlobalSettings::documentPath()); - #ifdef Q_WS_MAC - const QString bundlepath = s_instance->dirs()->findExe(QFile::decodeName(execpath)); - #endif -@@ -567,12 +565,6 @@ static pid_t launch(int argc, const char - // we still want to execute `foo` even if the chdir() failed. - if (cwd && *cwd) { - (void)chdir(cwd); -- } else { -- // on Maemo5, documentPath() is on the SD card, setting it as working directory would block -- // USB mass storage access --#ifndef Q_WS_MAEMO_5 -- (void)chdir(docPath.constData()); --#endif - } - - if( reset_env ) // KWRAPPER/SHELL -diff -up kdelibs-4.9.2/kio/kio/krun.cpp.me kdelibs-4.9.2/kio/kio/krun.cpp ---- kdelibs-4.9.2/kio/kio/krun.cpp.me 2012-10-04 14:24:07.520105922 +0200 -+++ kdelibs-4.9.2/kio/kio/krun.cpp 2012-10-04 14:45:34.687377085 +0200 -@@ -55,7 +55,6 @@ - #include - #include - #include --#include - #include - #include - #include -@@ -1073,13 +1072,6 @@ bool KRun::runCommand(const QString& cmd - kDebug(7010) << "runCommand " << cmd << "," << execName; - KProcess * proc = new KProcess; - proc->setShellCommand(cmd); -- if (workingDirectory.isEmpty()) { -- // see bug 108510, and we need "alt+f2 editor" (which starts a desktop file via klauncher) -- // and "alt+f2 editor -someoption" (which calls runCommand) to be consistent. -- proc->setWorkingDirectory(KGlobalSettings::documentPath()); -- } else { -- proc->setWorkingDirectory(workingDirectory); -- } - QString bin = binaryName(execName, true); - KService::Ptr service = KService::serviceByDesktopName(bin); - return runCommandInternal(proc, service.data(), diff --git a/kdelibs-4.9.x-CVE-2012-4514.patch b/kdelibs-4.9.x-CVE-2012-4514.patch deleted file mode 100644 index 34235c7..0000000 --- a/kdelibs-4.9.x-CVE-2012-4514.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 65464349951e0df9b5d80c2eb3cc7458d54923ae -Author: David Faure -Date: Fri Oct 19 11:33:41 2012 +0200 - - Fix crash when trying to reuse a frame with a null part. - - BUG: 271528 - FIXED-IN: 4.9.3 - -diff --git a/khtml/khtml_part.cpp b/khtml/khtml_part.cpp -index ad00ea5..6165710 100644 ---- a/khtml/khtml_part.cpp -+++ b/khtml/khtml_part.cpp -@@ -5242,8 +5242,12 @@ KHTMLPart* KHTMLPartPrivate::top() - - bool KHTMLPartPrivate::canNavigate(KParts::ReadOnlyPart* bCand) - { -+ if (!bCand) // No part here (e.g. invalid url), reuse that frame -+ return true; -+ - KHTMLPart* b = qobject_cast(bCand); -- assert(b); -+ if (!b) // Another kind of part? Not sure what to do... -+ return false; - - // HTML5 gives conditions for this (a) being able to navigate b - diff --git a/kdelibs-4.9.x-CVE-2012-4515.patch b/kdelibs-4.9.x-CVE-2012-4515.patch deleted file mode 100644 index 89aa170..0000000 --- a/kdelibs-4.9.x-CVE-2012-4515.patch +++ /dev/null @@ -1,50 +0,0 @@ -commit 4f2eb356f1c23444fff2cfe0a7ae10efe303d6d8 -Author: David Faure -Date: Wed Oct 24 20:04:31 2012 +0200 - - Fix crash when a redirect happens in an iframe while the context menu is shown - -diff --git a/khtml/rendering/render_replaced.cpp b/khtml/rendering/render_replaced.cpp -index 195dcba..6bc5caa 100644 ---- a/khtml/rendering/render_replaced.cpp -+++ b/khtml/rendering/render_replaced.cpp -@@ -1030,7 +1030,7 @@ bool RenderWidget::handleEvent(const DOM::EventImpl& ev) - p.setY(qMin(qMax(0,p.y()),m_widget->height())); - } - -- QWidget* target = 0; -+ QPointer target; - target = m_widget->childAt(p); - - if (target) { -@@ -1103,16 +1103,18 @@ bool RenderWidget::handleEvent(const DOM::EventImpl& ev) - } - } - -- QEvent *e = isMouseWheel ? -+ QScopedPointer e(isMouseWheel ? - static_cast(new QWheelEvent(p, -me.detail()*40, buttons, state, orient)) : -- static_cast(new QMouseEvent(type, p, button, buttons, state)); -+ static_cast(new QMouseEvent(type, p, button, buttons, state))); - - -- ret = bubblingSend(target, e, m_widget); -+ ret = bubblingSend(target, e.data(), m_widget); - -+ if (!target) -+ break; - if (needContextMenuEvent) { - QContextMenuEvent cme(QContextMenuEvent::Mouse, p); -- static_cast(target)->sendEvent(&cme); -+ static_cast(target.data())->sendEvent(&cme); - } else if (type == QEvent::MouseMove && target->testAttribute(Qt::WA_Hover)) { - QHoverEvent he( QEvent::HoverMove, p, p ); - QApplication::sendEvent(target, &he); -@@ -1120,7 +1122,6 @@ bool RenderWidget::handleEvent(const DOM::EventImpl& ev) - if (ev.id() == EventImpl::MOUSEUP_EVENT) { - view()->setMouseEventsTarget( 0 ); - } -- delete e; - break; - } - case EventImpl::KEYDOWN_EVENT: diff --git a/kdelibs-cmake_python3.patch b/kdelibs-cmake_python3.patch index c2214ef..3bc1ad0 100644 --- a/kdelibs-cmake_python3.patch +++ b/kdelibs-cmake_python3.patch @@ -27,28 +27,3 @@ if(WIN32) string(REPLACE "\\" "/" PYTHON_SITE_PACKAGES_DIR ${PYTHON_SITE_PACKAGES_DIR}) endif(WIN32) ---- a/cmake/modules/PythonMacros.cmake 2011-07-27 13:34:31.000000000 -0500 -+++ b/cmake/modules/PythonMacros.cmake 2012-07-24 15:31:33.386764200 -0500 -@@ -34,7 +34,13 @@ - endif(WIN32) - - SET(_bin_py ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename}) -- SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc) -+ if(PYTHON_VERSION_STRING VERSION_GREATER "3.1.99") -+ execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import imp; print(imp.cache_from_source('${_filename}'), end='')" OUTPUT_VARIABLE _filename_pyc) -+ SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename_pyc}) -+ GET_FILENAME_COMPONENT(_basepath_pyc ${_filename_pyc} PATH) -+ else(PYTHON_VERSION_STRING VERSION_GREATER "3.1.99") -+ SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc) -+ endif(PYTHON_VERSION_STRING VERSION_GREATER "3.1.99") - - FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}) - -@@ -58,5 +64,6 @@ - ) - ENDIF(_abs_bin_py STREQUAL ${_absfilename}) - -- INSTALL(FILES ${_bin_pyc} DESTINATION ${DESINATION_DIR}) -+ INSTALL(FILES ${_bin_pyc} DESTINATION ${DESINATION_DIR}/${_basepath_pyc}) -+ - ENDMACRO(PYTHON_INSTALL) diff --git a/kdelibs.spec b/kdelibs.spec index 4498b35..919edb6 100644 --- a/kdelibs.spec +++ b/kdelibs.spec @@ -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.2 -Release: 11%{?dist} +Version: 4.9.3 +Release: 2%{?dist} Name: kdelibs Epoch: 6 @@ -149,24 +149,17 @@ Patch55: kdelibs-4.9.2-FindSamba_samba4.patch # backport FindKipi.cmake from Digikam SC 3.0.0-beta1 for libkipi 2 (kde#307213) Patch56: kdelibs-4.9.1-FindKipi-libkipi2.patch -# krunner using ~/Documents as working directory, revert kde#108510, kde#183534 -Patch57: kdelibs-4.9.2-revert-kde#108510-kde#183534.patch - # cmake/python3 love, see # https://bugs.kde.org/show_bug.cgi?id=275919 # see also http://git.reviewboard.kde.org/r/106707/ +# reviewboard finished, double check if these remaining patches are still +# required or not -- rex Patch58: kdelibs-cmake_python3.patch ## upstream -# cache solid device icon so that it does not poll udisks2 constantly (rhbz#868530) -# see https://git.reviewboard.kde.org/r/107030/ -Patch100: kdelibs-4.9.2-cache-solid-device-in-kfileplaces.patch - ## security fix # Not Upstreamed? why not ? -- Rex Patch200: kdelibs-4.3.1-CVE-2009-2702.patch -Patch201: kdelibs-4.9.x-CVE-2012-4515.patch -Patch202: kdelibs-4.9.x-CVE-2012-4514.patch # rhel patches Patch300: kdelibs-4.8.3-webkit.patch @@ -332,16 +325,12 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage %patch54 -p1 -b .kjs-locale %patch55 -p1 -b .FindSamba-samba4 %patch56 -p1 -b .FindKipi-libkipi2 -%patch57 -p1 -b .revert-kde#108510-kde#183534 %patch58 -p1 -b .cmake_python3 # upstream patches -%patch100 -p1 -b .cache-solid-device-icon # security fixes %patch200 -p1 -b .CVE-2009-2702 -%patch201 -p1 -b .CVE-2012-4515 -%patch202 -p1 -b .CVE-2012-4514 # rhel patches %if 0%{?rhel} @@ -597,6 +586,12 @@ rm -rf %{buildroot} %changelog +* Fri Nov 02 2012 Rex Dieter 6:4.9.3-2 +- (re)enable apidocs + +* Fri Nov 02 2012 Rex Dieter 6:4.9.3-1 +- 4.9.3 + * Wed Oct 31 2012 Than Ngo - 6:4.9.2-11 - Resolves: CVE-2012-4514 diff --git a/sources b/sources index f1aeb71..de58ca9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -421a0cb4e51db7d8eb6bb8aff508aeab kdelibs-4.9.2.tar.xz +91e9cf8446491e7e852b04be7a22c61c kdelibs-4.9.3.tar.xz