Compare commits

..

No commits in common. "f36" and "master" have entirely different histories.
f36 ... master

12 changed files with 113 additions and 561 deletions

View File

@ -1,14 +0,0 @@
diff -up qt-everywhere-opensource-src-4.8.7/src/gui/image/qxbmhandler.cpp.me qt-everywhere-opensource-src-4.8.7/src/gui/image/qxbmhandler.cpp
--- qt-everywhere-opensource-src-4.8.7/src/gui/image/qxbmhandler.cpp.me 2020-08-13 11:20:45.943402169 +0200
+++ qt-everywhere-opensource-src-4.8.7/src/gui/image/qxbmhandler.cpp 2020-08-13 11:21:26.025976881 +0200
@@ -154,7 +154,9 @@ static bool read_xbm_body(QIODevice *dev
w = (w+7)/8; // byte width
while (y < h) { // for all encoded bytes...
- if (p) { // p = "0x.."
+ if (p && p < (buf + readBytes - 3)) { // p = "0x.."
+ if (!isxdigit(p[2]) || !isxdigit(p[3]))
+ return false;
*b++ = hex2byte(p+2);
p += 2;
if (++x == w && ++y < h) {

View File

@ -1,13 +0,0 @@
diff --git a/src/corelib/plugin/qlibrary_unix.cpp b/src/corelib/plugin/qlibrary_unix.cpp
index f0de1010d7b..135b82cd378 100644
--- a/src/corelib/plugin/qlibrary_unix.cpp
+++ b/src/corelib/plugin/qlibrary_unix.cpp
@@ -218,6 +218,8 @@ bool QLibraryPrivate::load_sys()
for(int suffix = 0; retry && !pHnd && suffix < suffixes.size(); suffix++) {
if (!prefixes.at(prefix).isEmpty() && name.startsWith(prefixes.at(prefix)))
continue;
+ if (path.isEmpty() && prefixes.at(prefix).contains(QLatin1Char('/')))
+ continue;
if (!suffixes.at(suffix).isEmpty() && name.endsWith(suffixes.at(suffix)))
continue;
if (loadHints & QLibrary::LoadArchiveMemberHint) {

View File

@ -10,128 +10,3 @@ diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/alsa/alsatest.cpp.
#error "Alsa version found too old, require >= 1.0.10"
#endif
diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
index 973cbab..0b27e9d 100644
--- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
@@ -63,7 +63,7 @@ QAudioDeviceInfoInternal::QAudioDeviceInfoInternal(QByteArray dev, QAudio::Mode
device = QLatin1String(dev);
this->mode = mode;
-#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
checkSurround();
#endif
}
@@ -159,13 +159,13 @@ bool QAudioDeviceInfoInternal::open()
QList<QByteArray> devices = availableDevices(mode);
if(dev.compare(QLatin1String("default")) == 0) {
-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
dev = QLatin1String(devices.first().constData());
#else
dev = QLatin1String("hw:0,0");
#endif
} else {
-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
dev = device;
#else
int idx = 0;
@@ -212,13 +212,13 @@ bool QAudioDeviceInfoInternal::testSettings(const QAudioFormat& format) const
QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioOutput);
if(dev.compare(QLatin1String("default")) == 0) {
-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
dev = QLatin1String(devices.first().constData());
#else
dev = QLatin1String("hw:0,0");
#endif
} else {
-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
dev = device;
#else
int idx = 0;
@@ -396,7 +396,7 @@ void QAudioDeviceInfoInternal::updateLists()
}
channelz.append(1);
channelz.append(2);
-#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
if (surround40) channelz.append(4);
if (surround51) channelz.append(6);
if (surround71) channelz.append(8);
@@ -419,7 +419,7 @@ QList<QByteArray> QAudioDeviceInfoInternal::availableDevices(QAudio::Mode mode)
QList<QByteArray> devices;
QByteArray filter;
-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
// Create a list of all current audio devices that support mode
void **hints, **n;
char *name, *descr, *io;
@@ -498,7 +498,7 @@ QByteArray QAudioDeviceInfoInternal::defaultOutputDevice()
return devices.first();
}
-#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
void QAudioDeviceInfoInternal::checkSurround()
{
QList<QByteArray> devices;
diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
index 96febf4..714bf60 100644
--- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
@@ -98,7 +98,7 @@ private:
bool open();
void close();
-#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if (SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
void checkSurround();
bool surround40;
bool surround51;
diff --git a/src/multimedia/audio/qaudioinput_alsa_p.cpp b/src/multimedia/audio/qaudioinput_alsa_p.cpp
index 339fd9f..abfa4a1 100644
--- a/src/multimedia/audio/qaudioinput_alsa_p.cpp
+++ b/src/multimedia/audio/qaudioinput_alsa_p.cpp
@@ -284,13 +284,13 @@ bool QAudioInputPrivate::open()
QString dev = QString(QLatin1String(m_device.constData()));
QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioInput);
if(dev.compare(QLatin1String("default")) == 0) {
-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
dev = QLatin1String(devices.first());
#else
dev = QLatin1String("hw:0,0");
#endif
} else {
-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
dev = QLatin1String(m_device);
#else
int idx = 0;
diff --git a/src/multimedia/audio/qaudiooutput_alsa_p.cpp b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
index bf85de5..c29a89f 100644
--- a/src/multimedia/audio/qaudiooutput_alsa_p.cpp
+++ b/src/multimedia/audio/qaudiooutput_alsa_p.cpp
@@ -299,13 +299,13 @@ bool QAudioOutputPrivate::open()
QString dev = QString(QLatin1String(m_device.constData()));
QList<QByteArray> devices = QAudioDeviceInfoInternal::availableDevices(QAudio::AudioOutput);
if(dev.compare(QLatin1String("default")) == 0) {
-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
dev = QLatin1String(devices.first());
#else
dev = QLatin1String("hw:0,0");
#endif
} else {
-#if(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
+#if(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 14))
dev = QLatin1String(m_device);
#else
int idx = 0;

View File

@ -1,40 +0,0 @@
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 2021-03-09 14:23:00.636840796 +0100
+++ qt-everywhere-opensource-src-4.8.7/src/svg/qsvghandler.cpp 2021-03-09 21:34:46.240482104 +0100
@@ -68,6 +68,7 @@
#include "private/qmath_p.h"
#include "float.h"
+#include <cmath>
QT_BEGIN_NAMESPACE
@@ -630,15 +631,10 @@ static qreal toDouble(const QChar *&str)
if (neg)
val = -val;
} else {
-#if defined(Q_WS_QWS) && !defined(Q_OS_VXWORKS)
- if(sizeof(qreal) == sizeof(float))
- val = strtof(temp, 0);
- else
-#endif
- {
- bool ok = false;
- val = qstrtod(temp, 0, &ok);
- }
+ val = QByteArray::fromRawData(temp, pos).toDouble();
+ // Do not tolerate values too wild to be represented normally by floats
+ if (std::fpclassify(float(val)) != FP_NORMAL)
+ val = 0;
}
return val;
@@ -2945,6 +2941,8 @@ static QSvgStyleProperty *createRadialGr
ncy = toDouble(cy);
if (!r.isEmpty())
nr = toDouble(r);
+ if (nr < 0.5)
+ nr = 0.5;
qreal nfx = ncx;
if (!fx.isEmpty())

View File

@ -1,12 +0,0 @@
diff -up qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp.me qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp
--- qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp.me 2019-03-22 10:22:16.213800109 +0100
+++ qt-everywhere-opensource-src-4.8.7/src/gui/image/qppmhandler.cpp 2019-03-22 10:22:40.721890281 +0100
@@ -108,7 +108,7 @@ static bool read_pbm_header(QIODevice *d
else
mcc = read_pbm_int(device); // get max color component
- if (w <= 0 || w > 32767 || h <= 0 || h > 32767 || mcc <= 0)
+ if (w <= 0 || w > 32767 || h <= 0 || h > 32767 || mcc <= 0 || mcc > 0xffff)
return false; // weird P.M image
return true;

View File

@ -1,3 +1,15 @@
diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp.ibase qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp
--- qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp.ibase 2015-05-07 09:14:42.000000000 -0500
+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.cpp 2016-11-30 10:55:05.825339674 -0600
@@ -39,7 +39,7 @@
**
****************************************************************************/
-#include <ibase.h>
+#include <firebird/ibase.h>
int main(int, char **)
{
diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro.ibase qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro
--- qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro.ibase 2015-05-07 09:14:42.000000000 -0500
+++ qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro 2016-11-30 10:56:11.017740104 -0600
@ -7,6 +19,18 @@ diff -up qt-everywhere-opensource-src-4.8.7/config.tests/unix/ibase/ibase.pro.ib
mac:CONFIG -= app_bundle
-LIBS += -lgds
+LIBS += -lfbclient
diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h.ibase qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h
--- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h.ibase 2015-05-07 09:14:48.000000000 -0500
+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.h 2016-11-30 10:57:34.516252974 -0600
@@ -45,7 +45,7 @@
#include <QtSql/qsqlresult.h>
#include <QtSql/qsqldriver.h>
#include <QtSql/private/qsqlcachedresult_p.h>
-#include <ibase.h>
+#include <firebird/ibase.h>
QT_BEGIN_HEADER
diff -up qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri.ibase qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri
--- qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri.ibase 2015-05-07 09:14:48.000000000 -0500
+++ qt-everywhere-opensource-src-4.8.7/src/sql/drivers/ibase/qsql_ibase.pri 2016-11-30 10:57:11.783113341 -0600

View File

@ -1,26 +0,0 @@
diff --git a/src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp b/src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp
index d66075e4..b51a27ad 100644
--- a/src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp
@@ -74,7 +74,7 @@ PassRefPtr<HTMLImageElement> HTMLImageElement::createForJSConstructor(Document*
RefPtr<HTMLImageElement> image = adoptRef(new HTMLImageElement(imgTag, document));
if (optionalWidth)
image->setWidth(*optionalWidth);
- if (optionalHeight > 0)
+ if (optionalHeight != 0)
image->setHeight(*optionalHeight);
return image.release();
}
diff --git a/tools/linguist/linguist/messagemodel.cpp b/tools/linguist/linguist/messagemodel.cpp
index 61c5389f..8d43d14b 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()) != 0)
++inBoth;
}
}

View File

@ -1,3 +1,24 @@
diff -up qt-everywhere-opensource-src-4.8.7/configure.gcc6 qt-everywhere-opensource-src-4.8.7/configure
--- qt-everywhere-opensource-src-4.8.7/configure.gcc6 2016-04-15 07:04:19.430268222 -0500
+++ qt-everywhere-opensource-src-4.8.7/configure 2016-04-15 07:05:22.157568689 -0500
@@ -7744,7 +7744,7 @@ case "$XPLATFORM" in
*-g++*)
# Check gcc's version
case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
- 5*|4*|3.4*)
+ 8*|7*|6*|5*|4*|3.4*)
;;
3.3*)
canBuildWebKit="no"
@@ -8060,7 +8060,7 @@ g++*)
3.*)
COMPILER_VERSION="3.*"
;;
- 5*|4.*)
+ 8*|7*|6*|5*|4.*)
COMPILER_VERSION="4"
;;
*)
diff -up qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6 qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h
--- qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h.gcc6 2015-05-07 09:14:48.000000000 -0500
+++ qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h 2016-04-15 07:04:19.431268227 -0500

