Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kf6-extra-cmake-modules for openSUSE:Factory checked in at 2025-06-18 15:54:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kf6-extra-cmake-modules (Old) and /work/SRC/openSUSE:Factory/.kf6-extra-cmake-modules.new.19631 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-extra-cmake-modules" Wed Jun 18 15:54:51 2025 rev:16 rq:1285555 version:6.15.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kf6-extra-cmake-modules/kf6-extra-cmake-modules.changes 2025-05-12 16:45:59.977400981 +0200 +++ /work/SRC/openSUSE:Factory/.kf6-extra-cmake-modules.new.19631/kf6-extra-cmake-modules.changes 2025-06-18 15:58:45.698705095 +0200 @@ -1,0 +2,22 @@ +Mon Jun 9 20:29:30 UTC 2025 - Christophe Marin <christo...@krop.fr> + +- Update to 6.15.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.15.0 +- Changes since 6.14.0: + * [ECMGenerateQDoc] Don't put qch file in target subfolder + * Fix LOCALSTATEDIR when installing to /usr (kde#505090) + * [ECMGenerateQDoc] Fix locations for generated HTML files + * ECMGeneratePythonBindings: Check if the build python module is installed + * Tone done warning about existing .clang-format file + * [ECMGenerateQDoc] Use combined output dir for all targets + * Add timestamp to filenames of APKs built on CI + * ECMGeneratePythonBindings: remove another deprecation macro since pyside/shiboken uses deprecated code + * kde-modules/clang-format.cmake - add support for Json files (kde#503056) + * [ECMGenerateQDoc] Handle qhelpgenerator tool not being found + * [ECMGenerateQDoc] Handle qdoc tool not being found + * Update version to 6.15.0 +- Replace _kf6_bugfix_version usage + +------------------------------------------------------------------- Old: ---- extra-cmake-modules-6.14.0.tar.xz extra-cmake-modules-6.14.0.tar.xz.sig New: ---- extra-cmake-modules-6.15.0.tar.xz extra-cmake-modules-6.15.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-extra-cmake-modules.spec ++++++ --- /var/tmp/diff_new_pack.FIwABn/_old 2025-06-18 15:58:47.326772416 +0200 +++ /var/tmp/diff_new_pack.FIwABn/_new 2025-06-18 15:58:47.342773078 +0200 @@ -23,14 +23,12 @@ %define rname extra-cmake-modules -# Full KF6 version (e.g. 6.14.0) +# Full KF6 version (e.g. 6.15.0) %{!?_kf6_version: %global _kf6_version %{version}} -# Last major and minor KF6 version (e.g. 6.0) -%{!?_kf6_bugfix_version: %define _kf6_bugfix_version %(echo %{_kf6_version} | awk -F. '{print $1"."$2}')} %bcond_without doc %bcond_without released Name: kf6-extra-cmake-modules%{?pkg_suffix} -Version: 6.14.0 +Version: 6.15.0 Release: 0 Summary: CMake modules License: BSD-3-Clause ++++++ extra-cmake-modules-6.14.0.tar.xz -> extra-cmake-modules-6.15.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.14.0/CMakeLists.txt new/extra-cmake-modules-6.15.0/CMakeLists.txt --- old/extra-cmake-modules-6.14.0/CMakeLists.txt 2025-05-02 16:14:26.000000000 +0200 +++ new/extra-cmake-modules-6.15.0/CMakeLists.txt 2025-06-13 11:31:41.000000000 +0200 @@ -11,7 +11,7 @@ # Preliminary setup # -set(VERSION "6.14.0") # handled by release scripts +set(VERSION "6.15.0") # handled by release scripts project(ECM VERSION "${VERSION}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.14.0/kde-modules/KDEClangFormat.cmake new/extra-cmake-modules-6.15.0/kde-modules/KDEClangFormat.cmake --- old/extra-cmake-modules-6.14.0/kde-modules/KDEClangFormat.cmake 2025-05-02 16:14:26.000000000 +0200 +++ new/extra-cmake-modules-6.15.0/kde-modules/KDEClangFormat.cmake 2025-06-13 11:31:41.000000000 +0200 @@ -59,7 +59,7 @@ file(READ ${CLANG_FORMAT_FILE} CLANG_FORMAT_CONTENTS LIMIT 1000) string(FIND "${CLANG_FORMAT_CONTENTS}" "This file got automatically created by ECM, do not edit" matchres) if(${matchres} EQUAL -1) - message(WARNING "The .clang-format file already exists. Please remove it in order to use the file provided by ECM") + message(DEBUG "Using existing .clang-format file provided by project.") else() configure_file(${CMAKE_CURRENT_LIST_DIR}/clang-format.cmake ${CLANG_FORMAT_FILE} @ONLY) endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.14.0/kde-modules/KDEInstallDirsCommon.cmake new/extra-cmake-modules-6.15.0/kde-modules/KDEInstallDirsCommon.cmake --- old/extra-cmake-modules-6.14.0/kde-modules/KDEInstallDirsCommon.cmake 2025-05-02 16:14:26.000000000 +0200 +++ new/extra-cmake-modules-6.15.0/kde-modules/KDEInstallDirsCommon.cmake 2025-06-13 11:31:41.000000000 +0200 @@ -261,7 +261,12 @@ "C and C++ header files" INCLUDE_INSTALL_DIR) -_define_absolute(LOCALSTATEDIR "var" +set(_default_localstate_dir "var") +if (CMAKE_INSTALL_PREFIX STREQUAL "/usr") + set(_default_localstate_dir "/var") +endif() + +_define_absolute(LOCALSTATEDIR ${_default_localstate_dir} "modifiable single-machine data") _define_absolute(SHAREDSTATEDIR "com" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.14.0/kde-modules/clang-format.cmake new/extra-cmake-modules-6.15.0/kde-modules/clang-format.cmake --- old/extra-cmake-modules-6.14.0/kde-modules/clang-format.cmake 2025-05-02 16:14:26.000000000 +0200 +++ new/extra-cmake-modules-6.15.0/kde-modules/clang-format.cmake 2025-06-13 11:31:41.000000000 +0200 @@ -12,6 +12,10 @@ Language: JavaScript DisableFormat: true --- +Language: Json +DisableFormat: false +IndentWidth: 4 +--- # Style for C++ Language: Cpp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.14.0/modules/ECMAddAndroidApk.cmake new/extra-cmake-modules-6.15.0/modules/ECMAddAndroidApk.cmake --- old/extra-cmake-modules-6.14.0/modules/ECMAddAndroidApk.cmake 2025-05-02 16:14:26.000000000 +0200 +++ new/extra-cmake-modules-6.15.0/modules/ECMAddAndroidApk.cmake 2025-06-13 11:31:41.000000000 +0200 @@ -91,6 +91,14 @@ return() endif() + # F-Droid assumes that APKs of different versions have different filenames; + # therefore, on CI we add the CI_PIPELINE_CREATED_AT timestamp to the APK filename + set(APK_NAME_TIMESTAMP "") + if (DEFINED ENV{CI_PIPELINE_CREATED_AT}) + # remove all non-digits from an ISO 8601 formatted timestamp like 2025-05-21T16:00:54Z + string(REGEX REPLACE "^([0-9]+)-([0-9]+)-([0-9]+)T([0-9]+):([0-9]+):([0-9]+).*$" "-\\1\\2\\3\\4\\5\\6" APK_NAME_TIMESTAMP "$ENV{CI_PIPELINE_CREATED_AT}") + endif() + configure_file(${_ECM_TOOLCHAIN_DIR}/ecm-version.gradle.in ${CMAKE_BINARY_DIR}/ecm-version.gradle) set(APK_NAME "${TARGET}") @@ -175,7 +183,7 @@ file(WRITE ${CMAKE_BINARY_DIR}/ranlib "${CMAKE_RANLIB}") set(CREATEAPK_TARGET_NAME "create-apk-${APK_NAME}") - set(APK_NAME_FULL "${APK_NAME}-${CMAKE_ANDROID_ARCH_ABI}.apk") + set(APK_NAME_FULL "${APK_NAME}${APK_NAME_TIMESTAMP}-${CMAKE_ANDROID_ARCH_ABI}.apk") add_custom_target(${CREATEAPK_TARGET_NAME} WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E echo "Generating ${APK_NAME_FULL} with $<TARGET_FILE:Qt6::androiddeployqt>" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.14.0/modules/ECMGeneratePythonBindings.cmake new/extra-cmake-modules-6.15.0/modules/ECMGeneratePythonBindings.cmake --- old/extra-cmake-modules-6.14.0/modules/ECMGeneratePythonBindings.cmake 2025-05-02 16:14:26.000000000 +0200 +++ new/extra-cmake-modules-6.15.0/modules/ECMGeneratePythonBindings.cmake 2025-06-13 11:31:41.000000000 +0200 @@ -67,6 +67,16 @@ cmake_parse_arguments(PB "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + if (NOT Python3_EXECUTABLE) + message(FATAL_ERROR "Python3_EXECUTABLE not set. Make sure find_package(Python3) is called before including ECMGeneratePythonBindings") + endif() + + execute_process(COMMAND ${Python3_EXECUTABLE} -Esc "import build" RESULT_VARIABLE PYTHON_BUILD_CHECK_EXIT_CODE OUTPUT_QUIET ERROR_QUIET) + + if (PYTHON_BUILD_CHECK_EXIT_CODE) + message(FATAL_ERROR "The 'build' Python module is needed for ECMGeneratePythonBindings") + endif() + # Ugly hacks because PySide6::pyside6 only includes /usr/includes/PySide6 and none of the sub directory # Qt bugreport: PYSIDE-2882 get_property(PYSIDE_INCLUDE_DIRS TARGET "PySide6::pyside6" PROPERTY INTERFACE_INCLUDE_DIRECTORIES) @@ -143,6 +153,12 @@ get_property(_defs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY COMPILE_DEFINITIONS) list(FILTER _defs EXCLUDE REGEX [[^QT_DISABLE_DEPRECATED_BEFORE=]]) set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY COMPILE_DEFINITIONS ${_defs}) + get_property(_defs DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY COMPILE_DEFINITIONS) + list(FILTER _defs EXCLUDE REGEX [[^QT_DISABLE_DEPRECATED_UP_TO=]]) + set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY COMPILE_DEFINITIONS ${_defs}) + get_property(_defs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY COMPILE_DEFINITIONS) + list(FILTER _defs EXCLUDE REGEX [[^QT_DISABLE_DEPRECATED_UP_TO=]]) + set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY COMPILE_DEFINITIONS ${_defs}) # Define and build the bindings library. add_library(${PB_PACKAGE_NAME} SHARED ${${PB_PACKAGE_NAME}_sources}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.14.0/modules/ECMGenerateQDoc.cmake new/extra-cmake-modules-6.15.0/modules/ECMGenerateQDoc.cmake --- old/extra-cmake-modules-6.14.0/modules/ECMGenerateQDoc.cmake 2025-05-02 16:14:26.000000000 +0200 +++ new/extra-cmake-modules-6.15.0/modules/ECMGenerateQDoc.cmake 2025-06-13 11:31:41.000000000 +0200 @@ -71,16 +71,20 @@ set(qdoc_extra_args "") if (NOT QDOC_BIN) + if (NOT TARGET Qt6::qdoc) + message("qdoc executable not found, not generating API documentation") + return() + endif() get_target_property(QDOC_BIN Qt6::qdoc LOCATION) endif() get_target_property(target_type ${target} TYPE) get_target_property(target_bin_dir ${target} BINARY_DIR) get_target_property(target_source_dir ${target} SOURCE_DIR) - set(doc_output_dir "${target_bin_dir}/.doc") + set(doc_output_dir "${CMAKE_BINARY_DIR}/.doc") # Generate include dir list - set(target_include_dirs_file "${doc_output_dir}/$<CONFIG>/includes.txt") + set(target_include_dirs_file "${doc_output_dir}/${target}_$<CONFIG>_includes.txt") set(include_paths_property "$<TARGET_PROPERTY:${target},INCLUDE_DIRECTORIES>") @@ -156,47 +160,51 @@ ${generate_qdoc_args} ) - # generate .qch - set(qch_file_name ${doc_target}.qch) - set(qch_file_path ${dest_dir}/${doc_target}/${qch_file_name}) - - get_target_property(QHelpGenerator_EXECUTABLE Qt6::qhelpgenerator LOCATION) - - add_custom_target(generate_qch_${target} - COMMAND ${QHelpGenerator_EXECUTABLE} - "${dest_dir}/html/${doc_target}.qhp" - -o "${qch_file_path}" - ) - add_dependencies(prepare_docs prepare_docs_${target}) add_dependencies(generate_docs generate_docs_${target}) - add_dependencies(generate_qch generate_qch_${target}) - add_dependencies(install_html_docs install_html_docs_${target}) - add_dependencies(install_qch_docs install_qch_docs_${target}) - - install(DIRECTORY "${dest_dir}/html/" - DESTINATION "${KDE_INSTALL_QTQCHDIR}/${doc_target}" - COMPONENT _install_html_docs_${target} - EXCLUDE_FROM_ALL - ) - - add_custom_target(install_html_docs_${target} - COMMAND ${CMAKE_COMMAND} - --install "${CMAKE_BINARY_DIR}" - --component _install_html_docs_${target} - COMMENT "Installing html docs for target ${target}" - ) - - install(FILES "${qch_file_path}" - DESTINATION "${KDE_INSTALL_QTQCHDIR}" - COMPONENT _install_qch_docs_${target} - EXCLUDE_FROM_ALL - ) - - add_custom_target(install_qch_docs_${target} - COMMAND ${CMAKE_COMMAND} - --install "${CMAKE_BINARY_DIR}" - --component _install_qch_docs_${target} - COMMENT "Installing qch docs for target ${target}" - ) + + # generate .qch + if (TARGET Qt6::qhelpgenerator) + set(qch_file_name ${doc_target}.qch) + set(qch_file_path ${dest_dir}/${qch_file_name}) + get_target_property(QHelpGenerator_EXECUTABLE Qt6::qhelpgenerator LOCATION) + + add_custom_target(generate_qch_${target} + COMMAND ${QHelpGenerator_EXECUTABLE} + "${dest_dir}/${doc_target}/${doc_target}.qhp" + -o "${qch_file_path}" + ) + + add_dependencies(generate_qch generate_qch_${target}) + add_dependencies(install_html_docs install_html_docs_${target}) + add_dependencies(install_qch_docs install_qch_docs_${target}) + + install(DIRECTORY "${dest_dir}/${doc_target}/" + DESTINATION "${KDE_INSTALL_QTQCHDIR}/${doc_target}" + COMPONENT _install_html_docs_${target} + EXCLUDE_FROM_ALL + ) + + add_custom_target(install_html_docs_${target} + COMMAND ${CMAKE_COMMAND} + --install "${CMAKE_BINARY_DIR}" + --component _install_html_docs_${target} + COMMENT "Installing html docs for target ${target}" + ) + + install(FILES "${qch_file_path}" + DESTINATION "${KDE_INSTALL_QTQCHDIR}" + COMPONENT _install_qch_docs_${target} + EXCLUDE_FROM_ALL + ) + + add_custom_target(install_qch_docs_${target} + COMMAND ${CMAKE_COMMAND} + --install "${CMAKE_BINARY_DIR}" + --component _install_qch_docs_${target} + COMMENT "Installing qch docs for target ${target}" + ) + else() + message("qhelpgenerator executable not found, not generating API documentation in QCH format") + endif() endfunction() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/extra-cmake-modules-6.14.0/tests/CMakeLists.txt new/extra-cmake-modules-6.15.0/tests/CMakeLists.txt --- old/extra-cmake-modules-6.14.0/tests/CMakeLists.txt 2025-05-02 16:14:26.000000000 +0200 +++ new/extra-cmake-modules-6.15.0/tests/CMakeLists.txt 2025-06-13 11:31:41.000000000 +0200 @@ -115,6 +115,7 @@ -DAUTOSTARTDIR_should_be_absolute=TRUE -DCONFDIR_should_be_absolute=TRUE -DSYSCONFDIR_should_be_absolute=TRUE + -DLOCALSTATEDIR_should_be_absolute=TRUE ) add_test_variant(KDEInstallDirsTest.relative_or_absolute_usr KDEInstallDirsTest.relative_or_absolute dummy)