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