Kamil Dudka 333a30
From 57ee8db4fee8eb6772df1ff18d275594c0b034d4 Mon Sep 17 00:00:00 2001
Kamil Dudka 333a30
From: Paul Eggert <eggert@cs.ucla.edu>
Kamil Dudka 333a30
Date: Thu, 5 Jul 2018 09:22:09 -0700
Kamil Dudka 333a30
Subject: [PATCH 1/2] renameatu: rename from renameat2
Kamil Dudka 333a30
Kamil Dudka 333a30
It's looking like Glibc will add a renameat2 function
Kamil Dudka 333a30
that is incompatible with Gnulib renameat2; see:
Kamil Dudka 333a30
https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
Kamil Dudka 333a30
To help avoid future confusion, rename renameat2 to something else.
Kamil Dudka 333a30
Use the name 'renameatu', as the Gnulib function is close to the
Kamil Dudka 333a30
Glibc function.  Perhaps someday there will also be a renameat2
Kamil Dudka 333a30
Gnulib module, which mimicks the future glibc renameat2, but that
Kamil Dudka 333a30
can wait as nobody seems to need such a module now.
Kamil Dudka 333a30
* NEWS: Mention this.
Kamil Dudka 333a30
* lib/renameatu.c: Rename from lib/renameat2.c.
Kamil Dudka 333a30
* lib/renameatu.h: Rename from lib/renameat2.h.
Kamil Dudka 333a30
* modules/renameatu: Rename from modules/renameat2.
Kamil Dudka 333a30
* modules/renameatu-tests: Rename from modules/renameat2-tests.
Kamil Dudka 333a30
All uses of "renameat2" in identifiers or file name
Kamil Dudka 333a30
changed to "renameatu", except for two instances in
Kamil Dudka 333a30
lib/renameatu.c that deal with the Linux kernel's
Kamil Dudka 333a30
renameat2 syscall.
Kamil Dudka 333a30
Kamil Dudka 333a30
Upstream-commit: 2522322e5304e7d86c63e607e2bc83c8d8b0a889
Kamil Dudka 333a30
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
Kamil Dudka 333a30
---
Kamil Dudka 333a30
 gnulib-tests/gnulib.mk                             | 12 +++---
Kamil Dudka 333a30
 .../{test-renameat2.c => test-renameatu.c}         | 48 +++++++++++-----------
Kamil Dudka 333a30
 lib/backupfile.c                                   |  4 +-
Kamil Dudka 333a30
 lib/gnulib.mk                                      | 10 ++---
Kamil Dudka 333a30
 lib/renameat.c                                     |  4 +-
Kamil Dudka 333a30
 lib/{renameat2.c => renameatu.c}                   |  9 ++--
Kamil Dudka 333a30
 lib/{renameat2.h => renameatu.h}                   |  8 ++--
Kamil Dudka 333a30
 7 files changed, 48 insertions(+), 47 deletions(-)
Kamil Dudka 333a30
 rename gnulib-tests/{test-renameat2.c => test-renameatu.c} (80%)
Kamil Dudka 333a30
 rename lib/{renameat2.c => renameatu.c} (94%)
Kamil Dudka 333a30
 rename lib/{renameat2.h => renameatu.h} (84%)
Kamil Dudka 333a30
Kamil Dudka 333a30
diff --git a/gnulib-tests/gnulib.mk b/gnulib-tests/gnulib.mk
Kamil Dudka 333a30
index be2b99e..891425b 100644
Kamil Dudka 333a30
--- a/gnulib-tests/gnulib.mk
Kamil Dudka 333a30
+++ b/gnulib-tests/gnulib.mk
Kamil Dudka 333a30
@@ -1750,14 +1750,14 @@ EXTRA_DIST += test-rename.h test-renameat.c signature.h macros.h
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 ## end   gnulib module renameat-tests
Kamil Dudka 333a30
 
Kamil Dudka 333a30
-## begin gnulib module renameat2-tests
Kamil Dudka 333a30
+## begin gnulib module renameatu-tests
Kamil Dudka 333a30
 
Kamil Dudka 333a30
-TESTS += test-renameat2
Kamil Dudka 333a30
-check_PROGRAMS += test-renameat2
Kamil Dudka 333a30
-test_renameat2_LDADD = $(LDADD) @LIBINTL@
Kamil Dudka 333a30
-EXTRA_DIST += test-rename.h test-renameat2.c signature.h macros.h
Kamil Dudka 333a30
+TESTS += test-renameatu
Kamil Dudka 333a30
+check_PROGRAMS += test-renameatu
Kamil Dudka 333a30
+test_renameatu_LDADD = $(LDADD) @LIBINTL@
Kamil Dudka 333a30
+EXTRA_DIST += test-rename.h test-renameatu.c signature.h macros.h
Kamil Dudka 333a30
 
Kamil Dudka 333a30
-## end   gnulib module renameat2-tests
Kamil Dudka 333a30
+## end   gnulib module renameatu-tests
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 ## begin gnulib module rmdir-tests
Kamil Dudka 333a30
 
