From 957384ceb14b05e4df59e12208eeab35ed6d37f4 Mon Sep 17 00:00:00 2001 From: Funda Wang Date: Wed, 19 Mar 2025 17:54:51 +0800 Subject: [PATCH] export private symbol as MAJOR.MINOR --- qt6-qtbase.spec | 67 ++++++++++--------- ...only-major-minor-for-private-api-tag.patch | 13 ++++ 2 files changed, 49 insertions(+), 31 deletions(-) create mode 100644 qtbase-use-only-major-minor-for-private-api-tag.patch diff --git a/qt6-qtbase.spec b/qt6-qtbase.spec index 079e2b4..67e3812 100644 --- a/qt6-qtbase.spec +++ b/qt6-qtbase.spec @@ -23,7 +23,7 @@ Name: qt6-qtbase Summary: Qt6 - QtBase components Version: 6.8.2 -Release: 1 +Release: 2 License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0 Url: https://www.qt.io @@ -48,7 +48,8 @@ Source10: macros.qt6-qtbase # track private api via properly versioned symbols # downside: binaries produced with these differently-versioned symbols are no longer # compatible with qt-project.org's Qt binary releases. -Patch2: qtbase-CMake-Install-objects-files-into-ARCHDATADIR.patch +Patch1: qtbase-CMake-Install-objects-files-into-ARCHDATADIR.patch +Patch2: qtbase-use-only-major-minor-for-private-api-tag.patch # upstreamable patches # namespace QT_VERSION_CHECK to workaround major/minor being pre-defined (#1396755) @@ -314,35 +315,36 @@ export CXXFLAGS="$CXXFLAGS $RPM_OPT_FLAGS" export LDFLAGS="$LDFLAGS $RPM_LD_FLAGS" %cmake_qt6 \ - -DQT_FEATURE_accessibility=ON \ - -DQT_FEATURE_fontconfig=ON \ - -DQT_FEATURE_glib=ON \ - -DQT_FEATURE_sse2=%{?no_sse2:OFF}%{!?no_sse2:ON} \ - -DQT_FEATURE_system_doubleconversion=ON \ - -DQT_FEATURE_icu=ON \ - -DQT_FEATURE_enable_new_dtags=ON \ - -DQT_FEATURE_journald=ON \ - -DQT_FEATURE_openssl_linked=ON \ - -DQT_FEATURE_libproxy=ON \ - -DQT_FEATURE_sctp=ON \ - -DQT_FEATURE_separate_debug_info=OFF \ - -DQT_FEATURE_reduce_relocations=OFF \ - -DQT_FEATURE_relocatable=OFF \ - -DQT_FEATURE_system_jpeg=ON \ - -DQT_FEATURE_system_png=ON \ - -DQT_FEATURE_system_zlib=ON \ - -DQT_FEATURE_system_freetype=ON \ - -DQT_FEATURE_system_harfbuzz=ON \ - %{?ibase:-DQT_FEATURE_sql_ibase=ON} \ - -DQT_FEATURE_sql_odbc=ON \ - -DQT_FEATURE_sql_mysql=ON \ - -DQT_FEATURE_sql_psql=ON \ - -DQT_FEATURE_sql_sqlite=ON \ - -DQT_FEATURE_rpath=OFF \ - -DQT_FEATURE_zstd=ON \ - -DQT_FEATURE_dbus_linked=ON \ - -DQT_FEATURE_system_pcre2=ON \ - -DQT_FEATURE_system_sqlite=ON \ + -DFEATURE_accessibility=ON \ + -DFEATURE_fontconfig=ON \ + -DFEATURE_glib=ON \ + -DFEATURE_sse2=%{?no_sse2:OFF}%{!?no_sse2:ON} \ + -DFEATURE_system_doubleconversion=ON \ + -DFEATURE_icu=ON \ + -DFEATURE_enable_new_dtags=ON \ + -DFEATURE_journald=ON \ + -DFEATURE_openssl_linked=ON \ + -DFEATURE_libproxy=ON \ + -DFEATURE_sctp=ON \ + -DFEATURE_separate_debug_info=OFF \ + -DFEATURE_reduce_relocations=OFF \ + -DFEATURE_relocatable=OFF \ + -DFEATURE_system_jpeg=ON \ + -DFEATURE_system_png=ON \ + -DFEATURE_system_zlib=ON \ + -DFEATURE_system_freetype=ON \ + -DFEATURE_system_harfbuzz=ON \ + %{?ibase:-DFEATURE_sql_ibase=ON} \ + -DFEATURE_sql_odbc=ON \ + -DFEATURE_sql_mysql=ON \ + -DFEATURE_sql_psql=ON \ + -DFEATURE_sql_sqlite=ON \ + -DFEATURE_rpath=OFF \ + -DFEATURE_zstd=ON \ + -DFEATURE_elf_private_full_version=ON \ + -DFEATURE_dbus_linked=ON \ + -DFEATURE_system_pcre2=ON \ + -DFEATURE_system_sqlite=ON \ -DBUILD_SHARED_LIBS=ON \ -DQT_BUILD_EXAMPLES=%{?examples:ON}%{!?examples:OFF} \ -DQT_BUILD_TESTS=%{?tests:ON}%{!?tests:OFF} \ @@ -861,6 +863,9 @@ make check -k ||: %{_docdir}/qt6/* %changelog +* Wed Mar 19 2025 Funda Wang - 6.8.2-2 +- export private symbol as MAJOR.MINOR + * Wed Mar 19 2025 Funda Wang - 6.8.2-1 - update to 6.8.2 diff --git a/qtbase-use-only-major-minor-for-private-api-tag.patch b/qtbase-use-only-major-minor-for-private-api-tag.patch new file mode 100644 index 0000000..54e38a3 --- /dev/null +++ b/qtbase-use-only-major-minor-for-private-api-tag.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake +index 6a62b85c..1fc1f88d 100644 +--- a/cmake/QtFlagHandlingHelpers.cmake ++++ b/cmake/QtFlagHandlingHelpers.cmake +@@ -71,7 +71,7 @@ function(qt_internal_add_linker_version_script target) + + string(APPEND contents "\n};\nQt_${PROJECT_VERSION_MAJOR}") + if(QT_FEATURE_elf_private_full_version) +- string(APPEND contents ".${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") ++ string(APPEND contents ".${PROJECT_VERSION_MINOR}") + endif() + string(APPEND contents "_PRIVATE_API { qt_private_api_tag*;\n") + if(arg_PRIVATE_HEADERS) -- Gitee