View File

@ -1,43 +0,0 @@
diff -ur qt-everywhere-opensource-src-4.8.7/configure qt-everywhere-opensource-src-4.8.7-hardcode-buildkey/configure
--- qt-everywhere-opensource-src-4.8.7/configure 2015-05-07 16:14:56.000000000 +0200
+++ qt-everywhere-opensource-src-4.8.7-hardcode-buildkey/configure 2020-08-19 23:43:10.792653485 +0200
@@ -7732,18 +7732,6 @@
canBuildQtXmlPatterns="no"
;;
*-g++*)
- # Check gcc's version
- case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
- 5*|4*|3.4*)
- ;;
- 3.3*)
- canBuildWebKit="no"
- ;;
- *)
- canBuildWebKit="no"
- canBuildQtXmlPatterns="no"
- ;;
- esac
;;
solaris-cc*)
# Check the compiler version
@@ -8043,19 +8031,7 @@
;;
esac
- case "$COMPILER_VERSION" in
- 2.95.*)
- COMPILER_VERSION="2.95.*"
- ;;
- 3.*)
- COMPILER_VERSION="3.*"
- ;;
- 5*|4.*)
- COMPILER_VERSION="4"
- ;;
- *)
- ;;
- esac
+ COMPILER_VERSION="4"
[ '!' -z "$COMPILER_VERSION" ] && COMPILER="g++-${COMPILER_VERSION}"
;;
icc*)