Kamil Dudka 333a30
diff --git a/gnulib-tests/test-renameat2.c b/gnulib-tests/test-renameatu.c
Kamil Dudka 333a30
similarity index 80%
Kamil Dudka 333a30
rename from gnulib-tests/test-renameat2.c
Kamil Dudka 333a30
rename to gnulib-tests/test-renameatu.c
Kamil Dudka 333a30
index 0104890..988428b 100644
Kamil Dudka 333a30
--- a/gnulib-tests/test-renameat2.c
Kamil Dudka 333a30
+++ b/gnulib-tests/test-renameatu.c
Kamil Dudka 333a30
@@ -1,4 +1,4 @@
Kamil Dudka 333a30
-/* Test renameat2.
Kamil Dudka 333a30
+/* Test renameatu.
Kamil Dudka 333a30
    Copyright (C) 2009-2018 Free Software Foundation, Inc.
Kamil Dudka 333a30
 
Kamil Dudka 333a30
    This program is free software: you can redistribute it and/or modify
Kamil Dudka 333a30
@@ -18,12 +18,12 @@
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 #include <config.h>
Kamil Dudka 333a30
 
Kamil Dudka 333a30
-#include <renameat2.h>
Kamil Dudka 333a30
+#include <renameatu.h>
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 #include <stdio.h>
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 #include "signature.h"
Kamil Dudka 333a30
-SIGNATURE_CHECK (renameat2, int,
Kamil Dudka 333a30
+SIGNATURE_CHECK (renameatu, int,
Kamil Dudka 333a30
                  (int, char const *, int, char const *, unsigned int));
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 #include <dirent.h>
Kamil Dudka 333a30
@@ -39,18 +39,18 @@ SIGNATURE_CHECK (renameat2, int,
Kamil Dudka 333a30
 #include "ignore-value.h"
Kamil Dudka 333a30
 #include "macros.h"
Kamil Dudka 333a30
 
Kamil Dudka 333a30
-#define BASE "test-renameat2.t"
Kamil Dudka 333a30
+#define BASE "test-renameatu.t"
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 #include "test-rename.h"
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 static int dfd1 = AT_FDCWD;
Kamil Dudka 333a30
 static int dfd2 = AT_FDCWD;
Kamil Dudka 333a30
 
Kamil Dudka 333a30
-/* Wrapper to test renameat2 like rename.  */
Kamil Dudka 333a30
+/* Wrapper to test renameatu like rename.  */
Kamil Dudka 333a30
 static int
Kamil Dudka 333a30
 do_rename (char const *name1, char const *name2)
Kamil Dudka 333a30
 {
Kamil Dudka 333a30
-  return renameat2 (dfd1, name1, dfd2, name2, 0);
Kamil Dudka 333a30
+  return renameatu (dfd1, name1, dfd2, name2, 0);
Kamil Dudka 333a30
 }
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 int
Kamil Dudka 333a30
@@ -67,24 +67,24 @@ main (void)
Kamil Dudka 333a30
   /* Test behaviour for invalid file descriptors.  */
Kamil Dudka 333a30
   {
Kamil Dudka 333a30
     errno = 0;
Kamil Dudka 333a30
-    ASSERT (renameat2 (-1, "foo", AT_FDCWD, "bar", 0) == -1);
Kamil Dudka 333a30
+    ASSERT (renameatu (-1, "foo", AT_FDCWD, "bar", 0) == -1);
Kamil Dudka 333a30
     ASSERT (errno == EBADF);
Kamil Dudka 333a30
   }
Kamil Dudka 333a30
   {
Kamil Dudka 333a30
     close (99);
Kamil Dudka 333a30
     errno = 0;
Kamil Dudka 333a30
-    ASSERT (renameat2 (99, "foo", AT_FDCWD, "bar", 0) == -1);
Kamil Dudka 333a30
+    ASSERT (renameatu (99, "foo", AT_FDCWD, "bar", 0) == -1);
Kamil Dudka 333a30
     ASSERT (errno == EBADF);
Kamil Dudka 333a30
   }
Kamil Dudka 333a30
   ASSERT (close (creat (BASE "oo", 0600)) == 0);
Kamil Dudka 333a30
   {
Kamil Dudka 333a30
     errno = 0;
Kamil Dudka 333a30
-    ASSERT (renameat2 (AT_FDCWD, BASE "oo", -1, "bar", 0) == -1);
Kamil Dudka 333a30
+    ASSERT (renameatu (AT_FDCWD, BASE "oo", -1, "bar", 0) == -1);
Kamil Dudka 333a30
     ASSERT (errno == EBADF);
Kamil Dudka 333a30
   }
Kamil Dudka 333a30
   {
Kamil Dudka 333a30
     errno = 0;
Kamil Dudka 333a30
-    ASSERT (renameat2 (AT_FDCWD, BASE "oo", 99, "bar", 0) == -1);
Kamil Dudka 333a30
+    ASSERT (renameatu (AT_FDCWD, BASE "oo", 99, "bar", 0) == -1);
Kamil Dudka 333a30
     ASSERT (errno == EBADF);
Kamil Dudka 333a30
   }
