Compare commits
No commits in common. "rawhide" and "f16" have entirely different histories.
19 changed files with 129 additions and 1076 deletions
|
|
@ -4,5 +4,6 @@ Comment=Add translations to Qt3 applications
|
|||
Exec=assistant
|
||||
Icon=assistant3
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Categories=Qt;Development;
|
||||
|
|
|
|||
|
|
@ -6,5 +6,6 @@ Exec=designer
|
|||
Icon=designer3
|
||||
MimeType=application/x-designer;
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Categories=Qt;Development;
|
||||
|
|
|
|||
|
|
@ -5,5 +5,6 @@ Exec=linguist
|
|||
Icon=linguist3
|
||||
MimeType=application/x-linguist;
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Categories=Qt;Development;
|
||||
|
|
|
|||
|
|
@ -1,212 +0,0 @@
|
|||
$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
|
||||
|
|
@ -1,172 +0,0 @@
|
|||
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
|
||||
}
|
||||
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
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);
|
||||
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
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);
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
@ -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:
|
||||
|
|
@ -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;
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
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
|
||||
|
||||
25
qt-x11-free-3.3.8b-gcc4-buildkey.patch
Normal file
25
qt-x11-free-3.3.8b-gcc4-buildkey.patch
Normal file
|
|
@ -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.*"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
|
|
@ -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}"
|
||||
;;
|
||||
*)
|
||||
|
|
@ -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 )
|
||||
|
|
@ -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<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
10
qt.csh
|
|
@ -1,10 +1,10 @@
|
|||
# Qt initialization script (csh)
|
||||
|
||||
# In multilib environments there is a preferred architecture, 64 bit over 32 bit in x86_64,
|
||||
# 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
|
||||
# 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
|
||||
|
||||
if ( $?QTDIR ) then
|
||||
exit
|
||||
|
|
@ -14,8 +14,6 @@ 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
9
qt.sh
|
|
@ -9,7 +9,7 @@
|
|||
if [ -z "${QTDIR}" ]; then
|
||||
|
||||
case `uname -m` in
|
||||
x86_64 | ia64 | s390x | ppc64 | ppc64le)
|
||||
x86_64 | ia64 | s390x | ppc64)
|
||||
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,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"
|
||||
|
|
|
|||
418
qt3.spec
418
qt3.spec
|
|
@ -1,16 +1,14 @@
|
|||
%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
|
||||
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
|
||||
Name: qt3
|
||||
Release: 38%{?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
|
||||
Source0: ftp://ftp.troll.no/qt/source/qt-x11-free-%{version}.tar.gz
|
||||
Source2: qt.sh
|
||||
Source3: qt.csh
|
||||
Source4: designer3.desktop
|
||||
|
|
@ -28,9 +26,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
|
||||
|
|
@ -59,14 +56,6 @@ 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
|
||||
|
|
@ -74,12 +63,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
|
||||
|
|
@ -94,16 +77,6 @@ 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}
|
||||
|
|
@ -124,7 +97,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 +109,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 +116,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,25 +139,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
|
||||
%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: freetype-devel
|
||||
Requires: fontconfig-devel
|
||||
Requires: libXrender-devel
|
||||
Requires: libXrandr-devel
|
||||
Requires: libXcursor-devel
|
||||
|
|
@ -198,31 +169,40 @@ 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
|
||||
|
|
@ -283,86 +263,66 @@ 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
|
||||
%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
|
||||
%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
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
%patch200 -p1 -b .fullscreen
|
||||
%patch201 -p1 -b .gcc34
|
||||
|
||||
# convert to UTF-8
|
||||
iconv -f iso-8859-1 -t utf-8 < doc/man/man3/qdial.3qt > doc/man/man3/qdial.3qt_
|
||||
|
|
@ -394,7 +354,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} -fno-strict-aliasing|g" mkspecs/*/qmake.conf
|
||||
perl -pi -e "s|-O2|$INCLUDES %{optflags}|g" mkspecs/*/qmake.conf
|
||||
|
||||
# set correct lib path
|
||||
if [ "%{_lib}" == "lib64" ] ; then
|
||||
|
|
@ -406,7 +366,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 +411,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 +435,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}
|
||||
|
|
@ -499,11 +459,6 @@ 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/
|
||||
|
||||
|
|
@ -561,11 +516,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 +546,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 +582,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,207 +614,6 @@ mkdir -p %{buildroot}%{qtdir}/plugins/styles
|
|||
|
||||
|
||||
%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
|
||||
|
||||
|
|
@ -942,7 +708,7 @@ mkdir -p %{buildroot}%{qtdir}/plugins/styles
|
|||
- 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
|
||||
|
|
@ -1998,13 +1764,13 @@ mkdir -p %{buildroot}%{qtdir}/plugins/styles
|
|||
- 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
|
||||
|
|
|
|||
|
|
@ -4,5 +4,6 @@ Comment=Configure Qt3 behavior, styles, fonts
|
|||
Exec=qtconfig
|
||||
Icon=qtconfig3
|
||||
Terminal=false
|
||||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Categories=Qt;Settings;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue