GNU bug report logs - #62607
cp --recursive --backup broken in 9.2

Previous Next

Package: coreutils;

Reported by: Kristian Klausen <kristian <at> klausen.dk>

Date: Sun, 2 Apr 2023 04:48:03 UTC

Severity: normal

Done: Pádraig Brady <P <at> draigBrady.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Kristian Klausen <kristian <at> klausen.dk>
To: 62607 <at> debbugs.gnu.org
Subject: bug#62607: cp --recursive --backup broken in 9.2
Date: Sun, 2 Apr 2023 00:40:07 +0200
[Message part 1 (text/plain, inline)]
Hi

After upgrading to coreutils 9.2-2 on Arch Linux the following:
mkdir -p src dst
touch {src,dst}/bar
cp --recursive --backup src/* dst
fails with:
cp: cannot create regular file 'dst/foo/bar': File exists

Running strace on cp I noticed:
renameat2(4, "foo/bar", 4, "foo/bar~", 0) = -1 ENOENT (No such file or 
directory)

In coreutils 9.1-3 the syscall succeeds:
renameat2(4, "bar", 4, "bar~", 0)       = 0

I assume renameat2 is called with the wrong oldpath and newpath in 9.2 
and that it should just be the basename and not the full relative path.

Cheers
Kristian Klausen
[OpenPGP_signature (application/pgp-signature, attachment)]

This bug report was last modified 2 years and 112 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.