From 2d1d8078156d050994a6cf46298d836b357df15c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Mon, 20 Aug 2018 23:50:45 +0200 Subject: qtbase: fix build with glibc-2.28 - for non-readers like me MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- recipes-qt/qt5/nativesdk-qtbase_git.bb | 3 +- recipes-qt/qt5/qtbase-native_git.bb | 5 +-- .../qtbase/0015-Always-build-uic-and-qvkgen.patch | 28 --------------- ...-version-for-renameat2-statx-on-non-boots.patch | 41 ++++++++++++++++++++++ .../qtbase/0016-Always-build-uic-and-qvkgen.patch | 28 +++++++++++++++ .../0016-Bootstrap-without-linkat-feature.patch | 27 -------------- .../0017-Bootstrap-without-linkat-feature.patch | 27 ++++++++++++++ recipes-qt/qt5/qtbase_git.bb | 2 ++ 8 files changed, 103 insertions(+), 58 deletions(-) delete mode 100644 recipes-qt/qt5/qtbase/0015-Always-build-uic-and-qvkgen.patch create mode 100644 recipes-qt/qt5/qtbase/0015-Check-glibc-version-for-renameat2-statx-on-non-boots.patch create mode 100644 recipes-qt/qt5/qtbase/0016-Always-build-uic-and-qvkgen.patch delete mode 100644 recipes-qt/qt5/qtbase/0016-Bootstrap-without-linkat-feature.patch create mode 100644 recipes-qt/qt5/qtbase/0017-Bootstrap-without-linkat-feature.patch (limited to 'recipes-qt/qt5') 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-Always-build-uic-and-qvkgen.patch b/recipes-qt/qt5/qtbase/0015-Always-build-uic-and-qvkgen.patch deleted file mode 100644 index 0a32e881..00000000 --- a/recipes-qt/qt5/qtbase/0015-Always-build-uic-and-qvkgen.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 7ad41f69af974ec924eb27c86fb15d5da9384d6c Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Sat, 16 Nov 2013 00:32:30 +0100 -Subject: [PATCH] Always build uic and qvkgen - -Even if we are not building gui or widgets. This tool is needed later -as a native tool when compiling the target. - -Change-Id: I257668ac28c22b192e7ec7736e6c23fa3be6bab6 -Signed-off-by: Mikko Levonmaa -Signed-off-by: Martin Jansa ---- - src/src.pro | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/src.pro b/src/src.pro -index 1f7c5d99c1..6b39379dd0 100644 ---- a/src/src.pro -+++ b/src/src.pro -@@ -222,7 +222,7 @@ qtConfig(gui) { - } - } - } --SUBDIRS += src_plugins -+SUBDIRS += src_plugins src_tools_uic src_tools_qvkgen - - nacl: SUBDIRS -= src_network src_testlib - 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?= +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 +--- + 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/0016-Always-build-uic-and-qvkgen.patch b/recipes-qt/qt5/qtbase/0016-Always-build-uic-and-qvkgen.patch new file mode 100644 index 00000000..0a32e881 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0016-Always-build-uic-and-qvkgen.patch @@ -0,0 +1,28 @@ +From 7ad41f69af974ec924eb27c86fb15d5da9384d6c Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Sat, 16 Nov 2013 00:32:30 +0100 +Subject: [PATCH] Always build uic and qvkgen + +Even if we are not building gui or widgets. This tool is needed later +as a native tool when compiling the target. + +Change-Id: I257668ac28c22b192e7ec7736e6c23fa3be6bab6 +Signed-off-by: Mikko Levonmaa +Signed-off-by: Martin Jansa +--- + src/src.pro | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/src.pro b/src/src.pro +index 1f7c5d99c1..6b39379dd0 100644 +--- a/src/src.pro ++++ b/src/src.pro +@@ -222,7 +222,7 @@ qtConfig(gui) { + } + } + } +-SUBDIRS += src_plugins ++SUBDIRS += src_plugins src_tools_uic src_tools_qvkgen + + nacl: SUBDIRS -= src_network src_testlib + diff --git a/recipes-qt/qt5/qtbase/0016-Bootstrap-without-linkat-feature.patch b/recipes-qt/qt5/qtbase/0016-Bootstrap-without-linkat-feature.patch deleted file mode 100644 index 4f5fdc95..00000000 --- a/recipes-qt/qt5/qtbase/0016-Bootstrap-without-linkat-feature.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 05bbd2dce8c7f4a40d86841671763b9d8b51c886 Mon Sep 17 00:00:00 2001 -From: Samuli Piippo -Date: Fri, 24 Nov 2017 15:16:31 +0200 -Subject: [PATCH] Bootstrap without linkat feature - -qmake does not work together with pseudo when unnamed temporary files -are used with linkat. - -Upstream-Status: Inappropriate [OE specific] -[YOCTO #11996] ---- - src/corelib/global/qconfig-bootstrapped.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h -index c5585ea32a..de895e7bf4 100644 ---- a/src/corelib/global/qconfig-bootstrapped.h -+++ b/src/corelib/global/qconfig-bootstrapped.h -@@ -90,7 +90,7 @@ - #define QT_FEATURE_itemmodel -1 - #define QT_FEATURE_library -1 - #ifdef __linux__ --# define QT_FEATURE_linkat 1 -+# define QT_FEATURE_linkat -1 - #else - # define QT_FEATURE_linkat -1 - #endif diff --git a/recipes-qt/qt5/qtbase/0017-Bootstrap-without-linkat-feature.patch b/recipes-qt/qt5/qtbase/0017-Bootstrap-without-linkat-feature.patch new file mode 100644 index 00000000..4f5fdc95 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0017-Bootstrap-without-linkat-feature.patch @@ -0,0 +1,27 @@ +From 05bbd2dce8c7f4a40d86841671763b9d8b51c886 Mon Sep 17 00:00:00 2001 +From: Samuli Piippo +Date: Fri, 24 Nov 2017 15:16:31 +0200 +Subject: [PATCH] Bootstrap without linkat feature + +qmake does not work together with pseudo when unnamed temporary files +are used with linkat. + +Upstream-Status: Inappropriate [OE specific] +[YOCTO #11996] +--- + src/corelib/global/qconfig-bootstrapped.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h +index c5585ea32a..de895e7bf4 100644 +--- a/src/corelib/global/qconfig-bootstrapped.h ++++ b/src/corelib/global/qconfig-bootstrapped.h +@@ -90,7 +90,7 @@ + #define QT_FEATURE_itemmodel -1 + #define QT_FEATURE_library -1 + #ifdef __linux__ +-# define QT_FEATURE_linkat 1 ++# define QT_FEATURE_linkat -1 + #else + # define QT_FEATURE_linkat -1 + #endif 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" -- cgit v1.2.3