From e52ab87c68027ff2d610fef9c18a118adac5a2bd Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 7 Mar 2013 22:19:15 -0200 Subject: kdelibs-libre-4.10.1-2: reverting some things related to khtml freedom issue and removing obsolete files --- ...-check-parent-mimetypes-in-protocolForArc.patch | 53 ---------- libre/kdelibs-libre/PKGBUILD | 9 +- libre/kdelibs-libre/fix-crash-on-open-with.patch | 19 ---- libre/kdelibs-libre/fix-kmail-crash.patch | 71 ------------- libre/kdelibs-libre/fix-save-path.patch | 27 ----- libre/kdelibs-libre/khtml-fsdg.diff | 50 +++++++++ .../use-pythondontwritebytecode.patch | 113 --------------------- 7 files changed, 54 insertions(+), 288 deletions(-) delete mode 100644 libre/kdelibs-libre/0001-Revert-Also-check-parent-mimetypes-in-protocolForArc.patch delete mode 100644 libre/kdelibs-libre/fix-crash-on-open-with.patch delete mode 100644 libre/kdelibs-libre/fix-kmail-crash.patch delete mode 100644 libre/kdelibs-libre/fix-save-path.patch create mode 100644 libre/kdelibs-libre/khtml-fsdg.diff delete mode 100644 libre/kdelibs-libre/use-pythondontwritebytecode.patch diff --git a/libre/kdelibs-libre/0001-Revert-Also-check-parent-mimetypes-in-protocolForArc.patch b/libre/kdelibs-libre/0001-Revert-Also-check-parent-mimetypes-in-protocolForArc.patch deleted file mode 100644 index 5aadeb883..000000000 --- a/libre/kdelibs-libre/0001-Revert-Also-check-parent-mimetypes-in-protocolForArc.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 73283f1332e90fbb6fe0caa39a038cb16b83a54c Mon Sep 17 00:00:00 2001 -From: David Faure -Date: Wed, 5 Dec 2012 22:42:25 +0100 -Subject: [PATCH] Revert "Also check parent mimetypes in - protocolForArchiveMimetype()." - -This reverts commit 4f296cfbced2c4ad54beec8f500ed2d3fc04ee05. -It breaks opening odt and other zip-based files in external apps. -That's what I get for delegating the testing :-) -BUG: 311214 ---- - kio/kio/kprotocolmanager.cpp | 19 +------------------ - 1 files changed, 1 insertions(+), 18 deletions(-) - -diff --git a/kio/kio/kprotocolmanager.cpp b/kio/kio/kprotocolmanager.cpp -index 3f1cadd..502a3e6 100644 ---- a/kio/kio/kprotocolmanager.cpp -+++ b/kio/kio/kprotocolmanager.cpp -@@ -47,7 +47,6 @@ - #include - #include - #include --#include - #include - #include - -@@ -1190,23 +1189,7 @@ QString KProtocolManager::protocolForArchiveMimetype( const QString& mimeType ) - } - } - } -- const QString prot = d->protocolForArchiveMimetypes.value(mimeType); -- if (!prot.isEmpty()) -- return prot; -- -- // Check parent mimetypes -- KMimeType::Ptr mime = KMimeType::mimeType(mimeType); -- if (mime) { -- const QStringList parentMimeTypes = mime->allParentMimeTypes(); -- Q_FOREACH(const QString& parentMimeType, parentMimeTypes) { -- const QString res = d->protocolForArchiveMimetypes.value(parentMimeType); -- if (!res.isEmpty()) { -- return res; -- } -- } -- } -- -- return QString(); -+ return d->protocolForArchiveMimetypes.value(mimeType); - } - - #undef PRIVATE_DATA --- -1.7.7 diff --git a/libre/kdelibs-libre/PKGBUILD b/libre/kdelibs-libre/PKGBUILD index ac5afdfa1..76d09f737 100644 --- a/libre/kdelibs-libre/PKGBUILD +++ b/libre/kdelibs-libre/PKGBUILD @@ -22,10 +22,11 @@ replaces=('kdelibs') conflicts=('kdelibs') install=${_pkgname}.install source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz" - 'kde-applications-menu.patch' 'qt4.patch') + 'kde-applications-menu.patch' 'qt4.patch' 'khtml-fsdg.diff') sha1sums=('91d1ab65a561decf7506df45bda7a7fec9a524bb' '86ee8c8660f19de8141ac99cd6943964d97a1ed7' - 'ed1f57ee661e5c7440efcaba7e51d2554709701c') + 'ed1f57ee661e5c7440efcaba7e51d2554709701c' + 'a1502a964081ad583a00cf90c56e74bf60121830') build() { cd ${_pkgname}-${pkgver} @@ -33,10 +34,8 @@ build() { patch -p1 -i "${srcdir}"/kde-applications-menu.patch # qmake refers to Qt5 patch -p1 -i "${srcdir}"/qt4.patch - # Don't ask the user to download a plugin, it's probably nonfree. - rm -v khtml/html/html_objectimpl.cpp - sed -i -e '/html_objectimpl.cpp/d' khtml/CMakeLists.txt + patch -p1 -i "${srcdir}"/khtml-fsdg.diff cd ../ diff --git a/libre/kdelibs-libre/fix-crash-on-open-with.patch b/libre/kdelibs-libre/fix-crash-on-open-with.patch deleted file mode 100644 index 60556386d..000000000 --- a/libre/kdelibs-libre/fix-crash-on-open-with.patch +++ /dev/null @@ -1,19 +0,0 @@ -commit 0820b3173aff4f0f3c803a9e75e726024da38ee5 -Author: David Faure -Date: Thu Dec 6 11:55:05 2012 +0100 - - Fix crash when no service was selected (user clicked on "Open With...") - -diff --git a/kparts/browserrun.cpp b/kparts/browserrun.cpp -index 6d84800..6de0380 100644 ---- a/kparts/browserrun.cpp -+++ b/kparts/browserrun.cpp -@@ -304,7 +304,7 @@ BrowserRun::NonEmbeddableResult BrowserRun::handleNonEmbeddable(const QString& _ - this, SLOT(slotCopyToTempFileResult(KJob*)) ); - return Delayed; // We'll continue after the job has finished - } -- if (selectedService) { -+ if (selectedService && question.selectedService()) { - *selectedService = question.selectedService(); - // KRun will use this when starting an app - KRun::setPreferredService(question.selectedService()->desktopEntryName()); diff --git a/libre/kdelibs-libre/fix-kmail-crash.patch b/libre/kdelibs-libre/fix-kmail-crash.patch deleted file mode 100644 index 27caa25f0..000000000 --- a/libre/kdelibs-libre/fix-kmail-crash.patch +++ /dev/null @@ -1,71 +0,0 @@ -commit 979b0436510e7807c054e79c40c3753834ac2863 -Author: Sebastian Trueg -Date: Thu Mar 15 09:14:35 2012 +0100 - - Thread-safe ResourceWatcher handling. - - We simply perform all RW operations in the manager thread. - - BUG: 295474 - FIXED-IN: 4.8.2 - -diff --git a/nepomuk/core/resourcedata.cpp b/nepomuk/core/resourcedata.cpp -index abe55ea..9d45228 100644 ---- a/nepomuk/core/resourcedata.cpp -+++ b/nepomuk/core/resourcedata.cpp -@@ -175,7 +175,8 @@ void Nepomuk::ResourceData::resetAll( bool isDelete ) - if( !m_uri.isEmpty() ) { - m_rm->m_initializedData.remove( m_uri ); - if( m_rm->m_watcher && m_addedToWatcher ) { -- m_rm->m_watcher->removeResource(Resource::fromResourceUri(m_uri)); -+ // See load() for an explanation of the QMetaObject call -+ QMetaObject::invokeMethod(m_rm->m_watcher, "removeResource", Qt::AutoConnection, Q_ARG(Nepomuk::Resource, Resource::fromResourceUri(m_uri))); - m_addedToWatcher = false; - } - } -@@ -393,16 +394,23 @@ bool Nepomuk::ResourceData::load() - m_cache.clear(); - - if(!m_rm->m_watcher) { -+ // -+ // The ResourceWatcher is not thread-safe. Thus, we need to ensure the safety ourselves. -+ // We do that by simply handling all RW related operations in the manager thread. -+ // This also means to invoke methods on the watcher through QMetaObject to make sure they -+ // get queued in case of calls between different threads. -+ // - m_rm->m_watcher = new ResourceWatcher(m_rm->m_manager); -+ m_rm->m_watcher->moveToThread(m_rm->m_manager->thread()); - QObject::connect( m_rm->m_watcher, SIGNAL(propertyAdded(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)), - m_rm->m_manager, SLOT(slotPropertyAdded(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)) ); - QObject::connect( m_rm->m_watcher, SIGNAL(propertyRemoved(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)), - m_rm->m_manager, SLOT(slotPropertyRemoved(Nepomuk::Resource, Nepomuk::Types::Property, QVariant)) ); - m_rm->m_watcher->addResource( Nepomuk::Resource::fromResourceUri(m_uri) ); -- m_rm->m_watcher->start(); -+ QMetaObject::invokeMethod(m_rm->m_watcher, "start", Qt::AutoConnection); - } - else { -- m_rm->m_watcher->addResource( Nepomuk::Resource::fromResourceUri(m_uri) ); -+ QMetaObject::invokeMethod(m_rm->m_watcher, "addResource", Qt::AutoConnection, Q_ARG(Nepomuk::Resource, Nepomuk::Resource::fromResourceUri(m_uri)) ); - } - m_addedToWatcher = true; - -diff --git a/nepomuk/core/resourcewatcher.h b/nepomuk/core/resourcewatcher.h -index 06b9622..92b12f5 100644 ---- a/nepomuk/core/resourcewatcher.h -+++ b/nepomuk/core/resourcewatcher.h -@@ -93,6 +93,7 @@ namespace Nepomuk { - */ - virtual ~ResourceWatcher(); - -+ public Q_SLOTS: - /** - * \brief Add a type to be watched. - * -@@ -204,7 +205,6 @@ namespace Nepomuk { - */ - QList properties() const; - -- public Q_SLOTS: - /** - * \brief Start the signalling of changes. - * diff --git a/libre/kdelibs-libre/fix-save-path.patch b/libre/kdelibs-libre/fix-save-path.patch deleted file mode 100644 index 1a00221a7..000000000 --- a/libre/kdelibs-libre/fix-save-path.patch +++ /dev/null @@ -1,27 +0,0 @@ -commit 793e2a69f8aa193b60494b03d51c5fd44373c0e7 -Author: Jonathan Marten -Date: Wed Nov 7 12:45:03 2012 +0000 - - Fix regression: specified or remembered save path is not used - - As requested on review https://git.reviewboard.kde.org/r/106475/ - -diff --git a/kfile/kfilewidget.cpp b/kfile/kfilewidget.cpp -index 65deca2..e755aae 100644 ---- a/kfile/kfilewidget.cpp -+++ b/kfile/kfilewidget.cpp -@@ -2593,8 +2593,12 @@ KUrl KFileWidget::getStartUrl( const KUrl& startDir, - } - else // not special "kfiledialog" URL - { -- if (!startDir.isRelative()) // has directory, maybe with filename -- { -+ // We can use startDir as the starting directory if either: -+ // (a) it has a directory part, or -+ // (b) there is a scheme (protocol), and it is not just "file". -+ if (!startDir.directory().isEmpty() || -+ (!startDir.scheme().isEmpty() && !startDir.isLocalFile())) -+ { // can use start directory - ret = startDir; // will be checked by stat later - // If we won't be able to list it (e.g. http), then use default - if ( !KProtocolManager::supportsListing( ret ) ) { diff --git a/libre/kdelibs-libre/khtml-fsdg.diff b/libre/kdelibs-libre/khtml-fsdg.diff new file mode 100644 index 000000000..1a531b3c8 --- /dev/null +++ b/libre/kdelibs-libre/khtml-fsdg.diff @@ -0,0 +1,50 @@ +diff -ru kdelibs-4.8.0.orig/khtml/html/html_objectimpl.cpp kdelibs-4.8.0/khtml/html/html_objectimpl.cpp +--- kdelibs-4.8.0.orig/khtml/html/html_objectimpl.cpp 2012-01-30 19:46:27.684114289 +0100 ++++ kdelibs-4.8.0/khtml/html/html_objectimpl.cpp 2012-01-30 19:47:47.222111046 +0100 +@@ -577,46 +577,6 @@ + + void HTMLObjectBaseElementImpl::slotPartLoadingErrorNotify() + { +- // If we have an embed, we may be able to tell the user where to +- // download the plugin. +- +- HTMLEmbedElementImpl *embed = relevantEmbed(); +- QString serviceType; // shadows ours, but we don't care. +- +- if (!embed) +- return; +- +- serviceType = embed->serviceType; +- +- KHTMLPart* part = document()->part(); +- KParts::BrowserExtension *ext = part->browserExtension(); +- +- if(!embed->pluginPage.isEmpty() && ext) { +- // Prepare the mimetype to show in the question (comment if available, name as fallback) +- QString mimeName = serviceType; +- KMimeType::Ptr mime = KMimeType::mimeType(serviceType, KMimeType::ResolveAliases); +- if ( mime && mime->name() != KMimeType::defaultMimeType() ) +- mimeName = mime->comment(); +- +- // Check if we already asked the user, for this page +- if (!mimeName.isEmpty() && !part->pluginPageQuestionAsked(serviceType)) +- { +- part->setPluginPageQuestionAsked(serviceType); +- +- // Prepare the URL to show in the question (host only if http, to make it short) +- KUrl pluginPageURL(embed->pluginPage); +- QString shortURL = pluginPageURL.protocol() == "http" ? pluginPageURL.host() : pluginPageURL.prettyUrl(); +- int res = KMessageBox::questionYesNo( part->view(), +- i18n("No plugin found for '%1'.\nDo you want to download one from %2?", mimeName, shortURL), +- i18n("Missing Plugin"), KGuiItem(i18n("Download")), KGuiItem(i18n("Do Not Download")), QString("plugin-")+serviceType); +- if (res == KMessageBox::Yes) +- { +- // Display vendor download page +- ext->createNewWindow(pluginPageURL); +- return; +- } +- } +- } + } + + diff --git a/libre/kdelibs-libre/use-pythondontwritebytecode.patch b/libre/kdelibs-libre/use-pythondontwritebytecode.patch deleted file mode 100644 index 9b5d92042..000000000 --- a/libre/kdelibs-libre/use-pythondontwritebytecode.patch +++ /dev/null @@ -1,113 +0,0 @@ -From: Arfrever Frehtes Taifersar Arahesis -Date: Wed, 07 Nov 2012 19:08:01 +0000 -Subject: Respect PYTHONDONTWRITEBYTECODE environmental variable. -X-Git-Url: http://quickgit.kde.org/?p=kdelibs.git&a=commitdiff&h=5a3cedacdb6485f7551090467cffb2cdf150b05a ---- -Respect PYTHONDONTWRITEBYTECODE environmental variable. - -BUG: 276151 -REVIEW: 107228 ---- - - ---- a/cmake/modules/PythonMacros.cmake -+++ b/cmake/modules/PythonMacros.cmake -@@ -23,54 +23,56 @@ - # Install the source file. - INSTALL(FILES ${SOURCE_FILE} DESTINATION ${DESTINATION_DIR}) - -- # Byte compile and install the .pyc file. -- GET_FILENAME_COMPONENT(_absfilename ${SOURCE_FILE} ABSOLUTE) -- GET_FILENAME_COMPONENT(_filename ${SOURCE_FILE} NAME) -- GET_FILENAME_COMPONENT(_filenamebase ${SOURCE_FILE} NAME_WE) -- GET_FILENAME_COMPONENT(_basepath ${SOURCE_FILE} PATH) -+ # Byte compile and install the .pyc file. -+ IF("$ENV{PYTHONDONTWRITEBYTECODE}" STREQUAL "") -+ GET_FILENAME_COMPONENT(_absfilename ${SOURCE_FILE} ABSOLUTE) -+ GET_FILENAME_COMPONENT(_filename ${SOURCE_FILE} NAME) -+ GET_FILENAME_COMPONENT(_filenamebase ${SOURCE_FILE} NAME_WE) -+ GET_FILENAME_COMPONENT(_basepath ${SOURCE_FILE} PATH) - -- if(WIN32) -- string(REGEX REPLACE ".:/" "/" _basepath "${_basepath}") -- endif(WIN32) -+ if(WIN32) -+ string(REGEX REPLACE ".:/" "/" _basepath "${_basepath}") -+ endif(WIN32) - -- SET(_bin_py ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename}) -+ SET(_bin_py ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filename}) - -- # Python 3.2 changed the pyc file location -- IF(PYTHON_SHORT_VERSION GREATER 3.1) -- # To get the right version for suffix -- STRING(REPLACE "." "" _suffix ${PYTHON_SHORT_VERSION}) -- SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/__pycache__/${_filenamebase}.cpython-${_suffix}.pyc) -- ELSE(PYTHON_SHORT_VERSION GREATER 3.1) -- SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc) -- ENDIF(PYTHON_SHORT_VERSION GREATER 3.1) -+ # Python 3.2 changed the pyc file location -+ IF(PYTHON_SHORT_VERSION GREATER 3.1) -+ # To get the right version for suffix -+ STRING(REPLACE "." "" _suffix ${PYTHON_SHORT_VERSION}) -+ SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/__pycache__/${_filenamebase}.cpython-${_suffix}.pyc) -+ ELSE(PYTHON_SHORT_VERSION GREATER 3.1) -+ SET(_bin_pyc ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}/${_filenamebase}.pyc) -+ ENDIF(PYTHON_SHORT_VERSION GREATER 3.1) - -- FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}) -+ FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_basepath}) - -- SET(_message "Byte-compiling ${_bin_py}") -+ SET(_message "Byte-compiling ${_bin_py}") - -- GET_FILENAME_COMPONENT(_abs_bin_py ${_bin_py} ABSOLUTE) -- IF(_abs_bin_py STREQUAL ${_absfilename}) # Don't copy the file onto itself. -- ADD_CUSTOM_COMMAND( -- TARGET compile_python_files -- COMMAND ${CMAKE_COMMAND} -E echo ${_message} -- COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} -- DEPENDS ${_absfilename} -- ) -- ELSE(_abs_bin_py STREQUAL ${_absfilename}) -- ADD_CUSTOM_COMMAND( -- TARGET compile_python_files -- COMMAND ${CMAKE_COMMAND} -E echo ${_message} -- COMMAND ${CMAKE_COMMAND} -E copy ${_absfilename} ${_bin_py} -- COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} -- DEPENDS ${_absfilename} -- ) -- ENDIF(_abs_bin_py STREQUAL ${_absfilename}) -+ GET_FILENAME_COMPONENT(_abs_bin_py ${_bin_py} ABSOLUTE) -+ IF(_abs_bin_py STREQUAL ${_absfilename}) # Don't copy the file onto itself. -+ ADD_CUSTOM_COMMAND( -+ TARGET compile_python_files -+ COMMAND ${CMAKE_COMMAND} -E echo ${_message} -+ COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} -+ DEPENDS ${_absfilename} -+ ) -+ ELSE(_abs_bin_py STREQUAL ${_absfilename}) -+ ADD_CUSTOM_COMMAND( -+ TARGET compile_python_files -+ COMMAND ${CMAKE_COMMAND} -E echo ${_message} -+ COMMAND ${CMAKE_COMMAND} -E copy ${_absfilename} ${_bin_py} -+ COMMAND ${PYTHON_EXECUTABLE} ${_python_compile_py} ${_bin_py} -+ DEPENDS ${_absfilename} -+ ) -+ ENDIF(_abs_bin_py STREQUAL ${_absfilename}) - -- IF(PYTHON_SHORT_VERSION GREATER 3.1) -- INSTALL(FILES ${_bin_pyc} DESTINATION ${DESTINATION_DIR}/__pycache__/) -- ELSE (PYTHON_SHORT_VERSION GREATER 3.1) -- INSTALL(FILES ${_bin_pyc} DESTINATION ${DESTINATION_DIR}) -- ENDIF (PYTHON_SHORT_VERSION GREATER 3.1) -+ IF(PYTHON_SHORT_VERSION GREATER 3.1) -+ INSTALL(FILES ${_bin_pyc} DESTINATION ${DESTINATION_DIR}/__pycache__/) -+ ELSE (PYTHON_SHORT_VERSION GREATER 3.1) -+ INSTALL(FILES ${_bin_pyc} DESTINATION ${DESTINATION_DIR}) -+ ENDIF (PYTHON_SHORT_VERSION GREATER 3.1) -+ ENDIF("$ENV{PYTHONDONTWRITEBYTECODE}" STREQUAL "") - - ENDMACRO(PYTHON_INSTALL) - - -- cgit v1.2.3