Kamil Dudka 333a30
   ASSERT (unlink (BASE "oo") == 0);
Kamil Dudka 333a30
@@ -133,13 +133,13 @@ main (void)
Kamil Dudka 333a30
 
Kamil Dudka 333a30
       ASSERT (sprintf (strchr (file1, '\0') - 2, "%02d", i) == 2);
Kamil Dudka 333a30
       ASSERT (sprintf (strchr (file2, '\0') - 2, "%02d", i + 1) == 2);
Kamil Dudka 333a30
-      ASSERT (renameat2 (fd1, file1, fd2, file2, 0) == 0);
Kamil Dudka 333a30
+      ASSERT (renameatu (fd1, file1, fd2, file2, 0) == 0);
Kamil Dudka 333a30
       free (file1);
Kamil Dudka 333a30
       free (file2);
Kamil Dudka 333a30
     }
Kamil Dudka 333a30
   dfd2 = open ("..", O_RDONLY);
Kamil Dudka 333a30
   ASSERT (0 <= dfd2);
Kamil Dudka 333a30
-  ASSERT (renameat2 (dfd, "../" BASE "16", dfd2, BASE "17", 0) == 0);
Kamil Dudka 333a30
+  ASSERT (renameatu (dfd, "../" BASE "16", dfd2, BASE "17", 0) == 0);
Kamil Dudka 333a30
   ASSERT (close (dfd2) == 0);
Kamil Dudka 333a30
 
Kamil Dudka 333a30
   /* Now we change back to the parent directory, and set dfd to ".";
Kamil Dudka 333a30
@@ -152,47 +152,47 @@ main (void)
Kamil Dudka 333a30
 
Kamil Dudka 333a30
   ASSERT (close (creat (BASE "sub2/file", 0600)) == 0);
Kamil Dudka 333a30
   errno = 0;
Kamil Dudka 333a30
-  ASSERT (renameat2 (dfd, BASE "sub1", dfd, BASE "sub2", 0) == -1);
Kamil Dudka 333a30
+  ASSERT (renameatu (dfd, BASE "sub1", dfd, BASE "sub2", 0) == -1);
Kamil Dudka 333a30
   ASSERT (errno == EEXIST || errno == ENOTEMPTY);
Kamil Dudka 333a30
   ASSERT (unlink (BASE "sub2/file") == 0);
Kamil Dudka 333a30
   errno = 0;
Kamil Dudka 333a30
-  ASSERT (renameat2 (dfd, BASE "sub2", dfd, BASE "sub1/.", 0) == -1);
Kamil Dudka 333a30
+  ASSERT (renameatu (dfd, BASE "sub2", dfd, BASE "sub1/.", 0) == -1);
Kamil Dudka 333a30
   ASSERT (errno == EINVAL || errno == EISDIR || errno == EBUSY
Kamil Dudka 333a30
           || errno == ENOTEMPTY || errno == EEXIST
Kamil Dudka 333a30
           || errno == ENOENT /* WSL */);
Kamil Dudka 333a30
   errno = 0;
Kamil Dudka 333a30
-  ASSERT (renameat2 (dfd, BASE "sub2/.", dfd, BASE "sub1", 0) == -1);
Kamil Dudka 333a30
+  ASSERT (renameatu (dfd, BASE "sub2/.", dfd, BASE "sub1", 0) == -1);
Kamil Dudka 333a30
   ASSERT (errno == EINVAL || errno == EBUSY || errno == EEXIST
Kamil Dudka 333a30
           || errno == ENOENT /* WSL */);
Kamil Dudka 333a30
   errno = 0;
Kamil Dudka 333a30
-  ASSERT (renameat2 (dfd, BASE "17", dfd, BASE "sub1", 0) == -1);
Kamil Dudka 333a30
+  ASSERT (renameatu (dfd, BASE "17", dfd, BASE "sub1", 0) == -1);
Kamil Dudka 333a30
   ASSERT (errno == EISDIR);
Kamil Dudka 333a30
   errno = 0;
Kamil Dudka 333a30
-  ASSERT (renameat2 (dfd, BASE "nosuch", dfd, BASE "18", 0) == -1);
Kamil Dudka 333a30
+  ASSERT (renameatu (dfd, BASE "nosuch", dfd, BASE "18", 0) == -1);
Kamil Dudka 333a30
   ASSERT (errno == ENOENT);
Kamil Dudka 333a30
   errno = 0;
Kamil Dudka 333a30
-  ASSERT (renameat2 (dfd, "", dfd, BASE "17", 0) == -1);
Kamil Dudka 333a30
+  ASSERT (renameatu (dfd, "", dfd, BASE "17", 0) == -1);
Kamil Dudka 333a30
   ASSERT (errno == ENOENT);
Kamil Dudka 333a30
   errno = 0;
