diff --git a/CVE-2023-32573.patch b/CVE-2023-32573.patch new file mode 100644 index 0000000000000000000000000000000000000000..be35253025d256894eaf413c7d6dddc40dcc331b --- /dev/null +++ b/CVE-2023-32573.patch @@ -0,0 +1,34 @@ +diff -up qt-everywhere-opensource-src-4.8.7/src/svg/qsvgfont_p.h.me qt-everywhere-opensource-src-4.8.7/src/svg/qsvgfont_p.h +--- qt-everywhere-opensource-src-4.8.7/src/svg/qsvgfont_p.h.me 2023-05-18 14:45:36.239081107 +0200 ++++ qt-everywhere-opensource-src-4.8.7/src/svg/qsvgfont_p.h 2023-05-18 14:47:11.440869275 +0200 +@@ -78,6 +78,7 @@ public: + class QSvgFont : public QSvgRefCounted + { + public: ++ static const qreal DEFAULT_UNITS_PER_EM = 1000; + QSvgFont(qreal horizAdvX); + + void setFamilyName(const QString &name); +@@ -90,9 +91,7 @@ public: + void draw(QPainter *p, const QPointF &point, const QString &str, qreal pixelSize, Qt::Alignment alignment) const; + public: + QString m_familyName; +- qreal m_unitsPerEm; +- qreal m_ascent; +- qreal m_descent; ++ qreal m_unitsPerEm = DEFAULT_UNITS_PER_EM; + qreal m_horizAdvX; + QHash m_glyphs; + }; +diff -up qt-everywhere-opensource-src-4.8.7/src/svg/qsvghandler.cpp.me qt-everywhere-opensource-src-4.8.7/src/svg/qsvghandler.cpp +--- qt-everywhere-opensource-src-4.8.7/src/svg/qsvghandler.cpp.me 2023-05-18 14:45:24.569107055 +0200 ++++ qt-everywhere-opensource-src-4.8.7/src/svg/qsvghandler.cpp 2023-05-18 14:45:10.885137479 +0200 +@@ -2571,7 +2571,7 @@ static bool parseFontFaceNode(QSvgStyleP + + qreal unitsPerEm = toDouble(unitsPerEmStr); + if (!unitsPerEm) +- unitsPerEm = 1000; ++ unitsPerEm = QSvgFont::DEFAULT_UNITS_PER_EM; + + if (!name.isEmpty()) + font->setFamilyName(name); diff --git a/fix-build-error-about-messagemodel.patch b/fix-build-error-about-messagemodel.patch new file mode 100644 index 0000000000000000000000000000000000000000..f0253860c0a14870d5084b9fac104504c74c80b5 --- /dev/null +++ b/fix-build-error-about-messagemodel.patch @@ -0,0 +1,25 @@ +From 07bf8749800eebde9d9c870678479447a333da1a Mon Sep 17 00:00:00 2001 +From: peijiankang +Date: Mon, 14 Aug 2023 16:11:15 +0800 +Subject: [PATCH] fix build error about messagemodel + +--- + tools/linguist/linguist/messagemodel.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/linguist/linguist/messagemodel.cpp b/tools/linguist/linguist/messagemodel.cpp +index 61c5389f..7334e0e9 100644 +--- a/tools/linguist/linguist/messagemodel.cpp ++++ b/tools/linguist/linguist/messagemodel.cpp +@@ -183,7 +183,7 @@ static int calcMergeScore(const DataModel *one, const DataModel *two) + if (ContextItem *c = one->findContext(oc->context())) { + for (int j = 0; j < oc->messageCount(); ++j) { + MessageItem *m = oc->messageItem(j); +- if (c->findMessage(m->text(), m->comment()) >= 0) ++ if (c->findMessage(m->text(), m->comment())) + ++inBoth; + } + } +-- +2.33.0 + diff --git a/fix-build-error-for-loongarch64.patch b/fix-build-error-for-loongarch64.patch new file mode 100644 index 0000000000000000000000000000000000000000..d9c6ce85e53e8fc5453c2cb56373ab165f4b0f84 --- /dev/null +++ b/fix-build-error-for-loongarch64.patch @@ -0,0 +1,127 @@ +From a4ee1523dbcbd2e26e5c92298a612d60b204fd75 Mon Sep 17 00:00:00 2001 +From: Wenlong Zhang +Date: Wed, 17 May 2023 07:59:00 +0000 +Subject: [PATCH] fix build error for loongarch64 test000 + +--- + configure | 6 ++++++ + mkspecs/linux-g++-64/qmake.conf | 4 ++-- + mkspecs/solaris-g++-64/qmake.conf | 2 +- + src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h | 7 ++++++- + src/corelib/arch/loongarch64/arch.pri | 6 ++++++ + src/corelib/arch/qatomic_arch.h | 2 ++ + src/dbus/qdbusintegrator.cpp | 2 +- + 7 files changed, 24 insertions(+), 5 deletions(-) + create mode 100644 src/corelib/arch/loongarch64/arch.pri + +diff --git a/configure b/configure +index 226a602f..d3f10f08 100755 +--- a/configure ++++ b/configure +@@ -3273,6 +3273,12 @@ if [ -z "${CFG_HOST_ARCH}" ]; then + ;; + esac + ;; ++ *:*:loongarch64**) ++ if [ "$OPT_VERBOSE" = "yes" ]; then ++ echo " LoongArch64 (loongarch64)" ++ fi ++ CFG_HOST_ARCH=loongarch64 ++ ;; + *:*:*) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " Trying '$UNAME_MACHINE'..." +diff --git a/mkspecs/linux-g++-64/qmake.conf b/mkspecs/linux-g++-64/qmake.conf +index 222f6b7e..dd129afd 100644 +--- a/mkspecs/linux-g++-64/qmake.conf ++++ b/mkspecs/linux-g++-64/qmake.conf +@@ -12,8 +12,8 @@ CONFIG += qt warn_on release incremental link_prl gdb_dwarf_index + QT += core gui + QMAKE_INCREMENTAL_STYLE = sublib + +-QMAKE_CFLAGS = -m64 +-QMAKE_LFLAGS = -m64 ++QMAKE_CFLAGS = ++QMAKE_LFLAGS = + + include(../common/linux.conf) + include(../common/gcc-base-unix.conf) +diff --git a/mkspecs/solaris-g++-64/qmake.conf b/mkspecs/solaris-g++-64/qmake.conf +index 7bc7b9fd..2ecbaac8 100644 +--- a/mkspecs/solaris-g++-64/qmake.conf ++++ b/mkspecs/solaris-g++-64/qmake.conf +@@ -36,7 +36,7 @@ QMAKE_LEX = flex + QMAKE_LEXFLAGS = + QMAKE_YACC = yacc + QMAKE_YACCFLAGS = -d +-QMAKE_CFLAGS = -m64 -D_XOPEN_SOURCE=500 -D__EXTENSIONS__ ++QMAKE_CFLAGS = -D_XOPEN_SOURCE=500 -D__EXTENSIONS__ + QMAKE_CFLAGS_DEPS = -M + QMAKE_CFLAGS_WARN_ON = -Wall -W + QMAKE_CFLAGS_WARN_OFF = -w +diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h +index 635df39e..a9def901 100644 +--- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h ++++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h +@@ -236,6 +236,11 @@ + #define WTF_CPU_X86_64 1 + #endif + ++/* CPU(LOONGARCH64) - LOONGARCH64 */ ++#if defined(__loongarch64) ++#define WTF_CPU_LOONGARCH64 1 ++#endif ++ + /* CPU(ARM) - ARM, any version*/ + #if defined(arm) \ + || defined(__arm__) \ +@@ -1012,7 +1017,7 @@ + || CPU(SPARC64) \ + || CPU(S390X) \ + || CPU(PPC64) \ +- || CPU(MIPS64) || CPU(AARCH64) ++ || CPU(MIPS64) || CPU(AARCH64) || CPU(LOONGARCH64) + #define WTF_USE_JSVALUE64 1 + #else + #define WTF_USE_JSVALUE32_64 1 +diff --git a/src/corelib/arch/loongarch64/arch.pri b/src/corelib/arch/loongarch64/arch.pri +new file mode 100644 +index 00000000..7fe8c602 +--- /dev/null ++++ b/src/corelib/arch/loongarch64/arch.pri +@@ -0,0 +1,6 @@ ++# ++# LoongArch 64 architecture ++# ++ ++unix:SOURCES += ../generic/qatomic_generic_unix.cpp ++win32:SOURCES += ../generic/qatomic_generic_windows.cpp +diff --git a/src/corelib/arch/qatomic_arch.h b/src/corelib/arch/qatomic_arch.h +index c91c20b3..d8b5a308 100644 +--- a/src/corelib/arch/qatomic_arch.h ++++ b/src/corelib/arch/qatomic_arch.h +@@ -96,6 +96,8 @@ QT_BEGIN_HEADER + # include "QtCore/qatomic_generic.h" + #elif defined(QT_ARCH_AARCH64) + # include "QtCore/qatomic_aarch64.h" ++#elif defined(QT_ARCH_LOONGARCH64) ++# include "QtCore/qatomic_generic.h" + #else + # error "Qt has not been ported to this architecture" + #endif +diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp +index eaf3e291..10b246ca 100644 +--- a/src/dbus/qdbusintegrator.cpp ++++ b/src/dbus/qdbusintegrator.cpp +@@ -73,7 +73,7 @@ QT_BEGIN_NAMESPACE + static bool isDebugging; + #define qDBusDebug if (!::isDebugging); else qDebug + +-Q_GLOBAL_STATIC_WITH_ARGS(const QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS))) ++Q_GLOBAL_STATIC_WITH_ARGS(QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS))) + + static inline QString dbusServiceString() + { return *orgFreedesktopDBusString(); } +-- +2.33.0 + diff --git a/qt-everywhere-opensource-src-4.8.7-firebird.patch b/qt-everywhere-opensource-src-4.8.7-firebird.patch index 456abceb3ac609295d6a04480824f027ec815ff2..5918fac13d9d56c3a44713728089ad8b3a7abe39 100644 --- a/qt-everywhere-opensource-src-4.8.7-firebird.patch +++ b/qt-everywhere-opensource-src-4.8.7-firebird.patch @@ -6,7 +6,7 @@ diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp.ib ****************************************************************************/ -#include -+#include ++#include int main(int, char **) { @@ -27,7 +27,7 @@ diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h.i #include #include -#include -+#include ++#include QT_BEGIN_HEADER diff --git a/qt-everywhere-opensource-src-4.8.7-openssl3.patch b/qt-everywhere-opensource-src-4.8.7-openssl3.patch new file mode 100644 index 0000000000000000000000000000000000000000..c2d77cb3f30a56812d86499f34b98ac0a5a46e16 --- /dev/null +++ b/qt-everywhere-opensource-src-4.8.7-openssl3.patch @@ -0,0 +1,90 @@ +diff -up qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp.me qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp +--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp.me 2021-10-19 15:12:03.727951685 +0200 ++++ qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl.cpp 2021-10-19 15:18:59.795315141 +0200 +@@ -273,7 +273,11 @@ init_context: + #endif + break; + case QSsl::SslV3: ++#ifndef OPENSSL_NO_SSL3 + ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method()); ++#else ++ ctx = 0; ++#endif + break; + case QSsl::SecureProtocols: // SslV2 will be disabled below + case QSsl::TlsV1SslV3: // SslV2 will be disabled below +diff -up qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp.me qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp +--- qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp.me 2021-10-12 19:58:01.005913416 +0200 ++++ qt-everywhere-opensource-src-4.8.7/src/network/ssl/qsslsocket_openssl_symbols.cpp 2021-10-19 15:11:32.660331443 +0200 +@@ -253,7 +253,9 @@ DEFINEFUNC(int, SSL_shutdown, SSL *a, a, + #ifndef OPENSSL_NO_SSL2 + DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) + #endif ++#ifndef OPENSSL_NO_SSL3 + DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif + #if OPENSSL_VERSION_NUMBER < 0x10100000L + DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) + #else +@@ -263,7 +265,9 @@ DEFINEFUNC(const SSL_METHOD *, TLSv1_cli + #ifndef OPENSSL_NO_SSL2 + DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) + #endif ++#ifndef OPENSSL_NO_SSL3 + DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif + #if OPENSSL_VERSION_NUMBER < 0x10100000L + DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) + #else +@@ -272,11 +276,15 @@ DEFINEFUNC(const SSL_METHOD *, TLS_serve + DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) + #else + DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return) ++#ifndef OPENSSL_NO_SSL3 + DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif + DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return) + DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return) + DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return) ++#ifndef OPENSSL_NO_SSL3 + DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return) ++#endif + DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return) + DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return) + #endif +@@ -756,11 +764,15 @@ bool q_resolveOpenSslSymbols() + RESOLVEFUNC(SSL_shutdown, 173, libs.first ) + RESOLVEFUNC(SSL_write, 188, libs.first ) + RESOLVEFUNC(SSLv2_client_method, 192, libs.first ) ++#ifndef OPENSSL_NO_SSL3 + RESOLVEFUNC(SSLv3_client_method, 195, libs.first ) ++#endif + RESOLVEFUNC(SSLv23_client_method, 189, libs.first ) + RESOLVEFUNC(TLSv1_client_method, 198, libs.first ) + RESOLVEFUNC(SSLv2_server_method, 194, libs.first ) ++#ifndef OPENSSL_NO_SSL3 + RESOLVEFUNC(SSLv3_server_method, 197, libs.first ) ++#endif + RESOLVEFUNC(SSLv23_server_method, 191, libs.first ) + RESOLVEFUNC(TLSv1_server_method, 200, libs.first ) + RESOLVEFUNC(SSL_CTX_load_verify_locations, 34, libs.first ) +@@ -927,7 +939,9 @@ bool q_resolveOpenSslSymbols() + #ifndef OPENSSL_NO_SSL2 + RESOLVEFUNC(SSLv2_client_method) + #endif ++#ifndef OPENSSL_NO_SSL3 + RESOLVEFUNC(SSLv3_client_method) ++#endif + #if OPENSSL_VERSION_NUMBER < 0x10100000L + RESOLVEFUNC(SSLv23_client_method) + #else +@@ -937,7 +951,9 @@ bool q_resolveOpenSslSymbols() + #ifndef OPENSSL_NO_SSL2 + RESOLVEFUNC(SSLv2_server_method) + #endif ++#ifndef OPENSSL_NO_SSL3 + RESOLVEFUNC(SSLv3_server_method) ++#endif + #if OPENSSL_VERSION_NUMBER < 0x10100000L + RESOLVEFUNC(SSLv23_server_method) + #else diff --git a/qt-everywhere-opensource-src-4.8.7-riscv64.patch b/qt-everywhere-opensource-src-4.8.7-riscv64.patch new file mode 100644 index 0000000000000000000000000000000000000000..fb11af229c3ad15fffe39bf079a7bad985b64996 --- /dev/null +++ b/qt-everywhere-opensource-src-4.8.7-riscv64.patch @@ -0,0 +1,140 @@ +From 04ba246620ed6f252a818a3ef0561a1f62d95dad Mon Sep 17 00:00:00 2001 +From: David Abdurachmanov +Date: Mon, 28 May 2018 09:37:15 +0000 +Subject: [PATCH] Add support for RISC-V (riscv64) + +Original patch: https://git.parabola.nu/~oaken-source/parabola-riscv64-bootstrap.git/tree/src/stage4/patches/riscv64/qt4.patch + +This patch adds 64Bit RISC-V support to qt 4.8.7. The relevant changes are: + + * configure: correctly detect riscv64 as $CFG_HOST_ARCH + + * src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h: introduce + WTF_CPU_RISCV64; and since rv64 requires a 64bit JSValue, set + WTF_USE_JSVALUE64 here + + * src/corelib/arch/qatomic_arch.h: use qatomic_generic on rv64 + * src/corelib/arch/riscv64/arch.pri: likewise + + * src/dbus/qdbusintegrator.cpp: this can not be a const QString since + the atomics involved are defined for pointer types, not const pointer + types (would require -fpermissive to build on current g++) + + * src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pri: add + -fpermissive to local build flags to work around an unconditional + reinterpret_cast in JSValue.h failing the build in current g++ + * src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri: likewise + +Signed-off-by: David Abdurachmanov +--- + configure | 6 ++++++ + .../javascriptcore/JavaScriptCore/JavaScriptCore.pri | 8 ++++++++ + src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h | 7 ++++++- + src/corelib/arch/qatomic_arch.h | 2 ++ + src/corelib/arch/riscv64/arch.pri | 6 ++++++ + src/dbus/qdbusintegrator.cpp | 2 +- + 6 files changed, 29 insertions(+), 2 deletions(-) + create mode 100644 src/corelib/arch/riscv64/arch.pri + +diff --git a/configure b/configure +index 226a602f..bf3785ee 100755 +--- a/configure ++++ b/configure +@@ -3239,6 +3239,12 @@ if [ -z "${CFG_HOST_ARCH}" ]; then + fi + CFG_HOST_ARCH=powerpc + ;; ++ *:*:riscv64*) ++ if [ "$OPT_VERBOSE" = "yes" ]; then ++ echo " 64-bit RISC-V (riscv64)" ++ fi ++ CFG_HOST_ARCH=riscv64 ++ ;; + *:*:s390*) + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " IBM S/390 (s390)" +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri +index 63c8a3a2..9e565712 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri +@@ -72,6 +72,14 @@ equals(QT_ARCH, aarch64) { + QMAKE_CXXFLAGS += -fpermissive + } + ++# Hack around RISCV64 fail wrt JSValue.h ++# SValue.h unconditionally casts pointer to int32_t. ++# add -fpermissive locally as a workaround ++equals(QT_ARCH, riscv64) { ++ message("JavaScriptCore riscv64 hack: -fpermissive") ++ QMAKE_CXXFLAGS += -fpermissive ++} ++ + wince* { + INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat + SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c +diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h +index 635df39e..85b1d91b 100644 +--- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h ++++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h +@@ -236,6 +236,11 @@ + #define WTF_CPU_X86_64 1 + #endif + ++/* CPU(RISCV64) - RISCV64 */ ++#if defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64 ++#define WTF_CPU_RISCV64 1 ++#endif ++ + /* CPU(ARM) - ARM, any version*/ + #if defined(arm) \ + || defined(__arm__) \ +@@ -1012,7 +1017,7 @@ + || CPU(SPARC64) \ + || CPU(S390X) \ + || CPU(PPC64) \ +- || CPU(MIPS64) || CPU(AARCH64) ++ || CPU(MIPS64) || CPU(AARCH64) || CPU(RISCV64) + #define WTF_USE_JSVALUE64 1 + #else + #define WTF_USE_JSVALUE32_64 1 +diff --git a/src/corelib/arch/qatomic_arch.h b/src/corelib/arch/qatomic_arch.h +index c91c20b3..bbf5d0f7 100644 +--- a/src/corelib/arch/qatomic_arch.h ++++ b/src/corelib/arch/qatomic_arch.h +@@ -96,6 +96,8 @@ QT_BEGIN_HEADER + # include "QtCore/qatomic_generic.h" + #elif defined(QT_ARCH_AARCH64) + # include "QtCore/qatomic_aarch64.h" ++#elif defined(QT_ARCH_RISCV64) ++# include "QtCore/qatomic_generic.h" + #else + # error "Qt has not been ported to this architecture" + #endif +diff --git a/src/corelib/arch/riscv64/arch.pri b/src/corelib/arch/riscv64/arch.pri +new file mode 100644 +index 00000000..7d054cc9 +--- /dev/null ++++ b/src/corelib/arch/riscv64/arch.pri +@@ -0,0 +1,6 @@ ++# ++# RISC-V 64 architecture ++# ++ ++unix:SOURCES += ../generic/qatomic_generic_unix.cpp ++win32:SOURCES += ../generic/qatomic_generic_windows.cpp +diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp +index eaf3e291..10b246ca 100644 +--- a/src/dbus/qdbusintegrator.cpp ++++ b/src/dbus/qdbusintegrator.cpp +@@ -73,7 +73,7 @@ QT_BEGIN_NAMESPACE + static bool isDebugging; + #define qDBusDebug if (!::isDebugging); else qDebug + +-Q_GLOBAL_STATIC_WITH_ARGS(const QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS))) ++Q_GLOBAL_STATIC_WITH_ARGS(QString, orgFreedesktopDBusString, (QLatin1String(DBUS_SERVICE_DBUS))) + + static inline QString dbusServiceString() + { return *orgFreedesktopDBusString(); } +-- +2.17.0 + diff --git a/qt.spec b/qt.spec index a583b0da15e0decf748bbce67210728c1e316b43..3450b3dfc22704c1c9fb585c255799706a98b56b 100644 --- a/qt.spec +++ b/qt.spec @@ -1,7 +1,7 @@ %if "%{?__isa_bits}" == "64" %define platform linux-g++-64 %endif -%ifarch x86_64 aarch64 +%ifarch x86_64 aarch64 riscv64 %define platform linux-g++ %endif %define _qt4_prefix %{_libdir}/qt4 @@ -13,7 +13,7 @@ Name: qt Epoch: 1 Version: 4.8.7 -Release: 51 +Release: 56 Summary: A software toolkit for developing applications License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT URL: http://qt-project.org/ @@ -73,6 +73,14 @@ Patch41: qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch Patch42: qt-everywhere-opensource-src-4.8.6-systemtrayicon.patch Patch43: stack-protector.patch Patch44: 0001-Redo-the-Q_FOREACH-loop-control-without-GCC-statemen.patch +Patch45: qt-everywhere-opensource-src-4.8.7-openssl3.patch +%ifarch riscv64 +Patch46: qt-everywhere-opensource-src-4.8.7-riscv64.patch +%endif +%ifarch loongarch64 +Patch47: fix-build-error-for-loongarch64.patch +%endif +Patch48: fix-build-error-about-messagemodel.patch Patch6000: CVE-2018-19869.patch Patch6001: CVE-2018-19872.patch Patch6002: CVE-2018-19871.patch @@ -80,6 +88,7 @@ Patch6003: CVE-2018-19870.patch Patch6004: CVE-2018-19873.patch Patch6005: CVE-2020-17507.patch Patch6006: CVE-2020-0570.patch +Patch6007: CVE-2023-32573.patch BuildRequires: cups-devel desktop-file-utils gcc-c++ libjpeg-devel findutils libmng-devel libtiff-devel pkgconfig pkgconfig(alsa) BuildRequires: pkgconfig(dbus-1) pkgconfig(fontconfig) pkgconfig(glib-2.0) pkgconfig(icu-i18n) openssl-devel pkgconfig(libpng) @@ -150,6 +159,12 @@ if [ "%{_lib}" == "lib64" ] ; then sed -i -e "s,/lib /usr/lib,/%{_lib} /usr/%{_lib},g" config.tests/{unix,x11}/*.test fi +# No -m64/-m32 on RISC-V +%ifarch riscv64 +sed -i -e 's,-m32,,' mkspecs/linux-g++-32/qmake.conf +sed -i -e 's,-m64,,' mkspecs/linux-g++-64/qmake.conf +%endif + for f in translations/*.ts ; do touch ${f%.ts}.qm done @@ -159,8 +174,13 @@ RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'` CXXFLAGS="$CXXFLAGS -std=gnu++98 -Wno-deprecated" export LD_LIBRARY_PATH=$PWD/lib/ +%ifarch loongarch64 +export CXXFLAGS="$CXXFLAGS $RPM_OPT_FLAGS -fpermissive" +export CFLAGS="$CFLAGS $RPM_OPT_FLAGS -fpermissive" +%else export CXXFLAGS="$CXXFLAGS $RPM_OPT_FLAGS" export CFLAGS="$CFLAGS $RPM_OPT_FLAGS" +%endif export LDFLAGS="$LDFLAGS $RPM_LD_FLAGS" export PATH=$PWD/bin:$PATH export QTDIR=$PWD @@ -446,6 +466,24 @@ fi %{_qt4_prefix}/examples/ %changelog +* Mon Aug 21 2023 peijiankang - 1:4.8.7-56 +- Type:cves +- ID:CVE-2023-32573 +- SUG:NA +- DESC:fix CVE-2023-32573 + +* Mon Aug 14 2023 huayadong - 1:4.8.7-55 +- update Patch11 and add Patch48 to fix builderror + +* Mon May 8 2023 Wenlong Zhang - 1:4.8.7-54 +- add loongarch64 support for qt + +* Thu Feb 23 2023 misaka00251 - 1:4.8.7-53 +- Add riscv64 support + +* Mon Feb 06 2023 peijiankang - 1:4.8.7-52 +- Fix compilation errors caused by openssl3.0.7 upgrade + * Wed Oct 14 2020 wangyue - 1:4.8.7-51 - fix CVE-2020-0570