summaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtbase
diff options
context:
space:
mode:
authorAndreas Müller <schnitzeltony@gmail.com>2019-04-14 13:59:30 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2019-04-17 23:34:33 +0000
commit8895ea3b63c7ab959794acef93548c1c9df9307e (patch)
treece177285c6d95fe83e2d9888197f2b2a73c38f2b /recipes-qt/qt5/qtbase
parent95974f44f18c9e0c1e52391d0a7da255b3bb1332 (diff)
downloadmeta-qt5-8895ea3b63c7ab959794acef93548c1c9df9307e.tar.gz
qtbase: Fix build with recent oe-core/pseudo on hosts with glibc >= 2.28
Recently pseudo changed to not support reanameeat2 as glibc wrapper [1]. This causes massive failures at do_install [2] on qtbase. To work around tell Qt build configuration not to use ranameat2 independent of glibc version. Target qtbase does not require this adjustment - there is no pseudo on target. [1] https://git.openembedded.org/openembedded-core/commit/?id=0fb257121b68f38b40c078150db8f7d0979b7ea5 [2] https://github.com/meta-qt5/meta-qt5/issues/187 Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Diffstat (limited to 'recipes-qt/qt5/qtbase')
-rw-r--r--recipes-qt/qt5/qtbase/0013-Check-glibc-version-for-renameat2-statx-on-non-boots.patch38
-rw-r--r--recipes-qt/qt5/qtbase/0013-Disable-ltcg-for-host_build.patch (renamed from recipes-qt/qt5/qtbase/0014-Disable-ltcg-for-host_build.patch)0
-rw-r--r--recipes-qt/qt5/qtbase/0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch (renamed from recipes-qt/qt5/qtbase/0015-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch)0
-rw-r--r--recipes-qt/qt5/qtbase/0015-corelib-Include-sys-types.h-for-uint32_t.patch (renamed from recipes-qt/qt5/qtbase/0016-corelib-Include-sys-types.h-for-uint32_t.patch)0
-rw-r--r--recipes-qt/qt5/qtbase/0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch (renamed from recipes-qt/qt5/qtbase/0017-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch)0
-rw-r--r--recipes-qt/qt5/qtbase/0017-Always-build-uic-and-qvkgen.patch (renamed from recipes-qt/qt5/qtbase/0018-Always-build-uic-and-qvkgen.patch)0
-rw-r--r--recipes-qt/qt5/qtbase/0018-Avoid-renameeat2-for-native-sdk-builds.patch70
7 files changed, 70 insertions, 38 deletions
diff --git a/recipes-qt/qt5/qtbase/0013-Check-glibc-version-for-renameat2-statx-on-non-boots.patch b/recipes-qt/qt5/qtbase/0013-Check-glibc-version-for-renameat2-statx-on-non-boots.patch
deleted file mode 100644
index 53dc5ea7..00000000
--- a/recipes-qt/qt5/qtbase/0013-Check-glibc-version-for-renameat2-statx-on-non-boots.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From 3dcb42b38dd8bfbb8b509149ee9e870b80fa0658 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
3Date: Tue, 21 Aug 2018 00:29:06 +0200
4Subject: [PATCH] Check glibc version for renameat2/statx on non bootstrapped
5 build
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10Upstream-Status: Pending
11
12Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
13---
14 src/corelib/io/qfilesystemengine_unix.cpp | 11 +++++++++++
15 1 file changed, 11 insertions(+)
16
17diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
18index b2d81066db..b90e3dc15d 100644
19--- a/src/corelib/io/qfilesystemengine_unix.cpp
20+++ b/src/corelib/io/qfilesystemengine_unix.cpp
21@@ -93,6 +93,17 @@ extern "C" NSString *NSTemporaryDirectory();
22 #ifndef FICLONE
23 # define FICLONE _IOW(0x94, 9, int)
24 #endif
25+
26+// renameat2/statx features for non bootstrapped build
27+#ifndef QT_BOOTSTRAPPED
28+#ifdef __GLIBC_PREREQ
29+# define QT_FEATURE_renameat2 (__GLIBC_PREREQ(2, 28) ? 1 : -1)
30+# define QT_FEATURE_statx (__GLIBC_PREREQ(2, 28) ? 1 : -1)
31+#else
32+# define QT_FEATURE_renameat2 -1
33+# define QT_FEATURE_statx -1
34+#endif
35+#endif
36 #endif
37
38 #if defined(Q_OS_ANDROID)
diff --git a/recipes-qt/qt5/qtbase/0014-Disable-ltcg-for-host_build.patch b/recipes-qt/qt5/qtbase/0013-Disable-ltcg-for-host_build.patch
index 142db442..142db442 100644
--- a/recipes-qt/qt5/qtbase/0014-Disable-ltcg-for-host_build.patch
+++ b/recipes-qt/qt5/qtbase/0013-Disable-ltcg-for-host_build.patch
diff --git a/recipes-qt/qt5/qtbase/0015-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch b/recipes-qt/qt5/qtbase/0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch
index 1f990f24..1f990f24 100644
--- a/recipes-qt/qt5/qtbase/0015-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch
+++ b/recipes-qt/qt5/qtbase/0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch
diff --git a/recipes-qt/qt5/qtbase/0016-corelib-Include-sys-types.h-for-uint32_t.patch b/recipes-qt/qt5/qtbase/0015-corelib-Include-sys-types.h-for-uint32_t.patch
index 660ab051..660ab051 100644
--- a/recipes-qt/qt5/qtbase/0016-corelib-Include-sys-types.h-for-uint32_t.patch
+++ b/recipes-qt/qt5/qtbase/0015-corelib-Include-sys-types.h-for-uint32_t.patch
diff --git a/recipes-qt/qt5/qtbase/0017-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch b/recipes-qt/qt5/qtbase/0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch
index 69ff9604..69ff9604 100644
--- a/recipes-qt/qt5/qtbase/0017-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch
+++ b/recipes-qt/qt5/qtbase/0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch
diff --git a/recipes-qt/qt5/qtbase/0018-Always-build-uic-and-qvkgen.patch b/recipes-qt/qt5/qtbase/0017-Always-build-uic-and-qvkgen.patch
index f85530ea..f85530ea 100644
--- a/recipes-qt/qt5/qtbase/0018-Always-build-uic-and-qvkgen.patch
+++ b/recipes-qt/qt5/qtbase/0017-Always-build-uic-and-qvkgen.patch
diff --git a/recipes-qt/qt5/qtbase/0018-Avoid-renameeat2-for-native-sdk-builds.patch b/recipes-qt/qt5/qtbase/0018-Avoid-renameeat2-for-native-sdk-builds.patch
new file mode 100644
index 00000000..ea0cb2be
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0018-Avoid-renameeat2-for-native-sdk-builds.patch
@@ -0,0 +1,70 @@
1From 6bd6e1b5dea4364c9b4b42fd198b289c095b364b Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
3Date: Sun, 14 Apr 2019 13:27:58 +0200
4Subject: [PATCH] Avoid renameeat2 for native(sdk) builds
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Recently pseudo changed to not support reanameeat2 as glibc wrapper [1]. This
10causes massive failures at do_install [2] on qtbase.
11
12To work around tell Qt build configuration not to use ranameet2 independent
13of glibc version.
14
15[1] https://git.openembedded.org/openembedded-core/commit/?id=0fb257121b68f38b40c078150db8f7d0979b7ea5
16[2] https://github.com/meta-qt5/meta-qt5/issues/187
17
18Upstream-Status: Inappropriate [OE-specific]
19
20Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
21---
22 src/corelib/global/qconfig-bootstrapped.h | 4 ++--
23 src/corelib/io/qfilesystemengine_unix.cpp | 10 ----------
24 2 files changed, 2 insertions(+), 12 deletions(-)
25
26diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h
27index dfcc3c9c7f..30166fe41c 100644
28--- a/src/corelib/global/qconfig-bootstrapped.h
29+++ b/src/corelib/global/qconfig-bootstrapped.h
30@@ -100,14 +100,14 @@
31 #define QT_FEATURE_process -1
32 #define QT_FEATURE_regularexpression -1
33 #ifdef __GLIBC_PREREQ
34-# define QT_FEATURE_renameat2 (__GLIBC_PREREQ(2, 28) ? 1 : -1)
35+# define QT_FEATURE_renameat2 -1
36 #else
37 # define QT_FEATURE_renameat2 -1
38 #endif
39 #define QT_FEATURE_sharedmemory -1
40 #define QT_FEATURE_slog2 -1
41 #ifdef __GLIBC_PREREQ
42-# define QT_FEATURE_statx (__GLIBC_PREREQ(2, 28) ? 1 : -1)
43+# define QT_FEATURE_statx -1
44 #else
45 # define QT_FEATURE_statx -1
46 #endif
47diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
48index b2d81066db..d1783ebdf3 100644
49--- a/src/corelib/io/qfilesystemengine_unix.cpp
50+++ b/src/corelib/io/qfilesystemengine_unix.cpp
51@@ -1248,16 +1248,6 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy
52 if (Q_UNLIKELY(srcPath.isEmpty() || tgtPath.isEmpty()))
53 return emptyFileEntryWarning(), false;
54
55-#if defined(RENAME_NOREPLACE) && QT_CONFIG(renameat2)
56- if (renameat2(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_NOREPLACE) == 0)
57- return true;
58-
59- // We can also get EINVAL for some non-local filesystems.
60- if (errno != EINVAL) {
61- error = QSystemError(errno, QSystemError::StandardLibraryError);
62- return false;
63- }
64-#endif
65 #if defined(Q_OS_DARWIN) && defined(RENAME_EXCL)
66 if (renameatx_np(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_EXCL) == 0)
67 return true;
68--
692.20.1
70