Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kdav for openSUSE:Factory checked in at 2022-01-11 21:16:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdav (Old) and /work/SRC/openSUSE:Factory/.kdav.new.1892 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdav" Tue Jan 11 21:16:09 2022 rev:60 rq:945044 version:5.90.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kdav/kdav.changes 2021-12-13 20:43:53.948481424 +0100 +++ /work/SRC/openSUSE:Factory/.kdav.new.1892/kdav.changes 2022-01-11 21:18:34.992929860 +0100 @@ -1,0 +2,11 @@ +Mon Jan 3 12:47:23 UTC 2022 - Christophe Giboudeaux <[email protected]> + +- Update to 5.90.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/5/5.90.0 +- Changes since 5.89.0: + * Adapt build system to allow building against Qt6 + * Port away from QtXmlPatterns + +------------------------------------------------------------------- Old: ---- kdav-5.89.0.tar.xz kdav-5.89.0.tar.xz.sig New: ---- kdav-5.90.0.tar.xz kdav-5.90.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdav.spec ++++++ --- /var/tmp/diff_new_pack.slEDGU/_old 2022-01-11 21:18:35.588930279 +0100 +++ /var/tmp/diff_new_pack.slEDGU/_new 2022-01-11 21:18:35.592930282 +0100 @@ -16,21 +16,21 @@ # -%define _tar_path 5.89 +%define _tar_path 5.90 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')} -%bcond_without lang +%bcond_without released Name: kdav -Version: 5.89.0 +Version: 5.90.0 Release: 0 Summary: DAV protocol implementation License: LGPL-2.0-or-later Group: Development/Libraries/KDE URL: https://www.kde.org Source: %{name}-%{version}.tar.xz -%if %{with lang} +%if %{with released} Source1: %{name}-%{version}.tar.xz.sig Source2: frameworks.keyring %endif @@ -76,7 +76,7 @@ %install %kf5_makeinstall -C build - %if %{with lang} + %if %{with released} %find_lang %{name} --with-man --all-name %endif @@ -100,7 +100,7 @@ %{_kf5_libdir}/libKF5DAV.so %{_kf5_mkspecsdir}/qt_kdav.pri -%if %{with lang} +%if %{with released} %files lang -f %{name}.lang %endif ++++++ kdav-5.89.0.tar.xz -> kdav-5.90.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdav-5.89.0/CMakeLists.txt new/kdav-5.90.0/CMakeLists.txt --- old/kdav-5.89.0/CMakeLists.txt 2021-12-04 19:33:44.000000000 +0100 +++ new/kdav-5.90.0/CMakeLists.txt 2022-01-01 13:27:57.000000000 +0100 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "5.89.0") # handled by release scripts -set(KF_DEP_VERSION "5.89.0") # handled by release scripts +set(KF_VERSION "5.90.0") # handled by release scripts +set(KF_DEP_VERSION "5.90.0") # handled by release scripts project(libkdav VERSION ${KF_VERSION}) -find_package(ECM 5.89.0 CONFIG REQUIRED) +find_package(ECM 5.90.0 CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) include(KDEInstallDirs) @@ -26,14 +26,14 @@ set(REQUIRED_QT_VERSION 5.15.2) -find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Gui XmlPatterns Test) +find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Gui Test) find_package(KF5 ${KF_DEP_VERSION} REQUIRED CoreAddons KIO I18n) # setup lib add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050f02) -add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055400) +add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055900) option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdav-5.89.0/autotests/CMakeLists.txt new/kdav-5.90.0/autotests/CMakeLists.txt --- old/kdav-5.89.0/autotests/CMakeLists.txt 2021-12-04 19:33:44.000000000 +0100 +++ new/kdav-5.90.0/autotests/CMakeLists.txt 2022-01-01 13:27:57.000000000 +0100 @@ -4,35 +4,35 @@ ecm_add_test(davcollectiontest.cpp TEST_NAME davcollection NAME_PREFIX "kdav-" - LINK_LIBRARIES KF5::DAV Qt5::Test Qt5::Core Qt5::Gui + LINK_LIBRARIES KF5::DAV Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Core Qt${QT_MAJOR_VERSION}::Gui ) ecm_add_test(davitemtest.cpp TEST_NAME davitem NAME_PREFIX "kdav-" - LINK_LIBRARIES KF5::DAV Qt5::Test Qt5::Core + LINK_LIBRARIES KF5::DAV Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Core ) ecm_add_test(davurltest.cpp TEST_NAME davurl NAME_PREFIX "kdav-" - LINK_LIBRARIES KF5::DAV Qt5::Test Qt5::Core + LINK_LIBRARIES KF5::DAV Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Core ) ecm_add_test(davcollectionsmultifetchjobtest.cpp fakeserver.cpp TEST_NAME davcollectionsmultifetchjobtest NAME_PREFIX "kdav-" - LINK_LIBRARIES KF5::DAV Qt5::Test Qt5::Core Qt5::Network + LINK_LIBRARIES KF5::DAV Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Core Qt${QT_MAJOR_VERSION}::Network ) ecm_add_test(davitemfetchjobtest.cpp fakeserver.cpp TEST_NAME davitemfetchjob NAME_PREFIX "kdav-" - LINK_LIBRARIES KF5::DAV Qt5::Test Qt5::Core Qt5::Network + LINK_LIBRARIES KF5::DAV Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Core Qt${QT_MAJOR_VERSION}::Network ) ecm_add_test(davitemslistjobtest.cpp fakeserver.cpp TEST_NAME davitemslistjob NAME_PREFIX "kdav-" - LINK_LIBRARIES KF5::DAV Qt5::Test Qt5::Core Qt5::Network + LINK_LIBRARIES KF5::DAV Qt${QT_MAJOR_VERSION}::Test Qt${QT_MAJOR_VERSION}::Core Qt${QT_MAJOR_VERSION}::Network ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdav-5.89.0/po/zh_CN/libkdav.po new/kdav-5.90.0/po/zh_CN/libkdav.po --- old/kdav-5.89.0/po/zh_CN/libkdav.po 2021-12-04 19:33:44.000000000 +0100 +++ new/kdav-5.90.0/po/zh_CN/libkdav.po 2022-01-01 13:27:57.000000000 +0100 @@ -8,7 +8,7 @@ "Project-Id-Version: kdeorg\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2021-03-09 02:40+0100\n" -"PO-Revision-Date: 2021-11-30 15:20\n" +"PO-Revision-Date: 2021-12-22 14:05\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdav-5.89.0/src/CMakeLists.txt new/kdav-5.90.0/src/CMakeLists.txt --- old/kdav-5.89.0/src/CMakeLists.txt 2021-12-04 19:33:44.000000000 +0100 +++ new/kdav-5.90.0/src/CMakeLists.txt 2022-01-01 13:27:57.000000000 +0100 @@ -133,9 +133,8 @@ PUBLIC KF5::CoreAddons PRIVATE - Qt5::Xml - Qt5::Gui - Qt5::XmlPatterns + Qt${QT_MAJOR_VERSION}::Xml + Qt${QT_MAJOR_VERSION}::Gui KF5::KIOCore KF5::I18n ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdav-5.89.0/src/common/davcollectionsfetchjob.cpp new/kdav-5.90.0/src/common/davcollectionsfetchjob.cpp --- old/kdav-5.89.0/src/common/davcollectionsfetchjob.cpp 2021-12-04 19:33:44.000000000 +0100 +++ new/kdav-5.90.0/src/common/davcollectionsfetchjob.cpp 2022-01-01 13:27:57.000000000 +0100 @@ -19,7 +19,6 @@ #include <QBuffer> #include <QColor> -#include <QtXmlPatterns/QXmlQuery> using namespace KDAV; @@ -176,32 +175,8 @@ } QByteArray resp = davJob->responseData(); - QBuffer buffer(&resp); - buffer.open(QIODevice::ReadOnly); - - QXmlQuery xquery; - if (!xquery.setFocus(&buffer)) { - setError(ERR_COLLECTIONFETCH_XQUERY_SETFOCUS); - setErrorTextFromDavError(); - subjobFinished(); - return; - } - - xquery.setQuery(DavManager::davProtocol(mUrl.protocol())->collectionsXQuery()); - if (!xquery.isValid()) { - setError(ERR_COLLECTIONFETCH_XQUERY_INVALID); - setErrorTextFromDavError(); - subjobFinished(); - return; - } - - QString responsesStr; - xquery.evaluateTo(&responsesStr); - responsesStr.prepend(QLatin1String("<responses>")); - responsesStr.append(QLatin1String("</responses>")); - QDomDocument document; - if (!document.setContent(responsesStr, true)) { + if (!document.setContent(resp, true)) { setError(ERR_COLLECTIONFETCH); setErrorTextFromDavError(); subjobFinished(); @@ -302,6 +277,10 @@ // extract display name const QDomElement propElement = Utils::firstChildElementNS(propstatElement, QStringLiteral("DAV:"), QStringLiteral("prop")); + if (!DavManager::davProtocol(mUrl.protocol())->containsCollection(propElement)) { + responseElement = Utils::nextSiblingElementNS(responseElement, QStringLiteral("DAV:"), QStringLiteral("response")); + continue; + } const QDomElement displaynameElement = Utils::firstChildElementNS(propElement, QStringLiteral("DAV:"), QStringLiteral("displayname")); const QString displayName = displaynameElement.text(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdav-5.89.0/src/common/davprotocolbase_p.h new/kdav-5.90.0/src/common/davprotocolbase_p.h --- old/kdav-5.89.0/src/common/davprotocolbase_p.h 2021-12-04 19:33:44.000000000 +0100 +++ new/kdav-5.90.0/src/common/davprotocolbase_p.h 2022-01-01 13:27:57.000000000 +0100 @@ -102,10 +102,10 @@ virtual XMLQueryBuilder::Ptr collectionsQuery() const = 0; /** - * Returns the XQuery string that filters out the relevant XML elements - * from the result returned by the query that is provided by collectionQuery(). + * Returns @c true if the given <prop> element of a multistatus response contains a + * valid collection for this protocol. */ - virtual QString collectionsXQuery() const = 0; + virtual bool containsCollection(const QDomElement &propElem) const = 0; /** * Returns a list of XML documents that represent DAV queries to diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdav-5.89.0/src/protocols/caldavprotocol.cpp new/kdav-5.90.0/src/protocols/caldavprotocol.cpp --- old/kdav-5.89.0/src/protocols/caldavprotocol.cpp 2021-12-04 19:33:44.000000000 +0100 +++ new/kdav-5.90.0/src/protocols/caldavprotocol.cpp 2022-01-01 13:27:57.000000000 +0100 @@ -309,15 +309,9 @@ return XMLQueryBuilder::Ptr(new CaldavCollectionQueryBuilder()); } -QString CaldavProtocol::collectionsXQuery() const +bool CaldavProtocol::containsCollection(const QDomElement &propElem) const { - // clang-format off - //const QString query( "//*[local-name()='calendar' and namespace-uri()='urn:ietf:params:xml:ns:caldav']/ancestor::*[local-name()='prop' and namespace-uri()='DAV:']/*[local-name()='supported-calendar-component-set' and namespace-uri()='urn:ietf:params:xml:ns:caldav']/*[local-name()='comp' and namespace-uri()='urn:ietf:params:xml:ns:caldav' and (@name='VTODO' or @name='VEVENT')]/ancestor::*[local-name()='response' and namespace-uri()='DAV:']" ); - const QString query(QStringLiteral( - "//*[local-name()='calendar' and namespace-uri()='urn:ietf:params:xml:ns:caldav']/ancestor::*[local-name()='prop' and namespace-uri()='DAV:']/ancestor::*[local-name()='response' and namespace-uri()='DAV:']")); - // clang-format on - - return query; + return !propElem.elementsByTagNameNS(QStringLiteral("urn:ietf:params:xml:ns:caldav"), QStringLiteral("calendar")).isEmpty(); } QVector<XMLQueryBuilder::Ptr> CaldavProtocol::itemsQueries() const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdav-5.89.0/src/protocols/caldavprotocol_p.h new/kdav-5.90.0/src/protocols/caldavprotocol_p.h --- old/kdav-5.89.0/src/protocols/caldavprotocol_p.h 2021-12-04 19:33:44.000000000 +0100 +++ new/kdav-5.90.0/src/protocols/caldavprotocol_p.h 2022-01-01 13:27:57.000000000 +0100 @@ -19,7 +19,7 @@ Q_REQUIRED_RESULT QString principalHomeSet() const override; Q_REQUIRED_RESULT QString principalHomeSetNS() const override; Q_REQUIRED_RESULT KDAV::XMLQueryBuilder::Ptr collectionsQuery() const override; - Q_REQUIRED_RESULT QString collectionsXQuery() const override; + Q_REQUIRED_RESULT bool containsCollection(const QDomElement &propElem) const override; Q_REQUIRED_RESULT QVector<KDAV::XMLQueryBuilder::Ptr> itemsQueries() const override; Q_REQUIRED_RESULT KDAV::XMLQueryBuilder::Ptr itemsReportQuery(const QStringList &urls) const override; Q_REQUIRED_RESULT QString responseNamespace() const override; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdav-5.89.0/src/protocols/carddavprotocol.cpp new/kdav-5.90.0/src/protocols/carddavprotocol.cpp --- old/kdav-5.89.0/src/protocols/carddavprotocol.cpp 2021-12-04 19:33:44.000000000 +0100 +++ new/kdav-5.90.0/src/protocols/carddavprotocol.cpp 2022-01-01 13:27:57.000000000 +0100 @@ -138,13 +138,9 @@ return XMLQueryBuilder::Ptr(new CarddavCollectionQueryBuilder()); } -QString CarddavProtocol::collectionsXQuery() const +bool CarddavProtocol::containsCollection(const QDomElement &propElem) const { - // clang-format off - const QString query(QStringLiteral("//*[local-name()='addressbook' and namespace-uri()='urn:ietf:params:xml:ns:carddav']/ancestor::*[local-name()='response' and namespace-uri()='DAV:']")); - - return query; - // clang-format on + return !propElem.elementsByTagNameNS(QStringLiteral("urn:ietf:params:xml:ns:carddav"), QStringLiteral("addressbook")).isEmpty(); } QVector<XMLQueryBuilder::Ptr> CarddavProtocol::itemsQueries() const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdav-5.89.0/src/protocols/carddavprotocol_p.h new/kdav-5.90.0/src/protocols/carddavprotocol_p.h --- old/kdav-5.89.0/src/protocols/carddavprotocol_p.h 2021-12-04 19:33:44.000000000 +0100 +++ new/kdav-5.90.0/src/protocols/carddavprotocol_p.h 2022-01-01 13:27:57.000000000 +0100 @@ -19,7 +19,7 @@ Q_REQUIRED_RESULT QString principalHomeSet() const override; Q_REQUIRED_RESULT QString principalHomeSetNS() const override; Q_REQUIRED_RESULT KDAV::XMLQueryBuilder::Ptr collectionsQuery() const override; - Q_REQUIRED_RESULT QString collectionsXQuery() const override; + Q_REQUIRED_RESULT bool containsCollection(const QDomElement &propElem) const override; Q_REQUIRED_RESULT QVector<KDAV::XMLQueryBuilder::Ptr> itemsQueries() const override; Q_REQUIRED_RESULT KDAV::XMLQueryBuilder::Ptr itemsReportQuery(const QStringList &urls) const override; Q_REQUIRED_RESULT QString responseNamespace() const override; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdav-5.89.0/src/protocols/groupdavprotocol.cpp new/kdav-5.90.0/src/protocols/groupdavprotocol.cpp --- old/kdav-5.89.0/src/protocols/groupdavprotocol.cpp 2021-12-04 19:33:44.000000000 +0100 +++ new/kdav-5.90.0/src/protocols/groupdavprotocol.cpp 2022-01-01 13:27:57.000000000 +0100 @@ -87,13 +87,11 @@ return XMLQueryBuilder::Ptr(new GroupdavCollectionQueryBuilder()); } -QString GroupdavProtocol::collectionsXQuery() const +bool GroupdavProtocol::containsCollection(const QDomElement &propElem) const { - const QString query( - QStringLiteral("//*[(local-name()='vevent-collection' or local-name()='vtodo-collection' or local-name()='vcard-collection') and " - "namespace-uri()='http://groupdav.org/']/ancestor::*[local-name()='response' and namespace-uri()='DAV:']")); - - return query; + return !propElem.elementsByTagNameNS(QStringLiteral("http://groupdav.org/"), QStringLiteral("vevent-collection")).isEmpty() + || !propElem.elementsByTagNameNS(QStringLiteral("http://groupdav.org/"), QStringLiteral("vtodo-collection")).isEmpty() + || !propElem.elementsByTagNameNS(QStringLiteral("http://groupdav.org/"), QStringLiteral("vcard-collection")).isEmpty(); } QVector<XMLQueryBuilder::Ptr> GroupdavProtocol::itemsQueries() const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdav-5.89.0/src/protocols/groupdavprotocol_p.h new/kdav-5.90.0/src/protocols/groupdavprotocol_p.h --- old/kdav-5.89.0/src/protocols/groupdavprotocol_p.h 2021-12-04 19:33:44.000000000 +0100 +++ new/kdav-5.90.0/src/protocols/groupdavprotocol_p.h 2022-01-01 13:27:57.000000000 +0100 @@ -17,7 +17,7 @@ Q_REQUIRED_RESULT bool useReport() const override; Q_REQUIRED_RESULT bool useMultiget() const override; Q_REQUIRED_RESULT KDAV::XMLQueryBuilder::Ptr collectionsQuery() const override; - Q_REQUIRED_RESULT QString collectionsXQuery() const override; + Q_REQUIRED_RESULT bool containsCollection(const QDomElement &propElem) const override; Q_REQUIRED_RESULT QVector<KDAV::XMLQueryBuilder::Ptr> itemsQueries() const override; Q_REQUIRED_RESULT KDAV::DavCollection::ContentTypes collectionContentTypes(const QDomElement &propstat) const override; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdav-5.89.0/test/CMakeLists.txt new/kdav-5.90.0/test/CMakeLists.txt --- old/kdav-5.89.0/test/CMakeLists.txt 2021-12-04 19:33:44.000000000 +0100 +++ new/kdav-5.90.0/test/CMakeLists.txt 2022-01-01 13:27:57.000000000 +0100 @@ -8,8 +8,8 @@ add_executable(testserver ${testserver_SRCS}) target_link_libraries(testserver - Qt5::Core + Qt${QT_MAJOR_VERSION}::Core KF5::DAV - Qt5::Xml + Qt${QT_MAJOR_VERSION}::Xml )
