From a258953f7183ca96eac603da4876d91e80d9e71d Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Feb 09 2018 15:11:20 +0000 Subject: track private api use via properly versioned symbols --- diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index d25ede9..6e322bb 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -51,7 +51,7 @@ BuildRequires: pkgconfig(libsystemd) Name: qt5-qtbase Summary: Qt5 - QtBase components Version: 5.10.0 -Release: 4%{?dist} +Release: 5%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -78,6 +78,12 @@ Patch2: qtbase-multilib_optflags.patch # fix QTBUG-35459 (too low entityCharacterLimit=1024 for CVE-2013-4549) Patch4: qtbase-opensource-src-5.3.2-QTBUG-35459.patch +# borrowed from opensuse +# 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. +Patch8: tell-the-truth-about-private-api.patch + # upstreamable patches # namespace QT_VERSION_CHECK to workaround major/minor being pre-defined (#1396755) Patch50: qtbase-opensource-src-5.8.0-QT_VERSION_CHECK.patch @@ -348,6 +354,7 @@ Qt5 libraries used for drawing widgets and OpenGL items. ## upstream fixes %patch4 -p1 -b .QTBUG-35459 +%patch8 -p1 %patch50 -p1 -b .QT_VERSION_CHECK %patch51 -p1 -b .hidpi_scale_at_192 @@ -983,6 +990,9 @@ fi %changelog +* Fri Feb 09 2018 Rex Dieter - 5.10.0-5 +- track private api use via properly versioned symbols + * Fri Feb 09 2018 Igor Gnatenko - 5.10.0-4 - Escape macros in %%changelog diff --git a/tell-the-truth-about-private-api.patch b/tell-the-truth-about-private-api.patch new file mode 100644 index 0000000..b44974a --- /dev/null +++ b/tell-the-truth-about-private-api.patch @@ -0,0 +1,16 @@ +diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf +index f6cbf99..798472a 100644 +--- a/mkspecs/features/qt_module.prf ++++ b/mkspecs/features/qt_module.prf +@@ -214,9 +214,9 @@ android: CONFIG += qt_android_deps no_linker_version_script + QMAKE_LFLAGS += $${QMAKE_LFLAGS_VERSION_SCRIPT}$$verscript + + internal_module { +- verscript_content = "Qt_$${QT_MAJOR_VERSION}_PRIVATE_API { *; };" ++ verscript_content = "Qt_$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}_PRIVATE_API { *; };" + } else { +- verscript_content = "Qt_$${QT_MAJOR_VERSION}_PRIVATE_API {" \ ++ verscript_content = "Qt_$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}_PRIVATE_API {" \ + " qt_private_api_tag*;" + + private_api_headers = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.QPA_HEADER_FILES