View File

@ -1,90 +0,0 @@
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

View File

@ -1,40 +0,0 @@
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -2482,22 +2482,32 @@ typedef uint Flags;
#endif /* Q_NO_TYPESAFE_FLAGS */
-#if defined(Q_CC_GNU) && !defined(Q_CC_INTEL) && !defined(Q_CC_RVCT)
+#if (defined(Q_CC_GNU) && !defined(Q_CC_RVCT))
/* make use of typeof-extension */
template <typename T>
class QForeachContainer {
public:
- inline QForeachContainer(const T& t) : c(t), brk(0), i(c.begin()), e(c.end()) { }
+ inline QForeachContainer(const T& t) : c(t), i(c.begin()), e(c.end()), control(1) { }
const T c;
int brk;
typename T::const_iterator i, e;
+ int control;
};
+// Explanation of the control word:
+// - it's initialized to 1
+// - that means both the inner and outer loops start
+// - if there were no breaks, at the end of the inner loop, it's set to 0, which
+// causes it to exit (the inner loop is run exactly once)
+// - at the end of the outer loop, it's inverted, so it becomes 1 again, allowing
+// the outer loop to continue executing
+// - if there was a break inside the inner loop, it will exit with control still
+// set to 1; in that case, the outer loop will invert it to 0 and will exit too
#define Q_FOREACH(variable, container) \
for (QForeachContainer<__typeof__(container)> _container_(container); \
- !_container_.brk && _container_.i != _container_.e; \
- __extension__ ({ ++_container_.brk; ++_container_.i; })) \
- for (variable = *_container_.i;; __extension__ ({--_container_.brk; break;}))
+ _container_.control && _container_.i != _container_.e; \
+ ++_container_.i, _container_.control ^= 1) \
+ for (variable = *_container_.i; _container_.control; _container_.control = 0)
#else

