Compare commits
30 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
fb8373871e | ||
|
544460f7bb | ||
|
e92a088d38 | ||
|
b533671ab3 | ||
|
c0e685509d | ||
|
110ec9baed | ||
|
39f6a0510d | ||
|
0e7ef982e3 | ||
|
d9c51aff85 | ||
|
6c8e045afd | ||
|
b30349c48a | ||
|
4b6561fca0 | ||
|
b8994e8b84 | ||
|
a83f4bf68d | ||
|
0cf76c6298 | ||
|
09c3d017c6 | ||
|
e6f846cdd9 | ||
|
0d8e35fac4 | ||
|
a8615afde7 | ||
|
482033860c | ||
|
c3c62d0de9 | ||
|
eecb688eef | ||
|
29b27d60a9 | ||
|
bf8d107133 | ||
|
444964f7dc | ||
|
8a2ee29496 | ||
|
393926b8c7 | ||
|
9387c747ab | ||
|
86b3c40394 | ||
|
3d68c8f028 |
14
qt-CVE-2020-17507.patch
Normal file
14
qt-CVE-2020-17507.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
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) {
|
@ -10,3 +10,128 @@ 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"
|
#error "Alsa version found too old, require >= 1.0.10"
|
||||||
#endif
|
#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;
|
||||||
|
@ -0,0 +1,40 @@
|
|||||||
|
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())
|
@ -0,0 +1,12 @@
|
|||||||
|
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;
|
26
qt-everywhere-opensource-src-4.8.7-gcc11.patch
Normal file
26
qt-everywhere-opensource-src-4.8.7-gcc11.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
@ -1,24 +1,3 @@
|
|||||||
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
|
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.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
|
+++ qt-everywhere-opensource-src-4.8.7/src/xmlpatterns/api/qcoloroutput_p.h 2016-04-15 07:04:19.431268227 -0500
|
||||||
|
43
qt-everywhere-opensource-src-4.8.7-hardcode-buildkey.patch
Normal file
43
qt-everywhere-opensource-src-4.8.7-hardcode-buildkey.patch
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
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*)
|
40
qt-everywhere-opensource-src-4.8.7-qforeach.patch
Normal file
40
qt-everywhere-opensource-src-4.8.7-qforeach.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
--- 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
|
||||||
|
|
189
qt.spec
189
qt.spec
@ -27,8 +27,11 @@
|
|||||||
# trim changelog included in binary rpms
|
# trim changelog included in binary rpms
|
||||||
%global _changelog_trimtime %(date +%s -d "1 year ago")
|
%global _changelog_trimtime %(date +%s -d "1 year ago")
|
||||||
|
|
||||||
# support qtchooser
|
# support qtchooser, except when building for inclusion in a flatpak
|
||||||
|
%if !0%{?flatpak}
|
||||||
%define qtchooser 1
|
%define qtchooser 1
|
||||||
|
%endif
|
||||||
|
|
||||||
%if 0%{?qtchooser}
|
%if 0%{?qtchooser}
|
||||||
%define priority 20
|
%define priority 20
|
||||||
%ifarch %{multilib_basearchs}
|
%ifarch %{multilib_basearchs}
|
||||||
@ -40,11 +43,10 @@ Summary: Qt toolkit
|
|||||||
Name: qt
|
Name: qt
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 4.8.7
|
Version: 4.8.7
|
||||||
Release: 40%{?dist}
|
Release: 60%{?dist}
|
||||||
|
|
||||||
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
|
# 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
|
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/
|
Url: http://qt-project.org/
|
||||||
%if 0%{?beta:1}
|
%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
|
Source0: https://download.qt-project.org/development_releases/qt/4.8/%{version}-%{beta}/qt-everywhere-opensource-src-%{version}-%{beta}.tar.gz
|
||||||
@ -201,6 +203,12 @@ Patch95: qt-everywhere-opensource-src-4.8.7-icu59.patch
|
|||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1580047
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1580047
|
||||||
Patch96: qt-everywhere-opensource-src-4.8.7-gcc8_qtscript.patch
|
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
|
||||||
|
|
||||||
# upstream patches
|
# upstream patches
|
||||||
# backported from Qt5 (essentially)
|
# backported from Qt5 (essentially)
|
||||||
# http://bugzilla.redhat.com/702493
|
# http://bugzilla.redhat.com/702493
|
||||||
@ -213,9 +221,21 @@ Patch113: qt-everywhere-opensource-src-4.8.6-QTBUG-22829.patch
|
|||||||
# aarch64 support, https://bugreports.qt-project.org/browse/QTBUG-35442
|
# aarch64 support, https://bugreports.qt-project.org/browse/QTBUG-35442
|
||||||
Patch180: qt-aarch64.patch
|
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
|
## upstream git
|
||||||
|
|
||||||
## security patches
|
## 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
|
||||||
|
|
||||||
# desktop files
|
# desktop files
|
||||||
Source20: assistant.desktop
|
Source20: assistant.desktop
|
||||||
@ -257,6 +277,12 @@ Source31: hi48-app-qt4-logo.png
|
|||||||
%define tds -no-sql-tds
|
%define tds -no-sql-tds
|
||||||
%endif
|
%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
|
# macros, be mindful to keep sync'd with macros.qt4
|
||||||
Source1: macros.qt4
|
Source1: macros.qt4
|
||||||
%define _qt4 %{name}
|
%define _qt4 %{name}
|
||||||
@ -275,6 +301,7 @@ Source1: macros.qt4
|
|||||||
%define _qt4_sysconfdir %{_sysconfdir}
|
%define _qt4_sysconfdir %{_sysconfdir}
|
||||||
%define _qt4_translationdir %{_datadir}/qt4/translations
|
%define _qt4_translationdir %{_datadir}/qt4/translations
|
||||||
|
|
||||||
|
BuildRequires: make
|
||||||
BuildRequires: cups-devel
|
BuildRequires: cups-devel
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
BuildRequires: findutils
|
BuildRequires: findutils
|
||||||
@ -292,9 +319,15 @@ BuildRequires: pkgconfig(icu-i18n)
|
|||||||
%else
|
%else
|
||||||
BuildRequires: libicu-devel
|
BuildRequires: libicu-devel
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: pkgconfig(NetworkManager)
|
## 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)
|
||||||
%global openssl -openssl-linked
|
%global openssl -openssl-linked
|
||||||
|
%if 0%{?fedora} == 27
|
||||||
|
BuildRequires: compat-openssl10-devel
|
||||||
|
%else
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
|
%endif
|
||||||
BuildRequires: pkgconfig(libpng)
|
BuildRequires: pkgconfig(libpng)
|
||||||
BuildRequires: pkgconfig(libpulse)
|
BuildRequires: pkgconfig(libpulse)
|
||||||
BuildRequires: pkgconfig(xtst)
|
BuildRequires: pkgconfig(xtst)
|
||||||
@ -334,7 +367,7 @@ BuildRequires: pkgconfig(gtk+-2.0)
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if "%{?psql}" != "-no-sql-psql"
|
%if "%{?psql}" != "-no-sql-psql"
|
||||||
BuildRequires: postgresql-devel
|
BuildRequires: libpq-devel
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if "%{?odbc}" != "-no-sql-odbc"
|
%if "%{?odbc}" != "-no-sql-odbc"
|
||||||
@ -383,7 +416,6 @@ BuildArch: noarch
|
|||||||
|
|
||||||
%package assistant
|
%package assistant
|
||||||
Summary: Documentation browser for Qt 4
|
Summary: Documentation browser for Qt 4
|
||||||
Group: Documentation
|
|
||||||
Requires: %{name}-sqlite%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-sqlite%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Provides: qt4-assistant = %{version}-%{release}
|
Provides: qt4-assistant = %{version}-%{release}
|
||||||
Requires: %{name}-x11%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-x11%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
@ -395,7 +427,6 @@ Provides: bundled(clucene09)
|
|||||||
|
|
||||||
%package config
|
%package config
|
||||||
Summary: Graphical configuration tool for programs using Qt 4
|
Summary: Graphical configuration tool for programs using Qt 4
|
||||||
Group: User Interface/Desktops
|
|
||||||
# -config introduced in 4.7.1-10 , for upgrade path
|
# -config introduced in 4.7.1-10 , for upgrade path
|
||||||
# seems to tickle a pk bug, https://bugzilla.redhat.com/674326
|
# seems to tickle a pk bug, https://bugzilla.redhat.com/674326
|
||||||
#Obsoletes: %{name}-x11 < 1:4.7.1-10
|
#Obsoletes: %{name}-x11 < 1:4.7.1-10
|
||||||
@ -408,7 +439,6 @@ Requires: %{name}-x11%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
|||||||
%define demos 1
|
%define demos 1
|
||||||
%package demos
|
%package demos
|
||||||
Summary: Demonstration applications for %{name}
|
Summary: Demonstration applications for %{name}
|
||||||
Group: Documentation
|
|
||||||
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Requires: %{name}-doc
|
Requires: %{name}-doc
|
||||||
%description demos
|
%description demos
|
||||||
@ -417,7 +447,6 @@ Requires: %{name}-doc
|
|||||||
%define docs 1
|
%define docs 1
|
||||||
%package doc
|
%package doc
|
||||||
Summary: API documentation for %{name}
|
Summary: API documentation for %{name}
|
||||||
Group: Documentation
|
|
||||||
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Requires: %{name}-assistant
|
Requires: %{name}-assistant
|
||||||
Obsoletes: qt4-doc < %{version}-%{release}
|
Obsoletes: qt4-doc < %{version}-%{release}
|
||||||
@ -430,14 +459,12 @@ BuildArch: noarch
|
|||||||
|
|
||||||
%package designer-plugin-webkit
|
%package designer-plugin-webkit
|
||||||
Summary: Qt designer plugin for WebKit
|
Summary: Qt designer plugin for WebKit
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name}-x11%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-x11%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
%description designer-plugin-webkit
|
%description designer-plugin-webkit
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development files for the Qt toolkit
|
Summary: Development files for the Qt toolkit
|
||||||
Group: Development/Libraries
|
|
||||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Requires: %{name}-x11%{?_isa}
|
Requires: %{name}-x11%{?_isa}
|
||||||
Requires: %{name}-sqlite%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-sqlite%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
@ -474,7 +501,6 @@ Qt Linguist
|
|||||||
%define private 1
|
%define private 1
|
||||||
%package devel-private
|
%package devel-private
|
||||||
Summary: Private headers for Qt toolkit
|
Summary: Private headers for Qt toolkit
|
||||||
Group: Development/Libraries
|
|
||||||
Provides: qt4-devel-private = %{version}-%{release}
|
Provides: qt4-devel-private = %{version}-%{release}
|
||||||
Provides: %{name}-private-devel = %{?epoch:%{epoch}:}%{version}-%{release}
|
Provides: %{name}-private-devel = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Provides: qt4-private-devel = %{version}-%{release}
|
Provides: qt4-private-devel = %{version}-%{release}
|
||||||
@ -486,7 +512,6 @@ BuildArch: noarch
|
|||||||
%define examples 1
|
%define examples 1
|
||||||
%package examples
|
%package examples
|
||||||
Summary: Programming examples for %{name}
|
Summary: Programming examples for %{name}
|
||||||
Group: Documentation
|
|
||||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
%description examples
|
%description examples
|
||||||
%{summary}.
|
%{summary}.
|
||||||
@ -494,14 +519,12 @@ Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
|||||||
%define qvfb 1
|
%define qvfb 1
|
||||||
%package qvfb
|
%package qvfb
|
||||||
Summary: Virtual frame buffer for Qt for Embedded Linux
|
Summary: Virtual frame buffer for Qt for Embedded Linux
|
||||||
Group: Applications/Emulators
|
|
||||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
%description qvfb
|
%description qvfb
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package ibase
|
%package ibase
|
||||||
Summary: IBase driver for Qt's SQL classes
|
Summary: IBase driver for Qt's SQL classes
|
||||||
Group: System Environment/Libraries
|
|
||||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Provides: qt4-ibase = %{version}-%{release}
|
Provides: qt4-ibase = %{version}-%{release}
|
||||||
%{?_isa:Provides: qt4-ibase%{?_isa} = %{version}-%{release}}
|
%{?_isa:Provides: qt4-ibase%{?_isa} = %{version}-%{release}}
|
||||||
@ -510,7 +533,6 @@ Provides: qt4-ibase = %{version}-%{release}
|
|||||||
|
|
||||||
%package mysql
|
%package mysql
|
||||||
Summary: MySQL driver for Qt's SQL classes
|
Summary: MySQL driver for Qt's SQL classes
|
||||||
Group: System Environment/Libraries
|
|
||||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Obsoletes: qt4-MySQL < %{version}-%{release}
|
Obsoletes: qt4-MySQL < %{version}-%{release}
|
||||||
Provides: qt4-MySQL = %{version}-%{release}
|
Provides: qt4-MySQL = %{version}-%{release}
|
||||||
@ -522,7 +544,6 @@ Provides: qt4-mysql = %{version}-%{release}
|
|||||||
|
|
||||||
%package odbc
|
%package odbc
|
||||||
Summary: ODBC driver for Qt's SQL classes
|
Summary: ODBC driver for Qt's SQL classes
|
||||||
Group: System Environment/Libraries
|
|
||||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Obsoletes: qt4-ODBC < %{version}-%{release}
|
Obsoletes: qt4-ODBC < %{version}-%{release}
|
||||||
Provides: qt4-ODBC = %{version}-%{release}
|
Provides: qt4-ODBC = %{version}-%{release}
|
||||||
@ -534,7 +555,6 @@ Provides: qt4-odbc = %{version}-%{release}
|
|||||||
|
|
||||||
%package postgresql
|
%package postgresql
|
||||||
Summary: PostgreSQL driver for Qt's SQL classes
|
Summary: PostgreSQL driver for Qt's SQL classes
|
||||||
Group: System Environment/Libraries
|
|
||||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Obsoletes: qt4-PostgreSQL < %{version}-%{release}
|
Obsoletes: qt4-PostgreSQL < %{version}-%{release}
|
||||||
Provides: qt4-PostgreSQL = %{version}-%{release}
|
Provides: qt4-PostgreSQL = %{version}-%{release}
|
||||||
@ -546,7 +566,6 @@ Provides: qt4-postgresql = %{version}-%{release}
|
|||||||
|
|
||||||
%package tds
|
%package tds
|
||||||
Summary: TDS driver for Qt's SQL classes
|
Summary: TDS driver for Qt's SQL classes
|
||||||
Group: System Environment/Libraries
|
|
||||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Provides: qt4-tds = %{version}-%{release}
|
Provides: qt4-tds = %{version}-%{release}
|
||||||
%{?_isa:Provides: qt4-tds%{?_isa} = %{version}-%{release}}
|
%{?_isa:Provides: qt4-tds%{?_isa} = %{version}-%{release}}
|
||||||
@ -555,7 +574,6 @@ Provides: qt4-tds = %{version}-%{release}
|
|||||||
|
|
||||||
%package x11
|
%package x11
|
||||||
Summary: Qt GUI-related libraries
|
Summary: Qt GUI-related libraries
|
||||||
Group: System Environment/Libraries
|
|
||||||
# include Obsoletes here to be safe(r) bootstrap-wise with phonon-4.5.0
|
# include Obsoletes here to be safe(r) bootstrap-wise with phonon-4.5.0
|
||||||
# that will Provides: it -- Rex
|
# that will Provides: it -- Rex
|
||||||
Obsoletes: qt-designer-plugin-phonon < 1:4.7.2-6
|
Obsoletes: qt-designer-plugin-phonon < 1:4.7.2-6
|
||||||
@ -632,21 +650,30 @@ rm -rf src/3rdparty/clucene
|
|||||||
%patch91 -p1 -b .mips64
|
%patch91 -p1 -b .mips64
|
||||||
%patch92 -p1 -b .gcc6
|
%patch92 -p1 -b .gcc6
|
||||||
%patch93 -p1 -b .alsa1.1
|
%patch93 -p1 -b .alsa1.1
|
||||||
|
%if 0%{?fedora} > 27 || 0%{?rhel} > 7
|
||||||
%patch94 -p1 -b .openssl1.1
|
%patch94 -p1 -b .openssl1.1
|
||||||
|
%endif
|
||||||
%patch95 -p1 -b .icu59
|
%patch95 -p1 -b .icu59
|
||||||
%if 0%{?fedora} > 27
|
%if 0%{?fedora} > 27
|
||||||
%patch96 -p1 -b .gcc8_qtscript
|
%patch96 -p1 -b .gcc8_qtscript
|
||||||
%endif
|
%endif
|
||||||
|
%patch97 -p1 -b .gcc11
|
||||||
|
%patch98 -p1 -b .hardcode-buildkey
|
||||||
|
|
||||||
# upstream patches
|
# upstream patches
|
||||||
%patch102 -p1 -b .qgtkstyle_disable_gtk_theme_check
|
%patch102 -p1 -b .qgtkstyle_disable_gtk_theme_check
|
||||||
%patch113 -p1 -b .QTBUG-22829
|
%patch113 -p1 -b .QTBUG-22829
|
||||||
|
|
||||||
%patch180 -p1 -b .aarch64
|
%patch180 -p1 -b .aarch64
|
||||||
|
%patch181 -p1 -b .qforeach
|
||||||
|
|
||||||
# upstream git
|
# upstream git
|
||||||
|
|
||||||
# security fixes
|
# 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
|
||||||
|
|
||||||
# regression fixes for the security fixes
|
# regression fixes for the security fixes
|
||||||
%patch84 -p1 -b .QTBUG-35459
|
%patch84 -p1 -b .QTBUG-35459
|
||||||
|
|
||||||
@ -701,6 +728,11 @@ done
|
|||||||
|
|
||||||
|
|
||||||
%build
|
%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
|
# drop -fexceptions from $RPM_OPT_FLAGS
|
||||||
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
|
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
|
||||||
@ -795,25 +827,23 @@ fi
|
|||||||
%if ! 0%{?inject_optflags}
|
%if ! 0%{?inject_optflags}
|
||||||
# ensure qmake build using optflags (which can happen if not munging qmake.conf defaults)
|
# ensure qmake build using optflags (which can happen if not munging qmake.conf defaults)
|
||||||
make clean -C qmake
|
make clean -C qmake
|
||||||
make %{?_smp_mflags} -C qmake \
|
%make_build -C qmake \
|
||||||
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}" \
|
||||||
QMAKE_STRIP=
|
QMAKE_STRIP=
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
make %{?_smp_mflags}
|
%make_build
|
||||||
|
|
||||||
# TODO: consider patching tools/tools.pro to enable building this by default
|
# TODO: consider patching tools/tools.pro to enable building this by default
|
||||||
%{?qvfb:make %{?_smp_mflags} -C tools/qvfb}
|
%{?qvfb:%make_build -C tools/qvfb}
|
||||||
|
|
||||||
# recreate .qm files
|
# recreate .qm files
|
||||||
bin/lrelease translations/*.ts
|
bin/lrelease translations/*.ts
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf %{buildroot}
|
|
||||||
|
|
||||||
make install INSTALL_ROOT=%{buildroot}
|
make install INSTALL_ROOT=%{buildroot}
|
||||||
|
|
||||||
%if 0%{?qvfb}
|
%if 0%{?qvfb}
|
||||||
@ -1061,7 +1091,7 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
%{?ldconfig}
|
||||||
%if 0%{?qtchooser}
|
%if 0%{?qtchooser}
|
||||||
%{_sbindir}/update-alternatives \
|
%{_sbindir}/update-alternatives \
|
||||||
--install %{_sysconfdir}/xdg/qtchooser/4.conf \
|
--install %{_sysconfdir}/xdg/qtchooser/4.conf \
|
||||||
@ -1077,7 +1107,7 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
/sbin/ldconfig
|
%{?ldconfig}
|
||||||
%if 0%{?qtchooser}
|
%if 0%{?qtchooser}
|
||||||
if [ $1 -eq 0 ]; then
|
if [ $1 -eq 0 ]; then
|
||||||
%{_sbindir}/update-alternatives \
|
%{_sbindir}/update-alternatives \
|
||||||
@ -1150,18 +1180,6 @@ fi
|
|||||||
%files common
|
%files common
|
||||||
# empty for now, consider: filesystem/dir ownership, licenses
|
# 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
|
%files assistant
|
||||||
%if "%{_qt4_bindir}" != "%{_bindir}"
|
%if "%{_qt4_bindir}" != "%{_bindir}"
|
||||||
%{_bindir}/assistant*
|
%{_bindir}/assistant*
|
||||||
@ -1192,20 +1210,6 @@ fi
|
|||||||
%{_qt4_plugindir}/designer/libqwebview.so
|
%{_qt4_plugindir}/designer/libqwebview.so
|
||||||
%endif
|
%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
|
%files devel -f qt-devel.lang
|
||||||
%{rpm_macros_dir}/macros.qt4
|
%{rpm_macros_dir}/macros.qt4
|
||||||
%{_qt4_bindir}/lconvert
|
%{_qt4_bindir}/lconvert
|
||||||
@ -1343,19 +1347,7 @@ fi
|
|||||||
%{_qt4_plugindir}/sqldrivers/libqsqltds*
|
%{_qt4_plugindir}/sqldrivers/libqsqltds*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%post x11
|
%ldconfig_scriptlets 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
|
%files x11 -f qt-x11.lang
|
||||||
%dir %{_qt4_importdir}/
|
%dir %{_qt4_importdir}/
|
||||||
@ -1403,6 +1395,71 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* 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
|
* Sat May 19 2018 Rex Dieter <rdieter@fedoraproject.org> - 1:4.8.7-40
|
||||||
- build only qtscript using -O1 (#1580047)
|
- build only qtscript using -O1 (#1580047)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user