Kamil Dudka 333a30
-  ASSERT (renameat2 (dfd, BASE "17", dfd, "", 0) == -1);
Kamil Dudka 333a30
+  ASSERT (renameatu (dfd, BASE "17", dfd, "", 0) == -1);
Kamil Dudka 333a30
   ASSERT (errno == ENOENT);
Kamil Dudka 333a30
   errno = 0;
Kamil Dudka 333a30
-  ASSERT (renameat2 (dfd, BASE "sub2", dfd, BASE "17", 0) == -1);
Kamil Dudka 333a30
+  ASSERT (renameatu (dfd, BASE "sub2", dfd, BASE "17", 0) == -1);
Kamil Dudka 333a30
   ASSERT (errno == ENOTDIR);
Kamil Dudka 333a30
   errno = 0;
Kamil Dudka 333a30
-  ASSERT (renameat2 (dfd, BASE "17/", dfd, BASE "18", 0) == -1);
Kamil Dudka 333a30
+  ASSERT (renameatu (dfd, BASE "17/", dfd, BASE "18", 0) == -1);
Kamil Dudka 333a30
   ASSERT (errno == ENOTDIR);
Kamil Dudka 333a30
   errno = 0;
Kamil Dudka 333a30
-  ASSERT (renameat2 (dfd, BASE "17", dfd, BASE "18/", 0) == -1);
Kamil Dudka 333a30
+  ASSERT (renameatu (dfd, BASE "17", dfd, BASE "18/", 0) == -1);
Kamil Dudka 333a30
   ASSERT (errno == ENOTDIR || errno == ENOENT);
Kamil Dudka 333a30
 
Kamil Dudka 333a30
   /* Finally, make sure we cannot overwrite existing files.  */
Kamil Dudka 333a30
   ASSERT (close (creat (BASE "sub2/file", 0600)) == 0);
Kamil Dudka 333a30
   errno = 0;
