Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kimap for openSUSE:Factory checked in at 2023-04-23 22:45:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kimap (Old) and /work/SRC/openSUSE:Factory/.kimap.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kimap" Sun Apr 23 22:45:08 2023 rev:93 rq:1081964 version:23.04.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kimap/kimap.changes 2023-03-03 22:26:03.506866290 +0100 +++ /work/SRC/openSUSE:Factory/.kimap.new.1533/kimap.changes 2023-04-23 22:46:56.634535284 +0200 @@ -1,0 +2,20 @@ +Sat Apr 15 08:45:51 UTC 2023 - Christophe Marin <christo...@krop.fr> + +- Update to 23.04.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/gear/23.04.0/ + +------------------------------------------------------------------- +Fri Mar 31 16:42:03 UTC 2023 - Christophe Marin <christo...@krop.fr> + +- Update to 23.03.90 + * New feature release + +------------------------------------------------------------------- +Fri Mar 17 20:43:35 UTC 2023 - Christophe Marin <christo...@krop.fr> + +- Update to 23.03.80 + * New feature release + +------------------------------------------------------------------- Old: ---- kimap-22.12.3.tar.xz kimap-22.12.3.tar.xz.sig New: ---- kimap-23.04.0.tar.xz kimap-23.04.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kimap.spec ++++++ --- /var/tmp/diff_new_pack.QFbqrA/_old 2023-04-23 22:46:57.342539284 +0200 +++ /var/tmp/diff_new_pack.QFbqrA/_new 2023-04-23 22:46:57.346539307 +0200 @@ -17,11 +17,10 @@ %define kf5_version 5.99.0 -# Latest stable Applications (e.g. 17.08 in KA, but 17.11.80 in KUA) -%{!?_kapp_version: %define _kapp_version %(echo %{version}| awk -F. '{print $1"."$2}')} +%define libname libKPim5IMAP5 %bcond_without released Name: kimap -Version: 22.12.3 +Version: 23.04.0 Release: 0 Summary: KDE PIM Libraries: IMAP library License: LGPL-2.1-or-later @@ -37,16 +36,16 @@ BuildRequires: cmake(KF5CoreAddons) >= %{kf5_version} BuildRequires: cmake(KF5I18n) >= %{kf5_version} BuildRequires: cmake(KF5KIO) >= %{kf5_version} -BuildRequires: cmake(KF5Mime) +BuildRequires: cmake(KPim5Mime) BuildRequires: cmake(Qt5Test) +Conflicts: libKF5IMAP5 < %{version} %description KIMAP provides libraries to interface and communicate with IMAP mail servers. -%package -n libKF5IMAP5 +%package -n %{libname} Summary: KDE PIM Libraries: IMAP APIs -Recommends: %{name}-lang Provides: %{name} = %{version} # Modules used for authentication Requires: cyrus-sasl-crammd5 @@ -54,53 +53,61 @@ Requires: cyrus-sasl-gssapi Requires: cyrus-sasl-plain Requires: sasl2-kdexoauth2 +%requires_eq %{name} +# Renamed +Obsoletes: kimap-lang <= 23.04.0 -%description -n libKF5IMAP5 +%description -n %{libname} This package provides the core library to interface and communicate with IMAP mail servers. %package devel Summary: KDE PIM Libraries: Build Environment Requires: cyrus-sasl-devel -Requires: libKF5IMAP5 = %{version} +Requires: %{libname} = %{version} Requires: cmake(KF5CoreAddons) >= %{kf5_version} -Requires: cmake(KF5Mime) +Requires: cmake(KPim5Mime) %description devel This package contains development headers to add IMAP support to PIM applications. -%lang_package +%lang_package -n %{libname} %prep %autosetup -p1 -n kimap-%{version} %build %global _lto_cflags %{_lto_cflags} -ffat-lto-objects -%cmake_kf5 -d build -- -DBUILD_TESTING=ON -DKF5_INCLUDE_INSTALL_DIR=%{_kf5_includedir} +%cmake_kf5 -d build -- -DBUILD_TESTING=ON + %cmake_build %install %kf5_makeinstall -C build -%find_lang %{name} --with-man --all-name +%find_lang %{libname} --with-man --all-name -%ldconfig_scriptlets -n libKF5IMAP5 +%ldconfig_scriptlets -n %{libname} -%files -n libKF5IMAP5 +%files %license LICENSES/* %{_kf5_debugdir}/*.categories %{_kf5_debugdir}/*.renamecategories -%{_kf5_libdir}/libKF5IMAP.so.* + +%files -n %{libname} +%{_kf5_libdir}/libKPim5IMAP.so.* %files devel +%dir %{_includedir}/KPim5 +%{_includedir}/KPim5/KIMAP/ +%{_includedir}/KPim5/KIMAPTest/ %{_kf5_cmakedir}/KF5IMAP/ -%{_kf5_includedir}/KIMAP/ -%{_kf5_includedir}/KIMAPTest/ -%{_kf5_libdir}/libKF5IMAP.so +%{_kf5_cmakedir}/KPim5IMAP/ +%{_kf5_libdir}/libKPim5IMAP.so %{_kf5_libdir}/libkimaptest.a %{_kf5_mkspecsdir}/qt_KIMAP.pri -%files lang -f %{name}.lang +%files -n %{libname}-lang -f %{libname}.lang %changelog ++++++ kimap-22.12.3.tar.xz -> kimap-23.04.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/.codespellrc.license new/kimap-23.04.0/.codespellrc.license --- old/kimap-22.12.3/.codespellrc.license 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/.codespellrc.license 2023-04-11 06:36:35.000000000 +0200 @@ -1,2 +1,2 @@ -# SPDX-FileCopyrightText: 2022 Laurent Montel <mon...@kde.org> +# SPDX-FileCopyrightText: 2022-2023 Laurent Montel <mon...@kde.org> # SPDX-License-Identifier: CC0-1.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/.gitlab-ci.yml new/kimap-23.04.0/.gitlab-ci.yml --- old/kimap-22.12.3/.gitlab-ci.yml 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/.gitlab-ci.yml 2023-04-11 06:36:35.000000000 +0200 @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2020-2022 Laurent Montel <mon...@kde.org> +# SPDX-FileCopyrightText: 2020-2023 Laurent Montel <mon...@kde.org> # SPDX-License-Identifier: CC0-1.0 include: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/.kde-ci.yml new/kimap-23.04.0/.kde-ci.yml --- old/kimap-22.12.3/.kde-ci.yml 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/.kde-ci.yml 2023-04-11 06:36:35.000000000 +0200 @@ -2,10 +2,21 @@ # SPDX-License-Identifier: CC0-1.0 Dependencies: -- 'on': ['@all'] +- 'on': ['Linux/Qt5', 'FreeBSD/Qt5', 'Windows/Qt5'] 'require': 'frameworks/extra-cmake-modules': '@latest' 'pim/kmime' : '@same' 'frameworks/kcoreaddons': '@latest' 'frameworks/ki18n': '@latest' 'frameworks/kio': '@latest' + +- 'on': ['Linux/Qt6', 'FreeBSD/Qt6', 'Windows/Qt6'] + 'require': + 'frameworks/extra-cmake-modules': '@latest-kf6' + 'pim/kmime' : '@latest-kf6' + 'frameworks/kcoreaddons': '@latest-kf6' + 'frameworks/ki18n': '@latest-kf6' + 'frameworks/kio': '@latest-kf6' + +Options: + require-passing-tests-on: [ 'Linux', 'Windows/Qt5' ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/CMakeLists.txt new/kimap-23.04.0/CMakeLists.txt --- old/kimap-22.12.3/CMakeLists.txt 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/CMakeLists.txt 2023-04-11 06:36:35.000000000 +0200 @@ -2,15 +2,15 @@ # SPDX-License-Identifier: BSD-3-Clause cmake_minimum_required(VERSION 3.16 FATAL_ERROR) -set(PIM_VERSION "5.22.3") +set(PIM_VERSION "5.23.0") project(KIMAP VERSION ${PIM_VERSION}) # ECM setup -set(KF5_MIN_VERSION "5.99.0") +set(KF_MIN_VERSION "5.103.0") -find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED) +find_package(ECM ${KF_MIN_VERSION} CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) include(KDEInstallDirs) @@ -34,45 +34,43 @@ set(QT_REQUIRED_VERSION "5.15.2") if (QT_MAJOR_VERSION STREQUAL "6") - set(QT_REQUIRED_VERSION "6.4.0") + set(QT_MIN_VERSION "6.4.0") + set(KF_MIN_VERSION "5.240.0") + set(KF_MAJOR_VERSION "6") +else() + set(KF_MAJOR_VERSION "5") endif() + set(KIMAP_LIB_VERSION ${PIM_VERSION}) -set(KMIME_LIBS_VERSION "5.22.3") +set(KMIME_LIBS_VERSION "5.23.0") ecm_setup_version(PROJECT VARIABLE_PREFIX KIMAP VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kimap_version.h" - PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5IMAPConfigVersion.cmake" + PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim${KF_MAJOR_VERSION}IMAPConfigVersion.cmake" SOVERSION 5 ) +option(BUILD_WITH_COMPAT_LIBS "Generate compat cmake file (Set at false will allow to co-install lib)" ON) + 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)") ########### Find packages ########### find_package(Sasl2) set_package_properties(Sasl2 PROPERTIES TYPE REQUIRED) -if (QT_MAJOR_VERSION STREQUAL "6") - find_package(Qt6Core5Compat) -endif() -find_package(KF5CoreAddons ${KF5_MIN_VERSION} CONFIG REQUIRED) -find_package(KF5I18n ${KF5_MIN_VERSION} CONFIG REQUIRED) -find_package(KF5KIO ${KF5_MIN_VERSION} CONFIG REQUIRED) -find_package(KF5Mime ${KMIME_LIBS_VERSION} CONFIG REQUIRED) +find_package(KF${KF_MAJOR_VERSION}CoreAddons ${KF_MIN_VERSION} CONFIG REQUIRED) +find_package(KF${KF_MAJOR_VERSION}I18n ${KF_MIN_VERSION} CONFIG REQUIRED) +find_package(KF${KF_MAJOR_VERSION}KIO ${KF_MIN_VERSION} CONFIG REQUIRED) +find_package(KPim${KF_MAJOR_VERSION}Mime ${KMIME_LIBS_VERSION} CONFIG REQUIRED) ########### CMake Config Files ########### -set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5IMAP") +set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim${KF_MAJOR_VERSION}IMAP") +set(KIMAP_KF5_COMPAT FALSE) add_definitions(-DTRANSLATION_DOMAIN=\"libkimap5\") -ecm_set_disabled_deprecation_versions(QT 5.15.2 - KF 5.99.0 +ecm_set_disabled_deprecation_versions(QT 6.4 + KF 5.104.0 ) add_definitions(-DQT_NO_EMIT) - -configure_package_config_file( - "${CMAKE_CURRENT_SOURCE_DIR}/KF5IMAPConfig.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/KF5IMAPConfig.cmake" - INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} -) - option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) @@ -90,28 +88,77 @@ endif() ########### Install Files ########### + + + install(FILES - "${CMAKE_CURRENT_BINARY_DIR}/KF5IMAPConfig.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/KF5IMAPConfigVersion.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/KPim${KF_MAJOR_VERSION}IMAPConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/KPim${KF_MAJOR_VERSION}IMAPConfigVersion.cmake" DESTINATION "${CMAKECONFIG_INSTALL_DIR}" COMPONENT Devel ) -install(EXPORT KF5IMAPTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5IMAPTargets.cmake NAMESPACE KF5::) +install(EXPORT KPim${KF_MAJOR_VERSION}IMAPTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPim${KF_MAJOR_VERSION}IMAPTargets.cmake NAMESPACE KPim${KF_MAJOR_VERSION}::) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kimap_version.h - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KIMAP/ COMPONENT Devel + DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim${KF_MAJOR_VERSION}/KIMAP/ COMPONENT Devel ) if (BUILD_QCH) ecm_install_qch_export( - TARGETS KF5Imap_QCH - FILE KF5ImapQchTargets.cmake + TARGETS KPim${KF_MAJOR_VERSION}Imap_QCH + FILE KPim${KF_MAJOR_VERSION}ImapQchTargets.cmake DESTINATION "${CMAKECONFIG_INSTALL_DIR}" COMPONENT Devel ) - set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF5ImapQchTargets.cmake\")") + set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim${KF_MAJOR_VERSION}ImapQchTargets.cmake\")") +endif() + +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/KPimIMAPConfig.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/KPim${KF_MAJOR_VERSION}IMAPConfig.cmake" + INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} +) + +if (BUILD_WITH_COMPAT_LIBS) +if (QT_MAJOR_VERSION STREQUAL "5") +## +# TODO: Backwards compatiblity. Remove in next major version +## +set(CMAKECONFIG_INSTALL_DIR_KF5 "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5IMAP") +set(KIMAP_KF5_COMPAT TRUE) +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/KPimIMAPConfig.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/KF5IMAPConfig.cmake" + INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR_KF5} +) + +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/KF5IMAPConfig.cmake" + DESTINATION "${CMAKECONFIG_INSTALL_DIR_KF5}" + COMPONENT Devel +) +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/KPim${KF_MAJOR_VERSION}IMAPConfigVersion.cmake" + RENAME "KF5IMAPConfigVersion.cmake" + DESTINATION "${CMAKECONFIG_INSTALL_DIR_KF5}" + COMPONENT Devel +) +install(EXPORT KPim${KF_MAJOR_VERSION}IMAPTargets + DESTINATION "${CMAKECONFIG_INSTALL_DIR_KF5}" + FILE KPim${KF_MAJOR_VERSION}IMAPTargets.cmake + NAMESPACE KF5:: +) +if (BUILD_QCH) + install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/KPim${KF_MAJOR_VERSION}ImapQchTargets.cmake" + DESTINATION "${CMAKECONFIG_INSTALL_DIR_KF5}" + COMPONENT Devel + ) +endif() + +endif() endif() kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/CMakePresets.json new/kimap-23.04.0/CMakePresets.json --- old/kimap-22.12.3/CMakePresets.json 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/CMakePresets.json 2023-04-11 06:36:35.000000000 +0200 @@ -5,28 +5,35 @@ "name": "base", "displayName": "base preset", "generator": "Ninja", - "binaryDir": "${sourceDir}/build-${presetName}", - "installDir": "$env{KF5}", + "binaryDir": "${sourceDir}/build-${presetName}", + "installDir": "$env{KF5}", "hidden": true }, { - "name": "dev", - "displayName": "Build as debug", + "name": "base-qt6", + "displayName": "base preset", + "generator": "Ninja", + "binaryDir": "${sourceDir}/build-${presetName}", + "installDir": "$env{KF6}", + "hidden": true + }, + { + "name": "dev-mold", + "displayName": "Build as debug + using mold linker", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", - "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" + "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", + "CMAKE_SHARED_LINKER_FLAGS": "-fuse-ld=mold" }, "inherits": [ "base" ] - }, { - "name": "coverage", + "name": "dev", "displayName": "Build as debug", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", - "BUILD_COVERAGE": "ON", "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" }, "inherits": [ @@ -43,19 +50,7 @@ "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" }, "inherits": [ - "base" - ] - }, - { - "name": "dev-disable-deprecated", - "displayName": "Build as without deprecated methods", - "cacheVariables": { - "CMAKE_BUILD_TYPE": "Debug", - "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", - "CMAKE_CXX_FLAGS_INIT": "-DQT_DISABLE_DEPRECATED_BEFORE=0x060000 -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x060000" - }, - "inherits": [ - "base" + "base-qt6" ] }, { @@ -63,20 +58,7 @@ "displayName": "Build with Asan support.", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", - "ECM_ENABLE_SANITIZERS" : "'address;undefined'", - "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" - }, - "inherits": [ - "base" - ] - }, - { - "name": "pch", - "displayName": "Build with PCH support.", - "cacheVariables": { - "CMAKE_BUILD_TYPE": "Debug", - "COMPILE_WITH_CMAKE_PCH_SUPPORT": "ON", - "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" + "ECM_ENABLE_SANITIZERS" : "'address;undefined'" }, "inherits": [ "base" @@ -102,8 +84,7 @@ "displayName": "Build with CMake unity support.", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", - "USE_UNITY_CMAKE_SUPPORT": "ON", - "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" + "USE_UNITY_CMAKE_SUPPORT": "ON" }, "inherits": [ "base" @@ -123,8 +104,19 @@ "name": "profile", "displayName": "profile", "cacheVariables": { - "CMAKE_BUILD_TYPE": "RelWithDebInfo", - "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" + "CMAKE_BUILD_TYPE": "RelWithDebInfo" + }, + "inherits": [ + "base" + ] + }, + { + "name": "coverage", + "displayName": "coverage", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug", + "USE_UNITY_CMAKE_SUPPORT": "OFF", + "BUILD_COVERAGE": "ON" }, "inherits": [ "base" @@ -143,21 +135,36 @@ "inherits": [ "base" ] + }, + { + "name": "pch", + "displayName": "pch", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug", + "USE_PRECOMPILED_HEADERS": "ON", + "BUILD_COVERAGE": "ON" + }, + "inherits": [ + "base" + ] } - ], "buildPresets": [ { "name": "dev", "configurePreset": "dev" }, + { + "name": "dev-mold", + "configurePreset": "dev-mold" + }, { "name": "dev-qt6", "configurePreset": "dev-qt6" }, { - "name": "dev-disable-deprecated", - "configurePreset": "dev-disable-deprecated" + "name": "dev-clang", + "configurePreset": "dev-clang" }, { "name": "pch", @@ -168,22 +175,18 @@ "configurePreset": "release" }, { - "name": "coverage", - "configurePreset": "coverage" + "name": "unity", + "configurePreset": "unity" }, { - "name": "dev-clang", - "configurePreset": "dev-clang" + "name": "coverage", + "configurePreset": "coverage" }, - { + { "name": "asan", "configurePreset": "asan" }, { - "name": "unity", - "configurePreset": "unity" - }, - { "name": "clazy", "configurePreset": "clazy", "environment": { @@ -193,17 +196,29 @@ } ], "testPresets": [ - { + { "name": "dev", "configurePreset": "dev", "output": {"outputOnFailure": true}, "execution": {"noTestsAction": "error", "stopOnFailure": false} }, - { + { "name": "asan", "configurePreset": "asan", "output": {"outputOnFailure": true}, "execution": {"noTestsAction": "error", "stopOnFailure": true} + }, + { + "name": "unity", + "configurePreset": "unity", + "output": {"outputOnFailure": true}, + "execution": {"noTestsAction": "error", "stopOnFailure": true} + }, + { + "name": "coverage", + "configurePreset": "coverage", + "output": {"outputOnFailure": true}, + "execution": {"noTestsAction": "error", "stopOnFailure": true} } - ] + ] } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/CMakePresets.json.license new/kimap-23.04.0/CMakePresets.json.license --- old/kimap-22.12.3/CMakePresets.json.license 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/CMakePresets.json.license 2023-04-11 06:36:35.000000000 +0200 @@ -1,2 +1,2 @@ -# SPDX-FileCopyrightText: 2021-2022 Laurent Montel <mon...@kde.org> +# SPDX-FileCopyrightText: 2021-2023 Laurent Montel <mon...@kde.org> # SPDX-License-Identifier: BSD-3-Clause diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/KF5IMAPConfig.cmake.in new/kimap-23.04.0/KF5IMAPConfig.cmake.in --- old/kimap-22.12.3/KF5IMAPConfig.cmake.in 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/KF5IMAPConfig.cmake.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -# SPDX-FileCopyrightText: 2017-2019 Christophe Giboudeaux <christo...@krop.fr> -# SPDX-FileCopyrightText: 2017 Laurent Montel <mon...@kde.org> -# SPDX-License-Identifier: BSD-3-Clause - -@PACKAGE_INIT@ - -set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_MODULE_PATH}) -include(CMakeFindDependencyMacro) -find_dependency(KF5CoreAddons "@KF5_MIN_VERSION@") -find_dependency(KF5Mime "@KMIME_LIBS_VERSION@") - -include("${CMAKE_CURRENT_LIST_DIR}/KF5IMAPTargets.cmake") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/KPimIMAPConfig.cmake.in new/kimap-23.04.0/KPimIMAPConfig.cmake.in --- old/kimap-22.12.3/KPimIMAPConfig.cmake.in 1970-01-01 01:00:00.000000000 +0100 +++ new/kimap-23.04.0/KPimIMAPConfig.cmake.in 2023-04-11 06:36:35.000000000 +0200 @@ -0,0 +1,22 @@ +# SPDX-FileCopyrightText: 2017-2019 Christophe Giboudeaux <christo...@krop.fr> +# SPDX-FileCopyrightText: 2017 Laurent Montel <mon...@kde.org> +# SPDX-License-Identifier: BSD-3-Clause + +@PACKAGE_INIT@ + +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_MODULE_PATH}) +include(CMakeFindDependencyMacro) +find_dependency(KF@KF_MAJOR_VERSION@CoreAddons "@KF_MIN_VERSION@") +find_dependency(KPim@KF_MAJOR_VERSION@Mime "@KMIME_LIBS_VERSION@") + +if (@KIMAP_KF5_COMPAT@) + message(WARNING "\n" + "************* DEPRECATION WARNING *************\n" + "Using find_package(KF5IMAP) and KF5::IMAP targets is deprecated. " + "Please use find_package(KPim@KF_MAJOR_VERSION@IMAP) and KPim@KF_MAJOR_VERSION@::IMAP instead. This backwards " + "compatibility will be removed in the next major version.\n" + "***********************************************\n") +endif() + +include("${CMAKE_CURRENT_LIST_DIR}/KPim@KF_MAJOR_VERSION@IMAPTargets.cmake") +@PACKAGE_INCLUDE_QCHTARGETS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/autotests/CMakeLists.txt new/kimap-23.04.0/autotests/CMakeLists.txt --- old/kimap-22.12.3/autotests/CMakeLists.txt 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/autotests/CMakeLists.txt 2023-04-11 06:36:35.000000000 +0200 @@ -11,7 +11,7 @@ add_executable(${_testname} ${_testname}.cpp) add_test(NAME ${_testname} COMMAND ${_testname}) ecm_mark_as_test(${_testname}) - target_link_libraries(${_testname} KF5IMAP Qt::Test kimaptest Qt::Network) + target_link_libraries(${_testname} KPim${KF_MAJOR_VERSION}IMAP Qt::Test kimaptest Qt::Network) set_target_properties(${_testname} PROPERTIES COMPILE_FLAGS -DTEST_DATA="\\"${CMAKE_CURRENT_SOURCE_DIR}\\"") set_tests_properties(${_testname} PROPERTIES RUN_SERIAL TRUE) endforeach() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/autotests/kimaptest/CMakeLists.txt new/kimap-23.04.0/autotests/kimaptest/CMakeLists.txt --- old/kimap-22.12.3/autotests/kimaptest/CMakeLists.txt 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/autotests/kimaptest/CMakeLists.txt 2023-04-11 06:36:35.000000000 +0200 @@ -14,15 +14,15 @@ set_target_properties(kimaptest PROPERTIES UNITY_BUILD ON) endif() generate_export_header(kimaptest) -add_library(KF5::kimaptest ALIAS kimaptest) -target_include_directories(KF5IMAP INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KIMAPTest>") -target_link_libraries(kimaptest KF5IMAP Qt::Test Qt::Network Qt::Core KF5::CoreAddons KF5::KIOCore KF5::I18n) +add_library(KPim${KF_MAJOR_VERSION}::kimaptest ALIAS kimaptest) +target_include_directories(KPim${KF_MAJOR_VERSION}IMAP INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim${KF_MAJOR_VERSION}/KIMAPTest>") +target_link_libraries(kimaptest KPim${KF_MAJOR_VERSION}IMAP Qt::Test Qt::Network Qt::Core KF${KF_MAJOR_VERSION}::CoreAddons KF${KF_MAJOR_VERSION}::KIOCore KF${KF_MAJOR_VERSION}::I18n) -install(TARGETS kimaptest EXPORT KF5IMAPTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) +install(TARGETS kimaptest EXPORT KPim${KF_MAJOR_VERSION}IMAPTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) ########### install files ############### install(FILES fakeserver.h mockjob.h - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KIMAPTest/kimaptest COMPONENT Devel) + DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim${KF_MAJOR_VERSION}/KIMAPTest/kimaptest COMPONENT Devel) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/autotests/loginjobtest.cpp new/kimap-23.04.0/autotests/loginjobtest.cpp --- old/kimap-22.12.3/autotests/loginjobtest.cpp 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/autotests/loginjobtest.cpp 2023-04-11 06:36:35.000000000 +0200 @@ -190,18 +190,11 @@ << "C: A000002 LOGIN \"user\" \"password\"" << "S: A000002 OK"; - // SSLv2 support was removed from openssl 1.1 - // QTest::newRow("sslv2") << scenario << static_cast<int>(QSsl::SslV2); - - // FIXME: SSLv3-only server is failing, likely openssl configuration problem - // QTest::newRow("sslv3") << scenario << static_cast<int>(QSsl::SslV3); - // AnySslVersion doesn't mean the server can force a specific version (e.g. openssl always starts with a tls12 hello) QTest::newRow("any protocol with anyssl version") << scenario << static_cast<int>(QSsl::AnyProtocol); - QTest::newRow("tlsv10") << scenario << static_cast<int>(QSsl::TlsV1_0); - QTest::newRow("tlsv11") << scenario << static_cast<int>(QSsl::TlsV1_1); QTest::newRow("tlsv12") << scenario << static_cast<int>(QSsl::TlsV1_2); + QTest::newRow("tlsv13") << scenario << static_cast<int>(QSsl::TlsV1_3); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/po/eo/libkimap5.po new/kimap-23.04.0/po/eo/libkimap5.po --- old/kimap-22.12.3/po/eo/libkimap5.po 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/po/eo/libkimap5.po 2023-04-11 06:36:35.000000000 +0200 @@ -1,13 +1,16 @@ # Translation of libkimap into esperanto. +# mesaÄoj por "kimap" +# Copyright (C) 2009 Free Software Foundation, Inc. # Axel Rousseau <a...@esperanto-jeunes.org>, 2009. +# Oliver Kellogg <okell...@users.sourceforge.net>, 2023. # msgid "" msgstr "" "Project-Id-Version: libkimap\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2022-05-11 00:45+0000\n" -"PO-Revision-Date: 2009-11-15 12:06+0100\n" -"Last-Translator: Axel Rousseau <a...@esperanto-jeunes.org>\n" +"PO-Revision-Date: 2023-01-06 12:00+0100\n" +"Last-Translator: Oliver Kellogg <okell...@users.sourceforge.net>\n" "Language-Team: esperanto <kde-i18n...@kde.org>\n" "Language: eo\n" "MIME-Version: 1.0\n" @@ -24,7 +27,7 @@ #: appendjob.cpp:40 #, kde-format msgid "Append" -msgstr "" +msgstr "Aldoni" #: capabilitiesjob.cpp:35 #, kde-format @@ -59,17 +62,17 @@ #: enablejob.cpp:31 #, kde-format msgid "Enable" -msgstr "" +msgstr "Ebligi" #: expungejob.cpp:37 #, kde-format msgid "Expunge" -msgstr "" +msgstr "Forigi" #: fetchjob.cpp:97 #, kde-format msgid "Fetch" -msgstr "Elprenu" +msgstr "ElÅuti" #: getacljob.cpp:37 #, kde-format @@ -99,13 +102,13 @@ #: idjob.cpp:35 #, kde-format msgid "Id" -msgstr "" +msgstr "Id" #: idlejob.cpp:65 #, kde-format msgctxt "name of the idle job" msgid "Idle" -msgstr "" +msgstr "Senokupa" #: job.cpp:19 #, kde-format @@ -115,17 +118,17 @@ #: job.cpp:54 loginjob.cpp:574 #, kde-format msgid "Connection to server lost." -msgstr "" +msgstr "Perdis konekton al servilo." #: job.cpp:65 loginjob.cpp:403 setmetadatajob.cpp:126 #, kde-format msgid "%1 failed, malformed reply from the server." -msgstr "" +msgstr "%1 malsukcesis, misformita respondo de servilo." #: job.cpp:68 loginjob.cpp:277 setmetadatajob.cpp:109 setmetadatajob.cpp:129 #, kde-format msgid "%1 failed, server replied: %2" -msgstr "" +msgstr "%1 malsukcesis, servilo respondis: %2" #: listjob.cpp:59 #, kde-format @@ -140,7 +143,7 @@ #: loginjob.cpp:129 loginjob.cpp:233 #, fuzzy, kde-format msgid "Login" -msgstr "AliÄu" +msgstr "AliÄi" #: loginjob.cpp:184 #, kde-format @@ -150,7 +153,7 @@ #: loginjob.cpp:235 #, kde-format msgid "Capability" -msgstr "" +msgstr "Kapablo" #: loginjob.cpp:237 #, kde-format @@ -205,7 +208,7 @@ #: movejob.cpp:42 #, kde-format msgid "Move" -msgstr "" +msgstr "Movi" #: myrightsjob.cpp:37 #, kde-format @@ -231,13 +234,13 @@ #, kde-format msgctxt "Name of the search job" msgid "Search" -msgstr "" +msgstr "SerÄi" #: selectjob.cpp:73 #, kde-format msgctxt "name of the select job" msgid "Select" -msgstr "" +msgstr "Elekti" #: setacljob.cpp:34 #, kde-format @@ -258,7 +261,7 @@ #, kde-format msgctxt "name of the status job" msgid "Status" -msgstr "" +msgstr "Stato" #: storejob.cpp:70 #, kde-format @@ -274,17 +277,3 @@ #, kde-format msgid "Unsubscribe" msgstr "Malaboni" - -#~ msgctxt "NAME OF TRANSLATORS" -#~ msgid "Your names" -#~ msgstr "Axel Rousseau" - -#~ msgctxt "EMAIL OF TRANSLATORS" -#~ msgid "Your emails" -#~ msgstr "a...@esperanto-jeunes.org" - -#, fuzzy -#~| msgid "Create" -#~ msgctxt "Authentication method" -#~ msgid "Clear text" -#~ msgstr "Krei" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/po/ka/libkimap5.po new/kimap-23.04.0/po/ka/libkimap5.po --- old/kimap-22.12.3/po/ka/libkimap5.po 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/po/ka/libkimap5.po 2023-04-11 06:36:35.000000000 +0200 @@ -8,7 +8,7 @@ "Project-Id-Version: kimap\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2022-05-11 00:45+0000\n" -"PO-Revision-Date: 2022-11-25 12:03+0100\n" +"PO-Revision-Date: 2022-11-27 11:29+0100\n" "Last-Translator: Temuri Doghonadze <temuri.doghona...@gmail.com>\n" "Language-Team: Georgian <kde-i18n-...@kde.org>\n" "Language: ka\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/po/zh_CN/libkimap5.po new/kimap-23.04.0/po/zh_CN/libkimap5.po --- old/kimap-22.12.3/po/zh_CN/libkimap5.po 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/po/zh_CN/libkimap5.po 2023-04-11 06:36:35.000000000 +0200 @@ -3,7 +3,7 @@ "Project-Id-Version: kdeorg\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2022-05-11 00:45+0000\n" -"PO-Revision-Date: 2023-02-24 12:58\n" +"PO-Revision-Date: 2023-04-10 14:13\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/sanitizers.supp new/kimap-23.04.0/sanitizers.supp --- old/kimap-22.12.3/sanitizers.supp 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/sanitizers.supp 2023-04-11 06:36:35.000000000 +0200 @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2021-2022 Laurent Montel <mon...@kde.org> +# SPDX-FileCopyrightText: 2021-2023 Laurent Montel <mon...@kde.org> # SPDX-License-Identifier: CC0-1.0 # Suppression file for ASAN/LSAN diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/src/CMakeLists.txt new/kimap-23.04.0/src/CMakeLists.txt --- old/kimap-22.12.3/src/CMakeLists.txt 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/src/CMakeLists.txt 2023-04-11 06:36:35.000000000 +0200 @@ -2,9 +2,10 @@ # SPDX-License-Identifier: BSD-3-Clause # Turn exceptions on kde_enable_exceptions() -add_library(KF5IMAP) -add_library(KF5::IMAP ALIAS KF5IMAP) -target_sources(KF5IMAP PRIVATE +add_library(KPim${KF_MAJOR_VERSION}IMAP) +add_library(KPim${KF_MAJOR_VERSION}::IMAP ALIAS KPim${KF_MAJOR_VERSION}IMAP) +add_library(KF5::IMAP ALIAS KPim${KF_MAJOR_VERSION}IMAP) +target_sources(KPim${KF_MAJOR_VERSION}IMAP PRIVATE acl.cpp acljobbase.cpp appendjob.cpp @@ -104,39 +105,38 @@ logoutjob.h ) -ecm_qt_declare_logging_category(KF5IMAP HEADER kimap_debug.h IDENTIFIER KIMAP_LOG CATEGORY_NAME org.kde.pim.kimap +ecm_qt_declare_logging_category(KPim${KF_MAJOR_VERSION}IMAP HEADER kimap_debug.h IDENTIFIER KIMAP_LOG CATEGORY_NAME org.kde.pim.kimap OLD_CATEGORY_NAMES log_kimap DESCRIPTION "kimap (pim lib)" EXPORT KIMAP) if (COMPILE_WITH_UNITY_CMAKE_SUPPORT) - set_target_properties(KF5IMAP PROPERTIES UNITY_BUILD ON) + set_target_properties(KPim${KF_MAJOR_VERSION}IMAP PROPERTIES UNITY_BUILD ON) endif() -generate_export_header(KF5IMAP BASE_NAME kimap) +generate_export_header(KPim${KF_MAJOR_VERSION}IMAP BASE_NAME kimap) -target_include_directories(KF5IMAP INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KIMAP>") -target_include_directories(KF5IMAP PUBLIC "$<BUILD_INTERFACE:${KIMAP_SOURCE_DIR}/src;${KIMAP_BINARY_DIR}/src>") +target_include_directories(KPim${KF_MAJOR_VERSION}IMAP INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim${KF_MAJOR_VERSION}/KIMAP>") +target_include_directories(KPim${KF_MAJOR_VERSION}IMAP PUBLIC "$<BUILD_INTERFACE:${KIMAP_SOURCE_DIR}/src;${KIMAP_BINARY_DIR}/src>") if (WIN32) set(extra_LIBS ws2_32) endif() -target_link_libraries(KF5IMAP +target_link_libraries(KPim${KF_MAJOR_VERSION}IMAP PUBLIC - KF5::Mime - KF5::CoreAddons + KPim${KF_MAJOR_VERSION}::Mime + KF${KF_MAJOR_VERSION}::CoreAddons Qt::Network PRIVATE - KF5::KIOCore - KF5::Codecs - KF5::I18n + KF${KF_MAJOR_VERSION}::KIOCore + KF${KF_MAJOR_VERSION}::I18n Sasl2::Sasl2 ${extra_LIBS} ) -set_target_properties(KF5IMAP PROPERTIES +set_target_properties(KPim${KF_MAJOR_VERSION}IMAP PROPERTIES VERSION ${KIMAP_VERSION} SOVERSION ${KIMAP_SOVERSION} EXPORT_NAME IMAP @@ -191,31 +191,31 @@ REQUIRED_HEADERS KIMAP_HEADERS ) -install(TARGETS KF5IMAP EXPORT KF5IMAPTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) +install(TARGETS KPim${KF_MAJOR_VERSION}IMAP EXPORT KPim${KF_MAJOR_VERSION}IMAPTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kimap_export.h ${KIMAP_HEADERS} ${KIMAP_CamelCase_HEADERS} - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KIMAP/kimap + DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim${KF_MAJOR_VERSION}/KIMAP/kimap COMPONENT Devel ) install(FILES ${KIMAP_CamelCase_HEADERS} - DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KIMAP/KIMAP + DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim${KF_MAJOR_VERSION}/KIMAP/KIMAP COMPONENT Devel ) ecm_qt_install_logging_categories(EXPORT KIMAP FILE kimap.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}) -ecm_generate_pri_file(BASE_NAME KIMAP LIB_NAME KF5IMAP DEPS "KMime" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KIMAP) +ecm_generate_pri_file(BASE_NAME KIMAP LIB_NAME KPim${KF_MAJOR_VERSION}IMAP DEPS "KMime" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR}/KPim${KF_MAJOR_VERSION}/KIMAP) install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) if (BUILD_QCH) ecm_add_qch( - KF5Imap_QCH + KPim${KF_MAJOR_VERSION}Imap_QCH NAME KImap - BASE_NAME KF5Imap + BASE_NAME KPim${KF_MAJOR_VERSION}Imap VERSION ${PIM_VERSION} ORG_DOMAIN org.kde SOURCES # using only public headers, to cover only public API @@ -223,7 +223,7 @@ MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" #IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics" LINK_QCHS - Qt5Core_QCH + Qt${QT_MAJOR_VERSION}Core_QCH INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR} BLANK_MACROS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/src/imapset.cpp new/kimap-23.04.0/src/imapset.cpp --- old/kimap-22.12.3/src/imapset.cpp 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/src/imapset.cpp 2023-04-11 06:36:35.000000000 +0200 @@ -22,9 +22,9 @@ Private(const Private &other) : QSharedData(other) + , begin(other.begin) + , end(other.end) { - begin = other.begin; - end = other.end; } Id begin; @@ -40,8 +40,8 @@ } Private(const Private &other) : QSharedData(other) + , intervals(other.intervals) { - intervals = other.intervals; } ImapInterval::List intervals; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/src/job_p.h new/kimap-23.04.0/src/job_p.h --- old/kimap-22.12.3/src/job_p.h 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/src/job_p.h 2023-04-11 06:36:35.000000000 +0200 @@ -18,8 +18,8 @@ public: JobPrivate(Session *session, const QString &name) : m_session(session) + , m_name(name) { - m_name = name; } virtual ~JobPrivate() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/src/rfccodecs.cpp new/kimap-23.04.0/src/rfccodecs.cpp --- old/kimap-22.12.3/src/rfccodecs.cpp 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/src/rfccodecs.cpp 2023-04-11 06:36:35.000000000 +0200 @@ -25,10 +25,8 @@ #include <stdio.h> #include <stdlib.h> -#include <KCodecs> #include <QByteArray> #include <QLatin1Char> -#include <QTextCodec> using namespace KIMAP; @@ -283,366 +281,3 @@ } return quoteIMAP(dst); } - -//----------------------------------------------------------------------------- -QTextCodec *KIMAP::codecForName(const QString &str) -{ - if (str.isEmpty()) { - return nullptr; - } - return QTextCodec::codecForName(str.toLower().replace(QStringLiteral("windows"), QStringLiteral("cp")).toLatin1()); -} - -//----------------------------------------------------------------------------- -const QString KIMAP::decodeRFC2047String(const QString &str) -{ - QString throw_away; - - return decodeRFC2047String(str, throw_away); -} - -//----------------------------------------------------------------------------- -const QString KIMAP::decodeRFC2047String(const QString &str, QString &charset) -{ - QString throw_away; - - return decodeRFC2047String(str, charset, throw_away); -} - -//----------------------------------------------------------------------------- -const QString KIMAP::decodeRFC2047String(const QString &str, QString &charset, QString &language) -{ - // do we have a rfc string - if (!str.contains(QLatin1String("=?"))) { - return str; - } - - // FIXME get rid of the conversion? - QByteArray aStr = str.toLatin1(); // QString.length() means Unicode chars - QByteArray result; - char *pos; - char *beg; - char *end; - char *mid = nullptr; - QByteArray cstr; - char encoding = 0; - char ch; - bool valid; - const int maxLen = 200; - int i; - - // result.truncate(aStr.length()); - for (pos = aStr.data(); *pos; pos++) { - if (pos[0] != '=' || pos[1] != '?') { - result += *pos; - continue; - } - beg = pos + 2; - end = beg; - valid = true; - // parse charset name - for (i = 2, pos += 2; i < maxLen && (*pos != '?' && (ispunct(*pos) || isalnum(*pos))); i++) { - pos++; - } - if (*pos != '?' || i < 4 || i >= maxLen) { - valid = false; - } else { - charset = QLatin1String(QByteArray(beg, i - 1)); // -2 + 1 for the zero - int pt = charset.lastIndexOf(QLatin1Char('*')); - if (pt != -1) { - // save language for later usage - language = charset.right(charset.length() - pt - 1); - - // tie off language as defined in rfc2047 - charset.truncate(pt); - } - // get encoding and check delimiting question marks - encoding = toupper(pos[1]); - if (pos[2] != '?' || (encoding != 'Q' && encoding != 'B' && encoding != 'q' && encoding != 'b')) { - valid = false; - } - pos += 3; - i += 3; - // qCDebug(KIMAP_LOG) << "Charset:" << charset << "- Language:" << language << "-'" << pos << "'"; - } - if (valid) { - mid = pos; - // search for end of encoded part - while (i < maxLen && *pos && !(*pos == '?' && *(pos + 1) == '=')) { - i++; - pos++; - } - end = pos + 2; // end now points to the first char after the encoded string - if (i >= maxLen || !*pos) { - valid = false; - } - } - if (valid) { - ch = *pos; - *pos = '\0'; - cstr = QByteArray(mid).left(static_cast<int>(mid - pos - 1)); - if (encoding == 'Q') { - // decode quoted printable text - for (i = cstr.length() - 1; i >= 0; --i) { - if (cstr[i] == '_') { - cstr[i] = ' '; - } - } - // qCDebug(KIMAP_LOG) << "before QP '" - // << cstr << "'"; - cstr = KCodecs::quotedPrintableDecode(cstr); - // qCDebug(KIMAP_LOG) << "after QP '" - // << cstr << "'"; - } else { - // decode base64 text - cstr = QByteArray::fromBase64(cstr); - } - *pos = ch; - int len = cstr.length(); - for (i = 0; i < len; ++i) { - result += cstr[i]; - } - - pos = end - 1; - } else { - // qCDebug(KIMAP_LOG) << "invalid"; - // result += "=?"; - // pos = beg -1; // because pos gets increased shortly afterwards - pos = beg - 2; - result += *pos++; - result += *pos; - } - } - if (!charset.isEmpty()) { - QTextCodec *aCodec = codecForName(QLatin1String(charset.toLatin1())); - if (aCodec) { - // qCDebug(KIMAP_LOG) << "Codec is" << aCodec->name(); - return aCodec->toUnicode(result); - } - } - return QLatin1String(result); -} - -//----------------------------------------------------------------------------- -const QString KIMAP::encodeRFC2047String(const QString &str) -{ - return QLatin1String(encodeRFC2047String(str.toLatin1())); -} - -//----------------------------------------------------------------------------- -const QByteArray KIMAP::encodeRFC2047String(const QByteArray &str) -{ - if (str.isEmpty()) { - return str; - } - - const signed char *latin = reinterpret_cast<const signed char *>(str.data()); - const signed char *l; - const signed char *start; - const signed char *stop; - char hexcode; - int numQuotes; - int i; - int rptr = 0; - // My stats show this number results in 12 resize() out of 73,000 - int resultLen = 3 * str.length() / 2; - QByteArray result(resultLen, '\0'); - - while (*latin) { - l = latin; - start = latin; - while (*l) { - if (*l == 32) { - start = l + 1; - } - if (*l < 0) { - break; - } - l++; - } - if (*l) { - numQuotes = 1; - while (*l) { - /* The encoded word must be limited to 75 character */ - for (i = 0; i < 16; ++i) { - if (*l == especials[i]) { - numQuotes++; - } - } - if (*l < 0) { - numQuotes++; - } - /* Stop after 58 = 75 - 17 characters or at "<user@host..." */ - if (l - start + 2 * numQuotes >= 58 || *l == 60) { - break; - } - l++; - } - if (*l) { - stop = l - 1; - while (stop >= start && *stop != 32) { - stop--; - } - if (stop <= start) { - stop = l; - } - } else { - stop = l; - } - if (resultLen - rptr - 1 <= start - latin + 1 + 16) { - // =?iso-88... - resultLen += (start - latin + 1) * 2 + 20; // more space - result.resize(resultLen); - } - while (latin < start) { - result[rptr++] = *latin; - latin++; - } - result.replace(rptr, 15, "=?iso-8859-1?q?"); - rptr += 15; - if (resultLen - rptr - 1 <= 3 * (stop - latin + 1)) { - resultLen += (stop - latin + 1) * 4 + 20; // more space - result.resize(resultLen); - } - while (latin < stop) { - // can add up to 3 chars/iteration - numQuotes = 0; - for (i = 0; i < 16; ++i) { - if (*latin == especials[i]) { - numQuotes = 1; - } - } - if (*latin < 0) { - numQuotes = 1; - } - if (numQuotes) { - result[rptr++] = '='; - hexcode = ((*latin & 0xF0) >> 4) + 48; - if (hexcode >= 58) { - hexcode += 7; - } - result[rptr++] = hexcode; - hexcode = (*latin & 0x0F) + 48; - if (hexcode >= 58) { - hexcode += 7; - } - result[rptr++] = hexcode; - } else { - result[rptr++] = *latin; - } - latin++; - } - result[rptr++] = '?'; - result[rptr++] = '='; - } else { - while (*latin) { - if (rptr == resultLen - 1) { - resultLen += 30; - result.resize(resultLen); - } - result[rptr++] = *latin; - latin++; - } - } - } - result[rptr] = 0; - return result; -} - -//----------------------------------------------------------------------------- -const QString KIMAP::encodeRFC2231String(const QString &str) -{ - if (str.isEmpty()) { - return str; - } - - auto *latin = (signed char *)calloc(1, str.length() + 1); - char *latin_us = (char *)latin; - strcpy(latin_us, str.toLatin1().constData()); - signed char *l = latin; - char hexcode; - int i; - while (*l) { - if (*l < 0) { - break; - } - l++; - } - if (!*l) { - free(latin); - return str; - } - QByteArray result; - l = latin; - while (*l) { - bool quote = *l < 0; - for (i = 0; i < 16; ++i) { - if (*l == especials[i]) { - quote = true; - } - } - if (quote) { - result += '%'; - hexcode = ((*l & 0xF0) >> 4) + 48; - if (hexcode >= 58) { - hexcode += 7; - } - result += hexcode; - hexcode = (*l & 0x0F) + 48; - if (hexcode >= 58) { - hexcode += 7; - } - result += hexcode; - } else { - result += *l; - } - l++; - } - free(latin); - return QLatin1String(result); -} - -//----------------------------------------------------------------------------- -const QString KIMAP::decodeRFC2231String(const QString &str) -{ - int p = str.indexOf(QLatin1Char('\'')); - - // see if it is an rfc string - if (p < 0) { - return str; - } - - int l = str.lastIndexOf(QLatin1Char('\'')); - - // second is language - if (p >= l) { - return str; - } - - // first is charset or empty - // QString charset = str.left ( p ); - QString st = str.mid(l + 1); - // QString language = str.mid ( p + 1, l - p - 1 ); - - // qCDebug(KIMAP_LOG) << "Charset:" << charset << "Language:" << language; - - char ch; - char ch2; - p = 0; - while (p < st.length()) { - if (st.at(p) == QLatin1Char(37)) { - ch = st.at(p + 1).toLatin1() - 48; - if (ch > 16) { - ch -= 7; - } - ch2 = st.at(p + 2).toLatin1() - 48; - if (ch2 > 16) { - ch2 -= 7; - } - st.replace(p, 1, QChar(ch * 16 + ch2)); - st.remove(p + 1, 2); - } - p++; - } - return st; -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/src/rfccodecs.h new/kimap-23.04.0/src/rfccodecs.h --- old/kimap-22.12.3/src/rfccodecs.h 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/src/rfccodecs.h 2023-04-11 06:36:35.000000000 +0200 @@ -23,8 +23,6 @@ #include "kimap_export.h" -class QTextCodec; - namespace KIMAP { /** @@ -66,55 +64,4 @@ @since 4.3 */ Q_REQUIRED_RESULT KIMAP_EXPORT QByteArray quoteIMAP(const QByteArray &src); - -/** - Fetches a Codec by @p name. - @param name is the QString version of the Codec name. - @return Text Codec object -*/ -KIMAP_EXPORT QTextCodec *codecForName(const QString &name); - -/** - Decodes a RFC2047 string @p str. - @param str is the QString to decode. - @param charset is the character set to use when decoding. - @param language is the language found in the charset. -*/ -Q_REQUIRED_RESULT KIMAP_EXPORT const QString decodeRFC2047String(const QString &str, QString &charset, QString &language); -/** - Decodes a RFC2047 string @p str. - @param str is the QString to decode. - @param charset is the character set to use when decoding. -*/ -Q_REQUIRED_RESULT KIMAP_EXPORT const QString decodeRFC2047String(const QString &str, QString &charset); - -/** - Decodes a RFC2047 string @p str. - @param str is the QString to decode. -*/ -Q_REQUIRED_RESULT KIMAP_EXPORT const QString decodeRFC2047String(const QString &str); - -/** - Encodes a RFC2047 string @p str. - @param str is the QString to encode. -*/ -Q_REQUIRED_RESULT KIMAP_EXPORT const QString encodeRFC2047String(const QString &str); - -/** - Encodes a RFC2047 string @p str. - @param str is the QString to encode. -*/ -Q_REQUIRED_RESULT KIMAP_EXPORT const QByteArray encodeRFC2047String(const QByteArray &str); - -/** - Encodes a RFC2231 string @p str. - @param str is the QString to encode. -*/ -Q_REQUIRED_RESULT KIMAP_EXPORT const QString encodeRFC2231String(const QString &str); - -/** - Decodes a RFC2231 string @p str. - @param str is the QString to decode. -*/ -Q_REQUIRED_RESULT KIMAP_EXPORT const QString decodeRFC2231String(const QString &str); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kimap-22.12.3/tests/CMakeLists.txt new/kimap-23.04.0/tests/CMakeLists.txt --- old/kimap-22.12.3/tests/CMakeLists.txt 2023-02-25 06:05:10.000000000 +0100 +++ new/kimap-23.04.0/tests/CMakeLists.txt 2023-04-11 06:36:35.000000000 +0200 @@ -3,7 +3,7 @@ kde_enable_exceptions() add_executable(testimapidle testimapidle.cpp) -target_link_libraries(testimapidle KF5IMAP Qt::Test KF5::KIOCore Qt::Network) +target_link_libraries(testimapidle KPim${KF_MAJOR_VERSION}IMAP Qt::Test KF${KF_MAJOR_VERSION}::KIOCore Qt::Network) add_executable(testimapserver testimapserver.cpp) -target_link_libraries(testimapserver KF5IMAP Qt::Test KF5::KIOCore Qt::Network) +target_link_libraries(testimapserver KPim${KF_MAJOR_VERSION}IMAP Qt::Test KF${KF_MAJOR_VERSION}::KIOCore Qt::Network)