Update to 5.3.0
This commit is contained in:
parent
86ce10d90f
commit
7a3dd6d5af
|
@ -21,8 +21,8 @@
|
|||
|
||||
Summary: Qt5 - QtBase components
|
||||
Name: qt5-qtbase
|
||||
Version: 5.2.1
|
||||
Release: 8%{?dist}
|
||||
Version: 5.3.0
|
||||
Release: 1%{?dist}
|
||||
|
||||
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
|
||||
License: LGPLv2 with exceptions or GPLv3 with exceptions
|
||||
|
@ -45,22 +45,12 @@ Source5: qconfig-multilib.h
|
|||
# QT_XCB_FORCE_SOFTWARE_OPENGL for them
|
||||
Source6: 10-qt5-check-opengl2.sh
|
||||
|
||||
# help build on some lowmem archs, e.g. drop hard-coded -O3 optimization on some files
|
||||
Patch1: qtbase-opensource-src-5.0.2-lowmem.patch
|
||||
|
||||
# support multilib optflags
|
||||
Patch2: qtbase-multilib_optflags.patch
|
||||
|
||||
# qatomic on ppc/ppc64, http://bugzilla.redhat.com/1005482
|
||||
Patch3: qtbase-qatomic-ppc.patch
|
||||
|
||||
# fix QTBUG-35459 (too low entityCharacterLimit=1024 for CVE-2013-4549)
|
||||
Patch4: qt-everywhere-opensource-src-4.8.5-QTBUG-35459.patch
|
||||
|
||||
# add a QT_XCB_FORCE_SOFTWARE_OPENGL environment variable to allow forcing
|
||||
# LIBGL_ALWAYS_SOFTWARE (llvmpipe) for Qt 5 apps only
|
||||
Patch6: qtbase-opensource-src-5.2.0-allow-forcing-llvmpipe.patch
|
||||
|
||||
# unconditionally enable freetype lcdfilter support
|
||||
Patch12: qtbase-opensource-src-5.2.0-enable_ft_lcdfilter.patch
|
||||
|
||||
|
@ -72,10 +62,6 @@ Patch50: qt5-poll.patch
|
|||
|
||||
##upstream patches
|
||||
|
||||
## security patches
|
||||
# https://bugreports.qt-project.org/browse/QTBUG-38367
|
||||
Patch200: qtbase-opensource-src-5.2.1-QTBUG-38367.patch
|
||||
|
||||
# macros
|
||||
%define _qt5 %{name}
|
||||
%define _qt5_prefix %{_libdir}/qt5
|
||||
|
@ -262,23 +248,14 @@ Qt5 libraries used for drawing widgets and OpenGL items.
|
|||
# drop backup file(s), else they get installed too, http://bugzilla.redhat.com/639463
|
||||
rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags
|
||||
|
||||
%patch3 -p1 -b .qatomic-ppc
|
||||
%patch4 -p1 -b .QTBUG-35459
|
||||
%patch6 -p1 -b .allow-forcing-llvmpipe
|
||||
%patch12 -p1 -b .enable_ft_lcdfilter
|
||||
|
||||
#patch50 -p1 -b .poll
|
||||
|
||||
%patch200 -p1 -b .QTBUG-38367
|
||||
|
||||
# drop -fexceptions from $RPM_OPT_FLAGS
|
||||
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
|
||||
|
||||
# lowmem hacks
|
||||
#ifarch %{arm} s390
|
||||
%patch1 -p1 -b .lowmem
|
||||
#endif
|
||||
|
||||
%define platform linux-g++
|
||||
%ifarch %{multilib_archs}
|
||||
%if "%{?__isa_bits}" == "64"
|
||||
|
@ -694,6 +671,9 @@ popd
|
|||
|
||||
|
||||
%changelog
|
||||
* Wed May 21 2014 Jan Grulich <jgrulich@redhat.com> 5.3.0-1
|
||||
- 5.3.0
|
||||
|
||||
* Thu Apr 24 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.1-8
|
||||
- DoS vulnerability in the GIF image handler (QTBUG-38367)
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
diff -up qtbase-opensource-src-5.1.0/mkspecs/linux-g++-32/qmake.conf.multilib_optflags qtbase-opensource-src-5.1.0/mkspecs/linux-g++-32/qmake.conf
|
||||
--- qtbase-opensource-src-5.1.0/mkspecs/linux-g++-32/qmake.conf.multilib_optflags 2013-08-27 10:28:26.599972122 -0500
|
||||
+++ qtbase-opensource-src-5.1.0/mkspecs/linux-g++-32/qmake.conf 2013-08-27 10:30:03.780950078 -0500
|
||||
diff --git a/mkspecs/linux-g++-32/qmake.conf b/mkspecs/linux-g++-32/qmake.conf
|
||||
index 340aa85..571a559 100644
|
||||
--- a/mkspecs/linux-g++-32/qmake.conf
|
||||
+++ b/mkspecs/linux-g++-32/qmake.conf
|
||||
@@ -9,6 +9,8 @@ QMAKE_INCREMENTAL_STYLE = sublib
|
||||
QMAKE_CFLAGS = -m32
|
||||
QMAKE_LFLAGS = -m32
|
||||
|
@ -10,9 +11,10 @@ diff -up qtbase-opensource-src-5.1.0/mkspecs/linux-g++-32/qmake.conf.multilib_op
|
|||
include(../common/linux.conf)
|
||||
include(../common/gcc-base-unix.conf)
|
||||
include(../common/g++-unix.conf)
|
||||
diff -up qtbase-opensource-src-5.1.0/mkspecs/linux-g++-64/qmake.conf.multilib_optflags qtbase-opensource-src-5.1.0/mkspecs/linux-g++-64/qmake.conf
|
||||
--- qtbase-opensource-src-5.1.0/mkspecs/linux-g++-64/qmake.conf.multilib_optflags 2013-08-27 10:28:26.600972112 -0500
|
||||
+++ qtbase-opensource-src-5.1.0/mkspecs/linux-g++-64/qmake.conf 2013-08-27 10:29:49.188103550 -0500
|
||||
diff --git a/mkspecs/linux-g++-64/qmake.conf b/mkspecs/linux-g++-64/qmake.conf
|
||||
index 36fb6a8..9a07595 100644
|
||||
--- a/mkspecs/linux-g++-64/qmake.conf
|
||||
+++ b/mkspecs/linux-g++-64/qmake.conf
|
||||
@@ -12,6 +12,8 @@ QMAKE_INCREMENTAL_STYLE = sublib
|
||||
QMAKE_CFLAGS = -m64
|
||||
QMAKE_LFLAGS = -m64
|
||||
|
@ -22,11 +24,12 @@ diff -up qtbase-opensource-src-5.1.0/mkspecs/linux-g++-64/qmake.conf.multilib_op
|
|||
include(../common/linux.conf)
|
||||
include(../common/gcc-base-unix.conf)
|
||||
include(../common/g++-unix.conf)
|
||||
diff -up qtbase-opensource-src-5.1.0/mkspecs/linux-g++/qmake.conf.multilib_optflags qtbase-opensource-src-5.1.0/mkspecs/linux-g++/qmake.conf
|
||||
--- qtbase-opensource-src-5.1.0/mkspecs/linux-g++/qmake.conf.multilib_optflags 2013-08-27 10:28:26.601972101 -0500
|
||||
+++ qtbase-opensource-src-5.1.0/mkspecs/linux-g++/qmake.conf 2013-08-27 10:29:30.196303285 -0500
|
||||
diff --git a/mkspecs/linux-g++/qmake.conf b/mkspecs/linux-g++/qmake.conf
|
||||
index 35bce8f..5186f98 100644
|
||||
--- a/mkspecs/linux-g++/qmake.conf
|
||||
+++ b/mkspecs/linux-g++/qmake.conf
|
||||
@@ -6,6 +6,8 @@ MAKEFILE_GENERATOR = UNIX
|
||||
CONFIG += incremental gdb_dwarf_index
|
||||
CONFIG += incremental
|
||||
QMAKE_INCREMENTAL_STYLE = sublib
|
||||
|
||||
+QMAKE_CFLAGS_RELEASE += -O2
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
diff -up qtbase-opensource-src-5.0.2/src/gui/painting/qdrawhelper.cpp.lowmem qtbase-opensource-src-5.0.2/src/gui/painting/qdrawhelper.cpp
|
||||
--- qtbase-opensource-src-5.0.2/src/gui/painting/qdrawhelper.cpp.lowmem 2013-04-08 19:11:09.000000000 -0500
|
||||
+++ qtbase-opensource-src-5.0.2/src/gui/painting/qdrawhelper.cpp 2013-04-18 19:34:44.600940784 -0500
|
||||
@@ -43,8 +43,8 @@
|
||||
&& (__GNUC__ * 100 + __GNUC_MINOR__ * 10 + __GNUC_PATCHLEVEL__ >= 440)
|
||||
// GCC 4.4 supports #pragma GCC optimize and #pragma GCC target
|
||||
|
||||
-# if (__GNUC__ * 100 + __GNUC_MINOR__ * 10 + __GNUC_PATCHLEVEL__ < 473)
|
||||
-// From GCC 4.7.3 onwards, GCC optimize can result in gcc bailing out with OOM
|
||||
+# if (__GNUC__ * 100 + __GNUC_MINOR__ * 10 + __GNUC_PATCHLEVEL__ < 472)
|
||||
+// From GCC 4.7.2 onwards, GCC optimize can result in gcc bailing out with OOM
|
||||
# pragma GCC optimize "O3"
|
||||
# endif
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
diff -ur qtbase-opensource-src-5.2.0/src/platformsupport/glxconvenience/qglxconvenience.cpp qtbase-opensource-src-5.2.0-allow-forcing-llvmpipe/src/platformsupport/glxconvenience/qglxconvenience.cpp
|
||||
--- qtbase-opensource-src-5.2.0/src/platformsupport/glxconvenience/qglxconvenience.cpp 2013-12-08 18:09:47.000000000 +0100
|
||||
+++ qtbase-opensource-src-5.2.0-allow-forcing-llvmpipe/src/platformsupport/glxconvenience/qglxconvenience.cpp 2014-01-29 19:03:23.000000000 +0100
|
||||
@@ -39,6 +39,10 @@
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
+// We have to include this before the X11 headers dragged in by
|
||||
+// qglxconvenience_p.h.
|
||||
+#include <QtCore/QByteArray>
|
||||
+
|
||||
#include "qglxconvenience_p.h"
|
||||
|
||||
#include <QtCore/QVector>
|
||||
@@ -116,6 +120,27 @@
|
||||
|
||||
GLXFBConfig qglx_findConfig(Display *display, int screen , const QSurfaceFormat &format, int drawableBit)
|
||||
{
|
||||
+ // Allow forcing LIBGL_ALWAYS_SOFTWARE for Qt 5 applications only.
|
||||
+ // This is most useful with drivers that only support OpenGL 1.
|
||||
+ // We need OpenGL 2, but the user probably doesn't want
|
||||
+ // LIBGL_ALWAYS_SOFTWARE in OpenGL 1 apps.
|
||||
+ static bool checkedForceSoftwareOpenGL = false;
|
||||
+ static bool forceSoftwareOpenGL = false;
|
||||
+ if (!checkedForceSoftwareOpenGL) {
|
||||
+ // If LIBGL_ALWAYS_SOFTWARE is already set, don't mess with it.
|
||||
+ // We want to unset LIBGL_ALWAYS_SOFTWARE at the end so it does not
|
||||
+ // get inherited by other processes, of course only if it wasn't
|
||||
+ // already set before.
|
||||
+ if (!qEnvironmentVariableIsEmpty("QT_XCB_FORCE_SOFTWARE_OPENGL")
|
||||
+ && !qEnvironmentVariableIsSet("LIBGL_ALWAYS_SOFTWARE"))
|
||||
+ forceSoftwareOpenGL = true;
|
||||
+
|
||||
+ checkedForceSoftwareOpenGL = true;
|
||||
+ }
|
||||
+
|
||||
+ if (forceSoftwareOpenGL)
|
||||
+ qputenv("LIBGL_ALWAYS_SOFTWARE", QByteArrayLiteral("1"));
|
||||
+
|
||||
bool reduced = true;
|
||||
GLXFBConfig chosenConfig = 0;
|
||||
QSurfaceFormat reducedFormat = format;
|
||||
@@ -159,6 +184,10 @@
|
||||
reducedFormat = qglx_reduceSurfaceFormat(reducedFormat,&reduced);
|
||||
}
|
||||
|
||||
+ // unset LIBGL_ALWAYS_SOFTWARE now so other processes don't inherit it
|
||||
+ if (forceSoftwareOpenGL)
|
||||
+ qunsetenv("LIBGL_ALWAYS_SOFTWARE");
|
||||
+
|
||||
return chosenConfig;
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
diff -up qtbase-opensource-src-5.2.1/src/gui/image/qgifhandler.cpp.QTBUG-38367 qtbase-opensource-src-5.2.1/src/gui/image/qgifhandler.cpp
|
||||
--- qtbase-opensource-src-5.2.1/src/gui/image/qgifhandler.cpp.QTBUG-38367 2014-02-01 14:37:35.000000000 -0600
|
||||
+++ qtbase-opensource-src-5.2.1/src/gui/image/qgifhandler.cpp 2014-04-24 16:28:10.952100278 -0500
|
||||
@@ -359,6 +359,13 @@ int QGIFFormat::decode(QImage *image, co
|
||||
memset(bits, 0, image->byteCount());
|
||||
}
|
||||
|
||||
+ // Check if the previous attempt to create the image failed. If it
|
||||
+ // did then the image is broken and we should give up.
|
||||
+ if (image->isNull()) {
|
||||
+ state = Error;
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
disposePrevious(image);
|
||||
disposed = false;
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
Index: qtbase-opensource-src-5.1.1/src/corelib/thread/qoldbasicatomic.h
|
||||
===================================================================
|
||||
--- qtbase-opensource-src-5.1.1.orig/src/corelib/thread/qoldbasicatomic.h
|
||||
+++ qtbase-opensource-src-5.1.1/src/corelib/thread/qoldbasicatomic.h
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
// Atomic API, implemented in qatomic_XXX.h
|
||||
|
||||
int load() const { return _q_value; }
|
||||
- int loadAcquire() { return _q_value; }
|
||||
+ int loadAcquire() const { return _q_value; }
|
||||
void store(int newValue) { _q_value = newValue; }
|
||||
void storeRelease(int newValue) { _q_value = newValue; }
|
||||
|
||||
@@ -107,7 +107,7 @@ public:
|
||||
// Atomic API, implemented in qatomic_XXX.h
|
||||
|
||||
T *load() const { return _q_value; }
|
||||
- T *loadAcquire() { return _q_value; }
|
||||
+ T *loadAcquire() const { return _q_value; }
|
||||
void store(T *newValue) { _q_value = newValue; }
|
||||
void storeRelease(T *newValue) { _q_value = newValue; }
|
||||
|
Loading…
Reference in New Issue