Kamil Dudka 333a30
-  ASSERT ((renameat2 (dfd, BASE "sub2", dfd, BASE "sub1", RENAME_NOREPLACE)
Kamil Dudka 333a30
+  ASSERT ((renameatu (dfd, BASE "sub2", dfd, BASE "sub1", RENAME_NOREPLACE)
Kamil Dudka 333a30
            == -1)
Kamil Dudka 333a30
           && errno == EEXIST);
Kamil Dudka 333a30
-  ASSERT ((renameat2 (dfd, BASE "sub2/file", dfd, BASE "17", RENAME_NOREPLACE)
Kamil Dudka 333a30
+  ASSERT ((renameatu (dfd, BASE "sub2/file", dfd, BASE "17", RENAME_NOREPLACE)
Kamil Dudka 333a30
            == -1)
Kamil Dudka 333a30
           && errno == EEXIST);
Kamil Dudka 333a30
 
Kamil Dudka 333a30
diff --git a/lib/backupfile.c b/lib/backupfile.c
Kamil Dudka 333a30
index d438455..637be6c 100644
Kamil Dudka 333a30
--- a/lib/backupfile.c
Kamil Dudka 333a30
+++ b/lib/backupfile.c
Kamil Dudka 333a30
@@ -23,7 +23,7 @@
Kamil Dudka 333a30
 #include "backup-internal.h"
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 #include "dirname.h"
Kamil Dudka 333a30
-#include "renameat2.h"
Kamil Dudka 333a30
+#include "renameatu.h"
Kamil Dudka 333a30
 #include "xalloc-oversized.h"
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 #include <fcntl.h>
Kamil Dudka 333a30
@@ -353,7 +353,7 @@ backupfile_internal (char const *file, enum backup_type backup_type, bool rename
Kamil Dudka 333a30
           base_offset = 0;
Kamil Dudka 333a30
         }
Kamil Dudka 333a30
       unsigned flags = backup_type == simple_backups ? 0 : RENAME_NOREPLACE;
Kamil Dudka 333a30
-      if (renameat2 (AT_FDCWD, file, sdir, s + base_offset, flags) == 0)
Kamil Dudka 333a30
+      if (renameatu (AT_FDCWD, file, sdir, s + base_offset, flags) == 0)
Kamil Dudka 333a30
         break;
Kamil Dudka 333a30
       int e = errno;
Kamil Dudka 333a30
       if (e != EEXIST)
Kamil Dudka 333a30
diff --git a/lib/gnulib.mk b/lib/gnulib.mk
Kamil Dudka 333a30
index 04473d5..0b747e3 100644
Kamil Dudka 333a30
--- a/lib/gnulib.mk
Kamil Dudka 333a30
+++ b/lib/gnulib.mk
Kamil Dudka 333a30
@@ -21,7 +21,7 @@
Kamil Dudka 333a30
 # the same distribution terms as the rest of that program.
Kamil Dudka 333a30
 #
Kamil Dudka 333a30
 # Generated by gnulib-tool.
Kamil Dudka 333a30
-# Reproduce by: gnulib-tool --import --local-dir=gl --lib=libcoreutils --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=canonicalize-lgpl --avoid=dummy --makefile-name=gnulib.mk --no-conditional-dependencies --no-libtool --macro-prefix=gl acl alignof alloca announce-gen areadlink-with-size argmatch argv-iter assert autobuild backup-rename backupfile base32 base64 buffer-lcm c-strcase c-strtod c-strtold calloc-gnu canon-host canonicalize chown cloexec closein closeout config-h configmake crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 cycle-check d-ino d-type di-set diacrit dirfd dirname do-release-commit-and-tag dtoastr dup2 environ error euidaccess exclude exitfail explicit_bzero faccessat fadvise fchdir fchmodat fchownat fclose fcntl fcntl-safer fd-reopen fdatasync fdl fdopen fdutimensat file-has-acl file-type fileblocks filemode filenamecat filevercmp flexmember fnmatch-gnu fopen-safer fprintftime freopen freopen-safer fseeko fstatat fsusage fsync ftoastr ftruncate fts full-read full-write getgroups gethrxtime getline getloadavg getlogin getndelim2 getopt-gnu getpagesize getpass-gnu gettext-h gettime gettimeofday getugroups getusershell git-version-gen gitlog-to-changelog gnu-make gnu-web-doc-update gnumakefile gnupload group-member hard-locale hash hash-pjw heap host-os human idcache ignore-value inttostr inttypes isapipe isatty isblank largefile lchmod lchown ldtoastr lib-ignore linebuffer link link-follow linkat long-options lstat maintainer-makefile malloc-gnu manywarnings mbrlen mbrtowc mbsalign mbschr mbslen mbswidth memcasecmp memchr memcmp2 mempcpy memrchr mgetgroups mkancesdirs mkdir mkdir-p mkfifo mknod mkostemp mkstemp mktime modechange mountlist mpsort netinet_in non-recursive-gnulib-prefix-hack nproc nstrftime obstack open parse-datetime pathmax perl physmem pipe-posix pipe2 posix-shell posixtm posixver priv-set progname propername pthread putenv quote quotearg randint randperm read-file readlink readtokens readtokens0 readutmp realloc-gnu regex remove rename renameat renameat2 rmdir root-dev-ino rpmatch safe-read same save-cwd savedir savewd selinux-at setenv settime sig2str sigaction smack ssize_t stat-macros stat-size stat-time statat stdbool stdlib-safer stpcpy stpncpy strdup-posix strncat strnumcmp strsignal strtod strtoimax strtoumax symlinkat sys_ioctl sys_resource sys_stat sys_wait tempname termios time_rz timer-time timespec tzset uname unicodeio unistd-safer unlink-busy unlinkat unlocked-io unsetenv update-copyright uptime useless-if-before-free userspec utimecmp utimens vasprintf-posix vc-list-files verify verror version-etc-fsf wchar-single wcswidth wcwidth winsz-ioctl winsz-termios write-any-file xalloc xbinary-io xdectoint xfts xgetcwd xgetgroups xgethostname xmemcoll xnanosleep xprintf xprintf-posix xreadlink xstrtod xstrtoimax xstrtol xstrtold xstrtoumax year2038 yesno
Kamil Dudka 333a30
+# Reproduce by: gnulib-tool --import --local-dir=gl --lib=libcoreutils --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=gnulib-tests --aux-dir=build-aux --with-tests --avoid=canonicalize-lgpl --avoid=dummy --makefile-name=gnulib.mk --no-conditional-dependencies --no-libtool --macro-prefix=gl acl alignof alloca announce-gen areadlink-with-size argmatch argv-iter assert autobuild backup-rename backupfile base32 base64 buffer-lcm c-strcase c-strtod c-strtold calloc-gnu canon-host canonicalize chown cloexec closein closeout config-h configmake crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 cycle-check d-ino d-type di-set diacrit dirfd dirname do-release-commit-and-tag dtoastr dup2 environ error euidaccess exclude exitfail explicit_bzero faccessat fadvise fchdir fchmodat fchownat fclose fcntl fcntl-safer fd-reopen fdatasync fdl fdopen fdutimensat file-has-acl file-type fileblocks filemode filenamecat filevercmp flexmember fnmatch-gnu fopen-safer fprintftime freopen freopen-safer fseeko fstatat fsusage fsync ftoastr ftruncate fts full-read full-write getgroups gethrxtime getline getloadavg getlogin getndelim2 getopt-gnu getpagesize getpass-gnu gettext-h gettime gettimeofday getugroups getusershell git-version-gen gitlog-to-changelog gnu-make gnu-web-doc-update gnumakefile gnupload group-member hard-locale hash hash-pjw heap host-os human idcache ignore-value inttostr inttypes isapipe isatty isblank largefile lchmod lchown ldtoastr lib-ignore linebuffer link link-follow linkat long-options lstat maintainer-makefile malloc-gnu manywarnings mbrlen mbrtowc mbsalign mbschr mbslen mbswidth memcasecmp memchr memcmp2 mempcpy memrchr mgetgroups mkancesdirs mkdir mkdir-p mkfifo mknod mkostemp mkstemp mktime modechange mountlist mpsort netinet_in non-recursive-gnulib-prefix-hack nproc nstrftime obstack open parse-datetime pathmax perl physmem pipe-posix pipe2 posix-shell posixtm posixver priv-set progname propername pthread putenv quote quotearg randint randperm read-file readlink readtokens readtokens0 readutmp realloc-gnu regex remove rename renameat renameatu rmdir root-dev-ino rpmatch safe-read same save-cwd savedir savewd selinux-at setenv settime sig2str sigaction smack ssize_t stat-macros stat-size stat-time statat stdbool stdlib-safer stpcpy stpncpy strdup-posix strncat strnumcmp strsignal strtod strtoimax strtoumax symlinkat sys_ioctl sys_resource sys_stat sys_wait tempname termios time_rz timer-time timespec tzset uname unicodeio unistd-safer unlink-busy unlinkat unlocked-io unsetenv update-copyright uptime useless-if-before-free userspec utimecmp utimens vasprintf-posix vc-list-files verify verror version-etc-fsf wchar-single wcswidth wcwidth winsz-ioctl winsz-termios write-any-file xalloc xbinary-io xdectoint xfts xgetcwd xgetgroups xgethostname xmemcoll xnanosleep xprintf xprintf-posix xreadlink xstrtod xstrtoimax xstrtol xstrtold xstrtoumax year2038 yesno
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 MOSTLYCLEANFILES += lib/core lib/*.stackdump
Kamil Dudka 333a30
@@ -3218,15 +3218,15 @@ EXTRA_lib_libcoreutils_a_SOURCES += lib/renameat.c
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 ## end   gnulib module renameat
Kamil Dudka 333a30
 
Kamil Dudka 333a30
-## begin gnulib module renameat2
Kamil Dudka 333a30
+## begin gnulib module renameatu
Kamil Dudka 333a30
 
Kamil Dudka 333a30
-lib_libcoreutils_a_SOURCES += lib/renameat2.c
Kamil Dudka 333a30
+lib_libcoreutils_a_SOURCES += lib/renameatu.c
Kamil Dudka 333a30
 
Kamil Dudka 333a30
-EXTRA_DIST += lib/at-func2.c lib/renameat2.h
Kamil Dudka 333a30
+EXTRA_DIST += lib/at-func2.c lib/renameatu.h
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 EXTRA_lib_libcoreutils_a_SOURCES += lib/at-func2.c
Kamil Dudka 333a30
 
Kamil Dudka 333a30
-## end   gnulib module renameat2
Kamil Dudka 333a30
+## end   gnulib module renameatu
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 ## begin gnulib module rewinddir
Kamil Dudka 333a30
 
Kamil Dudka 333a30
diff --git a/lib/renameat.c b/lib/renameat.c
Kamil Dudka 333a30
index 0cb7d33..67be22b 100644
Kamil Dudka 333a30
--- a/lib/renameat.c
Kamil Dudka 333a30
+++ b/lib/renameat.c
Kamil Dudka 333a30
@@ -16,10 +16,10 @@
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 #include <config.h>
Kamil Dudka 333a30
 #include <stdio.h>
Kamil Dudka 333a30
-#include "renameat2.h"
Kamil Dudka 333a30
+#include "renameatu.h"
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 int
Kamil Dudka 333a30
 renameat (int fd1, char const *src, int fd2, char const *dst)
Kamil Dudka 333a30
 {
Kamil Dudka 333a30
-  return renameat2 (fd1, src, fd2, dst, 0);
Kamil Dudka 333a30
+  return renameatu (fd1, src, fd2, dst, 0);
Kamil Dudka 333a30
 }
Kamil Dudka 333a30
diff --git a/lib/renameat2.c b/lib/renameatu.c
Kamil Dudka 333a30
similarity index 94%
Kamil Dudka 333a30
rename from lib/renameat2.c
Kamil Dudka 333a30
rename to lib/renameatu.c
Kamil Dudka 333a30
index a295ec3..b013ad6 100644
Kamil Dudka 333a30
--- a/lib/renameat2.c
Kamil Dudka 333a30
+++ b/lib/renameatu.c
Kamil Dudka 333a30
@@ -18,7 +18,7 @@
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 #include <config.h>
Kamil Dudka 333a30
 
Kamil Dudka 333a30
-#include "renameat2.h"
Kamil Dudka 333a30
+#include "renameatu.h"
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 #include <errno.h>
Kamil Dudka 333a30
 #include <stdio.h>
Kamil Dudka 333a30
@@ -68,10 +68,13 @@ rename_noreplace (char const *src, char const *dst)
Kamil Dudka 333a30
    the restore_cwd fails, then give a diagnostic and exit nonzero.
Kamil Dudka 333a30
 
Kamil Dudka 333a30
    Obey FLAGS when doing the renaming.  If FLAGS is zero, this
Kamil Dudka 333a30
-   function is equivalent to renameat (FD1, SRC, FD2, DST).  */
Kamil Dudka 333a30
+   function is equivalent to renameat (FD1, SRC, FD2, DST).
Kamil Dudka 333a30
+   Otherwise, attempt to implement FLAGS even if the implementation is
Kamil Dudka 333a30
+   not atomic; this differs from the GNU/Linux native renameat2,
Kamil Dudka 333a30
+   which fails if it cannot guarantee atomicity.  */
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 int
Kamil Dudka 333a30
-renameat2 (int fd1, char const *src, int fd2, char const *dst,
Kamil Dudka 333a30
+renameatu (int fd1, char const *src, int fd2, char const *dst,
Kamil Dudka 333a30
            unsigned int flags)
Kamil Dudka 333a30
 {
Kamil Dudka 333a30
   int ret_val = -1;
Kamil Dudka 333a30
diff --git a/lib/renameat2.h b/lib/renameatu.h
Kamil Dudka 333a30
similarity index 84%
Kamil Dudka 333a30
rename from lib/renameat2.h
Kamil Dudka 333a30
rename to lib/renameatu.h
Kamil Dudka 333a30
index aba7966..7d79775 100644
Kamil Dudka 333a30
--- a/lib/renameat2.h
Kamil Dudka 333a30
+++ b/lib/renameatu.h
Kamil Dudka 333a30
@@ -16,15 +16,13 @@
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 /* written by Paul Eggert */
Kamil Dudka 333a30
 
Kamil Dudka 333a30
-/* Get RENAME_* macros from linux/fs.h if present, otherwise supply
Kamil Dudka 333a30
+/* Get RENAME_* macros from <stdio.h> if present, otherwise supply
Kamil Dudka 333a30
    the traditional Linux values.  */
Kamil Dudka 333a30
-#if HAVE_LINUX_FS_H
Kamil Dudka 333a30
-# include <linux/fs.h>
Kamil Dudka 333a30
-#endif
Kamil Dudka 333a30
+#include <stdio.h>
Kamil Dudka 333a30
 #ifndef RENAME_NOREPLACE
Kamil Dudka 333a30
 # define RENAME_NOREPLACE  (1 << 0)
Kamil Dudka 333a30
 # define RENAME_EXCHANGE   (1 << 1)
Kamil Dudka 333a30
 # define RENAME_WHITEOUT   (1 << 2)
Kamil Dudka 333a30
 #endif
Kamil Dudka 333a30
 
Kamil Dudka 333a30
-extern int renameat2 (int, char const *, int, char const *, unsigned int);
Kamil Dudka 333a30
+extern int renameatu (int, char const *, int, char const *, unsigned int);
Kamil Dudka 333a30
-- 
Kamil Dudka 333a30
2.14.4
Kamil Dudka 333a30
Kamil Dudka 333a30
Kamil Dudka 333a30
From a6b7ff5ef538bbdff4550a56fed878e9cd951d6d Mon Sep 17 00:00:00 2001
Kamil Dudka 333a30
From: Paul Eggert <eggert@cs.ucla.edu>
Kamil Dudka 333a30
Date: Thu, 5 Jul 2018 09:33:48 -0700
Kamil Dudka 333a30
Subject: [PATCH 2/2] build: update gnulib submodule to latest
Kamil Dudka 333a30
Kamil Dudka 333a30
* bootstrap.conf, src/copy.c, src/mv.c, src/shred.c:
Kamil Dudka 333a30
Adjust to renaming of renameat2 to renameatu.
Kamil Dudka 333a30
Kamil Dudka 333a30
Upstream-commit: 439741053256618eb651e6d43919df29625b8714
Kamil Dudka 333a30
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
Kamil Dudka 333a30
---
Kamil Dudka 333a30
 bootstrap.conf | 2 +-
Kamil Dudka 333a30
 src/copy.c     | 4 ++--
Kamil Dudka 333a30
 src/mv.c       | 4 ++--
Kamil Dudka 333a30
 src/shred.c    | 4 ++--
Kamil Dudka 333a30
 4 files changed, 7 insertions(+), 7 deletions(-)
Kamil Dudka 333a30
Kamil Dudka 333a30
diff --git a/bootstrap.conf b/bootstrap.conf
Kamil Dudka 333a30
index 4da4f94..fcf29dc 100644
Kamil Dudka 333a30
--- a/bootstrap.conf
Kamil Dudka 333a30
+++ b/bootstrap.conf
Kamil Dudka 333a30
@@ -210,7 +210,7 @@ gnulib_modules="
Kamil Dudka 333a30
   remove
Kamil Dudka 333a30
   rename
Kamil Dudka 333a30
   renameat
Kamil Dudka 333a30
-  renameat2
Kamil Dudka 333a30
+  renameatu
Kamil Dudka 333a30
   rmdir
Kamil Dudka 333a30
   root-dev-ino
Kamil Dudka 333a30
   rpmatch
Kamil Dudka 333a30
diff --git a/src/copy.c b/src/copy.c
Kamil Dudka 333a30
index 58d2f6e..1a9cdd1 100644
Kamil Dudka 333a30
--- a/src/copy.c
Kamil Dudka 333a30
+++ b/src/copy.c
Kamil Dudka 333a30
@@ -53,7 +53,7 @@
Kamil Dudka 333a30
 #include "ignore-value.h"
Kamil Dudka 333a30
 #include "ioblksize.h"
Kamil Dudka 333a30
 #include "quote.h"
Kamil Dudka 333a30
-#include "renameat2.h"
Kamil Dudka 333a30
+#include "renameatu.h"
Kamil Dudka 333a30
 #include "root-uid.h"
Kamil Dudka 333a30
 #include "same.h"
Kamil Dudka 333a30
 #include "savedir.h"
Kamil Dudka 333a30
@@ -1873,7 +1873,7 @@ copy_internal (char const *src_name, char const *dst_name,
Kamil Dudka 333a30
   if (x->move_mode)
Kamil Dudka 333a30
     {
Kamil Dudka 333a30
       if (rename_errno < 0)
Kamil Dudka 333a30
-        rename_errno = (renameat2 (AT_FDCWD, src_name, AT_FDCWD, dst_name,
Kamil Dudka 333a30
+        rename_errno = (renameatu (AT_FDCWD, src_name, AT_FDCWD, dst_name,
Kamil Dudka 333a30
                                    RENAME_NOREPLACE)
Kamil Dudka 333a30
                         ? errno : 0);
Kamil Dudka 333a30
       new_dst = rename_errno == 0;
Kamil Dudka 333a30
diff --git a/src/mv.c b/src/mv.c
Kamil Dudka 333a30
index b6dd72d..36fd1af 100644
Kamil Dudka 333a30
--- a/src/mv.c
Kamil Dudka 333a30
+++ b/src/mv.c
Kamil Dudka 333a30
@@ -31,7 +31,7 @@
Kamil Dudka 333a30
 #include "error.h"
Kamil Dudka 333a30
 #include "filenamecat.h"
Kamil Dudka 333a30
 #include "remove.h"
Kamil Dudka 333a30
-#include "renameat2.h"
Kamil Dudka 333a30
+#include "renameatu.h"
Kamil Dudka 333a30
 #include "root-dev-ino.h"
Kamil Dudka 333a30
 #include "priv-set.h"
Kamil Dudka 333a30
 
Kamil Dudka 333a30
@@ -456,7 +456,7 @@ main (int argc, char **argv)
Kamil Dudka 333a30
     {
Kamil Dudka 333a30
       assert (2 <= n_files);
Kamil Dudka 333a30
       if (n_files == 2)
Kamil Dudka 333a30
-        x.rename_errno = (renameat2 (AT_FDCWD, file[0], AT_FDCWD, file[1],
Kamil Dudka 333a30
+        x.rename_errno = (renameatu (AT_FDCWD, file[0], AT_FDCWD, file[1],
Kamil Dudka 333a30
                                      RENAME_NOREPLACE)
Kamil Dudka 333a30
                           ? errno : 0);
Kamil Dudka 333a30
       if (x.rename_errno != 0 && target_directory_operand (file[n_files - 1]))
Kamil Dudka 333a30
diff --git a/src/shred.c b/src/shred.c
Kamil Dudka 333a30
index 2ddaadd..270b1e9 100644
Kamil Dudka 333a30
--- a/src/shred.c
Kamil Dudka 333a30
+++ b/src/shred.c
Kamil Dudka 333a30
@@ -93,7 +93,7 @@
Kamil Dudka 333a30
 #include "human.h"
Kamil Dudka 333a30
 #include "randint.h"
Kamil Dudka 333a30
 #include "randread.h"
Kamil Dudka 333a30
-#include "renameat2.h"
Kamil Dudka 333a30
+#include "renameatu.h"
Kamil Dudka 333a30
 #include "stat-size.h"
Kamil Dudka 333a30
 
Kamil Dudka 333a30
 /* Default number of times to overwrite.  */
Kamil Dudka 333a30
@@ -1096,7 +1096,7 @@ wipename (char *oldname, char const *qoldname, struct Options const *flags)
Kamil Dudka 333a30
         memset (base, nameset[0], len);
Kamil Dudka 333a30
         base[len] = 0;
Kamil Dudka 333a30
         bool rename_ok;
Kamil Dudka 333a30
-        while (! (rename_ok = (renameat2 (AT_FDCWD, oldname, AT_FDCWD, newname,
Kamil Dudka 333a30
+        while (! (rename_ok = (renameatu (AT_FDCWD, oldname, AT_FDCWD, newname,
Kamil Dudka 333a30
                                           RENAME_NOREPLACE)
Kamil Dudka 333a30
                                == 0))
Kamil Dudka 333a30
                && errno == EEXIST && incname (base, len))
Kamil Dudka 333a30
-- 
Kamil Dudka 333a30
2.14.4
Kamil Dudka 333a30