diff --git a/qt-x11-free-3.3.8b-CVE-2013-4549.patch b/qt-x11-free-3.3.8b-CVE-2013-4549.patch index b76730c..09e3a83 100644 --- a/qt-x11-free-3.3.8b-CVE-2013-4549.patch +++ b/qt-x11-free-3.3.8b-CVE-2013-4549.patch @@ -96,7 +96,7 @@ diff -ur qt-x11-free-3.3.8b/src/xml/qxml.h qt-x11-free-3.3.8b-CVE-2013-4549/src/ + // for the DTD currently being parsed. + static const uint dtdRecursionLimit = 2U; + // The maximum amount of characters an entity value may contain, after expansion. -+ static const uint entityCharacterLimit = 4096U; ++ static const uint entityCharacterLimit = 65536U; + const QString &string(); void stringClear(); diff --git a/qt-x11-free-3.3.8b-CVE-2015-0295.patch b/qt-x11-free-3.3.8b-CVE-2015-0295.patch deleted file mode 100644 index 1ea84fe..0000000 --- a/qt-x11-free-3.3.8b-CVE-2015-0295.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -ur qt-x11-free-3.3.8b/src/kernel/qimage.cpp qt-x11-free-3.3.8b-CVE-2015-0295/src/kernel/qimage.cpp ---- qt-x11-free-3.3.8b/src/kernel/qimage.cpp 2008-01-15 20:09:13.000000000 +0100 -+++ qt-x11-free-3.3.8b-CVE-2015-0295/src/kernel/qimage.cpp 2015-02-28 04:59:11.000000000 +0100 -@@ -4716,10 +4716,16 @@ - if ( (Q_ULONG)d->readBlock( (char *)&blue_mask, sizeof(blue_mask) ) != sizeof(blue_mask) ) - return FALSE; - red_shift = calc_shift(red_mask); -+ if (((red_mask >> red_shift) + 1) == 0) -+ return FALSE; - red_scale = 256 / ((red_mask >> red_shift) + 1); - green_shift = calc_shift(green_mask); -+ if (((green_mask >> green_shift) + 1) == 0) -+ return FALSE; - green_scale = 256 / ((green_mask >> green_shift) + 1); - blue_shift = calc_shift(blue_mask); -+ if (((blue_mask >> blue_shift) + 1) == 0) -+ return FALSE; - blue_scale = 256 / ((blue_mask >> blue_shift) + 1); - } else if (comp == BMP_RGB && (nbits == 24 || nbits == 32)) { - blue_mask = 0x000000ff; diff --git a/qt-x11-free-3.3.8b-CVE-2015-1860.patch b/qt-x11-free-3.3.8b-CVE-2015-1860.patch deleted file mode 100644 index d82f9a3..0000000 --- a/qt-x11-free-3.3.8b-CVE-2015-1860.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur qt-x11-free-3.3.8b/src/kernel/qasyncimageio.cpp qt-x11-free-3.3.8b-CVE-2015-1860/src/kernel/qasyncimageio.cpp ---- qt-x11-free-3.3.8b/src/kernel/qasyncimageio.cpp 2008-01-15 20:09:13.000000000 +0100 -+++ qt-x11-free-3.3.8b-CVE-2015-1860/src/kernel/qasyncimageio.cpp 2015-04-22 01:30:03.000000000 +0200 -@@ -1221,6 +1221,8 @@ - - void QGIFFormat::nextY(QImage& img, QImageConsumer* consumer) - { -+ if (out_of_bounds) -+ return; - int my; - switch (interlace) { - case 0: diff --git a/qt-x11-free-3.3.8b-PostgreSQL12.patch b/qt-x11-free-3.3.8b-PostgreSQL12.patch deleted file mode 100644 index b4b0162..0000000 --- a/qt-x11-free-3.3.8b-PostgreSQL12.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up qt-x11-free-3.3.8b/src/sql/drivers/psql/qsql_psql.cpp.me qt-x11-free-3.3.8b/src/sql/drivers/psql/qsql_psql.cpp ---- qt-x11-free-3.3.8b/src/sql/drivers/psql/qsql_psql.cpp.me 2020-07-16 10:21:41.403226592 +0200 -+++ qt-x11-free-3.3.8b/src/sql/drivers/psql/qsql_psql.cpp 2020-07-16 10:23:00.754291164 +0200 -@@ -147,8 +147,10 @@ static QVariant::Type qDecodePSQLType( i - case FLOAT8OID : - type = QVariant::Double; - break; -+#ifdef ABSTIMEOID - case ABSTIMEOID : - case RELTIMEOID : -+#endif - case DATEOID : - type = QVariant::Date; - break; diff --git a/qt-x11-free-3.3.8b-gcc4-buildkey.patch b/qt-x11-free-3.3.8b-gcc4-buildkey.patch new file mode 100644 index 0000000..ed002bc --- /dev/null +++ b/qt-x11-free-3.3.8b-gcc4-buildkey.patch @@ -0,0 +1,25 @@ +diff -ur qt-x11-free-3.3.8b/configure qt-x11-free-3.3.8b-gcc4-buildkey/configure +--- qt-x11-free-3.3.8b/configure 2008-01-15 20:09:15.000000000 +0100 ++++ qt-x11-free-3.3.8b-gcc4-buildkey/configure 2008-02-18 02:41:01.000000000 +0100 +@@ -3081,16 +3081,16 @@ + g++*) + # GNU C++ + QMAKE_CONF_COMPILER=`grep "QMAKE_CXX[^_A-Z0-9a-z]" $QMAKESPEC/qmake.conf | sed "s,.* *= *\(.*\)$,\1,"` +- COMPILER_VERSION=`${QMAKE_CONF_COMPILER} --version 2>/dev/null` ++ COMPILER_VERSION=`${QMAKE_CONF_COMPILER} --version 2>/dev/null | sed 's,^[^0-9]*,,g'` + case "$COMPILER_VERSION" in +- *2.95.*) ++ 2.95.*) + COMPILER_VERSION="2.95.*" + ;; +- *3.*) ++ 3.*) + COMPILER_VERSION="3.*" + ;; +- *4.*) +- COMPILER_VERSION="4" ++ 4.*) ++ COMPILER_VERSION="4.*" + ;; + *) + ;; diff --git a/qt-x11-free-3.3.8b-hardcode-buildkey.patch b/qt-x11-free-3.3.8b-hardcode-buildkey.patch deleted file mode 100644 index e213648..0000000 --- a/qt-x11-free-3.3.8b-hardcode-buildkey.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -ur qt-x11-free-3.3.8b/configure qt-x11-free-3.3.8b-hardcode-buildkey/configure ---- qt-x11-free-3.3.8b/configure 2008-01-15 20:09:15.000000000 +0100 -+++ qt-x11-free-3.3.8b-hardcode-buildkey/configure 2019-01-05 04:57:37.066254942 +0100 -@@ -3081,20 +3081,7 @@ - g++*) - # GNU C++ - QMAKE_CONF_COMPILER=`grep "QMAKE_CXX[^_A-Z0-9a-z]" $QMAKESPEC/qmake.conf | sed "s,.* *= *\(.*\)$,\1,"` -- COMPILER_VERSION=`${QMAKE_CONF_COMPILER} --version 2>/dev/null` -- case "$COMPILER_VERSION" in -- *2.95.*) -- COMPILER_VERSION="2.95.*" -- ;; -- *3.*) -- COMPILER_VERSION="3.*" -- ;; -- *4.*) -- COMPILER_VERSION="4" -- ;; -- *) -- ;; -- esac -+ COMPILER_VERSION="4.*" - [ ! -z "$COMPILER_VERSION" ] && COMPILER="g++-${COMPILER_VERSION}" - ;; - *) diff --git a/qt-x11-free-3.3.8b-mariadb.patch b/qt-x11-free-3.3.8b-mariadb.patch deleted file mode 100644 index 7aed136..0000000 --- a/qt-x11-free-3.3.8b-mariadb.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -up qt-x11-free-3.3.8b/src/sql/drivers/mysql/qsql_mysql.cpp.me qt-x11-free-3.3.8b/src/sql/drivers/mysql/qsql_mysql.cpp ---- qt-x11-free-3.3.8b/src/sql/drivers/mysql/qsql_mysql.cpp.me 2017-11-10 18:08:22.850898663 +0100 -+++ qt-x11-free-3.3.8b/src/sql/drivers/mysql/qsql_mysql.cpp 2017-11-13 15:02:41.565493236 +0100 -@@ -350,30 +350,38 @@ int QMYSQLResult::numRowsAffected() - static void qServerEnd() - { - #ifndef Q_NO_MYSQL_EMBEDDED --# if MYSQL_VERSION_ID >= 40000 -+#if !defined(MARIADB_BASE_VERSION) && !defined(MARIADB_VERSION_ID) -+# if MYSQL_VERSION_ID > 40000 -+# if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003 -+ mysql_library_end(); -+# else - mysql_server_end(); --# endif // MYSQL_VERSION_ID --#endif // Q_NO_MYSQL_EMBEDDED -+# endif -+# endif -+#endif -+#endif - } - - static void qServerInit() - { - #ifndef Q_NO_MYSQL_EMBEDDED - # if MYSQL_VERSION_ID >= 40000 -- if ( qMySqlInitHandledByUser || qMySqlConnectionCount > 1 ) -+ if (qMySqlInitHandledByUser || qMySqlConnectionCount > 1) - return; - -- // this should only be called once -- // has no effect on client/server library -- // but is vital for the embedded lib -- if ( mysql_server_init( 0, 0, 0 ) ) { --# ifdef QT_CHECK_RANGE -- qWarning( "QMYSQLDriver::qServerInit: unable to start server." ); --# endif -+# if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003 -+ if (mysql_library_init(0, 0, 0)) { -+# else -+ if (mysql_server_init(0, 0, 0)) { -+# endif -+ qWarning("QMYSQLDriver::qServerInit: unable to start server."); - } -- - # endif // MYSQL_VERSION_ID - #endif // Q_NO_MYSQL_EMBEDDED -+ -+#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID) -+ qAddPostRoutine(mysql_server_end); -+#endif - } - - QMYSQLDriver::QMYSQLDriver( QObject * parent, const char * name ) diff --git a/qt-x11-free-3.3.8b-postgresql11.patch b/qt-x11-free-3.3.8b-postgresql11.patch deleted file mode 100644 index ad9c4cc..0000000 --- a/qt-x11-free-3.3.8b-postgresql11.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff -ur qt-x11-free-3.3.8b/src/sql/qsqlextension_p.cpp qt-x11-free-3.3.8b-postgresql11/src/sql/qsqlextension_p.cpp ---- qt-x11-free-3.3.8b/src/sql/qsqlextension_p.cpp 2008-01-15 20:09:13.000000000 +0100 -+++ qt-x11-free-3.3.8b-postgresql11/src/sql/qsqlextension_p.cpp 2019-01-05 05:21:29.839087511 +0100 -@@ -68,7 +68,7 @@ - if ( index.contains( (int)values.count() ) ) { - index[ (int)values.count() ] = placeholder; - } -- values[ placeholder ] = Param( val, tp ); -+ values[ placeholder ] = Parame( val, tp ); - } - - void QSqlExtension::bindValue( int pos, const QVariant& val, QSql::ParameterType tp ) -@@ -76,7 +76,7 @@ - bindm = BindByPosition; - index[ pos ] = QString::number( pos ); - QString nm = QString::number( pos ); -- values[ nm ] = Param( val, tp ); -+ values[ nm ] = Parame( val, tp ); - } - - void QSqlExtension::addBindValue( const QVariant& val, QSql::ParameterType tp ) -@@ -130,7 +130,7 @@ - - QMap QSqlExtension::boundValues() const - { -- QMap::ConstIterator it; -+ QMap::ConstIterator it; - QMap m; - if ( bindm == BindByName ) { - for ( it = values.begin(); it != values.end(); ++it ) -diff -ur qt-x11-free-3.3.8b/src/sql/qsqlextension_p.h qt-x11-free-3.3.8b-postgresql11/src/sql/qsqlextension_p.h ---- qt-x11-free-3.3.8b/src/sql/qsqlextension_p.h 2008-01-15 20:09:13.000000000 +0100 -+++ qt-x11-free-3.3.8b-postgresql11/src/sql/qsqlextension_p.h 2019-01-05 05:20:59.605555077 +0100 -@@ -71,11 +71,11 @@ - #define QM_TEMPLATE_EXTERN_SQL Q_TEMPLATE_EXTERN - #endif - --struct Param { -- Param( const QVariant& v = QVariant(), QSql::ParameterType t = QSql::In ): value( v ), typ( t ) {} -+struct Parame { -+ Parame( const QVariant& v = QVariant(), QSql::ParameterType t = QSql::In ): value( v ), typ( t ) {} - QVariant value; - QSql::ParameterType typ; -- Q_DUMMY_COMPARISON_OPERATOR(Param) -+ Q_DUMMY_COMPARISON_OPERATOR(Parame) - }; - - struct Holder { -@@ -114,7 +114,7 @@ - int bindCount; - - QMap index; -- typedef QMap ValueMap; -+ typedef QMap ValueMap; - ValueMap values; - - // convenience container for QSqlQuery diff --git a/qt.sh b/qt.sh index 5b7c94c..df8d24e 100755 --- a/qt.sh +++ b/qt.sh @@ -20,10 +20,9 @@ for QTDIR in ${QT_PREFIXES} ; do done unset QT_PREFIXES -case :$PATH: in - *:$QTDIR/bin:*) ;; - *) PATH=$QTDIR/bin:$PATH ;; -esac +if ! echo ${PATH} | /bin/grep -q $QTDIR/bin ; then + PATH=$QTDIR/bin:${PATH} +fi QTINC="$QTDIR/include" QTLIB="$QTDIR/lib" diff --git a/qt3.spec b/qt3.spec index 7351f22..7b7fbc0 100644 --- a/qt3.spec +++ b/qt3.spec @@ -6,9 +6,10 @@ Name: qt3 Summary: The shared library for the Qt 3 GUI toolkit Version: 3.3.8b -Release: 102%{?dist} -# Automatically converted from old format: QPL or GPLv2 or GPLv3 - review is highly recommended. -License: QPL-1.0 OR GPL-2.0-only OR GPL-3.0-only +Release: 58%{?dist} +License: QPL or GPLv2 or GPLv3 +Group: System Environment/Libraries +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Url: http://www.troll.no Source0: ftp://ftp.trolltech.com/qt/source/qt-x11-free-%{version}.tar.gz Source2: qt.sh @@ -28,9 +29,8 @@ Patch8: qt-x11-free-3.3.3-qembed.patch Patch12: qt-uic-nostdlib.patch Patch13: qt-x11-free-3.3.6-qfontdatabase_x11.patch Patch14: qt-x11-free-3.3.3-gl.patch -Patch19: qt-3.3.3-gtkstyle.patch -# hardcode the compiler version in the build key once and for all -Patch20: qt-x11-free-3.3.8b-hardcode-buildkey.patch +Patch19: qt-3.3.3-gtkstyle.patch +Patch20: qt-x11-free-3.3.8b-gcc4-buildkey.patch Patch24: qt-x11-free-3.3.5-uic.patch Patch25: qt-x11-free-3.3.8b-uic-multilib.patch Patch27: qt-3.3.6-fontrendering-ml_IN-209097.patch @@ -65,8 +65,6 @@ Patch46: qt-3.3.8-libpng15.patch Patch47: qt-x11-free-3.3.8b-#1037297.patch # search for FreeType using pkg-config, fixes FTBFS with freetype >= 2.5.1 Patch48: qt-x11-free-3.3.8b-freetype251.patch -# rename the struct Param in qsqlextension_p.h that conflicts with PostgreSQL 11 -Patch49: qt-x11-free-3.3.8b-postgresql11.patch # immodule patches Patch50: qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2 @@ -74,12 +72,6 @@ Patch51: qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch Patch52: qt-x11-free-3.3.8b-fix-key-release-event-with-imm.diff Patch53: qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch -# mariadb support -Patch60: qt-x11-free-3.3.8b-mariadb.patch - -# compile with PostgreSQL 12 -Patch70: qt-x11-free-3.3.8b-PostgreSQL12.patch - # qt-copy patches Patch100: 0038-dragobject-dont-prefer-unknown.patch Patch101: 0047-fix-kmenu-width.diff @@ -99,10 +91,6 @@ Patch201: qt-x11-free-3.3.8b-gcc43.patch Patch300: qt-x11-free-3.3.8b-CVE-2013-4549.patch # fix for CVE-2014-0190 (QTBUG-38367) backported from Qt 4 Patch301: qt-x11-free-3.3.8b-CVE-2014-0190.patch -# fix for CVE-2015-0295 backported from Qt 4 -Patch302: qt-x11-free-3.3.8b-CVE-2015-0295.patch -# fix for CVE-2015-1860 backported from Qt 4 -Patch303: qt-x11-free-3.3.8b-CVE-2015-1860.patch %define qt_dirname qt-3.3 %define qtdir %{_libdir}/%{qt_dirname} @@ -124,7 +112,7 @@ Patch303: qt-x11-free-3.3.8b-CVE-2015-1860.patch %define plugin_odbc -plugin-sql-odbc # sqlite plugins -%if 0%{?rhel} && 0%{?rhel} < 7 +%if 0%{?rhel} < 7 %define plugin_sqlite -plugin-sql-sqlite %else %define plugin_sqlite %{nil} @@ -136,8 +124,6 @@ Patch303: qt-x11-free-3.3.8b-CVE-2015-1860.patch # not sure what this is for anymore? -- rex Requires: coreutils -BuildRequires: make -BuildRequires: gcc-c++ BuildRequires: desktop-file-utils BuildRequires: libmng-devel BuildRequires: glibc-devel @@ -145,7 +131,7 @@ BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: zlib-devel BuildRequires: giflib-devel -BuildRequires: perl-interpreter +BuildRequires: perl BuildRequires: sed BuildRequires: findutils BuildRequires: cups-devel @@ -168,24 +154,22 @@ BuildRequires: xorg-x11-proto-devel BuildRequires: mesa-libGL-devel BuildRequires: mesa-libGLU-devel BuildRequires: desktop-file-utils -%if 0%{?fedora} > 27 || 0%{?rhel} > 7 -BuildRequires: mariadb-connector-c-devel -%else BuildRequires: mysql-devel -%endif -BuildRequires: postgresql-server-devel +BuildRequires: postgresql-devel BuildRequires: unixODBC-devel -%if 0%{?rhel} && 0%{?rhel} < 7 +%if 0%{?rhel} < 7 BuildRequires: sqlite2-devel %endif %package config Summary: Graphical configuration tool for programs using Qt 3 +Group: User Interface/Desktops Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} %package devel Summary: Development files for the Qt 3 GUI toolkit +Group: Development/Libraries Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: libXrender-devel Requires: libXrandr-devel @@ -203,26 +187,32 @@ Requires: mesa-libGLU-devel %package devel-docs Summary: Documentation for the Qt 3 GUI toolkit +Group: Development/Libraries Requires: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release} %package ODBC Summary: ODBC drivers for Qt 3's SQL classes +Group: System Environment/Libraries Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} %package MySQL Summary: MySQL drivers for Qt 3's SQL classes +Group: System Environment/Libraries Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} %package PostgreSQL Summary: PostgreSQL drivers for Qt 3's SQL classes +Group: System Environment/Libraries Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} %package sqlite Summary: sqlite drivers for Qt 3's SQL classes +Group: System Environment/Libraries Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} %package designer Summary: Interface designer (IDE) for the Qt 3 toolkit +Group: Development/Tools Requires: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release} %description @@ -283,86 +273,76 @@ for the Qt 3 toolkit. %prep %setup -q -n qt-x11-free-%{version} -%patch -P1 -p1 -b .cjk -%patch -P2 -p1 -b .ndebug -%patch -P3 -p1 -b .makefile -%patch -P4 -p1 -b .umask -%patch -P5 -p1 -b .strip +%patch1 -p1 -b .cjk +%patch2 -p1 -b .ndebug +%patch3 -p1 -b .makefile +%patch4 -p1 -b .umask +%patch5 -p1 -b .strip # drop backup file(s), else they get installed too, http://bugzilla.redhat.com/639459 rm -fv mkspecs/linux-g++*/qmake.conf.strip -%patch -P7 -p1 -b .quiet -%patch -P8 -p1 -b .qembed -%patch -P12 -p1 -b .nostdlib -%patch -P13 -p1 -b .fonts -%patch -P14 -p1 -b .gl -%patch -P19 -p1 -b .gtk -gcc -dumpversion ||: -%patch -P20 -p1 -b .hardcode-buildkey -%patch -P24 -p1 -b .uic -%patch -P25 -p1 -b .uic-multilib -%patch -P27 -p1 -b .fontrendering-ml_IN-bz#209097 -%patch -P29 -p1 -b .fontrendering-as_IN-bz#209972 -%patch -P31 -p1 -b .fontrendering-te_IN-bz#211259 -%patch -P32 -p1 -b .fontrendering-bz#214371 -%patch -P33 -p1 -b .fontrendering-#214570 -%patch -P34 -p1 -b .fontrendering-#209974 -%patch -P35 -p1 -b .fontrendering-ml_IN-217657 -%patch -P37 -p1 -b .fontrendering-gu-228452 -%patch -P38 -p1 -b .odbc +%patch7 -p1 -b .quiet +%patch8 -p1 -b .qembed +%patch12 -p1 -b .nostdlib +%patch13 -p1 -b .fonts +%patch14 -p1 -b .gl +%patch19 -p1 -b .gtk +%patch20 -p1 -b .gcc4-buildkey +%patch24 -p1 -b .uic +%patch25 -p1 -b .uic-multilib +%patch27 -p1 -b .fontrendering-ml_IN-bz#209097 +%patch29 -p1 -b .fontrendering-as_IN-bz#209972 +%patch31 -p1 -b .fontrendering-te_IN-bz#211259 +%patch32 -p1 -b .fontrendering-bz#214371 +%patch33 -p1 -b .fontrendering-#214570 +%patch34 -p1 -b .fontrendering-#209974 +%patch35 -p1 -b .fontrendering-ml_IN-217657 +%patch37 -p1 -b .fontrendering-gu-228452 +%patch38 -p1 -b .odbc # it's not 100% clear to me if this is safe for all archs -- Rex %ifarch %{arm} -%patch -P39 -p1 -b .arm +%patch39 -p1 -b .arm %endif -%patch -P40 -p1 -b .sane_defaults +%patch40 -p1 -b .sane_defaults sed -i.KDE3_PLUGIN_PATH \ -e "s|@@KDE3_PLUGIN_PATH@@|%{_libdir}/kde3/plugins|" \ src/kernel/qapplication.cpp -%patch -P41 -p1 -b .cstddef -%patch -P42 -p1 -b .qlocale-aliasing -%patch -P43 -p1 -b .system-sqlite2 -%patch -P44 -p1 -b .qimage-parentheses -%patch -P45 -p1 -b .system-zlib-header +%patch41 -p1 -b .cstddef +%patch42 -p1 -b .qlocale-aliasing +%patch43 -p1 -b .system-sqlite2 +%patch44 -p1 -b .qimage-parentheses +%patch45 -p1 -b .system-zlib-header %if 0%{?fedora} > 16 || 0%{?rhel} > 6 # This patch works ONLY with libpng >= 1.5. -%patch -P46 -p0 -b .libpng15 +%patch46 -p0 -b .libpng15 %endif -%patch -P47 -p1 -b .#1037297 -%patch -P48 -p1 -b .freetype251 -%patch -P49 -p1 -b .postgresql11 +%patch47 -p1 -b .#1037297 +%patch48 -p1 -b .freetype251 # immodule patches %if %{immodule} -%patch -P50 -p1 -%patch -P51 -p1 -b .quiet -%patch -P52 -p1 -b .fix-key-release-event-with-imm -%patch -P53 -p1 -b .resetinputcontext +%patch50 -p1 +%patch51 -p1 -b .quiet +%patch52 -p1 -b .fix-key-release-event-with-imm +%patch53 -p1 -b .resetinputcontext %endif -# mariadb -%patch -P60 -p1 -b .mariadb - -# PostgreSQL 12 -%patch -P70 -p1 -b .PostgreSQL12 - # qt-copy patches -%patch -P100 -p0 -b .0038-dragobject-dont-prefer-unknown -%patch -P101 -p0 -b .0047-fix-kmenu-width -%patch -P102 -p0 -b .0048-qclipboard_hack_80072 -%patch -P103 -p0 -b .0056-khotkeys_input_84434 -%patch -P105 -p0 -b .0073-xinerama-aware-qpopup -%patch -P107 -p0 -b .0079-compositing-types -%patch -P108 -p0 -b .0080-net-wm-sync-request -%patch -P110 -p0 -b .0084-compositing-properties +%patch100 -p0 -b .0038-dragobject-dont-prefer-unknown +%patch101 -p0 -b .0047-fix-kmenu-width +%patch102 -p0 -b .0048-qclipboard_hack_80072 +%patch103 -p0 -b .0056-khotkeys_input_84434 +%patch105 -p0 -b .0073-xinerama-aware-qpopup +%patch107 -p0 -b .0079-compositing-types +%patch108 -p0 -b .0080-net-wm-sync-request +%patch110 -p0 -b .0084-compositing-properties # upstream patches -%patch -P200 -p1 -b .fullscreen -%patch -P201 -p1 -b .gcc34 +%patch200 -p1 -b .fullscreen +%patch201 -p1 -b .gcc34 # security patches -%patch -P300 -p1 -b .CVE-2013-4549 -%patch -P301 -p1 -b .CVE-2014-0190 -%patch -P302 -p1 -b .CVE-2015-0295 -%patch -P303 -p1 -b .CVE-2015-1860 +%patch300 -p1 -b .CVE-2013-4549 +%patch301 -p1 -b .CVE-2014-0190 # convert to UTF-8 iconv -f iso-8859-1 -t utf-8 < doc/man/man3/qdial.3qt > doc/man/man3/qdial.3qt_ @@ -406,7 +386,7 @@ fi echo yes | ./configure \ -prefix $QTDEST \ -docdir %{qt_docdir} \ -%if "%{_lib}" == "lib64" +%if %{_lib} == lib64 -platform linux-g++-64 \ %else -platform linux-g++ \ @@ -451,9 +431,9 @@ echo yes | ./configure \ -xft \ -tablet -%make_build src-qmake +make $SMP_MFLAGS src-qmake -%if 0%{?rhel} && 0%{?rhel} < 7 +%if 0%{?rhel} < 7 # build sqlite plugin pushd plugins/src/sqldrivers/sqlite qmake -o Makefile sqlite.pro @@ -475,9 +455,9 @@ pushd plugins/src/sqldrivers/odbc qmake -o Makefile "LIBS+=-lodbc" odbc.pro popd -%make_build src-moc -%make_build sub-src -%make_build sub-tools UIC="$QTDIR/bin/uic -nostdlib -L $QTDIR/plugins" +make $SMP_MFLAGS src-moc +make $SMP_MFLAGS sub-src +make $SMP_MFLAGS sub-tools UIC="$QTDIR/bin/uic -nostdlib -L $QTDIR/plugins" %install rm -rf %{buildroot} @@ -561,11 +541,15 @@ install -m 644 tools/assistant/images/linguist.png %{buildroot}%{_datadir}/pixma mkdir -p %{buildroot}%{qtdir}/plugins/styles +%clean +rm -rf %{buildroot} + %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files +%defattr(-,root,root,-) %doc FAQ LICENSE* README* changes* %dir %{qtdir} %dir %{qtdir}/bin @@ -587,11 +571,13 @@ mkdir -p %{buildroot}%{qtdir}/plugins/styles %{qtdir}/lib/libqt*.so.* %files config +%defattr(-,root,root,-) %{qtdir}/bin/qtconfig %{_datadir}/applications/*qtconfig*.desktop %{_datadir}/pixmaps/qtconfig3.png %files devel +%defattr(-,root,root,-) %{qt_docdir}/ %{qtdir}/bin/moc %{qtdir}/bin/uic @@ -621,25 +607,31 @@ mkdir -p %{buildroot}%{qtdir}/plugins/styles %{_datadir}/pixmaps/assistant3.png %files devel-docs +%defattr(-,root,root,-) %doc examples %doc tutorial %{_mandir}/*/* -%if 0%{?rhel} && 0%{?rhel} < 7 +%if 0%{?rhel} < 7 %files sqlite +%defattr(-,root,root,-) %{qtdir}/plugins/sqldrivers/libqsqlite.so %endif %files ODBC +%defattr(-,root,root,-) %{qtdir}/plugins/sqldrivers/libqsqlodbc.so %files PostgreSQL +%defattr(-,root,root,-) %{qtdir}/plugins/sqldrivers/libqsqlpsql.so %files MySQL +%defattr(-,root,root,-) %{qtdir}/plugins/sqldrivers/libqsqlmysql.so %files designer +%defattr(-,root,root,-) %{qtdir}/templates %{qtdir}/bin/designer %{_datadir}/applications/*designer*.desktop @@ -647,142 +639,6 @@ mkdir -p %{buildroot}%{qtdir}/plugins/styles %changelog -* Fri Jul 25 2025 Fedora Release Engineering - 3.3.8b-102 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sat Jan 18 2025 Fedora Release Engineering - 3.3.8b-101 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Aug 07 2024 Miroslav Suchý - 3.3.8b-100 -- convert license to SPDX - -* Fri Jul 19 2024 Fedora Release Engineering - 3.3.8b-99 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jan 26 2024 Fedora Release Engineering - 3.3.8b-98 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 3.3.8b-97 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Nov 30 2023 Lukas Javorsky - 3.3.8b-96 -- Rebuilt for PostgreSQL 16 (BZ#2251109) -- For more info see the Fedora Change: https://fedoraproject.org/wiki/Changes/PostgreSQL_16 - -* Fri Jul 21 2023 Fedora Release Engineering - 3.3.8b-95 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jan 20 2023 Fedora Release Engineering - 3.3.8b-94 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Nov 16 2022 Ondřej Sloup - 3.3.8b-93 -- Rebuild for new PostgreSQL 15 - -* Fri Sep 09 2022 Than Ngo - 3.3.8b-92 -- fixed bz#2120316 - qt3 shouldn't require postgresql-private-devel - -* Sat Jul 23 2022 Fedora Release Engineering - 3.3.8b-91 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Jan 21 2022 Fedora Release Engineering - 3.3.8b-90 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Jan 11 2022 Than Ngo - 3.3.8b-89 -- Rebuild for Postgresql 14 - -* Thu Sep 16 2021 Than Ngo - 3.3.8b-88 -- Fix FTBFS - -* Fri Jul 23 2021 Fedora Release Engineering - 3.3.8b-87 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Mon Feb 08 2021 Pavel Raiskup - 3.3.8b-86 -- rebuild for libpq ABI fix rhbz#1908268 - -* Wed Jan 27 2021 Fedora Release Engineering - 3.3.8b-85 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 3.3.8b-84 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 21 2020 Than Ngo - 3.3.8b-83 -- Use make macros, https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro - -* Thu Jul 16 2020 Than Ngo - 3.3.8b-82 -- fixed 1839125 - compile with PostgreSQL 12, FTBFS - -* Thu Apr 02 2020 Björn Esser - 3.3.8b-81 -- Fix string quoting for rpm >= 4.16 - -* Thu Jan 30 2020 Fedora Release Engineering - 3.3.8b-80 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Jul 26 2019 Fedora Release Engineering - 3.3.8b-79 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sat Feb 02 2019 Fedora Release Engineering - 3.3.8b-78 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Jan 05 2019 Kevin Kofler - 3.3.8b-77 -- Hardcode the compiler version in the build key once and for all -- Rename the struct Param in qsqlextension_p.h that conflicts with PostgreSQL 11 - -* Fri Jul 20 2018 Rex Dieter - 3.3.8b-76 -- BR: gcc-c++ - -* Sat Jul 14 2018 Fedora Release Engineering - 3.3.8b-75 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu May 31 2018 Kevin Kofler - 3.3.8b-74 -- Fix CVE-2016-10040 (stack overflow in QXmlSimpleReader due to a too high - entityCharacterLimit in the CVE-2013-4549 patch) (#1409603) - -* Fri Feb 09 2018 Igor Gnatenko - 3.3.8b-73 -- Escape macros in %%changelog - -* Mon Nov 13 2017 Than Ngo - 3.3.8b-72 -- backport mysql driver mariadb fix -- BR: mariadb-connector-c-devel (f28+, #1494085) - -* Thu Aug 03 2017 Fedora Release Engineering - 3.3.8b-71 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 3.3.8b-70 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 3.3.8b-69 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Mar 28 2016 Ville Skyttä - 3.3.8b-68 -- qt.sh: Avoid unnecessary command invocations - -* Wed Feb 10 2016 Rex Dieter 3.3.8b-67 -- update gccX-buildkey.patch - -* Thu Feb 04 2016 Fedora Release Engineering - 3.3.8b-66 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Jun 18 2015 Fedora Release Engineering - 3.3.8b-65 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon May 04 2015 Kevin Kofler - 3.3.8b-64 -- updated gcc5-buildkey patch for GCC 5 (supersedes gcc4-buildkey) (#1218091) - -* Tue Apr 21 2015 Kevin Kofler - 3.3.8b-63 -- backport CVE-2015-1860 (GIF handler buffer overflow, #1210675) fix from Qt 4 - -* Sat Feb 28 2015 Kevin Kofler - 3.3.8b-62 -- backport CVE-2015-0295 (BMP image handler DoS, #1197275) fix from Qt 4 - -* Fri Feb 27 2015 Rex Dieter 3.3.8b-61 -- rebuild (gcc5) - -* Sun Aug 17 2014 Fedora Release Engineering - 3.3.8b-60 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sun Jun 08 2014 Fedora Release Engineering - 3.3.8b-59 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - * Thu May 29 2014 Kevin Kofler - 3.3.8b-58 - backport CVE-2014-0190 (GIF image handler DoS, QTBUG-38367) fix from Qt 4 @@ -942,7 +798,7 @@ mkdir -p %{buildroot}%{qtdir}/plugins/styles - fix obsolete/provides of version/release * Thu Mar 13 2008 Kevin Kofler 3.3.8b-10 -- fix %%{?epoch:%%{epoch}:} idiom not to add a ':' after it +- fix %{?epoch:%{epoch}:} idiom not to add a ':' after it * Wed Mar 12 2008 Kevin Kofler 3.3.8b-9 - rename to qt3 on Fedora >= 9 @@ -1998,13 +1854,13 @@ mkdir -p %{buildroot}%{qtdir}/plugins/styles - fix compilation of the NSPlugin add-on * Fri Mar 3 2000 Bill Nottingham -- fix %%postun script +- fix %postun script * Fri Feb 18 2000 Bernhard Rosenkränzer - beta1 - get rid of qt-ImageIO, the functionality is now in the main Qt library - remove qt-Network, the functionality is now in the main Qt library -- add changes-2.1.0 to %%doc +- add changes-2.1.0 to %doc * Thu Feb 17 2000 Preston Brown - no refcount check on postun script, we want it to happen even on upgrades