summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--deps/qt5-webkit/.url2
-rwxr-xr-xdeps/qt5-webkit/qt5-webkit.SlackBuild4
-rw-r--r--deps/qt5/.url2
-rw-r--r--deps/qt5/patches/qt5.qlockfile-deadlock.patch116
-rwxr-xr-xdeps/qt5/qt5.SlackBuild18
5 files changed, 129 insertions, 13 deletions
diff --git a/deps/qt5-webkit/.url b/deps/qt5-webkit/.url
index 126a427..46f309b 100644
--- a/deps/qt5-webkit/.url
+++ b/deps/qt5-webkit/.url
@@ -1 +1 @@
-http://download.qt.io/community_releases/5.6/5.6.0/qtwebkit-opensource-src-5.6.0.tar.xz
+http://download.qt.io/community_releases/5.6/5.6.1/qtwebkit-opensource-src-5.6.1.tar.xz
diff --git a/deps/qt5-webkit/qt5-webkit.SlackBuild b/deps/qt5-webkit/qt5-webkit.SlackBuild
index 5c818f6..df11112 100755
--- a/deps/qt5-webkit/qt5-webkit.SlackBuild
+++ b/deps/qt5-webkit/qt5-webkit.SlackBuild
@@ -22,10 +22,10 @@
# Derived from the qt5.SlackBuild
-# Modifications for qt5-webkit 5.6.0 2016 by Eric Hameleers, Eindhoven, NL
+# Modifications for qt5-webkit 5.6.0, 5.6.1 2016 by Eric Hameleers, Eindhoven, NL
PKGNAM=qt5-webkit
-VERSION=${VERSION:-5.6.0}
+VERSION=${VERSION:-5.6.1}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j7}
diff --git a/deps/qt5/.url b/deps/qt5/.url
index 241563c..a5dc197 100644
--- a/deps/qt5/.url
+++ b/deps/qt5/.url
@@ -1 +1 @@
-http://download.qt.io/official_releases/qt/5.6/5.6.0/single/qt-everywhere-opensource-src-5.6.0.tar.xz
+http://download.qt.io/official_releases/qt/5.6/5.6.1/single/qt-everywhere-opensource-src-5.6.1.tar.xz
diff --git a/deps/qt5/patches/qt5.qlockfile-deadlock.patch b/deps/qt5/patches/qt5.qlockfile-deadlock.patch
new file mode 100644
index 0000000..e51d5ad
--- /dev/null
+++ b/deps/qt5/patches/qt5.qlockfile-deadlock.patch
@@ -0,0 +1,116 @@
+# Taken from:
+# https://projects.archlinux.org/svntogit/packages.git/plain/trunk/qlockfile-deadlock.patch?h=packages/qt5
+# QTBUG-44771
+# ----------------------------------------------------------------------------
+From f58e882b7594c59b6050d3c87562fcf836d10f60 Mon Sep 17 00:00:00 2001
+From: Olivier Goffart <ogoffart@woboq.com>
+Date: Tue, 14 Apr 2015 10:58:26 +0200
+Subject: QLockFile: fix deadlock when the lock file is corrupted
+
+[ChangeLog][QtCore][QLockFile] Fixed a deadlock when the lock file
+is corrupted.
+
+Task-number: QTBUG-44771
+Change-Id: Ic490b09d70ff1cc1733b64949889a73720b2d0f3
+Reviewed-by: David Faure <david.faure@kdab.com>
+---
+ src/corelib/io/qlockfile_unix.cpp | 10 +++++-----
+ src/corelib/io/qlockfile_win.cpp | 22 +++++++++++-----------
+ tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp | 17 +++++++++++++++++
+ 3 files changed, 33 insertions(+), 16 deletions(-)
+
+diff --git a/qtbase/src/corelib/io/qlockfile_unix.cpp b/qtbase/src/corelib/io/qlockfile_unix.cpp
+index bf1015a..dc9f8f7 100644
+--- a/qtbase/src/corelib/io/qlockfile_unix.cpp
++++ b/qtbase/src/corelib/io/qlockfile_unix.cpp
+@@ -181,11 +181,11 @@ bool QLockFilePrivate::isApparentlyStale() const
+ {
+ qint64 pid;
+ QString hostname, appname;
+- if (!getLockInfo(&pid, &hostname, &appname))
+- return false;
+- if (hostname.isEmpty() || hostname == QString::fromLocal8Bit(localHostName())) {
+- if (::kill(pid, 0) == -1 && errno == ESRCH)
+- return true; // PID doesn't exist anymore
++ if (getLockInfo(&pid, &hostname, &appname)) {
++ if (hostname.isEmpty() || hostname == QString::fromLocal8Bit(localHostName())) {
++ if (::kill(pid, 0) == -1 && errno == ESRCH)
++ return true; // PID doesn't exist anymore
++ }
+ }
+ const qint64 age = QFileInfo(fileName).lastModified().msecsTo(QDateTime::currentDateTime());
+ return staleLockTime > 0 && age > staleLockTime;
+diff --git a/qtbase/src/corelib/io/qlockfile_win.cpp b/qtbase/src/corelib/io/qlockfile_win.cpp
+index f9f2909..3587c7b 100644
+--- a/qtbase/src/corelib/io/qlockfile_win.cpp
++++ b/qtbase/src/corelib/io/qlockfile_win.cpp
+@@ -115,21 +115,21 @@ bool QLockFilePrivate::isApparentlyStale() const
+ {
+ qint64 pid;
+ QString hostname, appname;
+- if (!getLockInfo(&pid, &hostname, &appname))
+- return false;
+
+ // On WinRT there seems to be no way of obtaining information about other
+ // processes due to sandboxing
+ #ifndef Q_OS_WINRT
+- if (hostname == QString::fromLocal8Bit(localHostName())) {
+- HANDLE procHandle = ::OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid);
+- if (!procHandle)
+- return true;
+- // We got a handle but check if process is still alive
+- DWORD dwR = ::WaitForSingleObject(procHandle, 0);
+- ::CloseHandle(procHandle);
+- if (dwR == WAIT_TIMEOUT)
+- return true;
++ if (getLockInfo(&pid, &hostname, &appname)) {
++ if (hostname == QString::fromLocal8Bit(localHostName())) {
++ HANDLE procHandle = ::OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid);
++ if (!procHandle)
++ return true;
++ // We got a handle but check if process is still alive
++ DWORD dwR = ::WaitForSingleObject(procHandle, 0);
++ ::CloseHandle(procHandle);
++ if (dwR == WAIT_TIMEOUT)
++ return true;
++ }
+ }
+ #endif // !Q_OS_WINRT
+ const qint64 age = QFileInfo(fileName).lastModified().msecsTo(QDateTime::currentDateTime());
+diff --git a/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp b/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp
+index 77bef94..12bea67 100644
+--- a/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp
++++ b/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp
+@@ -58,6 +58,7 @@ private slots:
+ void staleLongLockFromBusyProcess();
+ void staleLockRace();
+ void noPermissions();
++ void corruptedLockFile();
+
+ public:
+ QString m_helperApp;
+@@ -415,5 +416,21 @@ void tst_QLockFile::noPermissions()
+ QCOMPARE(int(lockFile.error()), int(QLockFile::PermissionError));
+ }
+
++void tst_QLockFile::corruptedLockFile()
++{
++ const QString fileName = dir.path() + "/corruptedLockFile";
++
++ {
++ // Create a empty file. Typically the result of a computer crash or hard disk full.
++ QFile file(fileName);
++ QVERIFY(file.open(QFile::WriteOnly));
++ }
++
++ QLockFile secondLock(fileName);
++ secondLock.setStaleLockTime(100);
++ QVERIFY(secondLock.tryLock(10000));
++ QCOMPARE(int(secondLock.error()), int(QLockFile::NoError));
++}
++
+ QTEST_MAIN(tst_QLockFile)
+ #include "tst_qlockfile.moc"
+--
+cgit v0.11.0
+
diff --git a/deps/qt5/qt5.SlackBuild b/deps/qt5/qt5.SlackBuild
index d5c57cc..67e104d 100755
--- a/deps/qt5/qt5.SlackBuild
+++ b/deps/qt5/qt5.SlackBuild
@@ -48,7 +48,7 @@
# Modifications for qt 5.6.0 2016 by Eric Hameleers, Eindhoven, NL
PKGNAM=qt5
-VERSION=${VERSION:-5.6.0}
+VERSION=${VERSION:-5.6.1}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j7}
@@ -134,10 +134,10 @@ cat $CWD/patches/qt5.mysql.h.diff | patch -p1 --verbose || exit 1
# Properly detect ALSA version 1.1.0 as being newer than 1.0.10:
cat $CWD/patches/qt5.alsa.patch | patch -p1 --verbose || exit 1
-# Build with explicitlib, preventing linker errors:
-cd qtbase
- cat $CWD/patches/qt5.qtbug-51621.patch | patch -p1 --verbose || exit 1
-cd -
+## Build with explicitlib, preventing linker errors:
+#cd qtbase
+# cat $CWD/patches/qt5.qtbug-51621.patch | patch -p1 --verbose || exit 1
+#cd -
# Backport fixes for QtDBus deadlocks:
cd qtbase
@@ -146,10 +146,10 @@ cd qtbase
cat $CWD/patches/qt5.qtbug-51676.patch | patch -p1 --verbose || exit 1
cd -
-# qtwebengine fails to build with system nss 3.23:
-cd qtwebengine
- cat $CWD/patches/qt5.qtbug-51890.patch | patch -p1 --verbose || exit 1
-cd -
+## qtwebengine fails to build with system nss 3.23:
+#cd qtwebengine
+# cat $CWD/patches/qt5.qtbug-51890.patch | patch -p1 --verbose || exit 1
+#cd -
if ! pkg-config --exists libpulse 2>/dev/null ; then
# Forcibly disable pulseaudio in qtwebengine: