1*4882a593SmuzhiyunFrom 77196464454a1c66e57ad5aac237a55de211a107 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> 3*4882a593SmuzhiyunDate: Sun, 14 Apr 2019 13:27:58 +0200 4*4882a593SmuzhiyunSubject: [PATCH] Avoid renameeat2 for native(sdk) builds 5*4882a593SmuzhiyunMIME-Version: 1.0 6*4882a593SmuzhiyunContent-Type: text/plain; charset=UTF-8 7*4882a593SmuzhiyunContent-Transfer-Encoding: 8bit 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunRecently pseudo changed to not support reanameeat2 as glibc wrapper [1]. This 10*4882a593Smuzhiyuncauses massive failures at do_install [2] on qtbase. 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunTo work around tell Qt build configuration not to use ranameet2 independent 13*4882a593Smuzhiyunof glibc version. 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun[1] https://git.openembedded.org/openembedded-core/commit/?id=0fb257121b68f38b40c078150db8f7d0979b7ea5 16*4882a593Smuzhiyun[2] https://github.com/meta-qt5/meta-qt5/issues/187 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunUpstream-Status: Inappropriate [OE-specific] 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunSigned-off-by: Andreas Müller <schnitzeltony@gmail.com> 21*4882a593Smuzhiyun--- 22*4882a593Smuzhiyun src/corelib/global/qconfig-bootstrapped.h | 4 ++-- 23*4882a593Smuzhiyun src/corelib/io/qfilesystemengine_unix.cpp | 10 ---------- 24*4882a593Smuzhiyun 2 files changed, 2 insertions(+), 12 deletions(-) 25*4882a593Smuzhiyun 26*4882a593Smuzhiyundiff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h 27*4882a593Smuzhiyunindex b3daf43c04..e1df2ac580 100644 28*4882a593Smuzhiyun--- a/src/corelib/global/qconfig-bootstrapped.h 29*4882a593Smuzhiyun+++ b/src/corelib/global/qconfig-bootstrapped.h 30*4882a593Smuzhiyun@@ -107,7 +107,7 @@ 31*4882a593Smuzhiyun #define QT_FEATURE_process -1 32*4882a593Smuzhiyun #define QT_FEATURE_regularexpression -1 33*4882a593Smuzhiyun #ifdef __GLIBC_PREREQ 34*4882a593Smuzhiyun-# define QT_FEATURE_renameat2 (__GLIBC_PREREQ(2, 28) ? 1 : -1) 35*4882a593Smuzhiyun+# define QT_FEATURE_renameat2 -1 36*4882a593Smuzhiyun #else 37*4882a593Smuzhiyun # define QT_FEATURE_renameat2 -1 38*4882a593Smuzhiyun #endif 39*4882a593Smuzhiyun@@ -115,7 +115,7 @@ 40*4882a593Smuzhiyun #define QT_FEATURE_signaling_nan -1 41*4882a593Smuzhiyun #define QT_FEATURE_slog2 -1 42*4882a593Smuzhiyun #ifdef __GLIBC_PREREQ 43*4882a593Smuzhiyun-# define QT_FEATURE_statx (__GLIBC_PREREQ(2, 28) ? 1 : -1) 44*4882a593Smuzhiyun+# define QT_FEATURE_statx -1 45*4882a593Smuzhiyun #else 46*4882a593Smuzhiyun # define QT_FEATURE_statx -1 47*4882a593Smuzhiyun #endif 48*4882a593Smuzhiyundiff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp 49*4882a593Smuzhiyunindex 231e5cb0ea..8da5872c5e 100644 50*4882a593Smuzhiyun--- a/src/corelib/io/qfilesystemengine_unix.cpp 51*4882a593Smuzhiyun+++ b/src/corelib/io/qfilesystemengine_unix.cpp 52*4882a593Smuzhiyun@@ -1443,16 +1443,6 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy 53*4882a593Smuzhiyun Q_CHECK_FILE_NAME(srcPath, false); 54*4882a593Smuzhiyun Q_CHECK_FILE_NAME(tgtPath, false); 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun-#if defined(RENAME_NOREPLACE) && QT_CONFIG(renameat2) 57*4882a593Smuzhiyun- if (renameat2(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_NOREPLACE) == 0) 58*4882a593Smuzhiyun- return true; 59*4882a593Smuzhiyun- 60*4882a593Smuzhiyun- // We can also get EINVAL for some non-local filesystems. 61*4882a593Smuzhiyun- if (errno != EINVAL) { 62*4882a593Smuzhiyun- error = QSystemError(errno, QSystemError::StandardLibraryError); 63*4882a593Smuzhiyun- return false; 64*4882a593Smuzhiyun- } 65*4882a593Smuzhiyun-#endif 66*4882a593Smuzhiyun #if defined(Q_OS_DARWIN) && defined(RENAME_EXCL) 67*4882a593Smuzhiyun if (renameatx_np(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_EXCL) == 0) 68*4882a593Smuzhiyun return true; 69