aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Müller <schnitzeltony@gmail.com>2018-08-20 23:50:45 +0200
committerMartin 'JaMa' Jansa <Martin.Jansa@gmail.com>2018-08-22 16:19:06 +0200
commit2d1d8078156d050994a6cf46298d836b357df15c (patch)
treea090dd029637defa3a631b554f6058a682874e8f
parente4abbdef8195af91d3fc0183a56dce6b4b7c4dfb (diff)
qtbase: fix build with glibc-2.28 - for non-readers like me
539e4f09f749f024d6e157a49559e5ad7f51470a fixed bootstrapped build. At least cross builds are not done bootstrapped. Fix them too by copying statx/renameat2 macros - non-bootsrapped conditional - to qfilesystemengine_unix.cpp - it is fortunately the only source using QT_FEATURE_renameat2 / QT_FEATURE_statx (or QT_CONFIG(renameat2) / QT_CONFIG(statx)). Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
-rw-r--r--recipes-qt/qt5/nativesdk-qtbase_git.bb3
-rw-r--r--recipes-qt/qt5/qtbase-native_git.bb5
-rw-r--r--recipes-qt/qt5/qtbase/0015-Check-glibc-version-for-renameat2-statx-on-non-boots.patch41
-rw-r--r--recipes-qt/qt5/qtbase/0016-Always-build-uic-and-qvkgen.patch (renamed from recipes-qt/qt5/qtbase/0015-Always-build-uic-and-qvkgen.patch)0
-rw-r--r--recipes-qt/qt5/qtbase/0017-Bootstrap-without-linkat-feature.patch (renamed from recipes-qt/qt5/qtbase/0016-Bootstrap-without-linkat-feature.patch)0
-rw-r--r--recipes-qt/qt5/qtbase_git.bb2
6 files changed, 48 insertions, 3 deletions
diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb
index 5ad6a650..db26afbb 100644
--- a/recipes-qt/qt5/nativesdk-qtbase_git.bb
+++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb
@@ -40,13 +40,14 @@ SRC_URI += "\
file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \
file://0013-Upgrade-double-conversion-to-v3.0.0.patch \
file://0014-Fix-qmake-build-with-glibc-2.28.patch \
+ file://0015-Check-glibc-version-for-renameat2-statx-on-non-boots.patch \
"
# common for qtbase-native and nativesdk-qtbase
# Patches from https://github.com/meta-qt5/qtbase/commits/b5.11-native
# 5.11.meta-qt5-native.7
SRC_URI += " \
- file://0015-Always-build-uic-and-qvkgen.patch \
+ file://0016-Always-build-uic-and-qvkgen.patch \
"
# CMake's toolchain configuration of nativesdk-qtbase
diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb
index bffebdd1..03e7af2a 100644
--- a/recipes-qt/qt5/qtbase-native_git.bb
+++ b/recipes-qt/qt5/qtbase-native_git.bb
@@ -35,18 +35,19 @@ SRC_URI += "\
file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \
file://0013-Upgrade-double-conversion-to-v3.0.0.patch \
file://0014-Fix-qmake-build-with-glibc-2.28.patch \
+ file://0015-Check-glibc-version-for-renameat2-statx-on-non-boots.patch \
"
# common for qtbase-native and nativesdk-qtbase
# Patches from https://github.com/meta-qt5/qtbase/commits/b5.10-native
# 5.11.meta-qt5-native.7
SRC_URI += " \
- file://0015-Always-build-uic-and-qvkgen.patch \
+ file://0016-Always-build-uic-and-qvkgen.patch \
"
# only for qtbase-native
SRC_URI += " \
- file://0016-Bootstrap-without-linkat-feature.patch \
+ file://0017-Bootstrap-without-linkat-feature.patch \
"
CLEANBROKEN = "1"
diff --git a/recipes-qt/qt5/qtbase/0015-Check-glibc-version-for-renameat2-statx-on-non-boots.patch b/recipes-qt/qt5/qtbase/0015-Check-glibc-version-for-renameat2-statx-on-non-boots.patch
new file mode 100644
index 00000000..e1e1087c
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0015-Check-glibc-version-for-renameat2-statx-on-non-boots.patch
@@ -0,0 +1,41 @@
+From 7e287f4793f75a7291386a904d3361460748b15b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Tue, 21 Aug 2018 00:29:06 +0200
+Subject: [PATCH] Check glibc version for renameat2/statx on non bootstrapped
+ build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ src/corelib/io/qfilesystemengine_unix.cpp | 11 ++++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
+index be6ce48d0cb..1bf1bebc7f1 100644
+--- a/src/corelib/io/qfilesystemengine_unix.cpp
++++ b/src/corelib/io/qfilesystemengine_unix.cpp
+@@ -98,6 +98,17 @@ extern "C" NSString *NSTemporaryDirectory();
+ # define FICLONE _IOW(0x94, 9, int)
+ #endif
+
++// renameat2/statx features for non bootstrapped build
++#ifndef QT_BOOTSTRAPPED
++#ifdef __GLIBC_PREREQ
++# define QT_FEATURE_renameat2 (__GLIBC_PREREQ(2, 28) ? 1 : -1)
++# define QT_FEATURE_statx (__GLIBC_PREREQ(2, 28) ? 1 : -1)
++#else
++# define QT_FEATURE_renameat2 -1
++# define QT_FEATURE_statx -1
++#endif
++#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
+--
+2.14.4
+
diff --git a/recipes-qt/qt5/qtbase/0015-Always-build-uic-and-qvkgen.patch b/recipes-qt/qt5/qtbase/0016-Always-build-uic-and-qvkgen.patch
index 0a32e881..0a32e881 100644
--- a/recipes-qt/qt5/qtbase/0015-Always-build-uic-and-qvkgen.patch
+++ b/recipes-qt/qt5/qtbase/0016-Always-build-uic-and-qvkgen.patch
diff --git a/recipes-qt/qt5/qtbase/0016-Bootstrap-without-linkat-feature.patch b/recipes-qt/qt5/qtbase/0017-Bootstrap-without-linkat-feature.patch
index 4f5fdc95..4f5fdc95 100644
--- a/recipes-qt/qt5/qtbase/0016-Bootstrap-without-linkat-feature.patch
+++ b/recipes-qt/qt5/qtbase/0017-Bootstrap-without-linkat-feature.patch
diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb
index 0008597e..1ad93fd4 100644
--- a/recipes-qt/qt5/qtbase_git.bb
+++ b/recipes-qt/qt5/qtbase_git.bb
@@ -31,8 +31,10 @@ SRC_URI += "\
file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \
file://0013-Upgrade-double-conversion-to-v3.0.0.patch \
file://0014-Fix-qmake-build-with-glibc-2.28.patch \
+ file://0015-Check-glibc-version-for-renameat2-statx-on-non-boots.patch \
"
+
# for syncqt
RDEPENDS_${PN}-tools += "perl"