diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2022-04-25 00:14:01 -0500 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2022-05-01 17:06:40 -0500 |
commit | 14139afb18be66c76b71cd36519660ccfc0fe13e (patch) | |
tree | 078059f62a27a5af6ea9cd374e66fd2fdc4b858a /system/coreutils/cp-dont-delete.patch | |
parent | ca608c875b3b23c601fab5ae1616bdc3c2e4fd77 (diff) | |
download | packages-14139afb18be66c76b71cd36519660ccfc0fe13e.tar.gz packages-14139afb18be66c76b71cd36519660ccfc0fe13e.tar.bz2 packages-14139afb18be66c76b71cd36519660ccfc0fe13e.tar.xz packages-14139afb18be66c76b71cd36519660ccfc0fe13e.zip |
system/coreutils: Update to 9.1
Diffstat (limited to 'system/coreutils/cp-dont-delete.patch')
-rw-r--r-- | system/coreutils/cp-dont-delete.patch | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/system/coreutils/cp-dont-delete.patch b/system/coreutils/cp-dont-delete.patch deleted file mode 100644 index a60608952..000000000 --- a/system/coreutils/cp-dont-delete.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 7b5f0fa47cd04c84975250d5b5da7c98e097e99f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com> -Date: Wed, 1 Apr 2020 12:51:34 +0100 -Subject: cp: ensure --attributes-only doesn't remove files - -* src/copy.c (copy_internal): Ensure we don't unlink the destination -unless explicitly requested. -* tests/cp/attr-existing.sh: Add test cases. -Fixes https://bugs.gnu.org/40352 ---- - NEWS | 7 +++++++ - src/copy.c | 9 +++++---- - tests/cp/attr-existing.sh | 21 ++++++++++++++++++--- - 3 files changed, 30 insertions(+), 7 deletions(-) - -diff --git a/src/copy.c b/src/copy.c -index 6e5efc708..54601ce07 100644 ---- a/src/copy.c -+++ b/src/copy.c -@@ -2211,10 +2211,11 @@ copy_internal (char const *src_name, char const *dst_name, - /* Never unlink dst_name when in move mode. */ - && ! x->move_mode - && (x->unlink_dest_before_opening -- || (x->preserve_links && 1 < dst_sb.st_nlink) -- || (x->dereference == DEREF_NEVER -- && ! S_ISREG (src_sb.st_mode)) -- )) -+ || (x->data_copy_required -+ && ((x->preserve_links && 1 < dst_sb.st_nlink) -+ || (x->dereference == DEREF_NEVER -+ && ! S_ISREG (src_sb.st_mode)))) -+ )) - { - if (unlink (dst_name) != 0 && errno != ENOENT) - { -diff --git a/tests/cp/attr-existing.sh b/tests/cp/attr-existing.sh -index 59ce64183..14fc8445c 100755 ---- a/tests/cp/attr-existing.sh -+++ b/tests/cp/attr-existing.sh -@@ -19,11 +19,26 @@ - . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src - print_ver_ cp - --printf '1' > file1 --printf '2' > file2 --printf '2' > file2.exp -+printf '1' > file1 || framework_failure_ -+printf '2' > file2 || framework_failure_ -+printf '2' > file2.exp || framework_failure_ - - cp --attributes-only file1 file2 || fail=1 - cmp file2 file2.exp || fail=1 - -+# coreutils v8.32 and before would remove destination files -+# if hardlinked or the source was not a regular file. -+ln file2 link2 || framework_failure_ -+cp -a --attributes-only file1 file2 || fail=1 -+cmp file2 file2.exp || fail=1 -+ -+ln -s file1 sym1 || framework_failure_ -+returns_ 1 cp -a --attributes-only sym1 file2 || fail=1 -+cmp file2 file2.exp || fail=1 -+ -+# One can still force removal though -+cp -a --remove-destination --attributes-only sym1 file2 || fail=1 -+test -L file2 || fail=1 -+cmp file1 file2 || fail=1 -+ - Exit $fail --- -cgit v1.2.1 - |