summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2019-05-14 18:48:49 +0000
committerMartin Jansa <Martin.Jansa@gmail.com>2019-05-20 15:56:01 +0000
commitd4a349c963910a47b274c9e92ad079439ed3ce4f (patch)
tree73e9ca265b5d7b8b41267760b989b7b02f902dd4
parent5b5685efb256f9e63c4c8ca50d1a6e6deb3f2f31 (diff)
downloadopenembedded-core-contrib-d4a349c963910a47b274c9e92ad079439ed3ce4f.tar.gz
openembedded-core-contrib-d4a349c963910a47b274c9e92ad079439ed3ce4f.tar.bz2
openembedded-core-contrib-d4a349c963910a47b274c9e92ad079439ed3ce4f.zip
qtbase-native: add some debug output to qmake -install qinstall
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--meta/recipes-qt/qt5/qtbase-native_git.bb8
-rw-r--r--meta/recipes-qt/qt5/qtbase/0001-qt_configure-show-all-possible-features-in-list-feat.patch41
-rw-r--r--meta/recipes-qt/qt5/qtbase/0002-qfilesystemengine_unix.cpp-debug.patch112
3 files changed, 155 insertions, 6 deletions
diff --git a/meta/recipes-qt/qt5/qtbase-native_git.bb b/meta/recipes-qt/qt5/qtbase-native_git.bb
index 91ed4807ec..7d3922d243 100644
--- a/meta/recipes-qt/qt5/qtbase-native_git.bb
+++ b/meta/recipes-qt/qt5/qtbase-native_git.bb
@@ -36,6 +36,8 @@ SRC_URI += "\
file://0014-Qt5GuiConfigExtras.cmake.in-cope-with-variable-path-.patch \
file://0015-corelib-Include-sys-types.h-for-uint32_t.patch \
file://0016-Define-QMAKE_CXX.COMPILER_MACROS-for-clang-on-linux.patch \
+ file://0001-qt_configure-show-all-possible-features-in-list-feat.patch \
+ file://0002-qfilesystemengine_unix.cpp-debug.patch \
"
# common for qtbase-native and nativesdk-qtbase
@@ -43,12 +45,6 @@ SRC_URI += "\
# 5.12.meta-qt5-native.7
SRC_URI += " \
file://0017-Always-build-uic-and-qvkgen.patch \
- file://0018-Avoid-renameeat2-for-native-sdk-builds.patch \
-"
-
-# only for qtbase-native
-SRC_URI += " \
- file://0019-Bootstrap-without-linkat-feature.patch \
"
CLEANBROKEN = "1"
diff --git a/meta/recipes-qt/qt5/qtbase/0001-qt_configure-show-all-possible-features-in-list-feat.patch b/meta/recipes-qt/qt5/qtbase/0001-qt_configure-show-all-possible-features-in-list-feat.patch
new file mode 100644
index 0000000000..17c0cd9e77
--- /dev/null
+++ b/meta/recipes-qt/qt5/qtbase/0001-qt_configure-show-all-possible-features-in-list-feat.patch
@@ -0,0 +1,41 @@
+From 0c098f6e6a2fdfe46384ade0b201334ecb66a65f Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Tue, 14 May 2019 18:31:37 +0000
+Subject: [PATCH] qt_configure: show all possible features in -list-features
+
+* there are 249 features without purpose defined and 179
+ which have it
+* It's useful to see really all features available, e.g. when validating
+ meta-qt5 PACKAGECONFIGs e.g. getentropy is still, statx, renameat
+ were used before (and might be useful again because of issues with
+ pseudo)
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+Change-Id: I85ab46643833766ef8b2f113dab92da78e0ab866
+---
+ mkspecs/features/qt_configure.prf | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
+index 04690068bc..c1c9a3b46d 100644
+--- a/mkspecs/features/qt_configure.prf
++++ b/mkspecs/features/qt_configure.prf
+@@ -2323,12 +2323,11 @@ qtConfCheckErrors()
+ for (currentConfig, allModuleConfigs) {
+ for (k, $${currentConfig}.features._KEYS_) {
+ pp = $$eval($${currentConfig}.features.$${k}.purpose)
+- !isEmpty(pp) {
+- pfx = $$eval($${currentConfig}.features.$${k}.section)
+- !isEmpty(pfx): pfx = "$$pfx: "
+- all_ft += $$qtConfPadCols($$k, ".......................", \
+- $$pfx$$section(pp, $$escape_expand(\\n), 0, 0))
+- }
++ isEmpty(pp): pp = "No description"
++ pfx = $$eval($${currentConfig}.features.$${k}.section)
++ !isEmpty(pfx): pfx = "$$pfx: "
++ all_ft += $$qtConfPadCols($$k, ".......................", \
++ $$pfx$$section(pp, $$escape_expand(\\n), 0, 0))
+ }
+ }
+ all_ft = $$sorted(all_ft)
diff --git a/meta/recipes-qt/qt5/qtbase/0002-qfilesystemengine_unix.cpp-debug.patch b/meta/recipes-qt/qt5/qtbase/0002-qfilesystemengine_unix.cpp-debug.patch
new file mode 100644
index 0000000000..158e8cebc0
--- /dev/null
+++ b/meta/recipes-qt/qt5/qtbase/0002-qfilesystemengine_unix.cpp-debug.patch
@@ -0,0 +1,112 @@
+From 2a62aa3e3d900fa8a631827230795d2e22021a6d Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Tue, 14 May 2019 18:46:26 +0000
+Subject: [PATCH] qfilesystemengine_unix.cpp: debug
+
+Change-Id: I8469ec273c608e60f3fbe64b9dbd95f48149809c
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ src/corelib/io/qfile.cpp | 3 ++
+ src/corelib/io/qfilesystemengine_unix.cpp | 43 +++++++++++++++++++++--
+ 2 files changed, 44 insertions(+), 2 deletions(-)
+
+diff --git a/src/corelib/io/qfile.cpp b/src/corelib/io/qfile.cpp
+index 3166fa1b83..dd7d1878c8 100644
+--- a/src/corelib/io/qfile.cpp
++++ b/src/corelib/io/qfile.cpp
+@@ -773,6 +773,9 @@ QFile::copy(const QString &newName)
+ qWarning("QFile::copy: Empty or null file name");
+ return false;
+ }
++#if defined(QT_DEBUG)
++ qWarning("QFile::copy %s -> %s", qPrintable(fileName()), qPrintable(QFileInfo(newName).path()));
++#endif
+ if (QFile::exists(newName)) {
+ // ### Race condition. If a file is moved in after this, it /will/ be
+ // overwritten. On Unix, the proper solution is to use hardlinks:
+diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
+index b2d81066db..351d9fa937 100644
+--- a/src/corelib/io/qfilesystemengine_unix.cpp
++++ b/src/corelib/io/qfilesystemengine_unix.cpp
+@@ -1248,12 +1248,32 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy
+ if (Q_UNLIKELY(srcPath.isEmpty() || tgtPath.isEmpty()))
+ return emptyFileEntryWarning(), false;
+
++#if defined(QT_DEBUG)
++ qWarning("QFileSystemEngine::renameFile %s -> %s", srcPath, tgtPath);
++#if defined(RENAME_NOREPLACE)
++ qWarning("QFileSystemEngine::renameFile RENAME_NOREPLACE is defined");
++#endif
++#if QT_CONFIG(renameat2)
++ qWarning("QFileSystemEngine::renameFile QT_CONFIG(renameat2)");
++#endif
++#endif
++
+ #if defined(RENAME_NOREPLACE) && QT_CONFIG(renameat2)
+- if (renameat2(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_NOREPLACE) == 0)
++ if (renameat2(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_NOREPLACE) == 0) {
++#if defined(QT_DEBUG)
++ qWarning("QFileSystemEngine::renameFile true");
++#endif
+ return true;
++ }
+
++#if defined(QT_DEBUG)
++ qWarning("QFileSystemEngine::renameFile %s", errno);
++#endif
+ // We can also get EINVAL for some non-local filesystems.
+ if (errno != EINVAL) {
++#if defined(QT_DEBUG)
++ qWarning("QFileSystemEngine::renameFile some other error than EINVAL");
++#endif
+ error = QSystemError(errno, QSystemError::StandardLibraryError);
+ return false;
+ }
+@@ -1266,8 +1286,14 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy
+ return false;
+ }
+ #endif
++#if defined(QT_DEBUG)
++ qWarning("QFileSystemEngine::renameFile SupportsHardlinking %s", SupportsHardlinking);
++#endif
+
+ if (SupportsHardlinking && ::link(srcPath, tgtPath) == 0) {
++#if defined(QT_DEBUG)
++ qWarning("QFileSystemEngine::renameFile SupportsHardlinking && ::link");
++#endif
+ if (::unlink(srcPath) == 0)
+ return true;
+
+@@ -1296,6 +1322,9 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy
+ case ENOTDIR:
+ case EROFS:
+ case EXDEV:
++#if defined(QT_DEBUG)
++ qWarning("QFileSystemEngine::renameFile break on EACCES, EEXIST, ENAMETOOLONG, ENOENT, ENOTDIR, EROFS or EXDEV");
++#endif
+ // accept the error from link(2) (especially EEXIST) and don't retry
+ break;
+
+@@ -1303,11 +1332,21 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy
+ // fall back to rename()
+ // ### Race condition. If a file is moved in after this, it /will/ be
+ // overwritten.
+- if (::rename(srcPath, tgtPath) == 0)
++#if defined(QT_DEBUG)
++ qWarning("QFileSystemEngine::renameFile retrying with ::rename");
++#endif
++ if (::rename(srcPath, tgtPath) == 0) {
++#if defined(QT_DEBUG)
++ qWarning("QFileSystemEngine::renameFile ::rename ok");
++#endif
+ return true;
++ }
+ }
+
+ error = QSystemError(errno, QSystemError::StandardLibraryError);
++#if defined(QT_DEBUG)
++ qWarning("QFileSystemEngine::renameFile %s", error);
++#endif
+ return false;
+ }
+