aports/main/coreutils/renameat2-fakeroot.patch

19 lines
646 B
Diff
Raw Permalink Normal View History

calling the syscall directly for renameat2 breaks fakeroot.
Force fallback til musl has implemented renameat2.
ref: https://gitlab.alpinelinux.org/alpine/aports/-/issues/16016
diff --git a/lib/renameatu.c b/lib/renameatu.c
index 6893232..a6b278d 100644
--- a/lib/renameatu.c
+++ b/lib/renameatu.c
@@ -109,7 +109,7 @@ renameatu (int fd1, char const *src, int fd2, char const *dst,
#ifdef HAVE_RENAMEAT2
ret_val = renameat2 (fd1, src, fd2, dst, flags);
err = errno;
-#elif defined SYS_renameat2
+#elif defined SYS_renameat2 && defined BREAK_FAKEROOT
ret_val = syscall (SYS_renameat2, fd1, src, fd2, dst, flags);
err = errno;
#endif