qt: update to 4.8.0, enable phonon

This commit is contained in:
ojab 2012-01-13 13:45:25 +04:00
parent f5f9e4f827
commit e4576e8f70
16 changed files with 26 additions and 110 deletions

View file

@ -410,7 +410,7 @@ libQt3Support.so.4 qt qt-devel
libQtSvg.so.4 qt qt-devel libQtSvg.so.4 qt qt-devel
libQtScript.so.4 qt qt-devel libQtScript.so.4 qt qt-devel
libQtHelp.so.4 qt qt-devel libQtHelp.so.4 qt qt-devel
libphonon.so qt qt-devel libphonon.so.4 qt qt-devel
libQtCore.so.4 qt qt-devel libQtCore.so.4 qt qt-devel
libQtSql.so.4 qt qt-devel libQtSql.so.4 qt qt-devel
libQtWebKit.so.4 qt qt-devel libQtWebKit.so.4 qt qt-devel

View file

@ -1,89 +0,0 @@
diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp
index 328c5c2..1ae98f4 100644
--- src/network/ssl/qsslcertificate.cpp
+++ src/network/ssl/qsslcertificate.cpp
@@ -803,22 +803,47 @@ QList<QSslCertificate> QSslCertificatePrivate::certificatesFromDer(const QByteAr
// These certificates are known to be fraudulent and were created during the comodo
// compromise. See http://www.comodo.com/Comodo-Fraud-Incident-2011-03-23.html
static const char *certificate_blacklist[] = {
- "04:7e:cb:e9:fc:a5:5f:7b:d0:9e:ae:36:e1:0c:ae:1e",
- "f5:c8:6a:f3:61:62:f1:3a:64:f5:4f:6d:c9:58:7c:06",
- "d7:55:8f:da:f5:f1:10:5b:b2:13:28:2b:70:77:29:a3",
- "39:2a:43:4f:0e:07:df:1f:8a:a3:05:de:34:e0:c2:29",
- "3e:75:ce:d4:6b:69:30:21:21:88:30:ae:86:a8:2a:71",
- "e9:02:8b:95:78:e4:15:dc:1a:71:0a:2b:88:15:44:47",
- "92:39:d5:34:8f:40:d1:69:5a:74:54:70:e1:f2:3f:43",
- "b0:b7:13:3e:d0:96:f9:b5:6f:ae:91:c8:74:bd:3a:c0",
- "d8:f3:5f:4e:b7:87:2b:2d:ab:06:92:e3:15:38:2f:b0",
+ "04:7e:cb:e9:fc:a5:5f:7b:d0:9e:ae:36:e1:0c:ae:1e", "mail.google.com", // Comodo
+ "f5:c8:6a:f3:61:62:f1:3a:64:f5:4f:6d:c9:58:7c:06", "www.google.com", // Comodo
+ "d7:55:8f:da:f5:f1:10:5b:b2:13:28:2b:70:77:29:a3", "login.yahoo.com", // Comodo
+ "39:2a:43:4f:0e:07:df:1f:8a:a3:05:de:34:e0:c2:29", "login.yahoo.com", // Comodo
+ "3e:75:ce:d4:6b:69:30:21:21:88:30:ae:86:a8:2a:71", "login.yahoo.com", // Comodo
+ "e9:02:8b:95:78:e4:15:dc:1a:71:0a:2b:88:15:44:47", "login.skype.com", // Comodo
+ "92:39:d5:34:8f:40:d1:69:5a:74:54:70:e1:f2:3f:43", "addons.mozilla.org", // Comodo
+ "b0:b7:13:3e:d0:96:f9:b5:6f:ae:91:c8:74:bd:3a:c0", "login.live.com", // Comodo
+ "d8:f3:5f:4e:b7:87:2b:2d:ab:06:92:e3:15:38:2f:b0", "global trustee", // Comodo
+
+ "05:e2:e6:a4:cd:09:ea:54:d6:65:b0:75:fe:22:a2:56", "*.google.com", // leaf certificate issued by DigiNotar
+ "0c:76:da:9c:91:0c:4e:2c:9e:fe:15:d0:58:93:3c:4c", "DigiNotar Root CA", // DigiNotar root
+ "f1:4a:13:f4:87:2b:56:dc:39:df:84:ca:7a:a1:06:49", "DigiNotar Services CA", // DigiNotar intermediate signed by DigiNotar Root
+ "36:16:71:55:43:42:1b:9d:e6:cb:a3:64:41:df:24:38", "DigiNotar Services 1024 CA", // DigiNotar intermediate signed by DigiNotar Root
+ "0a:82:bd:1e:14:4e:88:14:d7:5b:1a:55:27:be:bf:3e", "DigiNotar Root CA G2", // other DigiNotar Root CA
+ "a4:b6:ce:e3:2e:d3:35:46:26:3c:b3:55:3a:a8:92:21", "CertiID Enterprise Certificate Authority", // DigiNotar intermediate signed by "DigiNotar Root CA G2"
+ "5b:d5:60:9c:64:17:68:cf:21:0e:35:fd:fb:05:ad:41", "DigiNotar Qualified CA", // DigiNotar intermediate signed by DigiNotar Root
+
+ "1184640176", "DigiNotar Services 1024 CA", // DigiNotar intermediate cross-signed by Entrust
+ "120000525", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust
+ "120000505", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust
+ "120000515", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust
+ "20015536", "DigiNotar PKIoverheid CA Overheid en Bedrijven", // DigiNotar intermediate cross-signed by the Dutch government
+ "20001983", "DigiNotar PKIoverheid CA Organisatie - G2", // DigiNotar intermediate cross-signed by the Dutch government
+ "d6:d0:29:77:f1:49:fd:1a:83:f2:b9:ea:94:8c:5c:b4", "DigiNotar Extended Validation CA", // DigiNotar intermediate signed by DigiNotar EV Root
+ "1e:7d:7a:53:3d:45:30:41:96:40:0f:71:48:1f:45:04", "DigiNotar Public CA 2025", // DigiNotar intermediate
+// "(has not been seen in the wild so far)", "DigiNotar Public CA - G2", // DigiNotar intermediate
+// "(has not been seen in the wild so far)", "Koninklijke Notariele Beroepsorganisatie CA", // compromised during DigiNotar breach
+// "(has not been seen in the wild so far)", "Stichting TTP Infos CA," // compromised during DigiNotar breach
+ "1184640175", "DigiNotar Root CA", // DigiNotar intermediate cross-signed by Entrust
+ "1184644297", "DigiNotar Root CA", // DigiNotar intermediate cross-signed by Entrust
0
};
bool QSslCertificatePrivate::isBlacklisted(const QSslCertificate &certificate)
{
for (int a = 0; certificate_blacklist[a] != 0; a++) {
- if (certificate.serialNumber() == certificate_blacklist[a])
+ QString blacklistedCommonName = QString::fromUtf8(certificate_blacklist[(a+1)]);
+ if (certificate.serialNumber() == certificate_blacklist[a++] &&
+ (certificate.subjectInfo(QSslCertificate::CommonName) == blacklistedCommonName ||
+ certificate.issuerInfo(QSslCertificate::CommonName) == blacklistedCommonName))
return true;
}
return false;
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index 141d80a..b8e6c4c 100644
--- src/network/ssl/qsslsocket_openssl.cpp
+++ src/network/ssl/qsslsocket_openssl.cpp
@@ -1193,12 +1193,16 @@ bool QSslSocketBackendPrivate::startHandshake()
X509 *x509 = q_SSL_get_peer_certificate(ssl);
configuration.peerCertificate = QSslCertificatePrivate::QSslCertificate_from_X509(x509);
q_X509_free(x509);
- if (QSslCertificatePrivate::isBlacklisted(configuration.peerCertificate)) {
- q->setErrorString(QSslSocket::tr("The peer certificate is blacklisted"));
- q->setSocketError(QAbstractSocket::SslHandshakeFailedError);
- emit q->error(QAbstractSocket::SslHandshakeFailedError);
- plainSocket->disconnectFromHost();
- return false;
+
+ // check the whole chain for blacklisting (including root, as we check for subjectInfo and issuer)
+ foreach (const QSslCertificate &cert, configuration.peerCertificateChain) {
+ if (QSslCertificatePrivate::isBlacklisted(cert)) {
+ q->setErrorString(QSslSocket::tr("The peer certificate is blacklisted"));
+ q->setSocketError(QAbstractSocket::SslHandshakeFailedError);
+ emit q->error(QAbstractSocket::SslHandshakeFailedError);
+ plainSocket->disconnectFromHost();
+ return false;
+ }
}
// Start translating errors.

View file

@ -7,13 +7,11 @@ libgcc_s.so.1
libc.so.6 libc.so.6
libGL.so.1 libGL.so.1
libQtSql.so.4 libQtSql.so.4
libGLU.so.1
libQtWebKit.so.4 libQtWebKit.so.4
libQtNetwork.so.4 libQtNetwork.so.4
libQtDeclarative.so.4 libQtDeclarative.so.4
libQtXml.so.4 libQtXml.so.4
libQtSvg.so.4 libQtSvg.so.4
libQt3Support.so.4
libQtMultimedia.so.4 libQtMultimedia.so.4
libQtScript.so.4 libQtScript.so.4
libQtScriptTools.so.4 libQtScriptTools.so.4
@ -21,3 +19,4 @@ libQtTest.so.4
libQtHelp.so.4 libQtHelp.so.4
libQtDBus.so.4 libQtDBus.so.4
libQtXmlPatterns.so.4 libQtXmlPatterns.so.4
libphonon.so.4

View file

@ -5,8 +5,6 @@ long_desc="${long_desc}
This package contains Qt 4 examples and demos." This package contains Qt 4 examples and demos."
revision=2
gtk_iconcache_dirs="/usr/share/icons/hicolor" gtk_iconcache_dirs="/usr/share/icons/hicolor"
Add_dependency run hicolor-icon-theme Add_dependency run hicolor-icon-theme

View file

@ -12,3 +12,4 @@ libm.so.6
libQtScript.so.4 libQtScript.so.4
libQtXml.so.4 libQtXml.so.4
libQtNetwork.so.4 libQtNetwork.so.4
libphonon.so.4

View file

@ -6,8 +6,6 @@ long_desc="${long_desc}
Qt Designer is a tool for designing and building graphical user Qt Designer is a tool for designing and building graphical user
interfaces (GUIs) from Qt components." interfaces (GUIs) from Qt components."
revision=3
gtk_iconcache_dirs="/usr/share/icons/hicolor" gtk_iconcache_dirs="/usr/share/icons/hicolor"
Add_dependency run hicolor-icon-theme Add_dependency run hicolor-icon-theme

View file

@ -1,6 +1,5 @@
# Template file for 'qt-devel-tools'. # Template file for 'qt-devel-tools'.
# #
revision=1
short_desc="Qt development tools" short_desc="Qt development tools"
long_desc="${long_desc} long_desc="${long_desc}

View file

@ -1,6 +1,5 @@
# Template file for 'qt-devel'. # Template file for 'qt-devel'.
# #
revision=1
short_desc="Qt development files" short_desc="Qt development files"
long_desc="${long_desc} long_desc="${long_desc}

View file

@ -1,6 +1,5 @@
# Template file for 'qt-plugin-mysql'. # Template file for 'qt-plugin-mysql'.
# #
revision=1
short_desc="Qt MySQL plugin" short_desc="Qt MySQL plugin"
long_desc="${long_desc} long_desc="${long_desc}

View file

@ -1,6 +1,5 @@
# Template file for 'qt-plugin-pgsql'. # Template file for 'qt-plugin-pgsql'.
# #
revision=1
short_desc="Qt PostgreSQL plugin" short_desc="Qt PostgreSQL plugin"
long_desc="${long_desc} long_desc="${long_desc}

View file

@ -1,6 +1,5 @@
# Template file for 'qt-plugin-sqlite'. # Template file for 'qt-plugin-sqlite'.
# #
revision=1
short_desc="Qt SQLite plugin" short_desc="Qt SQLite plugin"
long_desc="${long_desc} long_desc="${long_desc}

View file

@ -1,6 +1,5 @@
# Template file for 'qt-qmake'. # Template file for 'qt-qmake'.
# #
revision=1
short_desc="Qt qmake Makefile generator tool" short_desc="Qt qmake Makefile generator tool"
long_desc="${long_desc} long_desc="${long_desc}

View file

@ -1,6 +1,9 @@
libQt3Support.so.4
libQtGui.so.4 libQtGui.so.4
libQtCore.so.4 libQtCore.so.4
libstdc++.so.6 libstdc++.so.6
libgcc_s.so.1 libgcc_s.so.1
libc.so.6 libc.so.6
libgstreamer-0.10.so.0
libgobject-2.0.so.0
libphonon.so.4
libglib-2.0.so.0

View file

@ -6,8 +6,6 @@ long_desc="${long_desc}
The Qt Configuration program allows end users to configure the look The Qt Configuration program allows end users to configure the look
and behavior of any Qt application." and behavior of any Qt application."
revision=3
gtk_iconcache_dirs="/usr/share/icons/hicolor" gtk_iconcache_dirs="/usr/share/icons/hicolor"
Add_dependency run hicolor-icon-theme Add_dependency run hicolor-icon-theme

View file

@ -27,3 +27,13 @@ libsqlite3.so.0
libmng.so.1 libmng.so.1
libtiff.so.3 libtiff.so.3
libjpeg.so.8 libjpeg.so.8
ld-linux-x86-64.so.2
libgstapp-0.10.so.0
libgstinterfaces-0.10.so.0
libgstpbutils-0.10.so.0
libgstvideo-0.10.so.0
libgstbase-0.10.so.0
libgstreamer-0.10.so.0
libpulse-mainloop-glib.so.0
libpulse.so.0
libgstaudio-0.10.so.0

View file

@ -1,7 +1,6 @@
# Template file for 'qt' # Template file for 'qt'
pkgname=qt pkgname=qt
version=4.7.4 version=4.8.0
revision=5
_distname=qt-everywhere-opensource-src _distname=qt-everywhere-opensource-src
wrksrc=${_distname}-${version} wrksrc=${_distname}-${version}
homepage="http://qt.nokia.com/" homepage="http://qt.nokia.com/"
@ -9,7 +8,7 @@ distfiles="ftp://ftp.qt.nokia.com/qt/source/${_distname}-$version.tar.gz"
short_desc="A cross-platform application and UI framework" short_desc="A cross-platform application and UI framework"
maintainer="Juan RP <xtraeme@gmail.com>" maintainer="Juan RP <xtraeme@gmail.com>"
license="GPL-3, LGPL-2.1" license="GPL-3, LGPL-2.1"
checksum=97195ebce8a46f9929fb971d9ae58326d011c4d54425389e6e936514f540221e checksum=9392b74e485e15f75a3e07a527547d4f6747eaf55ebce71ba0e863a9fd320b6e
long_desc=" long_desc="
Qt(TM) is a GUI software toolkit. Qt simplifies the task of writing and Qt(TM) is a GUI software toolkit. Qt simplifies the task of writing and
maintaining GUI (graphical user interface) applications." maintaining GUI (graphical user interface) applications."
@ -34,6 +33,8 @@ Add_dependency build libXrandr-devel
Add_dependency build zlib-devel Add_dependency build zlib-devel
Add_dependency build dbus-devel Add_dependency build dbus-devel
Add_dependency build glib-devel Add_dependency build glib-devel
Add_dependency build gstreamer-devel
Add_dependency build gst-plugins-base-devel
Add_dependency build sqlite-devel Add_dependency build sqlite-devel
Add_dependency build alsa-lib-devel Add_dependency build alsa-lib-devel
Add_dependency build openssl-devel Add_dependency build openssl-devel
@ -63,11 +64,11 @@ do_configure() {
-examplesdir /usr/share/doc/qt/examples \ -examplesdir /usr/share/doc/qt/examples \
-demosdir /usr/share/doc/qt/demos -largefile \ -demosdir /usr/share/doc/qt/demos -largefile \
-plugin-sql-sqlite -system-sqlite \ -plugin-sql-sqlite -system-sqlite \
-xmlpatterns -no-phonon -no-phonon-backend -svg -webkit \ -xmlpatterns -svg -webkit \
-scripttools -system-zlib \ -scripttools -system-zlib \
-system-libtiff -system-libpng -system-libmng -system-libjpeg \ -system-libtiff -system-libpng -system-libmng -system-libjpeg \
-openssl-linked -optimized-qmake -no-rpath -reduce-relocations \ -openssl-linked -optimized-qmake -no-rpath -reduce-relocations \
-no-separate-debug-info -gtkstyle -opengl -glib \ -no-separate-debug-info -gtkstyle -opengl -glib -gstreamer \
-no-sql-db2 -no-sql-ibase -gtkstyle \ -no-sql-db2 -no-sql-ibase -gtkstyle \
-plugin-sql-mysql -plugin-sql-psql -no-sql-oci \ -plugin-sql-mysql -plugin-sql-psql -no-sql-oci \
-no-sql-odbc -no-sql-sqlite2 \ -no-sql-odbc -no-sql-sqlite2 \
@ -84,6 +85,9 @@ do_install() {
make INSTALL_ROOT=${DESTDIR} install make INSTALL_ROOT=${DESTDIR} install
# delete tests
rm -rf ${DESTDIR}/usr/tests
# install missing icons and desktop files # install missing icons and desktop files
for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
size=$(echo $(basename ${icon}) | cut -d- -f2) size=$(echo $(basename ${icon}) | cut -d- -f2)