Compare commits
3 Commits
master
...
f29-riscv6
Author | SHA1 | Date | |
---|---|---|---|
899d05f147 | |||
85abe445d3 | |||
55886a9a78 |
9
.gitignore
vendored
9
.gitignore
vendored
@ -1,6 +1,3 @@
|
|||||||
/qtbase-everywhere-src-5.12.1.tar.xz
|
/qtbase-everywhere-src-5.10.1.tar.xz
|
||||||
/qtbase-everywhere-src-5.12.3.tar.xz
|
/qtbase-everywhere-src-5.11.0.tar.xz
|
||||||
/qtbase-everywhere-src-5.12.4.tar.xz
|
/qtbase-everywhere-src-5.11.1.tar.xz
|
||||||
/qtbase-everywhere-src-5.12.5.tar.xz
|
|
||||||
/qtbase-everywhere-src-5.13.2.tar.xz
|
|
||||||
/qtbase-everywhere-src-5.14.2.tar.xz
|
|
||||||
|
@ -1,109 +0,0 @@
|
|||||||
From 276fa8383a7535765be7182883ef4aade17ce013 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Thiago Macieira <thiago.macieira@intel.com>
|
|
||||||
Date: Thu, 2 Apr 2020 12:08:41 -0300
|
|
||||||
Subject: [PATCH 44/49] QLibrary: fix deadlock caused by fix to QTBUG-39642
|
|
||||||
|
|
||||||
Commit ae6f73e8566fa76470937aca737141183929a5ec inserted a mutex around
|
|
||||||
the entire load_sys(). We had reasoed that deadlocks would only occur if
|
|
||||||
the object creation in instance() recursed into its own instance(),
|
|
||||||
which was already a bug. But we had forgotten that dlopen()/
|
|
||||||
LoadLibrary() executes initialization code from the module being loaded,
|
|
||||||
which could cause a recursion back into the same QPluginLoader or
|
|
||||||
QLibrary object. This recursion is benign because the module *is* loaded
|
|
||||||
and dlopen()/LoadLibrary() returns the same handle.
|
|
||||||
|
|
||||||
[ChangeLog][QtCore][QLibrary and QPluginLoader] Fixed a deadlock that
|
|
||||||
would happen if the plugin or library being loaded has load-time
|
|
||||||
initialization code (C++ global variables) that recursed back into the
|
|
||||||
same QLibrary or QPluginLoader object.
|
|
||||||
|
|
||||||
PS: QLibraryPrivate::loadPlugin() updates pluginState outside a mutex
|
|
||||||
lock, so pluginState should be made an atomic variable. Once that is
|
|
||||||
done, we'll only need locking the mutex to update errorString (no
|
|
||||||
locking before loading).
|
|
||||||
|
|
||||||
Fixes: QTBUG-83207
|
|
||||||
Task-number: QTBUG-39642
|
|
||||||
Change-Id: Ibdc95e9af7bd456a94ecfffd160209304e5ab2eb
|
|
||||||
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
||||||
Reviewed-by: David Faure <david.faure@kdab.com>
|
|
||||||
---
|
|
||||||
src/corelib/plugin/qlibrary.cpp | 2 --
|
|
||||||
src/corelib/plugin/qlibrary_unix.cpp | 4 ++++
|
|
||||||
src/corelib/plugin/qlibrary_win.cpp | 3 +++
|
|
||||||
3 files changed, 7 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/corelib/plugin/qlibrary.cpp b/src/corelib/plugin/qlibrary.cpp
|
|
||||||
index ddb053c26f..be9d92b204 100644
|
|
||||||
--- a/src/corelib/plugin/qlibrary.cpp
|
|
||||||
+++ b/src/corelib/plugin/qlibrary.cpp
|
|
||||||
@@ -576,9 +576,7 @@ bool QLibraryPrivate::load()
|
|
||||||
|
|
||||||
Q_TRACE(QLibraryPrivate_load_entry, fileName);
|
|
||||||
|
|
||||||
- mutex.lock();
|
|
||||||
bool ret = load_sys();
|
|
||||||
- mutex.unlock();
|
|
||||||
if (qt_debug_component()) {
|
|
||||||
if (ret) {
|
|
||||||
qDebug() << "loaded library" << fileName;
|
|
||||||
diff --git a/src/corelib/plugin/qlibrary_unix.cpp b/src/corelib/plugin/qlibrary_unix.cpp
|
|
||||||
index 017aa97b66..a5c72f81d9 100644
|
|
||||||
--- a/src/corelib/plugin/qlibrary_unix.cpp
|
|
||||||
+++ b/src/corelib/plugin/qlibrary_unix.cpp
|
|
||||||
@@ -123,6 +123,7 @@ QStringList QLibraryPrivate::prefixes_sys()
|
|
||||||
|
|
||||||
bool QLibraryPrivate::load_sys()
|
|
||||||
{
|
|
||||||
+ QMutexLocker locker(&mutex);
|
|
||||||
QString attempt;
|
|
||||||
QFileSystemEntry fsEntry(fileName);
|
|
||||||
|
|
||||||
@@ -213,6 +214,7 @@ bool QLibraryPrivate::load_sys()
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+ locker.unlock();
|
|
||||||
bool retry = true;
|
|
||||||
Handle hnd = nullptr;
|
|
||||||
for (int prefix = 0; retry && !hnd && prefix < prefixes.size(); prefix++) {
|
|
||||||
@@ -273,6 +275,8 @@ bool QLibraryPrivate::load_sys()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
+
|
|
||||||
+ locker.relock();
|
|
||||||
if (!hnd) {
|
|
||||||
errorString = QLibrary::tr("Cannot load library %1: %2").arg(fileName, qdlerror());
|
|
||||||
}
|
|
||||||
diff --git a/src/corelib/plugin/qlibrary_win.cpp b/src/corelib/plugin/qlibrary_win.cpp
|
|
||||||
index 000bf76276..ef58724be8 100644
|
|
||||||
--- a/src/corelib/plugin/qlibrary_win.cpp
|
|
||||||
+++ b/src/corelib/plugin/qlibrary_win.cpp
|
|
||||||
@@ -78,6 +78,7 @@ bool QLibraryPrivate::load_sys()
|
|
||||||
// fileName
|
|
||||||
//
|
|
||||||
// NB If it's a plugin we do not ever try the ".dll" extension
|
|
||||||
+ QMutexLocker locker(&mutex);
|
|
||||||
QStringList attempts;
|
|
||||||
|
|
||||||
if (pluginState != IsAPlugin)
|
|
||||||
@@ -95,6 +96,7 @@ bool QLibraryPrivate::load_sys()
|
|
||||||
attempts.prepend(QDir::rootPath() + fileName);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+ locker.unlock();
|
|
||||||
Handle hnd = nullptr;
|
|
||||||
for (const QString &attempt : qAsConst(attempts)) {
|
|
||||||
#ifndef Q_OS_WINRT
|
|
||||||
@@ -115,6 +117,7 @@ bool QLibraryPrivate::load_sys()
|
|
||||||
#ifndef Q_OS_WINRT
|
|
||||||
SetErrorMode(oldmode);
|
|
||||||
#endif
|
|
||||||
+ locker.relock();
|
|
||||||
if (!hnd) {
|
|
||||||
errorString = QLibrary::tr("Cannot load library %1: %2").arg(
|
|
||||||
QDir::toNativeSeparators(fileName), qt_error_string());
|
|
||||||
--
|
|
||||||
2.25.2
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
|||||||
diff -up qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/configure.json.firebird qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/configure.json
|
|
||||||
--- qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/configure.json.firebird 2019-01-28 11:11:52.000000000 -0600
|
|
||||||
+++ qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/configure.json 2019-02-03 13:41:27.392305128 -0600
|
|
||||||
@@ -49,10 +49,11 @@
|
|
||||||
"ibase": {
|
|
||||||
"label": "InterBase",
|
|
||||||
"test": {},
|
|
||||||
- "headers": "ibase.h",
|
|
||||||
+ "headers": "firebird/ibase.h",
|
|
||||||
"sources": [
|
|
||||||
{ "libs": "-lgds32_ms", "condition": "config.win32" },
|
|
||||||
- { "libs": "-lgds", "condition": "!config.win32" }
|
|
||||||
+ { "libs": "-lgds", "condition": "!config.win32" },
|
|
||||||
+ { "libs": "-lfbclient", "condition": "!config.win32" }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"mysql": {
|
|
||||||
diff -up qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/ibase/qsql_ibase_p.h.firebird qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/ibase/qsql_ibase_p.h
|
|
||||||
--- qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/ibase/qsql_ibase_p.h.firebird 2019-01-28 11:11:52.000000000 -0600
|
|
||||||
+++ qtbase-everywhere-src-5.12.1/src/plugins/sqldrivers/ibase/qsql_ibase_p.h 2019-02-03 13:27:30.683142996 -0600
|
|
||||||
@@ -52,7 +52,7 @@
|
|
||||||
//
|
|
||||||
|
|
||||||
#include <QtSql/qsqldriver.h>
|
|
||||||
-#include <ibase.h>
|
|
||||||
+#include <firebird/ibase.h>
|
|
||||||
|
|
||||||
#ifdef QT_PLUGIN
|
|
||||||
#define Q_EXPORT_SQLDRIVER_IBASE
|
|
32
qt5-qtbase-5.9.1-firebird.patch
Normal file
32
qt5-qtbase-5.9.1-firebird.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
diff --git a/src/plugins/sqldrivers/configure.json b/src/plugins/sqldrivers/configure.json
|
||||||
|
index 234f880..7b13671 100644
|
||||||
|
--- a/src/plugins/sqldrivers/configure.json
|
||||||
|
+++ b/src/plugins/sqldrivers/configure.json
|
||||||
|
@@ -50,11 +50,12 @@
|
||||||
|
"ibase": {
|
||||||
|
"label": "InterBase",
|
||||||
|
"test": {
|
||||||
|
- "include": "ibase.h"
|
||||||
|
+ "include": "firebird/ibase.h"
|
||||||
|
},
|
||||||
|
"sources": [
|
||||||
|
{ "libs": "-lgds32_ms", "condition": "config.win32" },
|
||||||
|
- { "libs": "-lgds", "condition": "!config.win32" }
|
||||||
|
+ { "libs": "-lgds", "condition": "!config.win32" },
|
||||||
|
+ { "libs": "-lfbclient", "condition": "!config.win32" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"mysql": {
|
||||||
|
diff --git a/src/plugins/sqldrivers/ibase/qsql_ibase_p.h b/src/plugins/sqldrivers/ibase/qsql_ibase_p.h
|
||||||
|
index c7cee41..6a9c56c 100644
|
||||||
|
--- a/src/plugins/sqldrivers/ibase/qsql_ibase_p.h
|
||||||
|
+++ b/src/plugins/sqldrivers/ibase/qsql_ibase_p.h
|
||||||
|
@@ -52,7 +52,7 @@
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <QtSql/qsqldriver.h>
|
||||||
|
-#include <ibase.h>
|
||||||
|
+#include <firebird/ibase.h>
|
||||||
|
|
||||||
|
#ifdef QT_PLUGIN
|
||||||
|
#define Q_EXPORT_SQLDRIVER_IBASE
|
@ -1,146 +0,0 @@
|
|||||||
From f432c08882ffebe5074ea28de871559a98a4d094 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Lars Knoll <lars.knoll@qt.io>
|
|
||||||
Date: Wed, 26 Feb 2020 10:42:10 +0100
|
|
||||||
Subject: Add an expansion limit for entities
|
|
||||||
|
|
||||||
Recursively defined entities can easily exhaust all available
|
|
||||||
memory. Limit entity expansion to a default of 4096 characters to
|
|
||||||
avoid DoS attacks when a user loads untrusted content.
|
|
||||||
|
|
||||||
[ChangeLog][QtCore][QXmlStream] QXmlStreamReader does now
|
|
||||||
limit the expansion of entities to 4096 characters. Documents where
|
|
||||||
a single entity expands to more characters than the limit are not
|
|
||||||
considered well formed. The limit is there to avoid DoS attacks through
|
|
||||||
recursively expanding entities when loading untrusted content. Qt 5.15
|
|
||||||
will add methods that allow changing that limit.
|
|
||||||
|
|
||||||
Fixes: QTBUG-47417
|
|
||||||
Change-Id: I94387815d74fcf34783e136387ee57fac5ded0c9
|
|
||||||
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
|
|
||||||
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
||||||
(cherry picked from commit fd4be84d23a0db4186cb42e736a9de3af722c7f7)
|
|
||||||
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
||||||
---
|
|
||||||
src/corelib/serialization/qxmlstream.g | 14 ++++++++++++-
|
|
||||||
src/corelib/serialization/qxmlstream_p.h | 14 ++++++++++++-
|
|
||||||
.../serialization/qxmlstream/tst_qxmlstream.cpp | 23 ++++++++++++++++++++--
|
|
||||||
3 files changed, 47 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/corelib/serialization/qxmlstream.g b/src/corelib/serialization/qxmlstream.g
|
|
||||||
index 10bfcd491c..5726bafb26 100644
|
|
||||||
--- a/src/corelib/serialization/qxmlstream.g
|
|
||||||
+++ b/src/corelib/serialization/qxmlstream.g
|
|
||||||
@@ -277,9 +277,19 @@ public:
|
|
||||||
QHash<QStringView, Entity> entityHash;
|
|
||||||
QHash<QStringView, Entity> parameterEntityHash;
|
|
||||||
QXmlStreamSimpleStack<Entity *>entityReferenceStack;
|
|
||||||
+ int entityExpansionLimit = 4096;
|
|
||||||
+ int entityLength = 0;
|
|
||||||
inline bool referenceEntity(Entity &entity) {
|
|
||||||
if (entity.isCurrentlyReferenced) {
|
|
||||||
- raiseWellFormedError(QXmlStream::tr("Recursive entity detected."));
|
|
||||||
+ raiseWellFormedError(QXmlStream::tr("Self-referencing entity detected."));
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ // entityLength represents the amount of additional characters the
|
|
||||||
+ // entity expands into (can be negative for e.g. &). It's used to
|
|
||||||
+ // avoid DoS attacks through recursive entity expansions
|
|
||||||
+ entityLength += entity.value.size() - entity.name.size() - 2;
|
|
||||||
+ if (entityLength > entityExpansionLimit) {
|
|
||||||
+ raiseWellFormedError(QXmlStream::tr("Entity expands to more characters than the entity expansion limit."));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
entity.isCurrentlyReferenced = true;
|
|
||||||
@@ -830,6 +840,8 @@ entity_done ::= ENTITY_DONE;
|
|
||||||
/.
|
|
||||||
case $rule_number:
|
|
||||||
entityReferenceStack.pop()->isCurrentlyReferenced = false;
|
|
||||||
+ if (entityReferenceStack.isEmpty())
|
|
||||||
+ entityLength = 0;
|
|
||||||
clearSym();
|
|
||||||
break;
|
|
||||||
./
|
|
||||||
diff --git a/src/corelib/serialization/qxmlstream_p.h b/src/corelib/serialization/qxmlstream_p.h
|
|
||||||
index 61f501f81b..31053f8e0b 100644
|
|
||||||
--- a/src/corelib/serialization/qxmlstream_p.h
|
|
||||||
+++ b/src/corelib/serialization/qxmlstream_p.h
|
|
||||||
@@ -774,9 +774,19 @@ public:
|
|
||||||
QHash<QStringView, Entity> entityHash;
|
|
||||||
QHash<QStringView, Entity> parameterEntityHash;
|
|
||||||
QXmlStreamSimpleStack<Entity *>entityReferenceStack;
|
|
||||||
+ int entityExpansionLimit = 4096;
|
|
||||||
+ int entityLength = 0;
|
|
||||||
inline bool referenceEntity(Entity &entity) {
|
|
||||||
if (entity.isCurrentlyReferenced) {
|
|
||||||
- raiseWellFormedError(QXmlStream::tr("Recursive entity detected."));
|
|
||||||
+ raiseWellFormedError(QXmlStream::tr("Self-referencing entity detected."));
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ // entityLength represents the amount of additional characters the
|
|
||||||
+ // entity expands into (can be negative for e.g. &). It's used to
|
|
||||||
+ // avoid DoS attacks through recursive entity expansions
|
|
||||||
+ entityLength += entity.value.size() - entity.name.size() - 2;
|
|
||||||
+ if (entityLength > entityExpansionLimit) {
|
|
||||||
+ raiseWellFormedError(QXmlStream::tr("Entity expands to more characters than the entity expansion limit."));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
entity.isCurrentlyReferenced = true;
|
|
||||||
@@ -1308,6 +1318,8 @@ bool QXmlStreamReaderPrivate::parse()
|
|
||||||
|
|
||||||
case 10:
|
|
||||||
entityReferenceStack.pop()->isCurrentlyReferenced = false;
|
|
||||||
+ if (entityReferenceStack.isEmpty())
|
|
||||||
+ entityLength = 0;
|
|
||||||
clearSym();
|
|
||||||
break;
|
|
||||||
|
|
||||||
diff --git a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp
|
|
||||||
index 8fdf91b090..1f9a0d575d 100644
|
|
||||||
--- a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp
|
|
||||||
+++ b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp
|
|
||||||
@@ -393,8 +393,6 @@ public:
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
- QXmlStreamReader reader(&inputFile);
|
|
||||||
-
|
|
||||||
/* See testcases.dtd which reads: 'Nonvalidating parsers
|
|
||||||
* must also accept "invalid" testcases, but validating ones must reject them.' */
|
|
||||||
if(type == QLatin1String("invalid") || type == QLatin1String("valid"))
|
|
||||||
@@ -580,6 +578,8 @@ private slots:
|
|
||||||
void roundTrip() const;
|
|
||||||
void roundTrip_data() const;
|
|
||||||
|
|
||||||
+ void entityExpansionLimit() const;
|
|
||||||
+
|
|
||||||
private:
|
|
||||||
static QByteArray readFile(const QString &filename);
|
|
||||||
|
|
||||||
@@ -1756,6 +1756,25 @@ void tst_QXmlStream::roundTrip_data() const
|
|
||||||
"</root>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
+void tst_QXmlStream::entityExpansionLimit() const
|
|
||||||
+{
|
|
||||||
+ QString xml = QStringLiteral("<?xml version=\"1.0\"?>"
|
|
||||||
+ "<!DOCTYPE foo ["
|
|
||||||
+ "<!ENTITY a \"0123456789\" >"
|
|
||||||
+ "<!ENTITY b \"&a;&a;&a;&a;&a;&a;&a;&a;&a;&a;\" >"
|
|
||||||
+ "<!ENTITY c \"&b;&b;&b;&b;&b;&b;&b;&b;&b;&b;\" >"
|
|
||||||
+ "<!ENTITY d \"&c;&c;&c;&c;&c;&c;&c;&c;&c;&c;\" >"
|
|
||||||
+ "]>"
|
|
||||||
+ "<foo>&d;&d;&d;</foo>");
|
|
||||||
+ {
|
|
||||||
+ QXmlStreamReader reader(xml);
|
|
||||||
+ do {
|
|
||||||
+ reader.readNext();
|
|
||||||
+ } while (!reader.atEnd());
|
|
||||||
+ QCOMPARE(reader.error(), QXmlStreamReader::NotWellFormedError);
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void tst_QXmlStream::roundTrip() const
|
|
||||||
{
|
|
||||||
QFETCH(QString, in);
|
|
||||||
--
|
|
||||||
cgit v0.2.1
|
|
53
qt5-qtbase-glibc.patch
Normal file
53
qt5-qtbase-glibc.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
diff -up qtbase-everywhere-src-5.11.1/mkspecs/linux-g++/qplatformdefs.h.glibc qtbase-everywhere-src-5.11.1/mkspecs/linux-g++/qplatformdefs.h
|
||||||
|
--- qtbase-everywhere-src-5.11.1/mkspecs/linux-g++/qplatformdefs.h.glibc 2018-06-15 09:29:31.000000000 +0200
|
||||||
|
+++ qtbase-everywhere-src-5.11.1/mkspecs/linux-g++/qplatformdefs.h 2018-07-26 15:40:56.887961897 +0200
|
||||||
|
@@ -72,7 +72,9 @@
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <sys/shm.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
+#if 0
|
||||||
|
#include <sys/stat.h>
|
||||||
|
+#endif
|
||||||
|
#include <sys/wait.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
|
||||||
|
diff -up qtbase-everywhere-src-5.11.1/src/corelib/io/qfilesystemengine_unix.cpp.glibc qtbase-everywhere-src-5.11.1/src/corelib/io/qfilesystemengine_unix.cpp
|
||||||
|
--- qtbase-everywhere-src-5.11.1/src/corelib/io/qfilesystemengine_unix.cpp.glibc 2018-06-15 09:29:31.000000000 +0200
|
||||||
|
+++ qtbase-everywhere-src-5.11.1/src/corelib/io/qfilesystemengine_unix.cpp 2018-07-26 16:34:54.346840184 +0200
|
||||||
|
@@ -50,7 +50,9 @@
|
||||||
|
#include <pwd.h>
|
||||||
|
#include <stdlib.h> // for realpath()
|
||||||
|
#include <sys/types.h>
|
||||||
|
+#if 0
|
||||||
|
#include <sys/stat.h>
|
||||||
|
+#endif
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <errno.h>
|
||||||
|
@@ -91,7 +93,9 @@ extern "C" NSString *NSTemporaryDirector
|
||||||
|
# include <sys/syscall.h>
|
||||||
|
# include <sys/sendfile.h>
|
||||||
|
# include <linux/fs.h>
|
||||||
|
+#if 0
|
||||||
|
# include <linux/stat.h>
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// in case linux/fs.h is too old and doesn't define it:
|
||||||
|
#ifndef FICLONE
|
||||||
|
@@ -105,13 +109,13 @@ extern "C" NSString *NSTemporaryDirector
|
||||||
|
# undef SYS_renameat2
|
||||||
|
# undef SYS_statx
|
||||||
|
# undef STATX_BASIC_STATS
|
||||||
|
-# else
|
||||||
|
-# if !QT_CONFIG(renameat2) && defined(SYS_renameat2)
|
||||||
|
+# else
|
||||||
|
+# if 0 && !QT_CONFIG(renameat2) && defined(SYS_renameat2)
|
||||||
|
static int renameat2(int oldfd, const char *oldpath, int newfd, const char *newpath, unsigned flags)
|
||||||
|
{ return syscall(SYS_renameat2, oldfd, oldpath, newfd, newpath, flags); }
|
||||||
|
# endif
|
||||||
|
|
||||||
|
-# if !QT_CONFIG(statx) && defined(SYS_statx)
|
||||||
|
+# if 0 && !QT_CONFIG(statx) && defined(SYS_statx)
|
||||||
|
static int statx(int dirfd, const char *pathname, int flag, unsigned mask, struct statx *statxbuf)
|
||||||
|
{ return syscall(SYS_statx, dirfd, pathname, flag, mask, statxbuf); }
|
||||||
|
# elif !QT_CONFIG(statx) && !defined(SYS_statx)
|
241
qt5-qtbase.spec
241
qt5-qtbase.spec
@ -14,13 +14,6 @@
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# workaround https://bugzilla.redhat.com/show_bug.cgi?id=1668865
|
|
||||||
# for current stable releases
|
|
||||||
%if 0%{?fedora} && 0%{?fedora} < 30
|
|
||||||
%global no_feature_statx -no-feature-statx
|
|
||||||
%global no_feature_renameat2 -no-feature-renameat2
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# support qtchooser (adds qtchooser .conf file)
|
# support qtchooser (adds qtchooser .conf file)
|
||||||
%global qtchooser 1
|
%global qtchooser 1
|
||||||
%if 0%{?qtchooser}
|
%if 0%{?qtchooser}
|
||||||
@ -52,8 +45,8 @@ BuildRequires: pkgconfig(libsystemd)
|
|||||||
|
|
||||||
Name: qt5-qtbase
|
Name: qt5-qtbase
|
||||||
Summary: Qt5 - QtBase components
|
Summary: Qt5 - QtBase components
|
||||||
Version: 5.14.2
|
Version: 5.11.1
|
||||||
Release: 4%{?dist}
|
Release: 7.0.riscv64%{?dist}
|
||||||
|
|
||||||
# See LGPL_EXCEPTIONS.txt, for exception details
|
# See LGPL_EXCEPTIONS.txt, for exception details
|
||||||
License: LGPLv2 with exceptions or GPLv3 with exceptions
|
License: LGPLv2 with exceptions or GPLv3 with exceptions
|
||||||
@ -78,6 +71,9 @@ Source10: macros.qt5-qtbase
|
|||||||
# support multilib optflags
|
# support multilib optflags
|
||||||
Patch2: qtbase-multilib_optflags.patch
|
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
|
# borrowed from opensuse
|
||||||
# track private api via properly versioned symbols
|
# track private api via properly versioned symbols
|
||||||
# downside: binaries produced with these differently-versioned symbols are no longer
|
# downside: binaries produced with these differently-versioned symbols are no longer
|
||||||
@ -99,37 +95,33 @@ Patch51: qtbase-hidpi_scale_at_192.patch
|
|||||||
# 2. Workaround sysmacros.h (pre)defining major/minor a breaking stuff
|
# 2. Workaround sysmacros.h (pre)defining major/minor a breaking stuff
|
||||||
Patch52: qtbase-opensource-src-5.7.1-moc_macros.patch
|
Patch52: qtbase-opensource-src-5.7.1-moc_macros.patch
|
||||||
|
|
||||||
# CMake generates wrong -isystem /usr/include compilations flags with Qt5::Gui
|
|
||||||
# https://bugzilla.redhat.com/1704474
|
|
||||||
Patch53: qtbase-everywhere-src-5.12.1-qt5gui_cmake_isystem_includes.patch
|
|
||||||
|
|
||||||
# respect QMAKE_LFLAGS_RELEASE when building qmake
|
# respect QMAKE_LFLAGS_RELEASE when building qmake
|
||||||
Patch54: qtbase-qmake_LFLAGS.patch
|
Patch54: qtbase-qmake_LFLAGS.patch
|
||||||
|
|
||||||
# don't use relocatable heuristics to guess prefix when using -no-feature-relocatable
|
|
||||||
Patch55: qtbase-everywhere-src-5.14.2-no_relocatable.patch
|
|
||||||
|
|
||||||
# drop -O3 and make -O2 by default
|
# drop -O3 and make -O2 by default
|
||||||
Patch61: qt5-qtbase-cxxflag.patch
|
Patch61: qt5-qtbase-cxxflag.patch
|
||||||
|
|
||||||
# support firebird version 3.x
|
# support firebird version 3.x
|
||||||
Patch64: qt5-qtbase-5.12.1-firebird.patch
|
Patch64: qt5-qtbase-5.9.1-firebird.patch
|
||||||
|
|
||||||
# fix for new mariadb
|
# fix for new mariadb
|
||||||
Patch65: qtbase-opensource-src-5.9.0-mysql.patch
|
Patch65: qtbase-opensource-src-5.9.0-mysql.patch
|
||||||
|
|
||||||
|
# use categorized logging for xcb log entries
|
||||||
|
# https://bugreports.qt.io/browse/QTBUG-55167
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1497564
|
||||||
|
Patch67: https://bugreports.qt.io/secure/attachment/66353/xcberror_filter.patch
|
||||||
|
|
||||||
# python3
|
# python3
|
||||||
Patch68: qtbase-everywhere-src-5.11.1-python3.patch
|
Patch68: qtbase-everywhere-src-5.11.1-python3.patch
|
||||||
|
|
||||||
# https://fedoraproject.org/wiki/Changes/Qt_Wayland_By_Default_On_Gnome
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1732129
|
|
||||||
Patch80: qtbase-use-wayland-on-gnome.patch
|
|
||||||
|
|
||||||
# glibc stat
|
# glibc stat
|
||||||
|
Patch69: qt5-qtbase-glibc.patch
|
||||||
|
|
||||||
|
# add support for RISC-V (riscv64)
|
||||||
|
Patch80: qtbase5-double-conversion-add-riscv.patch
|
||||||
|
|
||||||
## upstream patches
|
## upstream patches
|
||||||
Patch100: qt5-qtbase-CVE-2015-9541.patch
|
|
||||||
Patch144: 0044-QLibrary-fix-deadlock-caused-by-fix-to-QTBUG-39642.patch
|
|
||||||
|
|
||||||
# Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires.
|
# Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires.
|
||||||
# Those themes are there for platform integration. If the required libraries are
|
# Those themes are there for platform integration. If the required libraries are
|
||||||
@ -176,7 +168,7 @@ BuildRequires: openssl-devel%{?openssl11: >= 1.1}
|
|||||||
%endif
|
%endif
|
||||||
BuildRequires: pkgconfig(libpulse) pkgconfig(libpulse-mainloop-glib)
|
BuildRequires: pkgconfig(libpulse) pkgconfig(libpulse-mainloop-glib)
|
||||||
%if 0%{?fedora}
|
%if 0%{?fedora}
|
||||||
#global xkbcommon -system-xkbcommon
|
%global xkbcommon -system-xkbcommon
|
||||||
BuildRequires: pkgconfig(libinput)
|
BuildRequires: pkgconfig(libinput)
|
||||||
BuildRequires: pkgconfig(xcb-xkb) >= 1.10
|
BuildRequires: pkgconfig(xcb-xkb) >= 1.10
|
||||||
BuildRequires: pkgconfig(xkbcommon) >= 0.4.1
|
BuildRequires: pkgconfig(xkbcommon) >= 0.4.1
|
||||||
@ -186,19 +178,15 @@ BuildRequires: pkgconfig(xkbcommon-x11) >= 0.4.1
|
|||||||
%if 0%{?rhel} == 6
|
%if 0%{?rhel} == 6
|
||||||
%global xcb -qt-xcb
|
%global xcb -qt-xcb
|
||||||
%endif
|
%endif
|
||||||
#global xkbcommon -qt-xkbcommon
|
%global xkbcommon -qt-xkbcommon
|
||||||
Provides: bundled(libxkbcommon) = 0.4.1
|
Provides: bundled(libxkbcommon) = 0.4.1
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: pkgconfig(xkeyboard-config)
|
BuildRequires: pkgconfig(xkeyboard-config)
|
||||||
%if 0%{?fedora} || 0%{?rhel} > 6
|
%if 0%{?fedora} || 0%{?rhel} > 6
|
||||||
%global egl 1
|
%global egl 1
|
||||||
BuildRequires: libEGL-devel
|
BuildRequires: pkgconfig(egl)
|
||||||
BuildRequires: pkgconfig(gbm)
|
BuildRequires: pkgconfig(gbm)
|
||||||
## TODO: apparently only needed if building opengl_es2 support, do we actually use it? -- rex
|
|
||||||
## this dep was removed in rawhide with introduction of mesa-19.1
|
|
||||||
%if 0%{?fedora} < 30
|
|
||||||
BuildRequires: pkgconfig(glesv2)
|
BuildRequires: pkgconfig(glesv2)
|
||||||
%endif
|
|
||||||
%global sqlite -system-sqlite
|
%global sqlite -system-sqlite
|
||||||
BuildRequires: pkgconfig(sqlite3) >= 3.7
|
BuildRequires: pkgconfig(sqlite3) >= 3.7
|
||||||
%if 0%{?fedora} > 22
|
%if 0%{?fedora} > 22
|
||||||
@ -217,8 +205,6 @@ BuildRequires: libicu-devel
|
|||||||
BuildRequires: pkgconfig(xcb) pkgconfig(xcb-glx) pkgconfig(xcb-icccm) pkgconfig(xcb-image) pkgconfig(xcb-keysyms) pkgconfig(xcb-renderutil)
|
BuildRequires: pkgconfig(xcb) pkgconfig(xcb-glx) pkgconfig(xcb-icccm) pkgconfig(xcb-image) pkgconfig(xcb-keysyms) pkgconfig(xcb-renderutil)
|
||||||
BuildRequires: pkgconfig(zlib)
|
BuildRequires: pkgconfig(zlib)
|
||||||
BuildRequires: perl-generators
|
BuildRequires: perl-generators
|
||||||
# see patch68
|
|
||||||
BuildRequires: python3
|
|
||||||
BuildRequires: qt5-rpm-macros
|
BuildRequires: qt5-rpm-macros
|
||||||
|
|
||||||
%if 0%{?tests}
|
%if 0%{?tests}
|
||||||
@ -246,12 +232,11 @@ Requires: %{name}-common = %{version}-%{release}
|
|||||||
%global tds -no-sql-tds
|
%global tds -no-sql-tds
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# workaround gold linker bug(s) by not using it
|
# workaround gold linker bug by not using it
|
||||||
# https://bugzilla.redhat.com/1458003
|
# https://bugzilla.redhat.com/1458003
|
||||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=21074
|
# https://sourceware.org/bugzilla/show_bug.cgi?id=21074
|
||||||
# reportedly fixed or worked-around, re-enable if there's evidence of problems -- rex
|
# reportedly fixed or worked-around, re-enable if there's evidence of problems -- rex
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1635973
|
#global use_gold_linker -no-use-gold-linker
|
||||||
%global use_gold_linker -no-use-gold-linker
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Qt is a software toolkit for developing applications.
|
Qt is a software toolkit for developing applications.
|
||||||
@ -271,10 +256,11 @@ BuildArch: noarch
|
|||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development files for %{name}
|
Summary: Development files for %{name}
|
||||||
|
Provides: %{name}-private-devel = %{version}-%{release}
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
Requires: %{name}-gui%{?_isa}
|
Requires: %{name}-gui%{?_isa}
|
||||||
%if 0%{?egl}
|
%if 0%{?egl}
|
||||||
Requires: libEGL-devel
|
Requires: pkgconfig(egl)
|
||||||
%endif
|
%endif
|
||||||
Requires: pkgconfig(gl)
|
Requires: pkgconfig(gl)
|
||||||
Requires: qt5-rpm-macros
|
Requires: qt5-rpm-macros
|
||||||
@ -284,16 +270,6 @@ Requires: clang >= 3.7.0
|
|||||||
%description devel
|
%description devel
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package private-devel
|
|
||||||
Summary: Development files for %{name} private APIs
|
|
||||||
# upgrade path, when private-devel was introduced
|
|
||||||
Obsoletes: %{name}-devel < 5.12.1-3
|
|
||||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
|
||||||
# QtPrintSupport/private requires cups/ppd.h
|
|
||||||
Requires: cups-devel
|
|
||||||
%description private-devel
|
|
||||||
%{summary}.
|
|
||||||
|
|
||||||
%package examples
|
%package examples
|
||||||
Summary: Programming examples for %{name}
|
Summary: Programming examples for %{name}
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
@ -344,7 +320,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
|
|||||||
|
|
||||||
%package postgresql
|
%package postgresql
|
||||||
Summary: PostgreSQL driver for Qt5's SQL classes
|
Summary: PostgreSQL driver for Qt5's SQL classes
|
||||||
BuildRequires: libpq-devel
|
BuildRequires: postgresql-devel
|
||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
%description postgresql
|
%description postgresql
|
||||||
%{summary}.
|
%{summary}.
|
||||||
@ -379,30 +355,30 @@ Qt5 libraries used for drawing widgets and OpenGL items.
|
|||||||
|
|
||||||
## upstream fixes
|
## upstream fixes
|
||||||
|
|
||||||
# omit '-b .tell-the-truth-about-private-api' so it doesn't end up in installed files -- rdieter
|
|
||||||
%patch8 -p1
|
|
||||||
|
%patch4 -p1 -b .QTBUG-35459
|
||||||
|
%patch8 -p1 -b .tell-the-truth-about-private-api
|
||||||
|
|
||||||
%patch50 -p1 -b .QT_VERSION_CHECK
|
%patch50 -p1 -b .QT_VERSION_CHECK
|
||||||
# FIXME/TODO : rebase or drop -- rdieter
|
%patch51 -p1 -b .hidpi_scale_at_192
|
||||||
#patch51 -p1 -b .hidpi_scale_at_192
|
|
||||||
%patch52 -p1 -b .moc_macros
|
%patch52 -p1 -b .moc_macros
|
||||||
%patch53 -p1 -b .qt5gui_cmake_isystem_includes
|
|
||||||
%patch54 -p1 -b .qmake_LFLAGS
|
%patch54 -p1 -b .qmake_LFLAGS
|
||||||
%patch55 -p1 -b .no_relocatable
|
|
||||||
%patch61 -p1 -b .qt5-qtbase-cxxflag
|
%patch61 -p1 -b .qt5-qtbase-cxxflag
|
||||||
%patch64 -p1 -b .firebird
|
%patch64 -p1 -b .firebird
|
||||||
%if 0%{?fedora} > 27
|
%if 0%{?fedora} > 27
|
||||||
%patch65 -p1 -b .mysql
|
%patch65 -p1 -b .mysql
|
||||||
%endif
|
%endif
|
||||||
|
# FIXME/REBASE
|
||||||
|
#patch67 -p1 -b .xcberror_filter
|
||||||
%patch68 -p1
|
%patch68 -p1
|
||||||
|
# workaround for new glibc conflict
|
||||||
%if 0%{?fedora} > 30
|
%if 0%{?fedora} > 28
|
||||||
%patch80 -p1 -b .use-wayland-on-gnome.patch
|
%patch69 -p1 -b .glibc
|
||||||
%endif
|
%endif
|
||||||
|
%patch80 -p1 -b .double_con_riscv
|
||||||
|
|
||||||
## upstream patches
|
## upstream patches
|
||||||
%patch100 -p1 -b .CVE-2015-9541
|
|
||||||
%patch144 -p1 -b .0044
|
|
||||||
|
|
||||||
# move some bundled libs to ensure they're not accidentally used
|
# move some bundled libs to ensure they're not accidentally used
|
||||||
pushd src/3rdparty
|
pushd src/3rdparty
|
||||||
@ -495,9 +471,6 @@ export MAKEFLAGS="%{?_smp_mflags}"
|
|||||||
-system-zlib \
|
-system-zlib \
|
||||||
%{?use_gold_linker} \
|
%{?use_gold_linker} \
|
||||||
-no-directfb \
|
-no-directfb \
|
||||||
-no-feature-relocatable \
|
|
||||||
%{?no_feature_renameat2} \
|
|
||||||
%{?no_feature_statx} \
|
|
||||||
QMAKE_CFLAGS_RELEASE="${CFLAGS:-$RPM_OPT_FLAGS}" \
|
QMAKE_CFLAGS_RELEASE="${CFLAGS:-$RPM_OPT_FLAGS}" \
|
||||||
QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:-$RPM_OPT_FLAGS}" \
|
QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:-$RPM_OPT_FLAGS}" \
|
||||||
QMAKE_LFLAGS_RELEASE="${LDFLAGS:-$RPM_LD_FLAGS}"
|
QMAKE_LFLAGS_RELEASE="${LDFLAGS:-$RPM_LD_FLAGS}"
|
||||||
@ -690,9 +663,7 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license LICENSE.FDL
|
%license LICENSE.LGPL* LGPL_EXCEPTION.txt LICENSE.FDL
|
||||||
%license LICENSE.GPL*
|
|
||||||
%license LICENSE.LGPL*
|
|
||||||
%if 0%{?qtchooser}
|
%if 0%{?qtchooser}
|
||||||
%dir %{_sysconfdir}/xdg/qtchooser
|
%dir %{_sysconfdir}/xdg/qtchooser
|
||||||
# not editable config files, so not using %%config here
|
# not editable config files, so not using %%config here
|
||||||
@ -723,7 +694,6 @@ fi
|
|||||||
%dir %{_qt5_libdir}/cmake/Qt5Xml/
|
%dir %{_qt5_libdir}/cmake/Qt5Xml/
|
||||||
%dir %{_qt5_docdir}/
|
%dir %{_qt5_docdir}/
|
||||||
%{_qt5_docdir}/global/
|
%{_qt5_docdir}/global/
|
||||||
%{_qt5_docdir}/config/
|
|
||||||
%{_qt5_importdir}/
|
%{_qt5_importdir}/
|
||||||
%{_qt5_translationdir}/
|
%{_qt5_translationdir}/
|
||||||
%if "%{_qt5_prefix}" != "%{_prefix}"
|
%if "%{_qt5_prefix}" != "%{_prefix}"
|
||||||
@ -773,7 +743,6 @@ fi
|
|||||||
%{_bindir}/qlalr
|
%{_bindir}/qlalr
|
||||||
%{_bindir}/fixqt4headers.pl
|
%{_bindir}/fixqt4headers.pl
|
||||||
%{_bindir}/qvkgen
|
%{_bindir}/qvkgen
|
||||||
%{_bindir}/tracegen
|
|
||||||
%{_qt5_bindir}/moc*
|
%{_qt5_bindir}/moc*
|
||||||
%{_qt5_bindir}/qdbuscpp2xml*
|
%{_qt5_bindir}/qdbuscpp2xml*
|
||||||
%{_qt5_bindir}/qdbusxml2cpp*
|
%{_qt5_bindir}/qdbusxml2cpp*
|
||||||
@ -803,7 +772,6 @@ fi
|
|||||||
%{_qt5_headerdir}/QtEglFSDeviceIntegration
|
%{_qt5_headerdir}/QtEglFSDeviceIntegration
|
||||||
%{_qt5_headerdir}/QtInputSupport
|
%{_qt5_headerdir}/QtInputSupport
|
||||||
%{_qt5_headerdir}/QtEdidSupport
|
%{_qt5_headerdir}/QtEdidSupport
|
||||||
%{_qt5_headerdir}/QtXkbCommonSupport
|
|
||||||
%{_qt5_archdatadir}/mkspecs/
|
%{_qt5_archdatadir}/mkspecs/
|
||||||
%{_qt5_libdir}/libQt5Concurrent.prl
|
%{_qt5_libdir}/libQt5Concurrent.prl
|
||||||
%{_qt5_libdir}/libQt5Concurrent.so
|
%{_qt5_libdir}/libQt5Concurrent.so
|
||||||
@ -848,25 +816,6 @@ fi
|
|||||||
%{_qt5_libdir}/cmake/Qt5Widgets/Qt5WidgetsMacros.cmake
|
%{_qt5_libdir}/cmake/Qt5Widgets/Qt5WidgetsMacros.cmake
|
||||||
%{_qt5_libdir}/cmake/Qt5Xml/Qt5XmlConfig*.cmake
|
%{_qt5_libdir}/cmake/Qt5Xml/Qt5XmlConfig*.cmake
|
||||||
%{_qt5_libdir}/cmake/Qt5/Qt5ModuleLocation.cmake
|
%{_qt5_libdir}/cmake/Qt5/Qt5ModuleLocation.cmake
|
||||||
%{_qt5_libdir}/cmake/Qt5AccessibilitySupport/Qt5AccessibilitySupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5Bootstrap/Qt5BootstrapConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5DeviceDiscoverySupport/Qt5DeviceDiscoverySupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5EdidSupport/Qt5EdidSupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5EglFSDeviceIntegration/Qt5EglFSDeviceIntegrationConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5EglFsKmsSupport/Qt5EglFsKmsSupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5EglSupport/Qt5EglSupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5EventDispatcherSupport/Qt5EventDispatcherSupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5FbSupport/Qt5FbSupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5FontDatabaseSupport/Qt5FontDatabaseSupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5GlxSupport/Qt5GlxSupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5InputSupport/Qt5InputSupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5KmsSupport/Qt5KmsSupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5LinuxAccessibilitySupport/Qt5LinuxAccessibilitySupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5PlatformCompositorSupport/Qt5PlatformCompositorSupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5ServiceSupport/Qt5ServiceSupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5ThemeSupport/Qt5ThemeSupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5XcbQpa/Qt5XcbQpaConfig*.cmake
|
|
||||||
%{_qt5_libdir}/cmake/Qt5XkbCommonSupport/Qt5XkbCommonSupportConfig*.cmake
|
|
||||||
%{_qt5_libdir}/pkgconfig/Qt5.pc
|
%{_qt5_libdir}/pkgconfig/Qt5.pc
|
||||||
%{_qt5_libdir}/pkgconfig/Qt5Concurrent.pc
|
%{_qt5_libdir}/pkgconfig/Qt5Concurrent.pc
|
||||||
%{_qt5_libdir}/pkgconfig/Qt5Core.pc
|
%{_qt5_libdir}/pkgconfig/Qt5Core.pc
|
||||||
@ -883,15 +832,7 @@ fi
|
|||||||
%{_qt5_libdir}/libQt5EglFsKmsSupport.prl
|
%{_qt5_libdir}/libQt5EglFsKmsSupport.prl
|
||||||
%{_qt5_libdir}/libQt5EglFsKmsSupport.so
|
%{_qt5_libdir}/libQt5EglFsKmsSupport.so
|
||||||
%endif
|
%endif
|
||||||
%{_qt5_libdir}/qt5/bin/tracegen
|
|
||||||
## private-devel globs
|
|
||||||
# keep mkspecs/modules stuff in -devel for now, https://bugzilla.redhat.com/show_bug.cgi?id=1705280
|
|
||||||
%{_qt5_archdatadir}/mkspecs/modules/qt_lib_*_private.pri
|
|
||||||
%exclude %{_qt5_headerdir}/*/%{version}/*/private/
|
|
||||||
|
|
||||||
%files private-devel
|
|
||||||
%{_qt5_headerdir}/*/%{version}/*/private/
|
|
||||||
#{_qt5_archdatadir}/mkspecs/modules/qt_lib_*_private.pri
|
|
||||||
|
|
||||||
%files static
|
%files static
|
||||||
%{_qt5_libdir}/libQt5Bootstrap.*a
|
%{_qt5_libdir}/libQt5Bootstrap.*a
|
||||||
@ -941,8 +882,6 @@ fi
|
|||||||
%{_qt5_headerdir}/QtKmsSupport
|
%{_qt5_headerdir}/QtKmsSupport
|
||||||
%{_qt5_libdir}/libQt5EdidSupport.*a
|
%{_qt5_libdir}/libQt5EdidSupport.*a
|
||||||
%{_qt5_libdir}/libQt5EdidSupport.prl
|
%{_qt5_libdir}/libQt5EdidSupport.prl
|
||||||
%{_qt5_libdir}/libQt5XkbCommonSupport.*a
|
|
||||||
%{_qt5_libdir}/libQt5XkbCommonSupport.prl
|
|
||||||
|
|
||||||
%if 0%{?examples}
|
%if 0%{?examples}
|
||||||
%files examples
|
%files examples
|
||||||
@ -1039,119 +978,17 @@ fi
|
|||||||
%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QXcbIntegrationPlugin.cmake
|
%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QXcbIntegrationPlugin.cmake
|
||||||
%{_qt5_plugindir}/xcbglintegrations/libqxcb-glx-integration.so
|
%{_qt5_plugindir}/xcbglintegrations/libqxcb-glx-integration.so
|
||||||
%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QXcbGlxIntegrationPlugin.cmake
|
%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QXcbGlxIntegrationPlugin.cmake
|
||||||
%{_qt5_plugindir}/platformthemes/libqxdgdesktopportal.so
|
%{_qt5_plugindir}/platformthemes/libqflatpak.so
|
||||||
%{_qt5_plugindir}/platformthemes/libqgtk3.so
|
%{_qt5_plugindir}/platformthemes/libqgtk3.so
|
||||||
%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QXdgDesktopPortalThemePlugin.cmake
|
%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QFlatpakThemePlugin.cmake
|
||||||
%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QGtk3ThemePlugin.cmake
|
%{_qt5_libdir}/cmake/Qt5Gui/Qt5Gui_QGtk3ThemePlugin.cmake
|
||||||
%{_qt5_plugindir}/printsupport/libcupsprintersupport.so
|
%{_qt5_plugindir}/printsupport/libcupsprintersupport.so
|
||||||
%{_qt5_libdir}/cmake/Qt5PrintSupport/Qt5PrintSupport_QCupsPrinterSupportPlugin.cmake
|
%{_qt5_libdir}/cmake/Qt5PrintSupport/Qt5PrintSupport_QCupsPrinterSupportPlugin.cmake
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Tue Apr 14 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.14.2-4
|
* Sat Oct 20 2018 David Abdurachmanov <david.abdurachmanov@gmail.com> - 5.11.1-7.0.riscv64
|
||||||
- backport "Mutex deadlock in QPluginLoader, Krita fails to start" (QTBUG-83207)
|
- add support for RISC-V (riscv64)
|
||||||
|
|
||||||
* Mon Apr 13 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.14.2-3
|
|
||||||
- %%build: -no-feature-relocatable + matching patch (#1823118)
|
|
||||||
|
|
||||||
* Wed Apr 08 2020 Than Ngo <than@redhat.com> - 5.14.2-2
|
|
||||||
- Fixed bz#1801370 - CVE-2015-9541 XML entity expansion vulnerability via a crafted SVG document
|
|
||||||
|
|
||||||
* Sat Apr 04 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.14.2-1
|
|
||||||
- 5.14.2
|
|
||||||
|
|
||||||
* Sun Mar 22 2020 Robert-André Mauchin <zebob.m@gmail.com> - 5.13.2-4
|
|
||||||
- Upstream patch to add support for PostgreSQL 12 (#1815921)
|
|
||||||
|
|
||||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.13.2-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Jan 20 2020 Than Ngo <than@redhat.com> - 5.13.2-2
|
|
||||||
- upstream patches fix following issues:
|
|
||||||
Do-not-load-plugin-from-the-PWD
|
|
||||||
QLibrary-Unix-do-not-attempt-to-load-a-library-relat
|
|
||||||
|
|
||||||
* Mon Dec 09 2019 Jan Grulich <jgrulich@redhat.com> - 5.13.2-1
|
|
||||||
- 5.13.2
|
|
||||||
|
|
||||||
* Fri Nov 01 2019 Pete Walter <pwalter@fedoraproject.org> - 5.12.5-2
|
|
||||||
- Rebuild for ICU 65
|
|
||||||
|
|
||||||
* Tue Sep 24 2019 Jan Grulich <jgrulich@redhat.com> - 5.12.5-1
|
|
||||||
- 5.12.5
|
|
||||||
|
|
||||||
* Wed Aug 21 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.4-7
|
|
||||||
- s/pkgconfig(egl)/libEGL-devel/
|
|
||||||
|
|
||||||
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.12.4-6
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jul 23 2019 Jan Grulich <jgrulich@redhat.com> - 5.12.4-5
|
|
||||||
- Use qtwayland by default on Gnome Wayland sessions
|
|
||||||
Resolves: bz#1732129
|
|
||||||
|
|
||||||
* Mon Jul 15 2019 Jan Grulich <jgrulich@redhat.com> - 5.12.4-4
|
|
||||||
- Revert "Reset QWidget's winId when backing window surface is destroyed"
|
|
||||||
|
|
||||||
* Fri Jun 28 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.4-3
|
|
||||||
- omit QTBUG-73231 patch fix, appears to introduce incompatible symbols
|
|
||||||
|
|
||||||
* Wed Jun 26 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.4-2
|
|
||||||
- pull in some upstream crash fixes
|
|
||||||
|
|
||||||
* Fri Jun 14 2019 Jan Grulich <jgrulich@redhat.com> - 5.12.4-1
|
|
||||||
- 5.12.4
|
|
||||||
|
|
||||||
* Wed Jun 12 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.3-2
|
|
||||||
- pull in candidate upstream nvidia/optima fix (kde#406180)
|
|
||||||
|
|
||||||
* Tue Jun 04 2019 Jan Grulich <jgrulich@redhat.com> - 5.12.3-1
|
|
||||||
- 5.12.3
|
|
||||||
|
|
||||||
* Fri May 10 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-7
|
|
||||||
- Fix install targets for generated private headers (#1702858)
|
|
||||||
|
|
||||||
* Wed May 08 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-6
|
|
||||||
- Blacklist nouveau and llvmpipe for multithreading (#1706420)
|
|
||||||
- drop BR: pkgconfig(glesv2) on f31+, no longer provided in mesa-19.1+
|
|
||||||
|
|
||||||
* Thu May 02 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-5
|
|
||||||
- keep mkspecs/modules/*_private.pri in -devel #1705280)
|
|
||||||
|
|
||||||
* Tue Apr 30 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-4
|
|
||||||
- CMake generates wrong -isystem /usr/include compilations flags with Qt5::Gui (#1704474)
|
|
||||||
|
|
||||||
* Tue Apr 30 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-3
|
|
||||||
- -private-devel subpkg, move Requires: cups-devel here
|
|
||||||
|
|
||||||
* Mon Mar 04 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-2
|
|
||||||
- -devel: Requires: cups-devel
|
|
||||||
|
|
||||||
* Thu Feb 14 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-1
|
|
||||||
- 5.12.1
|
|
||||||
|
|
||||||
* Wed Feb 13 2019 Than Ngo <than@redhat.com> - 5.11.3-4
|
|
||||||
- fixed build issue with gcc9
|
|
||||||
|
|
||||||
* Sun Feb 03 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.11.3-3
|
|
||||||
- disable renameat2/statx feature on < f30 (#1668865)
|
|
||||||
|
|
||||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.11.3-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Dec 07 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.11.3-1
|
|
||||||
- 5.11.3
|
|
||||||
|
|
||||||
* Thu Oct 25 2018 Than Ngo <than@redhat.com> - 5.11.2-3
|
|
||||||
- backported patch to fix selection rendering issues if rounding leads to left-out pixels
|
|
||||||
- backported patch to optimize insertionPointsForLine
|
|
||||||
|
|
||||||
* Thu Oct 11 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.11.2-2
|
|
||||||
- -no-use-gold-linker (#1635973)
|
|
||||||
|
|
||||||
|
|
||||||
* Fri Sep 21 2018 Jan Grulich <jgrulich@redhat.com> - 5.11.2-1
|
|
||||||
- 5.11.2
|
|
||||||
|
|
||||||
* Thu Jul 26 2018 Than Ngo <than@redhat.com> - 5.11.1-7
|
* Thu Jul 26 2018 Than Ngo <than@redhat.com> - 5.11.1-7
|
||||||
- fixed FTBFS
|
- fixed FTBFS
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
diff -up qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in.foo qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in
|
|
||||||
--- qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in.foo 2019-04-30 15:18:24.886346423 -0500
|
|
||||||
+++ qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in 2019-04-30 15:19:48.303873296 -0500
|
|
||||||
@@ -66,8 +66,10 @@ unset(_GL_INCDIRS)
|
|
||||||
# Don\'t check for existence of the "_qt5gui_OPENGL_INCLUDE_DIR" because it is
|
|
||||||
# optional.
|
|
||||||
|
|
||||||
+if (NOT ${_qt5gui_OPENGL_INCLUDE_DIR} STREQUAL "/usr/include")
|
|
||||||
list(APPEND Qt5Gui_INCLUDE_DIRS ${_qt5gui_OPENGL_INCLUDE_DIR})
|
|
||||||
set_property(TARGET Qt5::Gui APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${_qt5gui_OPENGL_INCLUDE_DIR})
|
|
||||||
+endif()
|
|
||||||
|
|
||||||
unset(_qt5gui_OPENGL_INCLUDE_DIR CACHE)
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
|||||||
diff -up qtbase-everywhere-src-5.14.2/src/corelib/global/qlibraryinfo.cpp.no_relocatable qtbase-everywhere-src-5.14.2/src/corelib/global/qlibraryinfo.cpp
|
|
||||||
--- qtbase-everywhere-src-5.14.2/src/corelib/global/qlibraryinfo.cpp.no_relocatable 2020-03-27 04:49:31.000000000 -0500
|
|
||||||
+++ qtbase-everywhere-src-5.14.2/src/corelib/global/qlibraryinfo.cpp 2020-04-13 15:13:44.075705226 -0500
|
|
||||||
@@ -671,8 +671,11 @@ static QString getPrefix(
|
|
||||||
# if QT_CONFIGURE_CROSSBUILD
|
|
||||||
if (group == QLibraryInfo::DevicePaths)
|
|
||||||
return QString::fromLocal8Bit(QT_CONFIGURE_PREFIX_PATH);
|
|
||||||
-# endif
|
|
||||||
+# elif 0 //QT_CONFIG(relocatable)
|
|
||||||
return getExtPrefixFromHostBinDir();
|
|
||||||
+# else
|
|
||||||
+ return QString::fromLocal8Bit(QT_CONFIGURE_PREFIX_PATH);
|
|
||||||
+# endif
|
|
||||||
#elif QT_CONFIG(relocatable)
|
|
||||||
return getRelocatablePrefix();
|
|
||||||
#else
|
|
12
qtbase-fdo101667.patch
Normal file
12
qtbase-fdo101667.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up qtbase-opensource-src-5.9.4/src/corelib/mimetypes/qmimetype.cpp.fdo101667 qtbase-opensource-src-5.9.4/src/corelib/mimetypes/qmimetype.cpp
|
||||||
|
--- qtbase-opensource-src-5.9.4/src/corelib/mimetypes/qmimetype.cpp.fdo101667 2018-01-16 00:53:43.000000000 -0600
|
||||||
|
+++ qtbase-opensource-src-5.9.4/src/corelib/mimetypes/qmimetype.cpp 2018-01-28 07:18:09.502534397 -0600
|
||||||
|
@@ -418,6 +418,8 @@ QStringList QMimeType::suffixes() const
|
||||||
|
*/
|
||||||
|
QString QMimeType::preferredSuffix() const
|
||||||
|
{
|
||||||
|
+ if (isDefault()) // workaround for unwanted *.bin suffix for octet-stream, https://bugs.freedesktop.org/show_bug.cgi?id=101667, fixed upstream in 1.10
|
||||||
|
+ return QString();
|
||||||
|
const QStringList suffixList = suffixes();
|
||||||
|
return suffixList.isEmpty() ? QString() : suffixList.at(0);
|
||||||
|
}
|
@ -1,12 +1,13 @@
|
|||||||
diff -up qtbase-everywhere-src-5.12.1/src/plugins/platforms/xcb/qxcbscreen.cpp.hidpi_scale_at_192 qtbase-everywhere-src-5.12.1/src/plugins/platforms/xcb/qxcbscreen.cpp
|
diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||||
--- qtbase-everywhere-src-5.12.1/src/plugins/platforms/xcb/qxcbscreen.cpp.hidpi_scale_at_192 2019-02-03 13:21:27.866906481 -0600
|
index ec0f9ba..6d0d7a6 100644
|
||||||
+++ qtbase-everywhere-src-5.12.1/src/plugins/platforms/xcb/qxcbscreen.cpp 2019-02-03 13:23:47.554767565 -0600
|
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||||
@@ -744,7 +744,7 @@ void QXcbScreen::updateGeometry(const QR
|
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||||
// Use 128 as a reference DPI on small screens. This favors "small UI" over "large UI".
|
@@ -747,7 +747,7 @@ void QXcbScreen::updateGeometry(const QRect &geometry, uint8_t rotation)
|
||||||
qreal referenceDpi = physicalSize().width() <= 320 ? 128 : 96;
|
m_sizeMillimeters = sizeInMillimeters(geometry.size(), virtualDpi());
|
||||||
|
|
||||||
- m_pixelDensity = qMax(1, qRound(dpi/referenceDpi));
|
qreal dpi = geometry.width() / physicalSize().width() * qreal(25.4);
|
||||||
+ m_pixelDensity = qMax(1, (int) (dpi/referenceDpi)); //instead of rounding at 1.5, round at 2.0 (same as GNOME)
|
- m_pixelDensity = qMax(1, qRound(dpi/96));
|
||||||
|
+ m_pixelDensity = qMax(1, (int) (dpi/96)); // instead of rounding at 1.5, round at 2.0 (same as GNOME)
|
||||||
m_geometry = geometry;
|
m_geometry = geometry;
|
||||||
m_availableGeometry = geometry & m_virtualDesktop->workArea();
|
m_availableGeometry = geometry & m_virtualDesktop->workArea();
|
||||||
QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry);
|
QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry);
|
||||||
|
13
qtbase-opensource-src-5.3.2-QTBUG-35459.patch
Normal file
13
qtbase-opensource-src-5.3.2-QTBUG-35459.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff -up qtbase-opensource-src-5.3.2/src/xml/sax/qxml.cpp.QTBUG-35459 qtbase-opensource-src-5.3.2/src/xml/sax/qxml.cpp
|
||||||
|
diff -up qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h.QTBUG-35459 qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h
|
||||||
|
--- qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h.QTBUG-35459 2014-09-11 05:48:05.000000000 -0500
|
||||||
|
+++ qtbase-opensource-src-5.3.2/src/xml/sax/qxml_p.h 2014-09-16 09:35:01.189255615 -0500
|
||||||
|
@@ -223,7 +223,7 @@ private:
|
||||||
|
// for the DTD currently being parsed.
|
||||||
|
static const int dtdRecursionLimit = 2;
|
||||||
|
// The maximum amount of characters an entity value may contain, after expansion.
|
||||||
|
- static const int entityCharacterLimit = 1024;
|
||||||
|
+ static const int entityCharacterLimit = 4096;
|
||||||
|
|
||||||
|
const QString &string();
|
||||||
|
void stringClear();
|
@ -1,20 +0,0 @@
|
|||||||
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
|
|
||||||
index b8bfad4f16..676fdfad5e 100644
|
|
||||||
--- a/src/gui/kernel/qguiapplication.cpp
|
|
||||||
+++ b/src/gui/kernel/qguiapplication.cpp
|
|
||||||
@@ -1376,14 +1376,7 @@ void QGuiApplicationPrivate::createPlatformIntegration()
|
|
||||||
if (sessionType == QByteArrayLiteral("x11") && !platformName.contains(QByteArrayLiteral("xcb"))) {
|
|
||||||
platformName = QByteArrayLiteral("xcb");
|
|
||||||
} else if (sessionType == QByteArrayLiteral("wayland") && !platformName.contains(QByteArrayLiteral("wayland"))) {
|
|
||||||
- QByteArray currentDesktop = qgetenv("XDG_CURRENT_DESKTOP").toLower();
|
|
||||||
- QByteArray sessionDesktop = qgetenv("XDG_SESSION_DESKTOP").toLower();
|
|
||||||
- if (currentDesktop.contains("gnome") || sessionDesktop.contains("gnome")) {
|
|
||||||
- qInfo() << "Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome."
|
|
||||||
- << "Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.";
|
|
||||||
- } else {
|
|
||||||
- platformName = QByteArrayLiteral("wayland");
|
|
||||||
- }
|
|
||||||
+ platformName = QByteArrayLiteral("wayland");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#ifdef QT_QPA_DEFAULT_PLATFORM_NAME
|
|
14
qtbase5-double-conversion-add-riscv.patch
Normal file
14
qtbase5-double-conversion-add-riscv.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
diff --git a/src/3rdparty/double-conversion/include/double-conversion/utils.h b/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||||
|
index 20bfd36..fe6cb4c 100644
|
||||||
|
--- a/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||||
|
+++ b/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||||
|
@@ -65,7 +65,8 @@
|
||||||
|
defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
|
||||||
|
defined(__SH4__) || defined(__alpha__) || \
|
||||||
|
defined(_MIPS_ARCH_MIPS32R2) || \
|
||||||
|
- defined(__AARCH64EL__)
|
||||||
|
+ defined(__AARCH64EL__) || \
|
||||||
|
+ defined(__riscv)
|
||||||
|
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
||||||
|
#elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
|
||||||
|
#if defined(_WIN32)
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (qtbase-everywhere-src-5.14.2.tar.xz) = 8c83e06d58b56e9f288e83d6c3dd4ad6cc9f1eb1a32c7b44fb912fda34ed7255766fd9fa60cd740ee001df7d6172f25df05f1f95e986c3e793fbcd9bf4f18de9
|
SHA512 (qtbase-everywhere-src-5.11.1.tar.xz) = 5f45405872e541565d811c1973ae95b0f19593f4495375306917b72e21146e14fe8f7db5fbd629476476807f89ef1679aa59737ca5efdd9cbe6b14d7aa371b81
|
||||||
|
@ -1 +0,0 @@
|
|||||||
qtbase-everywhere-src
|
|
41
xcberror_filter.patch
Normal file
41
xcberror_filter.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
From 911762e077c8b2f9795171c1e628942a0a979801 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jan Grulich <jgrulich@redhat.com>
|
||||||
|
Date: Fri, 15 Dec 2017 11:56:12 +0100
|
||||||
|
Subject: foo
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
|
||||||
|
index 536c709..c6eb1b1 100644
|
||||||
|
--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
|
||||||
|
+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
|
||||||
|
@@ -111,6 +111,8 @@ Q_LOGGING_CATEGORY(lcQpaXInputEvents, "qt.qpa.input.events")
|
||||||
|
Q_LOGGING_CATEGORY(lcQpaScreen, "qt.qpa.screen")
|
||||||
|
Q_LOGGING_CATEGORY(lcQpaEvents, "qt.qpa.events")
|
||||||
|
Q_LOGGING_CATEGORY(lcQpaXcb, "qt.qpa.xcb") // for general (uncategorized) XCB logging
|
||||||
|
+Q_LOGGING_CATEGORY(lcQpaXcbError, "qt.qpa.xcb.xcberror")
|
||||||
|
+// TODO: How to categorize by xcberror type? (e.g. only BadWindow)
|
||||||
|
Q_LOGGING_CATEGORY(lcQpaPeeker, "qt.qpa.peeker")
|
||||||
|
|
||||||
|
// this event type was added in libxcb 1.10,
|
||||||
|
@@ -964,7 +966,8 @@ void QXcbConnection::handleXcbError(xcb_generic_error_t *error)
|
||||||
|
uint clamped_error_code = qMin<uint>(error->error_code, (sizeof(xcb_errors) / sizeof(xcb_errors[0])) - 1);
|
||||||
|
uint clamped_major_code = qMin<uint>(error->major_code, (sizeof(xcb_protocol_request_codes) / sizeof(xcb_protocol_request_codes[0])) - 1);
|
||||||
|
|
||||||
|
- qWarning("QXcbConnection: XCB error: %d (%s), sequence: %d, resource id: %d, major code: %d (%s), minor code: %d",
|
||||||
|
+ qCWarning(lcQpaXcbError,
|
||||||
|
+ "QXcbConnection: XCB error: %d (%s), sequence: %d, resource id: %d, major code: %d (%s), minor code: %d",
|
||||||
|
int(error->error_code), xcb_errors[clamped_error_code],
|
||||||
|
int(error->sequence), int(error->resource_id),
|
||||||
|
int(error->major_code), xcb_protocol_request_codes[clamped_major_code],
|
||||||
|
diff --git a/src/plugins/platforms/xcb/qxcbconnection.h b/src/plugins/platforms/xcb/qxcbconnection.h
|
||||||
|
index 999dc06..554611c 100644
|
||||||
|
--- a/src/plugins/platforms/xcb/qxcbconnection.h
|
||||||
|
+++ b/src/plugins/platforms/xcb/qxcbconnection.h
|
||||||
|
@@ -91,6 +91,7 @@ Q_DECLARE_LOGGING_CATEGORY(lcQpaXInputEvents)
|
||||||
|
Q_DECLARE_LOGGING_CATEGORY(lcQpaScreen)
|
||||||
|
Q_DECLARE_LOGGING_CATEGORY(lcQpaEvents)
|
||||||
|
Q_DECLARE_LOGGING_CATEGORY(lcQpaXcb)
|
||||||
|
+Q_DECLARE_LOGGING_CATEGORY(lcQpaXcbError)
|
||||||
|
Q_DECLARE_LOGGING_CATEGORY(lcQpaPeeker)
|
||||||
|
|
||||||
|
class QXcbVirtualDesktop;
|
Loading…
Reference in New Issue
Block a user