diff --git a/assistant3.desktop b/assistant3.desktop index cb84958..49e718c 100644 --- a/assistant3.desktop +++ b/assistant3.desktop @@ -4,5 +4,6 @@ Comment=Add translations to Qt3 applications Exec=assistant Icon=assistant3 Terminal=false +Encoding=UTF-8 Type=Application Categories=Qt;Development; diff --git a/designer3.desktop b/designer3.desktop index 22cb14f..23f1f54 100644 --- a/designer3.desktop +++ b/designer3.desktop @@ -6,5 +6,6 @@ Exec=designer Icon=designer3 MimeType=application/x-designer; Terminal=false +Encoding=UTF-8 Type=Application Categories=Qt;Development; diff --git a/linguist3.desktop b/linguist3.desktop index 74aca11..c6fce02 100644 --- a/linguist3.desktop +++ b/linguist3.desktop @@ -5,5 +5,6 @@ Exec=linguist Icon=linguist3 MimeType=application/x-linguist; Terminal=false +Encoding=UTF-8 Type=Application Categories=Qt;Development; diff --git a/qt-3.3.8-libpng15.patch b/qt-3.3.8-libpng15.patch deleted file mode 100644 index e64fea3..0000000 --- a/qt-3.3.8-libpng15.patch +++ /dev/null @@ -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 -+#include - - - #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; ipalette[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; isig_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 diff --git a/qt-x11-free-3.3.8b-#1037297.patch b/qt-x11-free-3.3.8b-#1037297.patch deleted file mode 100644 index 6f9d6e8..0000000 --- a/qt-x11-free-3.3.8b-#1037297.patch +++ /dev/null @@ -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 - } - diff --git a/qt-x11-free-3.3.8b-CVE-2013-4549.patch b/qt-x11-free-3.3.8b-CVE-2013-4549.patch deleted file mode 100644 index b76730c..0000000 --- a/qt-x11-free-3.3.8b-CVE-2013-4549.patch +++ /dev/null @@ -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 literalEntitySizes; -+ // The entity at (QMap) times. -+ QMap > referencesToOtherEntities; -+ QMap expandedSizes; -+ -+ // For every entity, check how many times all entity names were referenced in its value. -+ QMap::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::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 >::ConstIterator entityIterator; -+ for (entityIterator = referencesToOtherEntities.begin(); entityIterator != referencesToOtherEntities.end(); ++entityIterator) { -+ QString entity = entityIterator.key(); -+ expandedSizes[entity] = literalEntitySizes[entity]; -+ QMap::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); - diff --git a/qt-x11-free-3.3.8b-CVE-2014-0190.patch b/qt-x11-free-3.3.8b-CVE-2014-0190.patch deleted file mode 100644 index 1f7cacd..0000000 --- a/qt-x11-free-3.3.8b-CVE-2014-0190.patch +++ /dev/null @@ -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); - } diff --git a/qt-x11-free-3.3.8b-CVE-2015-0295.patch b/qt-x11-free-3.3.8b-CVE-2015-0295.patch deleted file mode 100644 index 1ea84fe..0000000 --- a/qt-x11-free-3.3.8b-CVE-2015-0295.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -ur qt-x11-free-3.3.8b/src/kernel/qimage.cpp qt-x11-free-3.3.8b-CVE-2015-0295/src/kernel/qimage.cpp ---- qt-x11-free-3.3.8b/src/kernel/qimage.cpp 2008-01-15 20:09:13.000000000 +0100 -+++ qt-x11-free-3.3.8b-CVE-2015-0295/src/kernel/qimage.cpp 2015-02-28 04:59:11.000000000 +0100 -@@ -4716,10 +4716,16 @@ - if ( (Q_ULONG)d->readBlock( (char *)&blue_mask, sizeof(blue_mask) ) != sizeof(blue_mask) ) - return FALSE; - red_shift = calc_shift(red_mask); -+ if (((red_mask >> red_shift) + 1) == 0) -+ return FALSE; - red_scale = 256 / ((red_mask >> red_shift) + 1); - green_shift = calc_shift(green_mask); -+ if (((green_mask >> green_shift) + 1) == 0) -+ return FALSE; - green_scale = 256 / ((green_mask >> green_shift) + 1); - blue_shift = calc_shift(blue_mask); -+ if (((blue_mask >> blue_shift) + 1) == 0) -+ return FALSE; - blue_scale = 256 / ((blue_mask >> blue_shift) + 1); - } else if (comp == BMP_RGB && (nbits == 24 || nbits == 32)) { - blue_mask = 0x000000ff; diff --git a/qt-x11-free-3.3.8b-CVE-2015-1860.patch b/qt-x11-free-3.3.8b-CVE-2015-1860.patch deleted file mode 100644 index d82f9a3..0000000 --- a/qt-x11-free-3.3.8b-CVE-2015-1860.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur qt-x11-free-3.3.8b/src/kernel/qasyncimageio.cpp qt-x11-free-3.3.8b-CVE-2015-1860/src/kernel/qasyncimageio.cpp ---- qt-x11-free-3.3.8b/src/kernel/qasyncimageio.cpp 2008-01-15 20:09:13.000000000 +0100 -+++ qt-x11-free-3.3.8b-CVE-2015-1860/src/kernel/qasyncimageio.cpp 2015-04-22 01:30:03.000000000 +0200 -@@ -1221,6 +1221,8 @@ - - void QGIFFormat::nextY(QImage& img, QImageConsumer* consumer) - { -+ if (out_of_bounds) -+ return; - int my; - switch (interlace) { - case 0: diff --git a/qt-x11-free-3.3.8b-PostgreSQL12.patch b/qt-x11-free-3.3.8b-PostgreSQL12.patch deleted file mode 100644 index b4b0162..0000000 --- a/qt-x11-free-3.3.8b-PostgreSQL12.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up qt-x11-free-3.3.8b/src/sql/drivers/psql/qsql_psql.cpp.me qt-x11-free-3.3.8b/src/sql/drivers/psql/qsql_psql.cpp ---- qt-x11-free-3.3.8b/src/sql/drivers/psql/qsql_psql.cpp.me 2020-07-16 10:21:41.403226592 +0200 -+++ qt-x11-free-3.3.8b/src/sql/drivers/psql/qsql_psql.cpp 2020-07-16 10:23:00.754291164 +0200 -@@ -147,8 +147,10 @@ static QVariant::Type qDecodePSQLType( i - case FLOAT8OID : - type = QVariant::Double; - break; -+#ifdef ABSTIMEOID - case ABSTIMEOID : - case RELTIMEOID : -+#endif - case DATEOID : - type = QVariant::Date; - break; diff --git a/qt-x11-free-3.3.8b-freetype251.patch b/qt-x11-free-3.3.8b-freetype251.patch deleted file mode 100644 index f9f27d4..0000000 --- a/qt-x11-free-3.3.8b-freetype251.patch +++ /dev/null @@ -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 - diff --git a/qt-x11-free-3.3.8b-gcc4-buildkey.patch b/qt-x11-free-3.3.8b-gcc4-buildkey.patch new file mode 100644 index 0000000..ed002bc --- /dev/null +++ b/qt-x11-free-3.3.8b-gcc4-buildkey.patch @@ -0,0 +1,25 @@ +diff -ur qt-x11-free-3.3.8b/configure qt-x11-free-3.3.8b-gcc4-buildkey/configure +--- qt-x11-free-3.3.8b/configure 2008-01-15 20:09:15.000000000 +0100 ++++ qt-x11-free-3.3.8b-gcc4-buildkey/configure 2008-02-18 02:41:01.000000000 +0100 +@@ -3081,16 +3081,16 @@ + g++*) + # GNU C++ + QMAKE_CONF_COMPILER=`grep "QMAKE_CXX[^_A-Z0-9a-z]" $QMAKESPEC/qmake.conf | sed "s,.* *= *\(.*\)$,\1,"` +- COMPILER_VERSION=`${QMAKE_CONF_COMPILER} --version 2>/dev/null` ++ COMPILER_VERSION=`${QMAKE_CONF_COMPILER} --version 2>/dev/null | sed 's,^[^0-9]*,,g'` + case "$COMPILER_VERSION" in +- *2.95.*) ++ 2.95.*) + COMPILER_VERSION="2.95.*" + ;; +- *3.*) ++ 3.*) + COMPILER_VERSION="3.*" + ;; +- *4.*) +- COMPILER_VERSION="4" ++ 4.*) ++ COMPILER_VERSION="4.*" + ;; + *) + ;; diff --git a/qt-x11-free-3.3.8b-hardcode-buildkey.patch b/qt-x11-free-3.3.8b-hardcode-buildkey.patch deleted file mode 100644 index e213648..0000000 --- a/qt-x11-free-3.3.8b-hardcode-buildkey.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff -ur qt-x11-free-3.3.8b/configure qt-x11-free-3.3.8b-hardcode-buildkey/configure ---- qt-x11-free-3.3.8b/configure 2008-01-15 20:09:15.000000000 +0100 -+++ qt-x11-free-3.3.8b-hardcode-buildkey/configure 2019-01-05 04:57:37.066254942 +0100 -@@ -3081,20 +3081,7 @@ - g++*) - # GNU C++ - QMAKE_CONF_COMPILER=`grep "QMAKE_CXX[^_A-Z0-9a-z]" $QMAKESPEC/qmake.conf | sed "s,.* *= *\(.*\)$,\1,"` -- COMPILER_VERSION=`${QMAKE_CONF_COMPILER} --version 2>/dev/null` -- case "$COMPILER_VERSION" in -- *2.95.*) -- COMPILER_VERSION="2.95.*" -- ;; -- *3.*) -- COMPILER_VERSION="3.*" -- ;; -- *4.*) -- COMPILER_VERSION="4" -- ;; -- *) -- ;; -- esac -+ COMPILER_VERSION="4.*" - [ ! -z "$COMPILER_VERSION" ] && COMPILER="g++-${COMPILER_VERSION}" - ;; - *) diff --git a/qt-x11-free-3.3.8b-mariadb.patch b/qt-x11-free-3.3.8b-mariadb.patch deleted file mode 100644 index 7aed136..0000000 --- a/qt-x11-free-3.3.8b-mariadb.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -up qt-x11-free-3.3.8b/src/sql/drivers/mysql/qsql_mysql.cpp.me qt-x11-free-3.3.8b/src/sql/drivers/mysql/qsql_mysql.cpp ---- qt-x11-free-3.3.8b/src/sql/drivers/mysql/qsql_mysql.cpp.me 2017-11-10 18:08:22.850898663 +0100 -+++ qt-x11-free-3.3.8b/src/sql/drivers/mysql/qsql_mysql.cpp 2017-11-13 15:02:41.565493236 +0100 -@@ -350,30 +350,38 @@ int QMYSQLResult::numRowsAffected() - static void qServerEnd() - { - #ifndef Q_NO_MYSQL_EMBEDDED --# if MYSQL_VERSION_ID >= 40000 -+#if !defined(MARIADB_BASE_VERSION) && !defined(MARIADB_VERSION_ID) -+# if MYSQL_VERSION_ID > 40000 -+# if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003 -+ mysql_library_end(); -+# else - mysql_server_end(); --# endif // MYSQL_VERSION_ID --#endif // Q_NO_MYSQL_EMBEDDED -+# endif -+# endif -+#endif -+#endif - } - - static void qServerInit() - { - #ifndef Q_NO_MYSQL_EMBEDDED - # if MYSQL_VERSION_ID >= 40000 -- if ( qMySqlInitHandledByUser || qMySqlConnectionCount > 1 ) -+ if (qMySqlInitHandledByUser || qMySqlConnectionCount > 1) - return; - -- // this should only be called once -- // has no effect on client/server library -- // but is vital for the embedded lib -- if ( mysql_server_init( 0, 0, 0 ) ) { --# ifdef QT_CHECK_RANGE -- qWarning( "QMYSQLDriver::qServerInit: unable to start server." ); --# endif -+# if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003 -+ if (mysql_library_init(0, 0, 0)) { -+# else -+ if (mysql_server_init(0, 0, 0)) { -+# endif -+ qWarning("QMYSQLDriver::qServerInit: unable to start server."); - } -- - # endif // MYSQL_VERSION_ID - #endif // Q_NO_MYSQL_EMBEDDED -+ -+#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID) -+ qAddPostRoutine(mysql_server_end); -+#endif - } - - QMYSQLDriver::QMYSQLDriver( QObject * parent, const char * name ) diff --git a/qt-x11-free-3.3.8b-postgresql11.patch b/qt-x11-free-3.3.8b-postgresql11.patch deleted file mode 100644 index ad9c4cc..0000000 --- a/qt-x11-free-3.3.8b-postgresql11.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff -ur qt-x11-free-3.3.8b/src/sql/qsqlextension_p.cpp qt-x11-free-3.3.8b-postgresql11/src/sql/qsqlextension_p.cpp ---- qt-x11-free-3.3.8b/src/sql/qsqlextension_p.cpp 2008-01-15 20:09:13.000000000 +0100 -+++ qt-x11-free-3.3.8b-postgresql11/src/sql/qsqlextension_p.cpp 2019-01-05 05:21:29.839087511 +0100 -@@ -68,7 +68,7 @@ - if ( index.contains( (int)values.count() ) ) { - index[ (int)values.count() ] = placeholder; - } -- values[ placeholder ] = Param( val, tp ); -+ values[ placeholder ] = Parame( val, tp ); - } - - void QSqlExtension::bindValue( int pos, const QVariant& val, QSql::ParameterType tp ) -@@ -76,7 +76,7 @@ - bindm = BindByPosition; - index[ pos ] = QString::number( pos ); - QString nm = QString::number( pos ); -- values[ nm ] = Param( val, tp ); -+ values[ nm ] = Parame( val, tp ); - } - - void QSqlExtension::addBindValue( const QVariant& val, QSql::ParameterType tp ) -@@ -130,7 +130,7 @@ - - QMap QSqlExtension::boundValues() const - { -- QMap::ConstIterator it; -+ QMap::ConstIterator it; - QMap m; - if ( bindm == BindByName ) { - for ( it = values.begin(); it != values.end(); ++it ) -diff -ur qt-x11-free-3.3.8b/src/sql/qsqlextension_p.h qt-x11-free-3.3.8b-postgresql11/src/sql/qsqlextension_p.h ---- qt-x11-free-3.3.8b/src/sql/qsqlextension_p.h 2008-01-15 20:09:13.000000000 +0100 -+++ qt-x11-free-3.3.8b-postgresql11/src/sql/qsqlextension_p.h 2019-01-05 05:20:59.605555077 +0100 -@@ -71,11 +71,11 @@ - #define QM_TEMPLATE_EXTERN_SQL Q_TEMPLATE_EXTERN - #endif - --struct Param { -- Param( const QVariant& v = QVariant(), QSql::ParameterType t = QSql::In ): value( v ), typ( t ) {} -+struct Parame { -+ Parame( const QVariant& v = QVariant(), QSql::ParameterType t = QSql::In ): value( v ), typ( t ) {} - QVariant value; - QSql::ParameterType typ; -- Q_DUMMY_COMPARISON_OPERATOR(Param) -+ Q_DUMMY_COMPARISON_OPERATOR(Parame) - }; - - struct Holder { -@@ -114,7 +114,7 @@ - int bindCount; - - QMap index; -- typedef QMap ValueMap; -+ typedef QMap ValueMap; - ValueMap values; - - // convenience container for QSqlQuery diff --git a/qt.csh b/qt.csh index 7497099..93fd941 100755 --- a/qt.csh +++ b/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 *: diff --git a/qt.sh b/qt.sh index 5b7c94c..4b298f5 100755 --- a/qt.sh +++ b/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" diff --git a/qt3.spec b/qt3.spec index 7351f22..d378798 100644 --- a/qt3.spec +++ b/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 - 3.3.8b-102 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sat Jan 18 2025 Fedora Release Engineering - 3.3.8b-101 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Aug 07 2024 Miroslav Suchý - 3.3.8b-100 -- convert license to SPDX - -* Fri Jul 19 2024 Fedora Release Engineering - 3.3.8b-99 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jan 26 2024 Fedora Release Engineering - 3.3.8b-98 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 3.3.8b-97 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Nov 30 2023 Lukas Javorsky - 3.3.8b-96 -- Rebuilt for PostgreSQL 16 (BZ#2251109) -- For more info see the Fedora Change: https://fedoraproject.org/wiki/Changes/PostgreSQL_16 - -* Fri Jul 21 2023 Fedora Release Engineering - 3.3.8b-95 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jan 20 2023 Fedora Release Engineering - 3.3.8b-94 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Nov 16 2022 Ondřej Sloup - 3.3.8b-93 -- Rebuild for new PostgreSQL 15 - -* Fri Sep 09 2022 Than Ngo - 3.3.8b-92 -- fixed bz#2120316 - qt3 shouldn't require postgresql-private-devel - -* Sat Jul 23 2022 Fedora Release Engineering - 3.3.8b-91 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Jan 21 2022 Fedora Release Engineering - 3.3.8b-90 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Jan 11 2022 Than Ngo - 3.3.8b-89 -- Rebuild for Postgresql 14 - -* Thu Sep 16 2021 Than Ngo - 3.3.8b-88 -- Fix FTBFS - -* Fri Jul 23 2021 Fedora Release Engineering - 3.3.8b-87 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Mon Feb 08 2021 Pavel Raiskup - 3.3.8b-86 -- rebuild for libpq ABI fix rhbz#1908268 - -* Wed Jan 27 2021 Fedora Release Engineering - 3.3.8b-85 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 3.3.8b-84 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 21 2020 Than Ngo - 3.3.8b-83 -- Use make macros, https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro - -* Thu Jul 16 2020 Than Ngo - 3.3.8b-82 -- fixed 1839125 - compile with PostgreSQL 12, FTBFS - -* Thu Apr 02 2020 Björn Esser - 3.3.8b-81 -- Fix string quoting for rpm >= 4.16 - -* Thu Jan 30 2020 Fedora Release Engineering - 3.3.8b-80 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Jul 26 2019 Fedora Release Engineering - 3.3.8b-79 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sat Feb 02 2019 Fedora Release Engineering - 3.3.8b-78 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Jan 05 2019 Kevin Kofler - 3.3.8b-77 -- Hardcode the compiler version in the build key once and for all -- Rename the struct Param in qsqlextension_p.h that conflicts with PostgreSQL 11 - -* Fri Jul 20 2018 Rex Dieter - 3.3.8b-76 -- BR: gcc-c++ - -* Sat Jul 14 2018 Fedora Release Engineering - 3.3.8b-75 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu May 31 2018 Kevin Kofler - 3.3.8b-74 -- Fix CVE-2016-10040 (stack overflow in QXmlSimpleReader due to a too high - entityCharacterLimit in the CVE-2013-4549 patch) (#1409603) - -* Fri Feb 09 2018 Igor Gnatenko - 3.3.8b-73 -- Escape macros in %%changelog - -* Mon Nov 13 2017 Than Ngo - 3.3.8b-72 -- backport mysql driver mariadb fix -- BR: mariadb-connector-c-devel (f28+, #1494085) - -* Thu Aug 03 2017 Fedora Release Engineering - 3.3.8b-71 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 3.3.8b-70 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 3.3.8b-69 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Mar 28 2016 Ville Skyttä - 3.3.8b-68 -- qt.sh: Avoid unnecessary command invocations - -* Wed Feb 10 2016 Rex Dieter 3.3.8b-67 -- update gccX-buildkey.patch - -* Thu Feb 04 2016 Fedora Release Engineering - 3.3.8b-66 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Thu Jun 18 2015 Fedora Release Engineering - 3.3.8b-65 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Mon May 04 2015 Kevin Kofler - 3.3.8b-64 -- updated gcc5-buildkey patch for GCC 5 (supersedes gcc4-buildkey) (#1218091) - -* Tue Apr 21 2015 Kevin Kofler - 3.3.8b-63 -- backport CVE-2015-1860 (GIF handler buffer overflow, #1210675) fix from Qt 4 - -* Sat Feb 28 2015 Kevin Kofler - 3.3.8b-62 -- backport CVE-2015-0295 (BMP image handler DoS, #1197275) fix from Qt 4 - -* Fri Feb 27 2015 Rex Dieter 3.3.8b-61 -- rebuild (gcc5) - -* Sun Aug 17 2014 Fedora Release Engineering - 3.3.8b-60 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sun Jun 08 2014 Fedora Release Engineering - 3.3.8b-59 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Thu May 29 2014 Kevin Kofler - 3.3.8b-58 -- backport CVE-2014-0190 (GIF image handler DoS, QTBUG-38367) fix from Qt 4 - -* Sun Feb 23 2014 Kevin Kofler - 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 - 3.3.8b-56 -- work around -Werror=format-security false positives (#1037297) - -* Mon Jan 13 2014 Kevin Kofler - 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 - 3.3.8b-54 -- backport CVE-2013-4549 fix from Qt 4 - -* Tue Aug 27 2013 Rex Dieter 3.3.8b-53 -- trim changelog - -* Tue Aug 27 2013 Rex Dieter 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 - 3.3.8b-51 -- libmng rebuild. - -* Sun Aug 04 2013 Fedora Release Engineering - 3.3.8b-50 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Wed Jul 17 2013 Petr Pisar - 3.3.8b-49 -- Perl 5.18 rebuild - -* Thu Apr 25 2013 Than Ngo - 3.3.8b-48 -- build with -fno-strict-aliasing -- drop deprecated Encoding - -* Thu Feb 14 2013 Fedora Release Engineering - 3.3.8b-47 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Mon Jan 21 2013 Adam Tkac - 3.3.8b-46 -- rebuild due to "jpeg8-ABI" feature drop - -* Wed Oct 24 2012 Rex Dieter 3.3.8b-45 -- rebuild (libjpeg-turbo v8) - -* Tue Oct 09 2012 Than Ngo - 3.3.8b-44 -- fix url - -* Sat Jul 21 2012 Fedora Release Engineering - 3.3.8b-43 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Wed Apr 18 2012 Than Ngo - 3.3.8b-42 -- add rhel condition - -* Sat Jan 14 2012 Fedora Release Engineering - 3.3.8b-41 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Sat Dec 10 2011 Kevin Kofler - 3.3.8b-40 -- fix FTBFS with F17's libpng 1.5 (patch from NetBSD) - -* Tue Dec 06 2011 Adam Jackson - 3.3.8b-39 -- Rebuild for new libpng - * Thu Dec 01 2011 Than Ngo - 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 3.3.8b-10 -- fix %%{?epoch:%%{epoch}:} idiom not to add a ':' after it +- fix %{?epoch:%{epoch}:} idiom not to add a ':' after it * Wed Mar 12 2008 Kevin Kofler 3.3.8b-9 - rename to qt3 on Fedora >= 9 @@ -1998,13 +1764,13 @@ mkdir -p %{buildroot}%{qtdir}/plugins/styles - fix compilation of the NSPlugin add-on * Fri Mar 3 2000 Bill Nottingham -- fix %%postun script +- fix %postun script * Fri Feb 18 2000 Bernhard Rosenkränzer - beta1 - get rid of qt-ImageIO, the functionality is now in the main Qt library - remove qt-Network, the functionality is now in the main Qt library -- add changes-2.1.0 to %%doc +- add changes-2.1.0 to %doc * Thu Feb 17 2000 Preston Brown - no refcount check on postun script, we want it to happen even on upgrades diff --git a/qtconfig3.desktop b/qtconfig3.desktop index e36dd91..11df0ab 100644 --- a/qtconfig3.desktop +++ b/qtconfig3.desktop @@ -4,5 +4,6 @@ Comment=Configure Qt3 behavior, styles, fonts Exec=qtconfig Icon=qtconfig3 Terminal=false +Encoding=UTF-8 Type=Application Categories=Qt;Settings;