Compare commits

..

89 commits

Author SHA1 Message Date
Fedora Release Engineering
22a7ed9fe3 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 11:29:15 +00:00
Fedora Release Engineering
825c74fdd5 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 21:29:29 +00:00
Miroslav Suchý
6b6a5e152c convert license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-08-07 10:03:49 +02:00
Fedora Release Engineering
bad1af80b0 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 17:45:26 +00:00
Software Management Team
96e6d306d5 Eliminate use of obsolete %patchN syntax (#2283636) 2024-05-30 12:46:49 +02:00
Fedora Release Engineering
cd8c4498a0 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-26 14:08:13 +00:00
Fedora Release Engineering
e3caef4c47 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 09:44:46 +00:00
Lukas Javorsky
ce7c7af404 Rebuilt for PostgreSQL 16 (BZ#2251109)
For more info see the Fedora Change: https://fedoraproject.org/wiki/Changes/PostgreSQL_16
2023-11-30 09:38:16 +00:00
Fedora Release Engineering
2ebb844603 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 16:02:14 +00:00
Fedora Release Engineering
c14a39ea3d Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 19:01:54 +00:00
Ondřej Sloup
57c87220b8 Rebuild for PostgreSQL 15 (side-tag) 2022-11-16 11:36:34 +01:00
Than Ngo
14b1643e51 fixed bz#2120316 - qt3 shouldn't require postgresql-private-devel 2022-09-09 15:47:09 +02:00
Fedora Release Engineering
eaed1b2c76 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 00:03:33 +00:00
Fedora Release Engineering
ea8d257a80 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 17:04:58 +00:00
Than Ngo
486c9d0481 Rebuild for Postgresql 14 2022-01-11 13:21:00 +01:00
Than Ngo
c7d7d3b1cf Fix FTBFS 2021-09-16 12:43:49 +02:00
Fedora Release Engineering
79097bf559 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 10:46:29 +00:00
Pavel Raiskup
d29f55697e rebuild for libpq ABI fix
Related: rhbz#1908268
2021-02-08 10:27:27 +01:00
Fedora Release Engineering
62590056a5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 14:41:33 +00:00
Tom Stellard
ceeb1ab8f4 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-08 20:14:25 +00:00
Fedora Release Engineering
ab456393d3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 05:09:09 +00:00
Than Ngo
42e8870785 Use make macros, https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro 2020-07-21 11:42:43 +02:00
Than Ngo
b1e1d03856 fixed 1839125 - compile with PostgreSQL 12, FTBFS 2020-07-16 10:50:42 +02:00
Björn Esser
c5ffe87a0a
Bump release 2020-04-02 13:35:31 +02:00
Björn Esser
f9cc7dd823
Fix string quoting for rpm >= 4.16 2020-04-02 13:15:54 +02:00
Fedora Release Engineering
299114f7e9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 16:52:30 +00:00
Fedora Release Engineering
a6bd273325 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 17:45:54 +00:00
Fedora Release Engineering
86f98a6136 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-02 10:40:26 +00:00
Igor Gnatenko
67fd462912 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:44 +01:00
Igor Gnatenko
5b71c9a6cd
Fix RHEL conditions
0%{?rhel} on Fedora expands to 0 which makes condition 0 < 7 true. You don't want that.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-28 08:26:27 +01:00
Kevin Kofler
9c2752a415 Rename the struct Param in qsqlextension_p.h that conflicts with PostgreSQL 11 2019-01-05 05:26:06 +01:00
Kevin Kofler
e31b9254f6 Hardcode the compiler version in the build key once and for all
* Sat Jan 05 2019 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-77
- Hardcode the compiler version in the build key once and for all

It does not make sense to have to mess with the build key again and
again at each GCC major version, nor does the current situation where
even a point release of GCC will change the build key (because the build
key patch has not been updated since GCC 6) make any sense whatsoever.
GCC major versions no longer carry any ABI meaning as in the days of GCC
2.95 vs. 3.0. And nobody really uses a GCC older than 4.* anymore. So we
just hardcode the compiler version in the build key to "4.*".
2019-01-05 05:05:51 +01:00
Pavel Raiskup
b078a391af BuildRequires: s/postgresql-devel/libpq-devel/
That's because we moved libpq.so.5 into libpq package.

Related: rhbz#1618698, rhbz#1623764
2018-09-06 10:13:46 +02:00
Rex Dieter
8fe1c8f43a BR: gcc-c++ 2018-07-20 09:43:42 -05:00
Igor Gnatenko
5d2d8d50ca add BuildRequires: gcc
Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
2018-07-18 11:23:40 +02:00
Fedora Release Engineering
23fb5485d0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 03:07:04 +00:00
Jason Tibbitts
530e290187 Remove needless use of %defattr 2018-07-10 01:31:04 -05:00
Kevin Kofler
45b8c902d4 Fix CVE-2016-10040 (stack overflow in QXmlSimpleReader, #1409603)
* Thu May 31 2018 Kevin Kofler <Kevin@tigcc.ticalc.org> - 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)

See also the change Than Ngo committed to Qt 4:
https://src.fedoraproject.org/rpms/qt/c/37a2aba837ee6a148cd3441a7ce82737e04d54ac
2018-05-31 11:56:02 +02:00
Igor Gnatenko
b445d4f9bb
Remove %clean section
None of currently supported distributions need that.
Last one was EL5 which is EOL for a while.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-14 07:35:29 +01:00
Igor Gnatenko
ece42c9bfd Remove BuildRoot definition
None of currently supported distributions need that.
It was needed last for EL5 which is EOL now

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-14 00:29:16 +01:00
Igor Gnatenko
a0243625f7
Escape macros in %changelog
Reference: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/Y2ZUKK2B7T2IKXPMODNF6HB2O5T5TS6H/
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-09 09:05:52 +01:00
Than Ngo
d43c6db4a3 - backport mysql driver mariadb fix
- BR: mariadb-connector-c-devel (f28+, #1494085)
2017-11-13 15:26:54 +01:00
Fedora Release Engineering
6b1be4907c - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 07:17:47 +00:00
Fedora Release Engineering
913cd56658 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 12:41:57 +00:00
Petr Písař
c18fe071d3 perl dependency renamed to perl-interpreter <https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules> 2017-07-12 15:11:33 +02:00
Fedora Release Engineering
baf2c4789b - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-11 11:19:03 +00:00
Ville Skyttä
470ea4af7c qt.sh: Avoid unnecessary command invocations
https://bugzilla.redhat.com/show_bug.cgi?id=1321577
2016-03-28 23:31:28 +03:00
Rex Dieter
7239f33b43 include 'gcc -dumpversion' output
to aid in future interation/debugging of gcc-buildkey.patch
2016-02-10 12:34:13 -06:00
Rex Dieter
2d56125b36 update gccX-buildkey.patch 2016-02-10 12:33:32 -06:00
Fedora Release Engineering
8001a588f7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 21:44:45 +00:00
Dennis Gilmore
a657918da9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-18 21:48:06 +00:00
Kevin Kofler
da57f1c637 updated gcc5-buildkey patch for GCC 5 (supersedes gcc4-buildkey) (#1218091)
* Mon May 04 2015 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-64
- updated gcc5-buildkey patch for GCC 5 (supersedes gcc4-buildkey) (#1218091)
2015-05-04 22:08:16 +02:00
Kevin Kofler
63fcd60094 backport CVE-2015-1860 (GIF handler buffer overflow, #1210675) fix from Qt 4
* Tue Apr 21 2015 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-63
- backport CVE-2015-1860 (GIF handler buffer overflow, #1210675) fix from Qt 4

NOTE: Qt 3 is NOT vulnerable to CVE-2015-1858 nor CVE-2015-1859.
2015-04-22 01:47:13 +02:00
Kevin Kofler
a4b8d17851 Fix changelog date.
s/2014/2015/
2015-02-28 05:09:12 +01:00
Kevin Kofler
36ee0d8c26 backport CVE-2015-0295 (BMP image handler DoS, #1197275) fix from Qt 4
* Sat Feb 28 2014 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-62
- backport CVE-2015-0295 (BMP image handler DoS, #1197275) fix from Qt 4
2015-02-28 05:07:05 +01:00
Rex Dieter
2233705950 rebuild (gcc5) 2015-02-27 16:52:22 -06:00
Peter Robinson
ec0b1cec34 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-17 22:45:17 +00:00
Dennis Gilmore
a37c6df863 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-07 20:17:54 -05:00
Kevin Kofler
011220fc82 backport CVE-2014-0190 (GIF image handler DoS, QTBUG-38367) fix from Qt 4
* Thu May 29 2014 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-58
- backport CVE-2014-0190 (GIF image handler DoS, QTBUG-38367) fix from Qt 4
2014-05-29 22:45:15 +02:00
Kevin Kofler
9f8dafbe3f search for FreeType using pkg-config, fixes FTBFS with freetype >= 2.5.1
Drop the patch by Hrvoje Senjan that does not work under Fedora.
2014-02-23 19:25:08 +01:00
Kevin Kofler
8c3c0492ef add new freetype 2.5.1 include paths, fixes FTBFS
Add new freetype 2.5.1 include paths to the search path (in addition to the
old paths), fixes FTBFS (patch by Hrvoje Senjan from OBS KDE:KDE3).
2014-02-23 04:56:17 +01:00
Kevin Kofler
54fe0ee1ed Revert "Pass -v to configure to debug build failure."
This reverts commit 216db9c24b.
2014-02-23 04:35:34 +01:00
Kevin Kofler
216db9c24b Pass -v to configure to debug build failure. 2014-02-23 04:01:29 +01:00
Kevin Kofler
2a32d87d37 add ppc64le support to qt.sh and qt.csh (#1068898)
* Sun Feb 23 2014 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-57
- add ppc64le support to qt.sh and qt.csh (#1068898)
- fix ppc64 support in qt.csh
2014-02-23 03:44:58 +01:00
Kevin Kofler
9753d2525b yet more -Werror=format-security errors
These ones are arguably bugs, if the client code is really dumb enough
to pass junk containing '%' signs where a constant string like
"SQL_MODE_READ_ONLY" is expected. Otherwise, they're false positives,
too.
2014-01-14 04:27:50 +01:00
Kevin Kofler
3226ca7345 yet another -Werror=format-security error 2014-01-14 04:00:02 +01:00
Kevin Kofler
f756ab152b also patch the generated moc_yacc.cpp 2014-01-14 03:43:22 +01:00
Kevin Kofler
9ab2d46671 work around yet more -Werror=format-security false positives
Yes, those are also false positives. No kidding!
2014-01-14 03:23:51 +01:00
Kevin Kofler
66b56b8247 work around more -Werror=format-security false positives
Yes, those are also false positives.
2014-01-14 03:11:10 +01:00
Kevin Kofler
b379dddbc5 work around -Werror=format-security false positives (#1037297)
* Tue Jan 14 2014 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-56
- work around -Werror=format-security false positives (#1037297)
2014-01-14 02:56:12 +01:00
Kevin Kofler
6371d40909 fix QTBUG-35459 and QTBUG-35460
* Mon Jan 13 2014 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-55
- fix QTBUG-35459 (too low entityCharacterLimit=1024 for CVE-2013-4549)
- fix QTBUG-35460 (error message for CVE-2013-4549 is misspelled)
2014-01-13 21:08:04 +01:00
Kevin Kofler
d5a2a57c9c Fix CVE-2013-4549 patch. 2013-12-06 00:50:12 +01:00
Kevin Kofler
437bc95f6a backport CVE-2013-4549 fix from Qt 4
* Thu Dec 05 2013 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-54
- backport CVE-2013-4549 fix from Qt 4
2013-12-06 00:33:52 +01:00
Rex Dieter
4b24bf0962 trim changelog 2013-08-27 09:59:32 -05:00
Rex Dieter
4e9417711b - -devel: drop non-X11-related deps too 2013-08-27 09:12:23 -05:00
Rex Dieter
ec221fdfab strip extraneous libs from .pc/.prl files 2013-08-27 09:06:31 -05:00
Jon Ciesla
774fe849fc libmng rebuild 2013-08-26 08:42:45 -05:00
Dennis Gilmore
2d7d41ca0f - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild 2013-08-04 06:41:20 -05:00
Petr Písař
ad40e84c01 Perl 5.18 rebuild 2013-07-17 16:57:23 +02:00
Than Ngo
5e9431bdb5 - build with -fno-strict-aliasing
- drop deprecated Encoding
2013-04-25 17:03:54 +02:00
Dennis Gilmore
95f0a59f45 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild 2013-02-14 15:13:42 -06:00
Adam Tkac
a10942040d Rebuild due to "jpeg8-ABI" feature drop
Signed-off-by: Adam Tkac <atkac@redhat.com>
2013-01-21 16:37:47 +01:00
Rex Dieter
63aab5ed00 rebuild (libjpeg-turbo v8) 2012-10-24 13:24:04 -05:00
Than Ngo
b8bf3c1445 fix url 2012-10-09 21:48:10 +02:00
Dennis Gilmore
e1e6f2b7ea - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-21 08:43:28 -05:00
Than Ngo
5012777882 add rhel condition 2012-04-18 15:40:21 +02:00
Dennis Gilmore
6a18071953 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild 2012-01-13 20:32:09 -06:00
Kevin Kofler
ec83e6b864 * Sat Dec 10 2011 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-40
- fix FTBFS with F17's libpng 1.5 (patch from NetBSD)
2011-12-10 04:41:43 +01:00
Adam Jackson
ea291447db Rebuild for new libpng 2011-12-06 00:58:32 -05:00
19 changed files with 1076 additions and 129 deletions

View file

@ -4,6 +4,5 @@ Comment=Add translations to Qt3 applications
Exec=assistant
Icon=assistant3
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;

View file

@ -6,6 +6,5 @@ Exec=designer
Icon=designer3
MimeType=application/x-designer;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;

View file

@ -5,6 +5,5 @@ Exec=linguist
Icon=linguist3
MimeType=application/x-linguist;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;

212
qt-3.3.8-libpng15.patch Normal file
View file

@ -0,0 +1,212 @@
$NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $
--- src/kernel/qpngio.cpp.orig 2007-02-02 10:01:15.000000000 -0400
+++ src/kernel/qpngio.cpp
@@ -43,6 +43,7 @@
#include "qiodevice.h"
#include <png.h>
+#include <zlib.h>
#ifdef Q_OS_TEMP
@@ -123,9 +124,24 @@ void setup_qt( QImage& image, png_struct
png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
0, 0, 0);
+ png_colorp info_ptr_palette = NULL;
+ int info_ptr_num_palette = 0;
+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)) {
+ png_get_PLTE(png_ptr, info_ptr, &info_ptr_palette, &info_ptr_num_palette);
+ }
+
+ png_bytep info_ptr_trans_alpha = NULL;
+ int info_ptr_num_trans = 0;
+ png_color_16p info_ptr_trans_color = NULL;
+
+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
+ png_get_tRNS(png_ptr, info_ptr, &info_ptr_trans_alpha, &info_ptr_num_trans, &info_ptr_trans_color);
+ }
+
+
if ( color_type == PNG_COLOR_TYPE_GRAY ) {
// Black & White or 8-bit grayscale
- if ( bit_depth == 1 && info_ptr->channels == 1 ) {
+ if ( bit_depth == 1 && png_get_channels(png_ptr, info_ptr) == 1 ) {
png_set_invert_mono( png_ptr );
png_read_update_info( png_ptr, info_ptr );
if (!image.create( width, height, 1, 2, QImage::BigEndian ))
@@ -159,7 +175,7 @@ void setup_qt( QImage& image, png_struct
image.setColor( i, qRgba(c,c,c,0xff) );
}
if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) {
- const int g = info_ptr->trans_values.gray;
+ const int g = info_ptr_trans_color->gray;
if (g < ncols) {
image.setAlphaBuffer(TRUE);
image.setColor(g, image.color(g) & RGB_MASK);
@@ -168,7 +184,7 @@ void setup_qt( QImage& image, png_struct
}
} else if ( color_type == PNG_COLOR_TYPE_PALETTE
&& png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)
- && info_ptr->num_palette <= 256 )
+ && info_ptr_num_palette <= 256 )
{
// 1-bit and 8-bit color
if ( bit_depth != 1 )
@@ -176,28 +192,28 @@ void setup_qt( QImage& image, png_struct
png_read_update_info( png_ptr, info_ptr );
png_get_IHDR(png_ptr, info_ptr,
&width, &height, &bit_depth, &color_type, 0, 0, 0);
- if (!image.create(width, height, bit_depth, info_ptr->num_palette,
+ if (!image.create(width, height, bit_depth, info_ptr_num_palette,
QImage::BigEndian))
return;
int i = 0;
if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) {
image.setAlphaBuffer( TRUE );
- while ( i < info_ptr->num_trans ) {
+ while ( i < info_ptr_num_trans ) {
image.setColor(i, qRgba(
- info_ptr->palette[i].red,
- info_ptr->palette[i].green,
- info_ptr->palette[i].blue,
- info_ptr->trans[i]
+ info_ptr_palette[i].red,
+ info_ptr_palette[i].green,
+ info_ptr_palette[i].blue,
+ info_ptr_trans_alpha[i]
)
);
i++;
}
}
- while ( i < info_ptr->num_palette ) {
+ while ( i < info_ptr_num_palette ) {
image.setColor(i, qRgba(
- info_ptr->palette[i].red,
- info_ptr->palette[i].green,
- info_ptr->palette[i].blue,
+ info_ptr_palette[i].red,
+ info_ptr_palette[i].green,
+ info_ptr_palette[i].blue,
0xff
)
);
@@ -284,7 +300,7 @@ void read_png_image(QImageIO* iio)
return;
}
- if (setjmp(png_ptr->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
iio->setStatus(-4);
return;
@@ -469,7 +485,7 @@ bool QPNGImageWriter::writeImage(const Q
return FALSE;
}
- if (setjmp(png_ptr->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
png_destroy_write_struct(&png_ptr, &info_ptr);
return FALSE;
}
@@ -491,10 +507,16 @@ bool QPNGImageWriter::writeImage(const Q
png_set_write_fn(png_ptr, (void*)this, qpiw_write_fn, qpiw_flush_fn);
+#warning XXXtnn not too sure about this
+/*
+according to png.h, channels is only used on read, not writes, so we
+should be able to comment this out.
+
info_ptr->channels =
(image.depth() == 32)
? (image.hasAlphaBuffer() ? 4 : 3)
: 1;
+*/
png_set_IHDR(png_ptr, info_ptr, image.width(), image.height(),
image.depth() == 1 ? 1 : 8 /* per channel */,
@@ -504,11 +526,12 @@ bool QPNGImageWriter::writeImage(const Q
: PNG_COLOR_TYPE_RGB
: PNG_COLOR_TYPE_PALETTE, 0, 0, 0);
+ png_color_8 sig_bit;
+ sig_bit.red = 8;
+ sig_bit.green = 8;
+ sig_bit.blue = 8;
+ png_set_sBIT(png_ptr, info_ptr, &sig_bit);
- //png_set_sBIT(png_ptr, info_ptr, 8);
- info_ptr->sig_bit.red = 8;
- info_ptr->sig_bit.green = 8;
- info_ptr->sig_bit.blue = 8;
if (image.depth() == 1 && image.bitOrder() == QImage::LittleEndian)
png_set_packswap(png_ptr);
@@ -522,11 +545,14 @@ bool QPNGImageWriter::writeImage(const Q
png_set_PLTE(png_ptr, info_ptr, palette, num_palette);
int* trans = new int[num_palette];
int num_trans = 0;
+ png_colorp info_ptr_palette = NULL;
+ int tmp;
+ png_get_PLTE(png_ptr, info_ptr, &info_ptr_palette, &tmp);
for (int i=0; i<num_palette; i++) {
QRgb rgb=image.color(i);
- info_ptr->palette[i].red = qRed(rgb);
- info_ptr->palette[i].green = qGreen(rgb);
- info_ptr->palette[i].blue = qBlue(rgb);
+ info_ptr_palette[i].red = qRed(rgb);
+ info_ptr_palette[i].green = qGreen(rgb);
+ info_ptr_palette[i].blue = qBlue(rgb);
if (image.hasAlphaBuffer()) {
trans[i] = rgb >> 24;
if (trans[i] < 255) {
@@ -534,6 +560,7 @@ bool QPNGImageWriter::writeImage(const Q
}
}
}
+ png_set_PLTE(png_ptr, info_ptr, info_ptr_palette, num_palette);
if (num_trans) {
copy_trans = new png_byte[num_trans];
for (int i=0; i<num_trans; i++)
@@ -544,7 +571,10 @@ bool QPNGImageWriter::writeImage(const Q
}
if ( image.hasAlphaBuffer() ) {
- info_ptr->sig_bit.alpha = 8;
+ png_color_8p sig_bit;
+ png_get_sBIT(png_ptr, info_ptr, &sig_bit);
+ sig_bit->alpha = 8;
+ png_set_sBIT(png_ptr, info_ptr, sig_bit);
}
// Swap ARGB to RGBA (normal PNG format) before saving on
@@ -1030,7 +1060,7 @@ int QPNGFormat::decode(QImage& img, QIma
return -1;
}
- if (setjmp((png_ptr)->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
png_destroy_read_struct(&png_ptr, &info_ptr, 0);
image = 0;
return -1;
@@ -1057,7 +1087,7 @@ int QPNGFormat::decode(QImage& img, QIma
if ( !png_ptr ) return 0;
- if (setjmp(png_ptr->jmpbuf)) {
+ if (setjmp(png_jmpbuf(png_ptr))) {
png_destroy_read_struct(&png_ptr, &info_ptr, 0);
image = 0;
state = MovieStart;
@@ -1117,7 +1147,7 @@ void QPNGFormat::end(png_structp png, pn
consumer->frameDone(QPoint(offx,offy),r);
consumer->end();
state = FrameStart;
- unused_data = (int)png->buffer_size; // Since libpng doesn't tell us
+ unused_data = png_process_data_pause(png, 0);
}
#ifdef PNG_USER_CHUNKS_SUPPORTED

View file

@ -0,0 +1,172 @@
diff -ur qt-x11-free-3.3.8b/src/kernel/qjpegio.cpp qt-x11-free-3.3.8b-#1037297/src/kernel/qjpegio.cpp
--- qt-x11-free-3.3.8b/src/kernel/qjpegio.cpp 2008-01-15 20:09:13.000000000 +0100
+++ qt-x11-free-3.3.8b-#1037297/src/kernel/qjpegio.cpp 2014-01-14 03:59:20.000000000 +0100
@@ -80,7 +80,7 @@
my_error_mgr* myerr = (my_error_mgr*) cinfo->err;
char buffer[JMSG_LENGTH_MAX];
(*cinfo->err->format_message)(cinfo, buffer);
- qWarning(buffer);
+ qWarning("%s", buffer);
longjmp(myerr->setjmp_buffer, 1);
}
diff -ur qt-x11-free-3.3.8b/src/moc/moc.y qt-x11-free-3.3.8b-#1037297/src/moc/moc.y
--- qt-x11-free-3.3.8b/src/moc/moc.y 2008-01-15 20:09:13.000000000 +0100
+++ qt-x11-free-3.3.8b-#1037297/src/moc/moc.y 2014-01-14 03:39:28.000000000 +0100
@@ -2831,11 +2831,6 @@
void generateClass() // generate C++ source code for a class
{
- const char *hdr1 = "/****************************************************************************\n"
- "** %s meta object code from reading C++ file '%s'\n**\n";
- const char *hdr2 = "** Created: %s\n"
- const char *hdr3 = "** WARNING! All changes made in this file will be lost!\n";
- const char *hdr4 = "*****************************************************************************/\n\n";
int i;
if ( skipClass ) // don't generate for class
@@ -2871,10 +2866,10 @@
i--; // skip path
if ( i >= 0 )
fn = &g->fileName[i];
- fprintf( out, hdr1, (const char*)qualifiedClassName(),(const char*)fn);
- fprintf( out, hdr2, (const char*)dstr );
- fprintf( out, hdr3 );
- fprintf( out, hdr4 );
+ fprintf( out, "/****************************************************************************\n** %s meta object code from reading C++ file '%s'\n**\n", (const char*)qualifiedClassName(),(const char*)fn);
+ fprintf( out, "** Created: %s\n", (const char*)dstr );
+ fprintf( out, "** WARNING! All changes made in this file will be lost!\n" );
+ fprintf( out, "*****************************************************************************/\n\n" );
if ( !g->noInclude ) {
/*
diff -ur qt-x11-free-3.3.8b/src/moc/moc_yacc.cpp qt-x11-free-3.3.8b-#1037297/src/moc/moc_yacc.cpp
--- qt-x11-free-3.3.8b/src/moc/moc_yacc.cpp 2008-01-14 13:24:36.000000000 +0100
+++ qt-x11-free-3.3.8b-#1037297/src/moc/moc_yacc.cpp 2014-01-14 03:40:19.000000000 +0100
@@ -2870,12 +2870,6 @@
void generateClass() // generate C++ source code for a class
{
- const char *hdr1 = "/****************************************************************************\n"
- "** %s meta object code from reading C++ file '%s'\n**\n";
- const char *hdr2 = "** Created: %s\n"
- "** by: The Qt MOC ($Id: qt/moc_yacc.cpp 3.3.8 edited Feb 2 14:59 $)\n**\n";
- const char *hdr3 = "** WARNING! All changes made in this file will be lost!\n";
- const char *hdr4 = "*****************************************************************************/\n\n";
int i;
if ( skipClass ) // don't generate for class
@@ -2911,10 +2905,10 @@
i--; // skip path
if ( i >= 0 )
fn = &g->fileName[i];
- fprintf( out, hdr1, (const char*)qualifiedClassName(),(const char*)fn);
- fprintf( out, hdr2, (const char*)dstr );
- fprintf( out, hdr3 );
- fprintf( out, hdr4 );
+ fprintf( out, "/****************************************************************************\n** %s meta object code from reading C++ file '%s'\n**\n", (const char*)qualifiedClassName(),(const char*)fn);
+ fprintf( out, "** Created: %s\n** by: The Qt MOC ($Id: qt/moc_yacc.cpp 3.3.8 edited Feb 2 14:59 $)\n**\n", (const char*)dstr );
+ fprintf( out, "** WARNING! All changes made in this file will be lost!\n" );
+ fprintf( out, "*****************************************************************************/\n\n" );
if ( !g->noInclude ) {
/*
diff -ur qt-x11-free-3.3.8b/src/sql/drivers/odbc/qsql_odbc.cpp qt-x11-free-3.3.8b-#1037297/src/sql/drivers/odbc/qsql_odbc.cpp
--- qt-x11-free-3.3.8b/src/sql/drivers/odbc/qsql_odbc.cpp 2008-01-15 20:09:13.000000000 +0100
+++ qt-x11-free-3.3.8b-#1037297/src/sql/drivers/odbc/qsql_odbc.cpp 2014-01-14 04:24:04.000000000 +0100
@@ -540,7 +540,7 @@
} else if ( val == "SQL_MODE_READ_WRITE" ) {
v = SQL_MODE_READ_WRITE;
} else {
- qWarning( QString( "QODBCDriver::open: Unknown option value '%1'" ).arg( *it ) );
+ qWarning( "%s", QString( "QODBCDriver::open: Unknown option value '%1'" ).arg( *it ).ascii() );
break;
}
r = SQLSetConnectAttr( hDbc, SQL_ATTR_ACCESS_MODE, (SQLPOINTER) v, 0 );
@@ -565,7 +565,7 @@
} else if ( val == "SQL_FALSE" ) {
v = SQL_FALSE;
} else {
- qWarning( QString( "QODBCDriver::open: Unknown option value '%1'" ).arg( *it ) );
+ qWarning( "%s", QString( "QODBCDriver::open: Unknown option value '%1'" ).arg( *it ).ascii() );
break;
}
r = SQLSetConnectAttr( hDbc, SQL_ATTR_METADATA_ID, (SQLPOINTER) v, 0 );
@@ -587,14 +587,14 @@
} else if ( val == "SQL_OPT_TRACE_ON" ) {
v = SQL_OPT_TRACE_ON;
} else {
- qWarning( QString( "QODBCDriver::open: Unknown option value '%1'" ).arg( *it ) );
+ qWarning( "%s", QString( "QODBCDriver::open: Unknown option value '%1'" ).arg( *it ).ascii() );
break;
}
r = SQLSetConnectAttr( hDbc, SQL_ATTR_TRACE, (SQLPOINTER) v, 0 );
}
#ifdef QT_CHECK_RANGE
else {
- qWarning( QString("QODBCDriver::open: Unknown connection attribute '%1'").arg( opt ) );
+ qWarning( "%s", QString("QODBCDriver::open: Unknown connection attribute '%1'").arg( opt ).ascii() );
}
#endif
if ( r != SQL_SUCCESS && r != SQL_SUCCESS_WITH_INFO ) {
diff -ur qt-x11-free-3.3.8b/src/tools/qgcache.cpp qt-x11-free-3.3.8b-#1037297/src/tools/qgcache.cpp
--- qt-x11-free-3.3.8b/src/tools/qgcache.cpp 2008-01-15 20:09:13.000000000 +0100
+++ qt-x11-free-3.3.8b-#1037297/src/tools/qgcache.cpp 2014-01-14 03:10:08.000000000 +0100
@@ -639,9 +639,7 @@
void QGCache::statistics() const
{
#if defined(QT_DEBUG)
- QString line;
- line.fill( '*', 80 );
- qDebug( line.ascii() );
+ qDebug( "********************************************************************************" );
qDebug( "CACHE STATISTICS:" );
qDebug( "cache contains %d item%s, with a total cost of %d",
count(), count() != 1 ? "s" : "", tCost );
@@ -662,7 +660,7 @@
lruList->dumps != 1 ? "have" : "has", lruList->dumpCosts );
qDebug( "Statistics from internal dictionary class:" );
dict->statistics();
- qDebug( line.ascii() );
+ qDebug( "********************************************************************************" );
#endif
}
diff -ur qt-x11-free-3.3.8b/src/tools/qgdict.cpp qt-x11-free-3.3.8b-#1037297/src/tools/qgdict.cpp
--- qt-x11-free-3.3.8b/src/tools/qgdict.cpp 2008-01-15 20:09:13.000000000 +0100
+++ qt-x11-free-3.3.8b-#1037297/src/tools/qgdict.cpp 2014-01-14 02:46:07.000000000 +0100
@@ -843,14 +843,12 @@
void QGDict::statistics() const
{
#if defined(QT_DEBUG)
- QString line;
- line.fill( '-', 60 );
double real, ideal;
- qDebug( line.ascii() );
+ qDebug( "------------------------------------------------------------" );
qDebug( "DICTIONARY STATISTICS:" );
if ( count() == 0 ) {
qDebug( "Empty!" );
- qDebug( line.ascii() );
+ qDebug( "------------------------------------------------------------" );
return;
}
real = 0.0;
@@ -871,7 +869,7 @@
while ( b-- )
*pbuf++ = '*';
*pbuf = '\0';
- qDebug( buf );
+ qDebug( "%s", buf );
i++;
}
qDebug( "Array size = %d", size() );
@@ -879,7 +877,7 @@
qDebug( "Real dist = %g", real );
qDebug( "Rand dist = %g", ideal );
qDebug( "Real/Rand = %g", real/ideal );
- qDebug( line.ascii() );
+ qDebug( "------------------------------------------------------------" );
#endif // QT_DEBUG
}

View file

@ -0,0 +1,111 @@
diff -ur qt-x11-free-3.3.8b/src/xml/qxml.cpp qt-x11-free-3.3.8b-CVE-2013-4549/src/xml/qxml.cpp
--- qt-x11-free-3.3.8b/src/xml/qxml.cpp 2008-01-15 20:09:13.000000000 +0100
+++ qt-x11-free-3.3.8b-CVE-2013-4549/src/xml/qxml.cpp 2014-01-13 21:03:14.000000000 +0100
@@ -4529,6 +4529,11 @@
}
break;
case Mup:
+ if (dtdRecursionLimit > 0U && d->parameterEntities.size() > dtdRecursionLimit) {
+ reportParseError(QString::fromLatin1(
+ "DTD parsing exceeded recursion limit of %1.").arg(dtdRecursionLimit));
+ return FALSE;
+ }
if ( !parseMarkupdecl() ) {
parseFailed( &QXmlSimpleReader::parseDoctype, state );
return FALSE;
@@ -6128,6 +6133,58 @@
}
}
+bool QXmlSimpleReader::isExpandedEntityValueTooLarge(QString *errorMessage)
+{
+ QMap<QString, uint> literalEntitySizes;
+ // The entity at (QMap<QString,) referenced the entities at (QMap<QString,) (uint>) times.
+ QMap<QString, QMap<QString, uint> > referencesToOtherEntities;
+ QMap<QString, uint> expandedSizes;
+
+ // For every entity, check how many times all entity names were referenced in its value.
+ QMap<QString,QString>::ConstIterator toSearchIterator;
+ for (toSearchIterator = d->entities.begin(); toSearchIterator != d->entities.end(); ++toSearchIterator) {
+ QString toSearch = toSearchIterator.key();
+ // The amount of characters that weren't entity names, but literals, like 'X'.
+ QString leftOvers = toSearchIterator.data();
+ QMap<QString,QString>::ConstIterator entityNameIterator;
+ // How many times was entityName referenced by toSearch?
+ for (entityNameIterator = d->entities.begin(); entityNameIterator != d->entities.end(); ++entityNameIterator) {
+ QString entityName = entityNameIterator.key();
+ for (int i = 0; i >= 0 && (uint) i < leftOvers.length(); ) {
+ i = leftOvers.find(QString::fromLatin1("&%1;").arg(entityName), i);
+ if (i != -1) {
+ leftOvers.remove(i, entityName.length() + 2U);
+ // The entityName we're currently trying to find was matched in this string; increase our count.
+ ++referencesToOtherEntities[toSearch][entityName];
+ }
+ }
+ }
+ literalEntitySizes[toSearch] = leftOvers.length();
+ }
+
+ QMap<QString, QMap<QString, uint> >::ConstIterator entityIterator;
+ for (entityIterator = referencesToOtherEntities.begin(); entityIterator != referencesToOtherEntities.end(); ++entityIterator) {
+ QString entity = entityIterator.key();
+ expandedSizes[entity] = literalEntitySizes[entity];
+ QMap<QString, uint>::ConstIterator referenceToIterator;
+ for (referenceToIterator = entityIterator.data().begin(); referenceToIterator != entityIterator.data().end(); ++referenceToIterator) {
+ QString referenceTo = referenceToIterator.key();
+ const uint references = referenceToIterator.data();
+ // The total size of an entity's value is the expanded size of all of its referenced entities, plus its literal size.
+ expandedSizes[entity] += expandedSizes[referenceTo] * references + literalEntitySizes[referenceTo] * references;
+ }
+
+ if (expandedSizes[entity] > entityCharacterLimit) {
+ if (errorMessage) {
+ *errorMessage = QString::fromLatin1("The XML entity \"%1\" expands to a string that is too large to process (%2 characters > %3).");
+ *errorMessage = (*errorMessage).arg(entity).arg(expandedSizes[entity]).arg(entityCharacterLimit);
+ }
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
/*
Parse a EntityDecl [70].
@@ -6222,6 +6279,12 @@
switch ( state ) {
case EValue:
if ( !entityExist( name() ) ) {
+ QString errorMessage;
+ if (isExpandedEntityValueTooLarge(&errorMessage)) {
+ reportParseError(errorMessage);
+ return FALSE;
+ }
+
d->entities.insert( name(), string() );
if ( declHnd ) {
if ( !declHnd->internalEntityDecl( name(), string() ) ) {
diff -ur qt-x11-free-3.3.8b/src/xml/qxml.h qt-x11-free-3.3.8b-CVE-2013-4549/src/xml/qxml.h
--- qt-x11-free-3.3.8b/src/xml/qxml.h 2008-01-15 20:09:13.000000000 +0100
+++ qt-x11-free-3.3.8b-CVE-2013-4549/src/xml/qxml.h 2014-01-13 21:03:02.000000000 +0100
@@ -307,6 +307,12 @@
QXmlSimpleReaderPrivate* d;
+ // The limit to the amount of times the DTD parsing functions can be called
+ // 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;
+
const QString &string();
void stringClear();
inline void stringAddC() { stringAddC(c); }
@@ -378,6 +384,7 @@
void unexpectedEof( ParseFunction where, int state );
void parseFailed( ParseFunction where, int state );
void pushParseState( ParseFunction function, int state );
+ bool isExpandedEntityValueTooLarge(QString *errorMessage);
void setUndefEntityInAttrHack(bool b);

View file

@ -0,0 +1,17 @@
diff -ur qt-x11-free-3.3.8b/src/kernel/qasyncimageio.cpp qt-x11-free-3.3.8b-CVE-2014-0190/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-2014-0190/src/kernel/qasyncimageio.cpp 2014-05-29 22:24:57.000000000 +0200
@@ -904,7 +904,12 @@
sheight = newtop + newheight;
if (img.isNull()) {
- img.create(swidth, sheight, 32);
+ if (!img.create(swidth, sheight, 32)) {
+ // Check if the attempt to create the image failed. If
+ // it did, the image is broken and we should give up.
+ state = Error;
+ return -1;
+ }
memset( img.bits(), 0, img.numBytes() );
if (consumer) consumer->setSize(swidth, sheight);
}

View file

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

View file

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

View file

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

View file

@ -0,0 +1,45 @@
diff -ur qt-x11-free-3.3.8b/config.tests/x11/xfreetype.test qt-x11-free-3.3.8b-freetype251/config.tests/x11/xfreetype.test
--- qt-x11-free-3.3.8b/config.tests/x11/xfreetype.test 2008-01-15 20:09:15.000000000 +0100
+++ qt-x11-free-3.3.8b-freetype251/config.tests/x11/xfreetype.test 2014-02-23 19:22:02.000000000 +0100
@@ -116,33 +116,14 @@
# check for freetype2 headers
FREETYPE2_INCDIR=
if [ "$XFT" = "yes" ]; then
- INC="freetype2/freetype/freetype.h"
- XDIRS=`sed -n -e '/^QMAKE_INCDIR_X11[ ]*=/ { s/[^=]*=[ ]*//; s/-I/ /g; p; }' $XCONFIG`
- LDIRS=`sed -n -e '/^QMAKE_INCDIR[ ]*=/ { s/[^=]*=[ ]*//; s/-I/ /g; p; }' $XCONFIG`
- INCDIRS="$IN_INCDIRS $XDIRS $LDIRS /usr/include /include"
- F=
- for INCDIR in $INCDIRS; do
- if [ -f $INCDIR/$INC ]; then
- # detect major version of freetype2
- FREETYPE_MAJOR=`grep "#define FREETYPE_MAJOR" $INCDIR/$INC | head -n 1 | awk '{ print \$3 }'`
- FREETYPE_MINOR=`grep "#define FREETYPE_MINOR" $INCDIR/$INC | head -n 1 | awk '{ print \$3 }'`
- FREETYPE_PATCH=`grep "#define FREETYPE_PATCH" $INCDIR/$INC | head -n 1 | awk '{ print \$3 }'`
- test -z "$FREETYPE_PATCH" && FREETYPE_PATCH="0"
- [ "$VERBOSE" = "yes" ] && \
- echo " Found Freetype version $FREETYPE_MAJOR.$FREETYPE_MINOR.$FREETYPE_PATCH"
- if [ "$FREETYPE_MAJOR" -eq "2" ] \
- && [ "$FREETYPE_MINOR" -ge "0" -a "$FREETYPE_PATCH" -ge "9" ] \
- || [ "$FREETYPE_MINOR" -ge "1" ]; then
- F=yes
- FREETYPE2_INCDIR=$INCDIR/freetype2
- [ "$VERBOSE" = "yes" ] && echo " Found $INC in $INCDIR"
- break
- fi
- fi
- done
- if [ -z "$F" ]; then
- XFT=no
- [ "$VERBOSE" = "yes" ] && echo " Could not find $INC anywhere in $INCDIRS"
+ # minimum is freetype 2.0.9, which had libtool version 6.3.0
+ if pkg-config --atleast-version=6.3.0 freetype2; then
+ [ "$VERBOSE" = "yes" ] && echo " Found Freetype >= 2.0.9 using pkg-config"
+ FREETYPE2_INCDIR=`pkg-config --cflags-only-I freetype2 | sed -e 's/^-I//g' -e 's/ -I/ /g'`
+ [ "$VERBOSE" = "yes" ] && echo " Freetype headers in $FREETYPE2_INCDIR"
+ else
+ XFT=no
+ [ "$VERBOSE" = "yes" ] && echo " Could not find Freetype >= 2.0.9 using pkg-config"
fi
fi

View file

@ -1,25 +0,0 @@
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.*"
;;
*)
;;

View file

@ -0,0 +1,25 @@
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}"
;;
*)

View file

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

View file

@ -0,0 +1,57 @@
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<QString, QVariant> QSqlExtension::boundValues() const
{
- QMap<QString, Param>::ConstIterator it;
+ QMap<QString, Parame>::ConstIterator it;
QMap<QString, QVariant> 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<int, QString> index;
- typedef QMap<QString, Param> ValueMap;
+ typedef QMap<QString, Parame> ValueMap;
ValueMap values;
// convenience container for QSqlQuery

10
qt.csh
View file

@ -1,10 +1,10 @@
# Qt initialization script (csh)
# In multilib environments there is a preferred architecture, 64 bit over 32 bit in x86_64,
# 32 bit over 64 bit in ppc64. When a conflict is found between two packages corresponding
# with different arches, the installed file is the one from the preferred arch. This is
# very common for executables in /usr/bin, for example. If the file /usr/bin/foo is found
# in an x86_64 package and in an i386 package, the executable from x86_64 will be installe
# ppc64. When a conflict is found between two packages corresponding with different arches,
# the installed file is the one from the preferred arch. This is very common for executables
# in /usr/bin, for example. If the file /usr/bin/foo is found in an x86_64 package and in
# an i386 package, the executable from x86_64 will be installe
if ( $?QTDIR ) then
exit
@ -14,6 +14,8 @@ switch (`uname -m`)
case x86_64:
case ia64:
case s390x:
case ppc64:
case ppc64le:
set QTPREFIXES = "/usr/lib64/qt-3.3 /usr/lib/qt-3.3"
breaksw
case *:

9
qt.sh
View file

@ -9,7 +9,7 @@
if [ -z "${QTDIR}" ]; then
case `uname -m` in
x86_64 | ia64 | s390x | ppc64)
x86_64 | ia64 | s390x | ppc64 | ppc64le)
QT_PREFIXES="/usr/lib64/qt-3.3 /usr/lib/qt-3.3" ;;
* )
QT_PREFIXES="/usr/lib/qt-3.3 /usr/lib64/qt-3.3" ;;
@ -20,9 +20,10 @@ for QTDIR in ${QT_PREFIXES} ; do
done
unset QT_PREFIXES
if ! echo ${PATH} | /bin/grep -q $QTDIR/bin ; then
PATH=$QTDIR/bin:${PATH}
fi
case :$PATH: in
*:$QTDIR/bin:*) ;;
*) PATH=$QTDIR/bin:$PATH ;;
esac
QTINC="$QTDIR/include"
QTLIB="$QTDIR/lib"

418
qt3.spec
View file

@ -1,14 +1,16 @@
%define _default_patch_fuzz 2
# trim changelog included in binary rpms
%global _changelog_trimtime %(date +%s -d "1 year ago")
Name: qt3
Summary: The shared library for the Qt 3 GUI toolkit
Version: 3.3.8b
Name: qt3
Release: 38%{?dist}
License: QPL or GPLv2 or GPLv3
Group: System Environment/Libraries
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
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
Url: http://www.troll.no
Source0: ftp://ftp.troll.no/qt/source/qt-x11-free-%{version}.tar.gz
Source0: ftp://ftp.trolltech.com/qt/source/qt-x11-free-%{version}.tar.gz
Source2: qt.sh
Source3: qt.csh
Source4: designer3.desktop
@ -26,8 +28,9 @@ 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
Patch20: qt-x11-free-3.3.8b-gcc4-buildkey.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
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
@ -56,6 +59,14 @@ Patch43: qt-x11-free-3.3.8b-system-sqlite2.patch
Patch44: qt-x11-free-3.3.8b-qimage-parentheses.patch
# fix the include path for zlib.h in qcstring.cpp to pick up the system version
Patch45: qt-x11-free-3.3.8b-system-zlib-header.patch
# fix FTBFS with libpng 1.5 (patch from NetBSD)
Patch46: qt-3.3.8-libpng15.patch
# work around -Werror=format-security false positives (#1037297)
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
@ -63,6 +74,12 @@ 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
@ -77,6 +94,16 @@ Patch110: 0084-compositing-properties.patch
Patch200: qt-x11-free-3.3.4-fullscreen.patch
Patch201: qt-x11-free-3.3.8b-gcc43.patch
# security patches
# fix for CVE-2013-4549 backported from Qt 4
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}
%define qt_docdir %{_docdir}/qt-devel-%{version}
@ -97,7 +124,7 @@ Patch201: qt-x11-free-3.3.8b-gcc43.patch
%define plugin_odbc -plugin-sql-odbc
# sqlite plugins
%if 0%{?rhel} < 7
%if 0%{?rhel} && 0%{?rhel} < 7
%define plugin_sqlite -plugin-sql-sqlite
%else
%define plugin_sqlite %{nil}
@ -109,6 +136,8 @@ Patch201: qt-x11-free-3.3.8b-gcc43.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
@ -116,7 +145,7 @@ BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: zlib-devel
BuildRequires: giflib-devel
BuildRequires: perl
BuildRequires: perl-interpreter
BuildRequires: sed
BuildRequires: findutils
BuildRequires: cups-devel
@ -139,25 +168,25 @@ 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
BuildRequires: postgresql-devel
%endif
BuildRequires: postgresql-server-devel
BuildRequires: unixODBC-devel
%if 0%{?rhel} < 7
%if 0%{?rhel} && 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: freetype-devel
Requires: fontconfig-devel
Requires: libXrender-devel
Requires: libXrandr-devel
Requires: libXcursor-devel
@ -169,40 +198,31 @@ Requires: libSM-devel
Requires: libICE-devel
Requires: libXt-devel
Requires: xorg-x11-proto-devel
Requires: libpng-devel
Requires: libjpeg-devel
Requires: libmng-devel
Requires: mesa-libGL-devel
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
@ -263,66 +283,86 @@ for the Qt 3 toolkit.
%prep
%setup -q -n qt-x11-free-%{version}
%patch1 -p1 -b .cjk
%patch2 -p1 -b .ndebug
%patch3 -p1 -b .makefile
%patch4 -p1 -b .umask
%patch5 -p1 -b .strip
%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
# drop backup file(s), else they get installed too, http://bugzilla.redhat.com/639459
rm -fv mkspecs/linux-g++*/qmake.conf.strip
%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
%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
# it's not 100% clear to me if this is safe for all archs -- Rex
%ifarch %{arm}
%patch39 -p1 -b .arm
%patch -P39 -p1 -b .arm
%endif
%patch40 -p1 -b .sane_defaults
%patch -P40 -p1 -b .sane_defaults
sed -i.KDE3_PLUGIN_PATH \
-e "s|@@KDE3_PLUGIN_PATH@@|%{_libdir}/kde3/plugins|" \
src/kernel/qapplication.cpp
%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
%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
%if 0%{?fedora} > 16 || 0%{?rhel} > 6
# This patch works ONLY with libpng >= 1.5.
%patch -P46 -p0 -b .libpng15
%endif
%patch -P47 -p1 -b .#1037297
%patch -P48 -p1 -b .freetype251
%patch -P49 -p1 -b .postgresql11
# immodule patches
%if %{immodule}
%patch50 -p1
%patch51 -p1 -b .quiet
%patch52 -p1 -b .fix-key-release-event-with-imm
%patch53 -p1 -b .resetinputcontext
%patch -P50 -p1
%patch -P51 -p1 -b .quiet
%patch -P52 -p1 -b .fix-key-release-event-with-imm
%patch -P53 -p1 -b .resetinputcontext
%endif
# mariadb
%patch -P60 -p1 -b .mariadb
# PostgreSQL 12
%patch -P70 -p1 -b .PostgreSQL12
# qt-copy patches
%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
%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
# upstream patches
%patch200 -p1 -b .fullscreen
%patch201 -p1 -b .gcc34
%patch -P200 -p1 -b .fullscreen
%patch -P201 -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
# convert to UTF-8
iconv -f iso-8859-1 -t utf-8 < doc/man/man3/qdial.3qt > doc/man/man3/qdial.3qt_
@ -354,7 +394,7 @@ perl -pi -e "s,QMAKE_LIBDIR_OPENGL.*,QMAKE_LIBDIR_OPENGL\t=," mkspecs/*/qmake.co
# don't use rpath
perl -pi -e "s|-Wl,-rpath,| |" mkspecs/*/qmake.conf
perl -pi -e "s|-O2|$INCLUDES %{optflags}|g" mkspecs/*/qmake.conf
perl -pi -e "s|-O2|$INCLUDES %{optflags} -fno-strict-aliasing|g" mkspecs/*/qmake.conf
# set correct lib path
if [ "%{_lib}" == "lib64" ] ; then
@ -366,7 +406,7 @@ fi
echo yes | ./configure \
-prefix $QTDEST \
-docdir %{qt_docdir} \
%if %{_lib} == lib64
%if "%{_lib}" == "lib64"
-platform linux-g++-64 \
%else
-platform linux-g++ \
@ -411,9 +451,9 @@ echo yes | ./configure \
-xft \
-tablet
make $SMP_MFLAGS src-qmake
%make_build src-qmake
%if 0%{?rhel} < 7
%if 0%{?rhel} && 0%{?rhel} < 7
# build sqlite plugin
pushd plugins/src/sqldrivers/sqlite
qmake -o Makefile sqlite.pro
@ -435,9 +475,9 @@ pushd plugins/src/sqldrivers/odbc
qmake -o Makefile "LIBS+=-lodbc" odbc.pro
popd
make $SMP_MFLAGS src-moc
make $SMP_MFLAGS sub-src
make $SMP_MFLAGS sub-tools UIC="$QTDIR/bin/uic -nostdlib -L $QTDIR/plugins"
%make_build src-moc
%make_build sub-src
%make_build sub-tools UIC="$QTDIR/bin/uic -nostdlib -L $QTDIR/plugins"
%install
rm -rf %{buildroot}
@ -459,6 +499,11 @@ for i in findtr qt20fix qtrename140 lrelease lupdate ; do
install bin/$i %{buildroot}%{qtdir}/bin/
done
# strip extraneous dirs/libraries, stop overlinking
sed -i -e 's|^Libs: -L${libdir} -lqt-mt.*|Libs: -L${libdir} -lqt-mt|g' %{buildroot}%{qtdir}/lib/pkgconfig/*.pc
sed -i -e "s|^QMAKE_PRL_LIBS =.*|QMAKE_PRL_LIBS = -L%{qtdir}/lib -lqt-mt|g" %{buildroot}%{qtdir}/lib/*.prl
# pkgconfig love
mkdir -p %{buildroot}%{_libdir}/pkgconfig/
mv %{buildroot}%{qtdir}/lib/pkgconfig/*.pc %{buildroot}%{_libdir}/pkgconfig/
@ -516,15 +561,11 @@ 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
@ -546,13 +587,11 @@ rm -rf %{buildroot}
%{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
@ -582,31 +621,25 @@ rm -rf %{buildroot}
%{_datadir}/pixmaps/assistant3.png
%files devel-docs
%defattr(-,root,root,-)
%doc examples
%doc tutorial
%{_mandir}/*/*
%if 0%{?rhel} < 7
%if 0%{?rhel} && 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
@ -614,6 +647,207 @@ rm -rf %{buildroot}
%changelog
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-102
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-101
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Aug 07 2024 Miroslav Suchý <msuchy@redhat.com> - 3.3.8b-100
- convert license to SPDX
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-99
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-98
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-97
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Nov 30 2023 Lukas Javorsky <ljavorsk@redhat.com> - 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 <releng@fedoraproject.org> - 3.3.8b-95
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-94
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Nov 16 2022 Ondřej Sloup <osloup@redhat.com> - 3.3.8b-93
- Rebuild for new PostgreSQL 15
* Fri Sep 09 2022 Than Ngo <than@redhat.com> - 3.3.8b-92
- fixed bz#2120316 - qt3 shouldn't require postgresql-private-devel
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-91
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-90
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Jan 11 2022 Than Ngo <than@redhat.com> - 3.3.8b-89
- Rebuild for Postgresql 14
* Thu Sep 16 2021 Than Ngo <than@redhat.com> - 3.3.8b-88
- Fix FTBFS
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-87
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Feb 08 2021 Pavel Raiskup <praiskup@redhat.com> - 3.3.8b-86
- rebuild for libpq ABI fix rhbz#1908268
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-85
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-84
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 21 2020 Than Ngo <than@redhat.com> - 3.3.8b-83
- Use make macros, https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Thu Jul 16 2020 Than Ngo <than@redhat.com> - 3.3.8b-82
- fixed 1839125 - compile with PostgreSQL 12, FTBFS
* Thu Apr 02 2020 Björn Esser <besser82@fedoraproject.org> - 3.3.8b-81
- Fix string quoting for rpm >= 4.16
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-80
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-78
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Jan 05 2019 Kevin Kofler <Kevin@tigcc.ticalc.org> - 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 <rdieter@fedoraproject.org> - 3.3.8b-76
- BR: gcc-c++
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-75
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu May 31 2018 Kevin Kofler <Kevin@tigcc.ticalc.org> - 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 <ignatenkobrain@fedoraproject.org> - 3.3.8b-73
- Escape macros in %%changelog
* Mon Nov 13 2017 Than Ngo <than@redhat.com> - 3.3.8b-72
- backport mysql driver mariadb fix
- BR: mariadb-connector-c-devel (f28+, #1494085)
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-71
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-70
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-69
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Mar 28 2016 Ville Skyttä <ville.skytta@iki.fi> - 3.3.8b-68
- qt.sh: Avoid unnecessary command invocations
* Wed Feb 10 2016 Rex Dieter <rdieter@fedoraproject.org> 3.3.8b-67
- update gccX-buildkey.patch
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.8b-66
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.8b-65
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon May 04 2015 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-64
- updated gcc5-buildkey patch for GCC 5 (supersedes gcc4-buildkey) (#1218091)
* Tue Apr 21 2015 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-63
- backport CVE-2015-1860 (GIF handler buffer overflow, #1210675) fix from Qt 4
* Sat Feb 28 2015 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-62
- backport CVE-2015-0295 (BMP image handler DoS, #1197275) fix from Qt 4
* Fri Feb 27 2015 Rex Dieter <rdieter@fedoraproject.org> 3.3.8b-61
- rebuild (gcc5)
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.8b-60
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.8b-59
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu May 29 2014 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-58
- backport CVE-2014-0190 (GIF image handler DoS, QTBUG-38367) fix from Qt 4
* Sun Feb 23 2014 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-57
- add ppc64le support to qt.sh and qt.csh (#1068898)
- fix ppc64 support in qt.csh
- search for FreeType using pkg-config, fixes FTBFS with freetype >= 2.5.1
* Tue Jan 14 2014 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-56
- work around -Werror=format-security false positives (#1037297)
* Mon Jan 13 2014 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-55
- fix QTBUG-35459 (too low entityCharacterLimit=1024 for CVE-2013-4549)
- fix QTBUG-35460 (error message for CVE-2013-4549 is misspelled)
* Thu Dec 05 2013 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-54
- backport CVE-2013-4549 fix from Qt 4
* Tue Aug 27 2013 Rex Dieter <rdieter@fedoraproject.org> 3.3.8b-53
- trim changelog
* Tue Aug 27 2013 Rex Dieter <rdieter@fedoraproject.org> 3.3.8b-52
- strip extraneous libs from .pc/.prl files
- -devel: due to ^^, drop non-X11-related deps too
* Mon Aug 26 2013 Jon Ciesla <limburgher@gmail.com> - 3.3.8b-51
- libmng rebuild.
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.8b-50
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 3.3.8b-49
- Perl 5.18 rebuild
* Thu Apr 25 2013 Than Ngo <than@redhat.com> - 3.3.8b-48
- build with -fno-strict-aliasing
- drop deprecated Encoding
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.8b-47
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Mon Jan 21 2013 Adam Tkac <atkac redhat com> - 3.3.8b-46
- rebuild due to "jpeg8-ABI" feature drop
* Wed Oct 24 2012 Rex Dieter <rdieter@fedoraproject.org> 3.3.8b-45
- rebuild (libjpeg-turbo v8)
* Tue Oct 09 2012 Than Ngo <than@redhat.com> - 3.3.8b-44
- fix url
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.8b-43
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Wed Apr 18 2012 Than Ngo <than@redhat.com> - 3.3.8b-42
- add rhel condition
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.8b-41
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Sat Dec 10 2011 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.3.8b-40
- fix FTBFS with F17's libpng 1.5 (patch from NetBSD)
* Tue Dec 06 2011 Adam Jackson <ajax@redhat.com> - 3.3.8b-39
- Rebuild for new libpng
* Thu Dec 01 2011 Than Ngo <than@redhat.com> - 3.3.8b-38
- add rhel7 condition
@ -708,7 +942,7 @@ rm -rf %{buildroot}
- fix obsolete/provides of version/release
* Thu Mar 13 2008 Kevin Kofler <Kevin@tigcc.ticalc.org> 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 <Kevin@tigcc.ticalc.org> 3.3.8b-9
- rename to qt3 on Fedora >= 9
@ -1764,13 +1998,13 @@ rm -rf %{buildroot}
- fix compilation of the NSPlugin add-on
* Fri Mar 3 2000 Bill Nottingham <notting@redhat.com>
- fix %postun script
- fix %%postun script
* Fri Feb 18 2000 Bernhard Rosenkränzer <bero@redhat.com>
- 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 <pbrown@redhat.com>
- no refcount check on postun script, we want it to happen even on upgrades

View file

@ -4,6 +4,5 @@ Comment=Configure Qt3 behavior, styles, fonts
Exec=qtconfig
Icon=qtconfig3
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Settings;