...
 
Commits (5)
include: 'https://gitlab.com/debian-pm/tools/build/raw/master/docker/gitlab-ci-base.yml'
image: jbbgameich/build
qtbase-opensource-src (5.11.2+dfsg-7dpm1) UNRELEASED; urgency=medium
* Apply patch to support older kernels
* Add i386 and arm64 to gles architectures
-- Jonah Brüchert <jbb@kaidan.im> Mon, 29 Oct 2018 16:40:26 +0100
qtbase-opensource-src (5.11.2+dfsg-7) unstable; urgency=medium
* Change the fix for #913499 to not break FindQHelpGenerator.cmake
......
......@@ -313,9 +313,9 @@ Package: qtbase5-dev
Architecture: any
Multi-Arch: same
Section: libdevel
Depends: libgl1-mesa-dev [!armel !armhf] | libgl-dev [!armel !armhf],
libgles2-mesa-dev [armel armhf] | libgles2-dev [armel armhf],
libglu1-mesa-dev [!armel !armhf] | libglu-dev [!armel !armhf],
Depends: libgl1-mesa-dev [!armel !armhf !arm64 !i386] | libgl-dev [!armel !armhf !arm64 !i386],
libgles2-mesa-dev [armel armhf arm64 i386] | libgles2-dev [armel armhf arm64 i386],
libglu1-mesa-dev [!armel !armhf !arm64 !i386] | libglu-dev [!armel !armhf !arm64 !i386],
libqt5concurrent5 (= ${binary:Version}),
libqt5core5a (= ${binary:Version}),
libqt5dbus5 (= ${binary:Version}),
......
This diff is collapsed.
https://codereview.qt-project.org/#/c/242412/
commit db8adedd40e7d0587cbd9765d1b626634c995a81
Author: Thiago Macieira <thiago.macieira@intel.com>
Date: Wed Sep 19 00:05:54 2018 -0500
Linux: Remove our use of syscall() for statx(2) and renameat2(2)
Those system calls are present in glibc 2.28. Instead of using
syscall(3) to place the system calls directly, let's use only the glibc
functions. That also means we no longer accept ENOSYS from either
function, if they were detected in glibc.
Change-Id: I44e7d800c68141bdaae0fffd1555b4b8fe63786b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
--- a/src/corelib/global/minimum-linux_p.h
+++ b/src/corelib/global/minimum-linux_p.h
@@ -75,9 +75,14 @@ QT_BEGIN_NAMESPACE
* - accept4 2.6.28
* - renameat2 3.16 QT_CONFIG(renameat2)
* - getrandom 3.17 QT_CONFIG(getentropy)
+ * - statx 4.11 QT_CONFIG(statx)
*/
-#if QT_CONFIG(getentropy)
+#if QT_CONFIG(statx)
+# define MINLINUX_MAJOR 4
+# define MINLINUX_MINOR 11
+# define MINLINUX_PATCH 0
+#elif QT_CONFIG(getentropy)
# define MINLINUX_MAJOR 3
# define MINLINUX_MINOR 17
# define MINLINUX_PATCH 0
--- a/src/corelib/io/qfilesystemengine_unix.cpp
+++ b/src/corelib/io/qfilesystemengine_unix.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2017 Intel Corporation.
+** Copyright (C) 2018 Intel Corporation.
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2013 Samuel Gaist <samuel.gaist@edeltech.ch>
** Contact: https://www.qt.io/licensing/
@@ -88,7 +88,6 @@ extern "C" NSString *NSTemporaryDirector
#if defined(Q_OS_LINUX)
# include <sys/ioctl.h>
-# include <sys/syscall.h>
# include <sys/sendfile.h>
# include <linux/fs.h>
@@ -96,28 +95,6 @@ extern "C" NSString *NSTemporaryDirector
#ifndef FICLONE
# define FICLONE _IOW(0x94, 9, int)
#endif
-
-# if defined(Q_OS_ANDROID)
-// renameat2() and statx() are disabled on Android because quite a few systems
-// come with sandboxes that kill applications that make system calls outside a
-// whitelist and several Android vendors can't be bothered to update the list.
-# undef SYS_renameat2
-# undef SYS_statx
-# undef STATX_BASIC_STATS
-# else
-# if !QT_CONFIG(renameat2) && defined(SYS_renameat2)
-static int renameat2(int oldfd, const char *oldpath, int newfd, const char *newpath, unsigned flags)
-{ return syscall(SYS_renameat2, oldfd, oldpath, newfd, newpath, flags); }
-# endif
-
-# if !QT_CONFIG(statx) && defined(SYS_statx)
-# include <linux/stat.h>
-static int statx(int dirfd, const char *pathname, int flag, unsigned mask, struct statx *statxbuf)
-{ return syscall(SYS_statx, dirfd, pathname, flag, mask, statxbuf); }
-# elif !QT_CONFIG(statx) && !defined(SYS_statx)
-# undef STATX_BASIC_STATS
-# endif
-# endif // !Q_OS_ANDROID
#endif
#ifndef STATX_ALL
@@ -331,22 +308,8 @@ mtime(const T &statBuffer, int)
#ifdef STATX_BASIC_STATS
static int qt_real_statx(int fd, const char *pathname, int flags, struct statx *statxBuffer)
{
-#ifdef Q_ATOMIC_INT8_IS_SUPPORTED
- static QBasicAtomicInteger<qint8> statxTested = Q_BASIC_ATOMIC_INITIALIZER(0);
-#else
- static QBasicAtomicInt statxTested = Q_BASIC_ATOMIC_INITIALIZER(0);
-#endif
-
- if (statxTested.load() == -1)
- return -ENOSYS;
-
unsigned mask = STATX_BASIC_STATS | STATX_BTIME;
int ret = statx(fd, pathname, flags, mask, statxBuffer);
- if (ret == -1 && errno == ENOSYS) {
- statxTested.store(-1);
- return -ENOSYS;
- }
- statxTested.store(1);
return ret == -1 ? -errno : 0;
}
@@ -1282,14 +1245,12 @@ bool QFileSystemEngine::renameFile(const
if (Q_UNLIKELY(srcPath.isEmpty() || tgtPath.isEmpty()))
return emptyFileEntryWarning(), false;
-#if defined(RENAME_NOREPLACE) && (QT_CONFIG(renameat2) || defined(SYS_renameat2))
+#if defined(RENAME_NOREPLACE) && QT_CONFIG(renameat2)
if (renameat2(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_NOREPLACE) == 0)
return true;
- // If we're using syscall(), check for ENOSYS;
- // if renameat2 came from libc, we don't accept ENOSYS.
// We can also get EINVAL for some non-local filesystems.
- if ((QT_CONFIG(renameat2) || errno != ENOSYS) && errno != EINVAL) {
+ if (errno != EINVAL) {
error = QSystemError(errno, QSystemError::StandardLibraryError);
return false;
}
......@@ -17,3 +17,6 @@ ssl_max_version.diff
qdoc_default_incdirs.diff
kfreebsd_qstrncpy.diff
alpha_atimensec.diff
# Old kernels
Stop-using-syscall-for-statx-and-renameat2.patch
#! /usr/bin/dh-exec
[!armel !armhf] usr/include/*/qt5/QtGlxSupport/5.*/*
[!armel !armhf] usr/include/*/qt5/QtGlxSupport/QtGlxSupport
[!armel !armhf] usr/include/*/qt5/QtGlxSupport/QtGlxSupportDepends
[!armel !armhf] usr/include/*/qt5/QtGlxSupport/QtGlxSupportVersion
[!armel !armhf] usr/include/*/qt5/QtGlxSupport/qtglxsupportversion.h
[!armel !armhf] usr/lib/*/libQt5GlxSupport.a
[!armel !armhf] usr/lib/*/libQt5GlxSupport.prl
[!armel !armhf !arm64 !i386] usr/include/*/qt5/QtGlxSupport/5.*/*
[!armel !armhf !arm64 !i386] usr/include/*/qt5/QtGlxSupport/QtGlxSupport
[!armel !armhf !arm64 !i386] usr/include/*/qt5/QtGlxSupport/QtGlxSupportDepends
[!armel !armhf !arm64 !i386] usr/include/*/qt5/QtGlxSupport/QtGlxSupportVersion
[!armel !armhf !arm64 !i386] usr/include/*/qt5/QtGlxSupport/qtglxsupportversion.h
[!armel !armhf !arm64 !i386] usr/lib/*/libQt5GlxSupport.a
[!armel !armhf !arm64 !i386] usr/lib/*/libQt5GlxSupport.prl
[kfreebsd-any linux-any] usr/include/*/qt5/QtEglFSDeviceIntegration/5.*/*
[kfreebsd-any linux-any] usr/include/*/qt5/QtEglFSDeviceIntegration/QtEglFSDeviceIntegration
[kfreebsd-any linux-any] usr/include/*/qt5/QtEglFSDeviceIntegration/QtEglFSDeviceIntegrationDepends
......