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: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Pádraig Brady <P <at> draigBrady.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#62607: closed (cp --recursive --backup broken in 9.2)
Date: Tue, 04 Apr 2023 11:03:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 4 Apr 2023 12:02:50 +0100
with message-id <f5661ffa-59c0-bae4-2903-cc3f8cfaf36d <at> draigBrady.com>
and subject line Re: bug#62607: cp --recursive --backup broken in 9.2
has caused the debbugs.gnu.org bug report #62607,
regarding cp --recursive --backup broken in 9.2
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
62607: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62607
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Kristian Klausen <kristian <at> klausen.dk>
To: bug-coreutils <at> gnu.org
Subject: cp --recursive --backup broken in 9.2
Date: Sun, 2 Apr 2023 00:40:07 +0200
[Message part 3 (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)]
[Message part 5 (message/rfc822, inline)]
From: Pádraig Brady <P <at> draigBrady.com>
To: Kristian Klausen <kristian <at> klausen.dk>, 62607-done <at> debbugs.gnu.org
Cc: bug-gnulib <bug-gnulib <at> gnu.org>
Subject: Re: bug#62607: cp --recursive --backup broken in 9.2
Date: Tue, 4 Apr 2023 12:02:50 +0100
On 03/04/2023 18:19, Pádraig Brady wrote:
> On 02/04/2023 13:40, Pádraig Brady wrote:
>> For completeness the correct repro is:
>>
>>      mkdir -p {src,dst}/foo
>>      touch {src,dst}/foo/bar
>>      cp --recursive --backup src/* dst
> 
> The attached two patches should address this.
> The first fixes the bug in gnulib (cc'd),
> while the second adds a test to coreutils.

Pushed.
Marking this as done.

thanks,
Pádraig



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.