226
qt.spec
View File

@ -27,11 +27,8 @@
# trim changelog included in binary rpms
%global _changelog_trimtime %(date +%s -d "1 year ago")
# support qtchooser, except when building for inclusion in a flatpak
%if !0%{?flatpak}
# support qtchooser
%define qtchooser 1
%endif
%if 0%{?qtchooser}
%define priority 20
%ifarch %{multilib_basearchs}
@ -43,10 +40,11 @@ Summary: Qt toolkit
Name: qt
Epoch: 1
Version: 4.8.7
Release: 67%{?dist}
Release: 40%{?dist}
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT
Group: System Environment/Libraries
Url: http://qt-project.org/
%if 0%{?beta:1}
Source0: https://download.qt-project.org/development_releases/qt/4.8/%{version}-%{beta}/qt-everywhere-opensource-src-%{version}-%{beta}.tar.gz
@ -104,8 +102,8 @@ Patch28: qt-everywhere-opensource-src-4.8.5-qt_plugin_path.patch
# add support for pkgconfig's Requires.private to qmake
Patch50: qt-everywhere-opensource-src-4.8.4-qmake_pkgconfig_requires_private.patch
# FTBFS against newer firebird-4.0.0
Patch51: qt-everywhere-opensource-src-4.8.7-firebird-4.0.0.patch
# FTBFS against newer firebird
Patch51: qt-everywhere-opensource-src-4.8.7-firebird.patch
# workaround major/minor macros possibly being defined already
Patch52: qt-everywhere-opensource-src-4.8.7-QT_VERSION_CHECK.patch
@ -203,15 +201,6 @@ Patch95: qt-everywhere-opensource-src-4.8.7-icu59.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1580047
Patch96: qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch
# Fix ordered pointer comparison against zero problem reported by gcc-11
Patch97: qt-everywhere-opensource-src-4.8.7-gcc11.patch
# hardcode the compiler version in the build key once and for all
Patch98: qt-everywhere-opensource-src-4.8.7-hardcode-buildkey.patch
# FTBFS openssl3
Patch99: qt-everywhere-opensource-src-4.8.7-openssl3.patch
# upstream patches
# backported from Qt5 (essentially)
# http://bugzilla.redhat.com/702493
@ -224,24 +213,9 @@ Patch113: qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch
# aarch64 support, https://bugreports.qt-project.org/browse/QTBUG-35442
Patch180: qt-aarch64.patch
# Fix problem caused by gcc 9 fixing a longstanding bug.
# https://github.com/qt/qtbase/commit/c35a3f519007af44c3b364b9af86f6a336f6411b.patch
Patch181: qt-everywhere-opensource-src-4.8.7-qforeach.patch
## upstream git
## security patches
# CVE-2018-19872 qt: malformed PPM image causing division by zero and crash in qppmhandler.cpp
Patch500: qt-everywhere-opensource-src-4.8.7-crash-in-qppmhandler.patch
# CVE-2020-17507 qt: buffer over-read in read_xbm_body in gui/image/qxbmhandler.cpp
Patch501: qt-CVE-2020-17507.patch
# no CVE qt: Clamp parsed doubles to float representable values
Patch502: qt-everywhere-opensource-src-4.8.7-clamp-parsed-doubles-to-float-representtable-values.patch
# CVE-2020-24741 qt: QLibrary loads libraries relative to CWD which could result in arbitrary code execution
Patch503: qt-everywhere-opensource-src-4.8.5-CVE-2020-24741.patch
# desktop files
Source20: assistant.desktop
@ -282,16 +256,6 @@ Source31: hi48-app-qt4-logo.png
%define ibase -no-sql-ibase
%define tds -no-sql-tds
%endif
# disable it temporary (firebird build failed on s390x, bz#1969393)
%if 0%{?fedora} > 34
%define ibase -no-sql-ibase
%endif
# workaround FTBFS with gcc9
#if 0%{?fedora} > 29
%if 0
%global no_javascript_jit -no-javascript-jit
%endif
# macros, be mindful to keep sync'd with macros.qt4
Source1: macros.qt4
@ -311,7 +275,6 @@ Source1: macros.qt4
%define _qt4_sysconfdir %{_sysconfdir}
%define _qt4_translationdir %{_datadir}/qt4/translations
BuildRequires: make
BuildRequires: cups-devel
BuildRequires: desktop-file-utils
BuildRequires: findutils
@ -329,15 +292,9 @@ BuildRequires: pkgconfig(icu-i18n)
%else
BuildRequires: libicu-devel
%endif
## as far as I can tell, this isn't used anywhere, omitting for now
## https://bugzilla.redhat.com/show_bug.cgi?id=1606047
#BuildRequires: pkgconfig(NetworkManager)
BuildRequires: pkgconfig(NetworkManager)
%global openssl -openssl-linked
%if 0%{?fedora} == 27
BuildRequires: compat-openssl10-devel
%else
BuildRequires: openssl-devel
%endif
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(xtst)
@ -377,7 +334,7 @@ BuildRequires: pkgconfig(gtk+-2.0)
%endif
%if "%{?psql}" != "-no-sql-psql"
BuildRequires: libpq-devel
BuildRequires: postgresql-devel
%endif
%if "%{?odbc}" != "-no-sql-odbc"
@ -426,6 +383,7 @@ BuildArch: noarch
%package assistant
Summary: Documentation browser for Qt 4
Group: Documentation
Requires: %{name}-sqlite%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: qt4-assistant = %{version}-%{release}
Requires: %{name}-x11%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
@ -437,6 +395,7 @@ Provides: bundled(clucene09)
%package config
Summary: Graphical configuration tool for programs using Qt 4
Group: User Interface/Desktops
# -config introduced in 4.7.1-10 , for upgrade path
# seems to tickle a pk bug, https://bugzilla.redhat.com/674326
#Obsoletes: %{name}-x11 < 1:4.7.1-10
@ -449,6 +408,7 @@ Requires: %{name}-x11%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%define demos 1
%package demos
Summary: Demonstration applications for %{name}
Group: Documentation
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-doc
%description demos
@ -457,6 +417,7 @@ Requires: %{name}-doc
%define docs 1
%package doc
Summary: API documentation for %{name}
Group: Documentation
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-assistant
Obsoletes: qt4-doc < %{version}-%{release}
@ -469,12 +430,14 @@ BuildArch: noarch
%package designer-plugin-webkit
Summary: Qt designer plugin for WebKit
Group: Development/Libraries
Requires: %{name}-x11%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description designer-plugin-webkit
%{summary}.
%package devel
Summary: Development files for the Qt toolkit
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: %{name}-x11%{?_isa}
Requires: %{name}-sqlite%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
@ -511,6 +474,7 @@ Qt Linguist
%define private 1
%package devel-private
Summary: Private headers for Qt toolkit
Group: Development/Libraries
Provides: qt4-devel-private = %{version}-%{release}
Provides: %{name}-private-devel = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: qt4-private-devel = %{version}-%{release}
@ -522,6 +486,7 @@ BuildArch: noarch
%define examples 1
%package examples
Summary: Programming examples for %{name}
Group: Documentation
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description examples
%{summary}.
@ -529,12 +494,14 @@ Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%define qvfb 1
%package qvfb
Summary: Virtual frame buffer for Qt for Embedded Linux
Group: Applications/Emulators
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description qvfb
%{summary}.
%package ibase
Summary: IBase driver for Qt's SQL classes
Group: System Environment/Libraries
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: qt4-ibase = %{version}-%{release}
%{?_isa:Provides: qt4-ibase%{?_isa} = %{version}-%{release}}
@ -543,6 +510,7 @@ Provides: qt4-ibase = %{version}-%{release}
%package mysql
Summary: MySQL driver for Qt's SQL classes
Group: System Environment/Libraries
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: qt4-MySQL < %{version}-%{release}
Provides: qt4-MySQL = %{version}-%{release}
@ -554,6 +522,7 @@ Provides: qt4-mysql = %{version}-%{release}
%package odbc
Summary: ODBC driver for Qt's SQL classes
Group: System Environment/Libraries
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: qt4-ODBC < %{version}-%{release}
Provides: qt4-ODBC = %{version}-%{release}
@ -565,6 +534,7 @@ Provides: qt4-odbc = %{version}-%{release}
%package postgresql
Summary: PostgreSQL driver for Qt's SQL classes
Group: System Environment/Libraries
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Obsoletes: qt4-PostgreSQL < %{version}-%{release}
Provides: qt4-PostgreSQL = %{version}-%{release}
@ -576,6 +546,7 @@ Provides: qt4-postgresql = %{version}-%{release}
%package tds
Summary: TDS driver for Qt's SQL classes
Group: System Environment/Libraries
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: qt4-tds = %{version}-%{release}
%{?_isa:Provides: qt4-tds%{?_isa} = %{version}-%{release}}
@ -584,6 +555,7 @@ Provides: qt4-tds = %{version}-%{release}
%package x11
Summary: Qt GUI-related libraries
Group: System Environment/Libraries
# include Obsoletes here to be safe(r) bootstrap-wise with phonon-4.5.0
# that will Provides: it -- Rex
Obsoletes: qt-designer-plugin-phonon < 1:4.7.2-6
@ -660,32 +632,21 @@ rm -rf src/3rdparty/clucene
%patch91 -p1 -b .mips64
%patch92 -p1 -b .gcc6
%patch93 -p1 -b .alsa1.1
%if 0%{?fedora} > 27 || 0%{?rhel} > 7
%patch94 -p1 -b .openssl1.1
%endif
%patch95 -p1 -b .icu59
%if 0%{?fedora} > 27
%patch96 -p1 -b .gcc8_qtscript
%endif
%patch97 -p1 -b .gcc11
%patch98 -p1 -b .hardcode-buildkey
%patch99 -p1 -b .ssl3
# upstream patches
%patch102 -p1 -b .qgtkstyle_disable_gtk_theme_check
%patch113 -p1 -b .QTBUG-22829
%patch180 -p1 -b .aarch64
%patch181 -p1 -b .qforeach
# upstream git
# security fixes
%patch500 -p1 -b .malformed-ppb-image-causing-crash
%patch501 -p1 -b .buffer-over-read-in-read_xbm_body
%patch502 -p1 -b .clamp-parsed-doubles-to-float-representtable-values
%patch503 -p1 -b .CVE-2020-24741
# regression fixes for the security fixes
%patch84 -p1 -b .QTBUG-35459
@ -740,11 +701,6 @@ done
%build
# QT is known not to work properly with LTO at this point. Some of the issues
# are being worked on upstream and disabling LTO should be re-evaluated as
# we update this change. Until such time...
# Disable LTO
%define _lto_cflags %{nil}
# drop -fexceptions from $RPM_OPT_FLAGS
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
@ -839,23 +795,25 @@ fi
%if ! 0%{?inject_optflags}
# ensure qmake build using optflags (which can happen if not munging qmake.conf defaults)
make clean -C qmake
%make_build -C qmake \
make %{?_smp_mflags} -C qmake \
QMAKE_CFLAGS_RELEASE="${CFLAGS:-$RPM_OPT_FLAGS}" \
QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:-$RPM_OPT_FLAGS}" \
QMAKE_LFLAGS_RELEASE="${LDFLAGS:-$RPM_LD_FLAGS}" \
QMAKE_STRIP=
%endif
%make_build
make %{?_smp_mflags}
# TODO: consider patching tools/tools.pro to enable building this by default
%{?qvfb:%make_build -C tools/qvfb}
%{?qvfb:make %{?_smp_mflags} -C tools/qvfb}
# recreate .qm files
bin/lrelease translations/*.ts
%install
rm -rf %{buildroot}
make install INSTALL_ROOT=%{buildroot}
%if 0%{?qvfb}
@ -1103,7 +1061,7 @@ fi
%endif
%post
%{?ldconfig}
/sbin/ldconfig
%if 0%{?qtchooser}
%{_sbindir}/update-alternatives \
--install %{_sysconfdir}/xdg/qtchooser/4.conf \
@ -1119,7 +1077,7 @@ fi
%endif
%postun
%{?ldconfig}
/sbin/ldconfig
%if 0%{?qtchooser}
if [ $1 -eq 0 ]; then
%{_sbindir}/update-alternatives \
@ -1192,6 +1150,18 @@ fi
%files common
# empty for now, consider: filesystem/dir ownership, licenses
%post assistant
touch --no-create %{_datadir}/icons/hicolor ||:
%posttrans assistant
gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
%postun assistant
if [ $1 -eq 0 ] ; then
touch --no-create %{_datadir}/icons/hicolor ||:
gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
fi
%files assistant
%if "%{_qt4_bindir}" != "%{_bindir}"
%{_bindir}/assistant*
@ -1222,6 +1192,20 @@ fi
%{_qt4_plugindir}/designer/libqwebview.so
%endif
%post devel
touch --no-create %{_datadir}/icons/hicolor ||:
%posttrans devel
gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
update-desktop-database -q &> /dev/null ||:
%postun devel
if [ $1 -eq 0 ] ; then
touch --no-create %{_datadir}/icons/hicolor ||:
gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
update-desktop-database -q &> /dev/null ||:
fi
%files devel -f qt-devel.lang
%{rpm_macros_dir}/macros.qt4
%{_qt4_bindir}/lconvert
@ -1359,7 +1343,19 @@ fi
%{_qt4_plugindir}/sqldrivers/libqsqltds*
%endif
%ldconfig_scriptlets x11
%post x11
/sbin/ldconfig
touch --no-create %{_datadir}/icons/hicolor ||:
%posttrans x11
gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
%postun x11
/sbin/ldconfig
if [ $1 -eq 0 ] ; then
touch --no-create %{_datadir}/icons/hicolor ||:
gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
fi
%files x11 -f qt-x11.lang
%dir %{_qt4_importdir}/
@ -1407,92 +1403,6 @@ fi
%changelog
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.8.7-67
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Oct 19 2021 Than Ngo <than@redhat.com> - 1:4.8.7-66
- Fix FTBFS
* Tue Oct 12 2021 Than Ngo <than@redhat.com> - 1:4.8.7-65
- CVE-2020-24741, Do not attempt to load a library relative to $PWD
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 1:4.8.7-64
- Rebuilt with OpenSSL 3.0.0
* Thu Jul 29 2021 Than Ngo <than@redhat.com> - 4.8.7-63
- Fixed FTBFS against firebird-4.0.0
* Tue Jul 27 2021 Than Ngo <than@redhat.com> - 4.8.7-62
- Fixed FTBFS
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.8.7-61
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Mar 09 2021 Than Ngo <than@redhat.com> - 4.8.7-60
- Resolves: #1931444, Clamp parsed doubles to float representable values
* Mon Feb 08 2021 Pavel Raiskup <praiskup@redhat.com> - 1:4.8.7-59
- rebuild for libpq ABI fix rhbz#1908268
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.8.7-58
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Aug 19 2020 Kevin Kofler <Kevin@tigcc.ticalc.org> - 4.8.7-57
- Hardcode the compiler version in the build key once and for all
* Wed Aug 19 2020 Jeff Law <law@redhat.com> - 4.8.7-56
- Add support for gcc-11
- Fix ordered pointer comparison against zero problems
* Thu Aug 13 2020 Than Ngo <than@redhat.com> - 4.8.7-55
- fixed #1868534 - CVE-2020-17507
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.8.7-54
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 01 2020 Jeff Law <law@redhat.com> - 4.8.7-53
- Disable LTO
* Fri Jan 31 2020 Than Ngo <than@redhat.com> - 4.8.7-52
- fixed FTBFS against gcc10
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.8.7-51
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.8.7-50
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Apr 20 2019 Rex Dieter <rdieter@fedoraproject.org> - 4.8.7-49
- re-enable javascript-jit
* Tue Apr 02 2019 Rex Dieter <rdieter@fedoraproject.org> - 4.8.7-48
- rebuild
* Fri Mar 22 2019 Than Ngo <than@redhat.com> - 4.8.7-47
- fixed #1691638 - CVE-2018-19872 qt: malformed PPM image causing division by zero and crash in qppmhandler.cpp
* Thu Feb 28 2019 Rex Dieter <rdieter@fedoraproject.org> - 1:4.8.7-46
- backport qforeach.patch from qt5
- -no-javascript-jit on f30 to workaround gcc9 FTBFS for now
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.8.7-45
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Oct 19 2018 Kevin Kofler <Kevin@tigcc.ticalc.org> - 1:4.8.7-44
- fix QAudio hardcoding hw:0,0 on ALSA1.1 (patch by Jaroslav Škarvada, #1641151)
- disable OpenSSL 1.1 patch for F27, keep building against compat-openssl10
(It really does not make sense to switch over the F27 package at this point.)
* Fri Sep 21 2018 Owen Taylor <otaylor@redhat.com> - 1:4.8.7-43
- Disable qtchooser for Flatpak builds
* Sat Jul 21 2018 Rex Dieter <rdieter@fedoraproject.org> - 1:4.8.7-42
- drop BR: pkgconfig(NetworkManager) (#1606047)
- use %%make_build %%ldconfig
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:4.8.7-41
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sat May 19 2018 Rex Dieter <rdieter@fedoraproject.org> - 1:4.8.7-40
- build only qtscript using -O1 (#1580047)