forked from pool/coreutils
disabled in rings? Somebody is kidding me; REVERT
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/coreutils?expand=0&rev=144
This commit is contained in:
parent
6d251aec5a
commit
ad4156ceae
3
coreutils-9.0.tar.xz
Normal file
3
coreutils-9.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce
|
||||||
|
size 5612752
|
16
coreutils-9.0.tar.xz.sig
Normal file
16
coreutils-9.0.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCAAdFiEEbDfcEhIaUAa8HbgE32/ZcTBgN9kFAmFN1c4ACgkQ32/ZcTBg
|
||||||
|
N9mtfw/8D8BJrt2Ver2xdPfow5FYHT/zakUQ2b3ZIHP0Es62W56+pWtGombphrZu
|
||||||
|
4PkI1x6i4S8z06O9rWPIDGMPjyPV9UJbzAiGC7Px6tW6RFHZx0M+GNsKfcjmhtf7
|
||||||
|
0v3jFF0g1IdrikFG1aYCAHZHy7n+yOm7xsfSmlYVlKcOVbCFN92ZBw0IohOSriSq
|
||||||
|
nJN6IOY8I3frhuI5kchY4wM6RMQ+ztNtG8odNvJI3kWCCL9pQFxzD8uorrvTiAcp
|
||||||
|
Qdbfz5TDnlVcXKR1gu6AAP+XThUYuxG5t/2Kghlril1zxnbDBZJsGteevyHsS7kY
|
||||||
|
grAWY4XqSvKVURGaKSSUhXlriQilPknBaichwEhAXvrUk1giviAzZ8CXB6WzzTvn
|
||||||
|
E9+ofC8RqTu345+ixkdZZu0TauOZWYIUVzKsD7W0ooQOT7OZeIQfb3+pbves/I+k
|
||||||
|
ZyiRLxfiUkAkKMUDrMr+okhqFA9fo/GCkFmHWj9m2NAc15kifEpSiCktfgoChbeG
|
||||||
|
ZiQFXQz090P+L1pk82qBXVgTjUyS5VEnXZoIkTWGzkHKySwreiaIjPQhS3cU2xAm
|
||||||
|
24i53zidj84Ib62Xa4jwxX7BzZqYRdbWAa/BUUNMov75W4dfkPlZ6qbRXtKnoOZf
|
||||||
|
u0ok3fgFvopGzwbw3l/HFp58jpaYL5S28gy10PpdOnxeO54XBn0=
|
||||||
|
=3TCC
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:61a1f410d78ba7e7f37a5a4f50e6d1320aca33375484a3255eddf17a38580423
|
|
||||||
size 5712104
|
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCAAdFiEEbDfcEhIaUAa8HbgE32/ZcTBgN9kFAmJZ7qQACgkQ32/ZcTBg
|
|
||||||
N9mseQ/9HIe1s2ZCGOonUKI7HPp/x/qZXrq2R2/BL8+m9dMPfoIXa42DKu/LMpCK
|
|
||||||
amMuDIgfDbVp2Zky1cQ80d/lvYmkZXAIwUl0POrQiQkZ8fBsmZjQPKs4hTE4RmkX
|
|
||||||
7Y4n+KbOYPVkT+ROSq8O2fOL4++1kPoLFC6rkgylAR1t4836WzcNM33QCloyQlFU
|
|
||||||
CYQe57uSPfabDhswIQFraEPhIH0ZRQLAmcT2xuvlrbD8Uy9uakFrM8CFBVA9TpNu
|
|
||||||
KC7dShDErrTxfxlNfWLMD8vJu140if3hgGD45tNEM2VFSOhvQ07uoexwhLVSa+fw
|
|
||||||
cl114IAwAeBtz6ssE80vku8+pWmsAgfeqncn8DtEZ87Fa56N8u2QKuMZ/FjrxYwS
|
|
||||||
X9gHANJg5dzvVUB8ICvopGIs5iWXY5GhwaCuutSy/tsLp32Ytzv0FMtiKI1a6Msf
|
|
||||||
p8ojsFGnzQ2e4QRUBPKB2yxAZIlUvArFpsnebEPC47UBWbh4q/q6GA8omdLTF7N+
|
|
||||||
xQsaCyUCcRov3S8lD/4p/r0NfYnL2Tnjq39v6dH8gAQpDB/xDCnP3jG6mufKp7tu
|
|
||||||
mf0Q/Jws+4FKs7yVyq6DCOtFiJnx410fMhsHpDnzEegldWD1K9TIjDEW4E3yotwt
|
|
||||||
I8mGBRbgYc19TEUmTIr40MLc0vE3up7pY5/TY1kRdsYFlOPLbiA=
|
|
||||||
=Npyd
|
|
||||||
-----END PGP SIGNATURE-----
|
|
119
coreutils-chmod-fix-exit-status-ign-symlinks.patch
Normal file
119
coreutils-chmod-fix-exit-status-ign-symlinks.patch
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
Upstream patch - remove with version >9.0:
|
||||||
|
chmod: fix exit status when ignoring symlinks
|
||||||
|
|
||||||
|
As a deviation from the upstream patch, the entry in the NEWS files uses a
|
||||||
|
different section header.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Upstream patch:
|
||||||
|
https://git.sv.gnu.org/cgit/coreutils.git/commit/?id=e8b56ebd5
|
||||||
|
|
||||||
|
From e8b56ebd536e82b15542a00c888109471936bfda Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
|
||||||
|
Date: Fri, 24 Sep 2021 20:57:41 +0100
|
||||||
|
Subject: [PATCH] chmod: fix exit status when ignoring symlinks
|
||||||
|
|
||||||
|
* src/chmod.c: Reorder enum so CH_NOT_APPLIED
|
||||||
|
can be treated as a non error.
|
||||||
|
* tests/chmod/ignore-symlink.sh: A new test.
|
||||||
|
* tests/local.mk: Reference the new test.
|
||||||
|
* NEWS: Mention the bug fix.
|
||||||
|
Fixes https://bugs.gnu.org/50784
|
||||||
|
|
||||||
|
---
|
||||||
|
NEWS | 9 +++++++++
|
||||||
|
src/chmod.c | 4 ++--
|
||||||
|
tests/chmod/ignore-symlink.sh | 31 +++++++++++++++++++++++++++++++
|
||||||
|
tests/local.mk | 1 +
|
||||||
|
4 files changed, 43 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
Index: NEWS
|
||||||
|
===================================================================
|
||||||
|
--- NEWS.orig
|
||||||
|
+++ NEWS
|
||||||
|
@@ -1,5 +1,14 @@
|
||||||
|
GNU coreutils NEWS -*- outline -*-
|
||||||
|
|
||||||
|
+* Noteworthy downstream changes on top of release 9.0
|
||||||
|
+
|
||||||
|
+** Bug fixes
|
||||||
|
+
|
||||||
|
+ chmod -R no longer exits with error status when encountering symlinks.
|
||||||
|
+ All files would be processed correctly, but the exit status was incorrect.
|
||||||
|
+ [bug introduced in coreutils-9.0]
|
||||||
|
+
|
||||||
|
+
|
||||||
|
* Noteworthy changes in release 9.0 (2021-09-24) [stable]
|
||||||
|
|
||||||
|
** Bug fixes
|
||||||
|
Index: src/chmod.c
|
||||||
|
===================================================================
|
||||||
|
--- src/chmod.c.orig
|
||||||
|
+++ src/chmod.c
|
||||||
|
@@ -44,8 +44,8 @@ struct change_status
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
CH_NO_STAT,
|
||||||
|
- CH_NOT_APPLIED,
|
||||||
|
CH_FAILED,
|
||||||
|
+ CH_NOT_APPLIED,
|
||||||
|
CH_NO_CHANGE_REQUESTED,
|
||||||
|
CH_SUCCEEDED
|
||||||
|
}
|
||||||
|
@@ -322,7 +322,7 @@ process_file (FTS *fts, FTSENT *ent)
|
||||||
|
if ( ! recurse)
|
||||||
|
fts_set (fts, ent, FTS_SKIP);
|
||||||
|
|
||||||
|
- return CH_NO_CHANGE_REQUESTED <= ch.status;
|
||||||
|
+ return CH_NOT_APPLIED <= ch.status;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Recursively change the modes of the specified FILES (the last entry
|
||||||
|
Index: tests/chmod/ignore-symlink.sh
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ tests/chmod/ignore-symlink.sh
|
||||||
|
@@ -0,0 +1,31 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+# Test for proper exit code of chmod on a processed symlink.
|
||||||
|
+
|
||||||
|
+# Copyright (C) 2021 Free Software Foundation, Inc.
|
||||||
|
+
|
||||||
|
+# This program is free software: you can redistribute it and/or modify
|
||||||
|
+# it under the terms of the GNU General Public License as published by
|
||||||
|
+# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
+# (at your option) any later version.
|
||||||
|
+
|
||||||
|
+# This program is distributed in the hope that it will be useful,
|
||||||
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+# GNU General Public License for more details.
|
||||||
|
+
|
||||||
|
+# You should have received a copy of the GNU General Public License
|
||||||
|
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
+
|
||||||
|
+. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
|
||||||
|
+print_ver_ chmod
|
||||||
|
+
|
||||||
|
+mkdir dir || framework_failure_
|
||||||
|
+touch dir/f || framework_failure_
|
||||||
|
+ln -s f dir/l || framework_failure_
|
||||||
|
+
|
||||||
|
+# This operation ignores symlinks but should succeed.
|
||||||
|
+chmod u+w -R dir 2> out || fail=1
|
||||||
|
+
|
||||||
|
+compare /dev/null out || fail=1
|
||||||
|
+
|
||||||
|
+Exit $fail
|
||||||
|
Index: tests/local.mk
|
||||||
|
===================================================================
|
||||||
|
--- tests/local.mk.orig
|
||||||
|
+++ tests/local.mk
|
||||||
|
@@ -458,6 +458,7 @@ all_tests = \
|
||||||
|
tests/chmod/c-option.sh \
|
||||||
|
tests/chmod/equal-x.sh \
|
||||||
|
tests/chmod/equals.sh \
|
||||||
|
+ tests/chmod/ignore-symlink.sh \
|
||||||
|
tests/chmod/inaccessible.sh \
|
||||||
|
tests/chmod/octal.sh \
|
||||||
|
tests/chmod/setgid.sh \
|
@ -6,7 +6,7 @@ Index: gnulib-tests/gnulib.mk
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- gnulib-tests/gnulib.mk.orig
|
--- gnulib-tests/gnulib.mk.orig
|
||||||
+++ gnulib-tests/gnulib.mk
|
+++ gnulib-tests/gnulib.mk
|
||||||
@@ -1073,10 +1073,10 @@ EXTRA_DIST += test-getloadavg.c signatur
|
@@ -1035,10 +1035,10 @@ EXTRA_DIST += test-getloadavg.c signatur
|
||||||
|
|
||||||
## begin gnulib module getlogin-tests
|
## begin gnulib module getlogin-tests
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -21,7 +21,7 @@ Index: gnulib-tests/gnulib.mk
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- gnulib-tests/gnulib.mk.orig
|
--- gnulib-tests/gnulib.mk.orig
|
||||||
+++ gnulib-tests/gnulib.mk
|
+++ gnulib-tests/gnulib.mk
|
||||||
@@ -2676,9 +2676,10 @@ EXTRA_DIST += test-timespec.c macros.h
|
@@ -2615,9 +2615,10 @@ EXTRA_DIST += test-timespec.c macros.h
|
||||||
|
|
||||||
## begin gnulib module tls-tests
|
## begin gnulib module tls-tests
|
||||||
|
|
||||||
|
@ -6,8 +6,8 @@ Index: src/uname.c
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- src/uname.c.orig
|
--- src/uname.c.orig
|
||||||
+++ src/uname.c
|
+++ src/uname.c
|
||||||
@@ -341,6 +341,36 @@ main (int argc, char **argv)
|
@@ -338,6 +338,36 @@ main (int argc, char **argv)
|
||||||
element = processor;
|
# endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
+ if (element == unknown)
|
+ if (element == unknown)
|
||||||
@ -43,7 +43,7 @@ Index: src/uname.c
|
|||||||
if (! (toprint == UINT_MAX && element == unknown))
|
if (! (toprint == UINT_MAX && element == unknown))
|
||||||
print_element (element);
|
print_element (element);
|
||||||
}
|
}
|
||||||
@@ -366,6 +396,18 @@ main (int argc, char **argv)
|
@@ -363,6 +393,18 @@ main (int argc, char **argv)
|
||||||
element = hardware_platform;
|
element = hardware_platform;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -16,7 +16,7 @@ Index: tests/local.mk
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- tests/local.mk.orig
|
--- tests/local.mk.orig
|
||||||
+++ tests/local.mk
|
+++ tests/local.mk
|
||||||
@@ -736,14 +736,9 @@ all_tests = \
|
@@ -733,14 +733,9 @@ all_tests = \
|
||||||
# See tests/factor/create-test.sh.
|
# See tests/factor/create-test.sh.
|
||||||
tf = tests/factor
|
tf = tests/factor
|
||||||
factor_tests = \
|
factor_tests = \
|
||||||
|
@ -1,80 +1,3 @@
|
|||||||
-------------------------------------------------------------------
|
|
||||||
Sun Apr 24 09:49:04 UTC 2022 - Bernhard Voelker <mail@bernhard-voelker.de>
|
|
||||||
|
|
||||||
- gnulib-simple-backup-fix.patch: Add patch to make simple backups in correct
|
|
||||||
directory; broken in 9.1. See https://bugs.gnu.org/55029
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Apr 21 20:58:30 UTC 2022 - Dirk Müller <dmueller@suse.com>
|
|
||||||
|
|
||||||
- update to 9.1:
|
|
||||||
* chmod -R no longer exits with error status when encountering symlinks.
|
|
||||||
All files would be processed correctly, but the exit status was incorrect.
|
|
||||||
* If 'cp -Z A B' checks B's status and some other process then removes B,
|
|
||||||
cp no longer creates B with a too-generous SELinux security context
|
|
||||||
before adjusting it to the correct value.
|
|
||||||
* 'cp --preserve=ownership A B' no longer ignores the umask when creating B.
|
|
||||||
Also, 'cp --preserve-xattr A B' is less likely to temporarily chmod u+w B.
|
|
||||||
* 'id xyz' now uses the name 'xyz' to determine groups, instead of xyz's uid.
|
|
||||||
* 'ls -v' and 'sort -V' no longer mishandle corner cases like "a..a" vs "a.+"
|
|
||||||
or lines containing NULs. Their behavior now matches the documentation
|
|
||||||
for file names like ".m4" that consist entirely of an extension,
|
|
||||||
and the documentation has been clarified for unusual cases.
|
|
||||||
* 'mv -T --backup=numbered A B/' no longer miscalculates the backup number
|
|
||||||
for B when A is a directory, possibly inflooping.
|
|
||||||
* cat now uses the copy_file_range syscall if available, when doing
|
|
||||||
simple copies between regular files. This may be more efficient, by avoiding
|
|
||||||
user space copies, and possibly employing copy offloading or reflinking.
|
|
||||||
* chown and chroot now warn about usages like "chown root.root f",
|
|
||||||
which have the nonstandard and long-obsolete "." separator that
|
|
||||||
causes problems on platforms where user names contain ".".
|
|
||||||
Applications should use ":" instead of ".".
|
|
||||||
* cksum no longer allows abbreviated algorithm names,
|
|
||||||
so that forward compatibility and robustness is improved.
|
|
||||||
* date +'%-N' now suppresses excess trailing digits, instead of always
|
|
||||||
padding them with zeros to 9 digits. It uses clock_getres and
|
|
||||||
clock_gettime to infer the clock resolution.
|
|
||||||
* dd conv=fsync now synchronizes output even after a write error,
|
|
||||||
and similarly for dd conv=fdatasync.
|
|
||||||
* dd now counts bytes instead of blocks if a block count ends in "B".
|
|
||||||
For example, 'dd count=100KiB' now copies 100 KiB of data, not
|
|
||||||
102,400 blocks of data. The flags count_bytes, skip_bytes and
|
|
||||||
seek_bytes are therefore obsolescent and are no longer documented,
|
|
||||||
though they still work.
|
|
||||||
* ls no longer colors files with capabilities by default, as file-based
|
|
||||||
capabilties are very rarely used, and lookup increases processing per file by
|
|
||||||
about 30%. It's best to use getcap [-r] to identify files with capabilities.
|
|
||||||
* ls no longer tries to automount files, reverting to the behavior
|
|
||||||
before the statx() call was introduced in coreutils-8.32.
|
|
||||||
* stat no longer tries to automount files by default, reverting to the
|
|
||||||
behavior before the statx() call was introduced in coreutils-8.32.
|
|
||||||
Only `stat --cached=never` will continue to automount files.
|
|
||||||
* timeout --foreground --kill-after=... will now exit with status 137
|
|
||||||
if the kill signal was sent, which is consistent with the behavior
|
|
||||||
when the --foreground option is not specified. This allows users to
|
|
||||||
distinguish if the command was more forcefully terminated.
|
|
||||||
* dd now supports the aliases iseek=N for skip=N, and oseek=N for seek=N,
|
|
||||||
like FreeBSD and other operating systems.
|
|
||||||
* dircolors takes a new --print-ls-colors option to display LS_COLORS
|
|
||||||
entries, on separate lines, colored according to the entry color code.
|
|
||||||
* dircolors will now also match COLORTERM in addition to TERM environment
|
|
||||||
variables. The default config will apply colors with any COLORTERM set.
|
|
||||||
* cp, mv, and install now use openat-like syscalls when copying to a directory.
|
|
||||||
* This avoids some race conditions and should be more efficient.
|
|
||||||
* The new 'date' option --resolution outputs the timestamp resolution.
|
|
||||||
* With conv=fdatasync or conv=fsync, dd status=progress now reports
|
|
||||||
any extra final progress just before synchronizing output data,
|
|
||||||
since synchronizing can take a long time.
|
|
||||||
* printf now supports printing the numeric value of multi-byte characters.
|
|
||||||
* sort --debug now diagnoses issues with --field-separator characters
|
|
||||||
that conflict with characters possibly used in numbers.
|
|
||||||
* 'tail -f file | filter' now exits on Solaris when filter exits.
|
|
||||||
* root invoked coreutils, that are built and run in single binary mode,
|
|
||||||
now adjust /proc/$pid/cmdline to be more specific to the utility
|
|
||||||
being run, rather than using the general "coreutils" binary name.
|
|
||||||
- coreutils-i18n.patch: Re-sync the patch with Fedora.
|
|
||||||
- drop coreutils-chmod-fix-exit-status-ign-symlinks.patch (upstream)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Oct 4 22:15:01 UTC 2021 - Bernhard Voelker <mail@bernhard-voelker.de>
|
Mon Oct 4 22:15:01 UTC 2021 - Bernhard Voelker <mail@bernhard-voelker.de>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file
|
# spec file
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 SUSE LLC
|
# Copyright (c) 2021 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -19,20 +19,16 @@
|
|||||||
# there are more fancy ways to define a package name using magic
|
# there are more fancy ways to define a package name using magic
|
||||||
# macros but OBS and the bots that rely on parser information from
|
# macros but OBS and the bots that rely on parser information from
|
||||||
# OBS can't deal with all of them
|
# OBS can't deal with all of them
|
||||||
%global flavor @BUILD_FLAVOR@%{nil}
|
%define flavor @BUILD_FLAVOR@%{nil}
|
||||||
|
|
||||||
%bcond_with ringdisabled
|
%bcond_with ringdisabled
|
||||||
|
%if "%{flavor}" != ""
|
||||||
|
%define name_suffix -%{flavor}
|
||||||
%if %{with ringdisabled}
|
%if %{with ringdisabled}
|
||||||
ExclusiveArch: do_not_build
|
ExclusiveArch: do_not_build
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if "%{flavor}" != ""
|
|
||||||
%define psuffix -%{flavor}
|
|
||||||
%else
|
|
||||||
%define psuffix %{nil}
|
|
||||||
%endif
|
%endif
|
||||||
Name: coreutils%{psuffix}
|
Name: coreutils%{?name_suffix}
|
||||||
Version: 9.1
|
Version: 9.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: GNU Core Utilities
|
Summary: GNU Core Utilities
|
||||||
License: GPL-3.0-or-later
|
License: GPL-3.0-or-later
|
||||||
@ -63,14 +59,11 @@ Patch303: coreutils-tests-shorten-extreme-factor-tests.patch
|
|||||||
Patch304: coreutils-use-python3.patch
|
Patch304: coreutils-use-python3.patch
|
||||||
Patch500: coreutils-disable_tests.patch
|
Patch500: coreutils-disable_tests.patch
|
||||||
Patch501: coreutils-test_without_valgrind.patch
|
Patch501: coreutils-test_without_valgrind.patch
|
||||||
|
# Upstream patch - remove with version >9.0:
|
||||||
# Downstream patch to skip a test failing on OBS.
|
# chmod: fix exit status when ignoring symlinks
|
||||||
|
Patch800: coreutils-chmod-fix-exit-status-ign-symlinks.patch
|
||||||
# tests: skip tests/rm/ext3-perf.sh temporarily as it hangs on OBS.
|
# tests: skip tests/rm/ext3-perf.sh temporarily as it hangs on OBS.
|
||||||
Patch810: coreutils-skip-tests-rm-ext3-perf.patch
|
Patch810: coreutils-skip-tests-rm-ext3-perf.patch
|
||||||
|
|
||||||
# Upstream patch - remove with version >9.1:
|
|
||||||
Patch850: gnulib-simple-backup-fix.patch
|
|
||||||
|
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: gmp-devel
|
BuildRequires: gmp-devel
|
||||||
BuildRequires: libacl-devel
|
BuildRequires: libacl-devel
|
||||||
@ -141,7 +134,7 @@ This package contains the documentation for the GNU Core Utilities.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n coreutils-%{version}
|
%setup -q -n coreutils-%{version}
|
||||||
%patch4 -p1
|
%patch4
|
||||||
%patch1
|
%patch1
|
||||||
%patch3
|
%patch3
|
||||||
%patch8
|
%patch8
|
||||||
@ -164,8 +157,8 @@ This package contains the documentation for the GNU Core Utilities.
|
|||||||
%patch500
|
%patch500
|
||||||
%patch501
|
%patch501
|
||||||
|
|
||||||
|
%patch800
|
||||||
%patch810
|
%patch810
|
||||||
%patch850
|
|
||||||
|
|
||||||
# ================================================
|
# ================================================
|
||||||
%build
|
%build
|
||||||
|
@ -1,93 +0,0 @@
|
|||||||
Upstream patch on top of coreutils-9.1; remove with >9.1.
|
|
||||||
Fixes: https://bugs.gnu.org/55029
|
|
||||||
|
|
||||||
Two commits:
|
|
||||||
|
|
||||||
* https://git.sv.gnu.org/cgit/coreutils.git/commit/?id=e087525091b
|
|
||||||
|
|
||||||
commit e087525091b8f0a15eb2354f71032597d5271599
|
|
||||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
|
||||||
Date: Wed Apr 20 19:44:56 2022 -0700
|
|
||||||
|
|
||||||
mv: test Bug#55029
|
|
||||||
|
|
||||||
* tests/mv/backup-dir.sh: New test for Bug#55029,
|
|
||||||
reported by Steve Ward.
|
|
||||||
|
|
||||||
* https://git.sv.gnu.org/cgit/gnulib.git/commit/?id=7347caeb9d90
|
|
||||||
|
|
||||||
commit 7347caeb9d902d3fca2c11f69a55a3e578d93bfe
|
|
||||||
Author: Paul Eggert <eggert@cs.ucla.edu>
|
|
||||||
Date: Wed Apr 20 19:34:57 2022 -0700
|
|
||||||
|
|
||||||
backupfile: fix bug when renaming simple backups
|
|
||||||
|
|
||||||
* lib/backupfile.c (backupfile_internal): Fix bug when RENAME
|
|
||||||
and when doing simple backups. Problem reported by Steve Ward in:
|
|
||||||
https://bugs.gnu.org/55029
|
|
||||||
|
|
||||||
---
|
|
||||||
NEWS | 8 ++++++++
|
|
||||||
lib/backupfile.c | 7 +++----
|
|
||||||
tests/mv/backup-dir.sh | 6 ++++++
|
|
||||||
3 files changed, 17 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
Index: lib/backupfile.c
|
|
||||||
===================================================================
|
|
||||||
--- lib/backupfile.c.orig
|
|
||||||
+++ lib/backupfile.c
|
|
||||||
@@ -332,7 +332,7 @@ backupfile_internal (int dir_fd, char co
|
|
||||||
return s;
|
|
||||||
|
|
||||||
DIR *dirp = NULL;
|
|
||||||
- int sdir = AT_FDCWD;
|
|
||||||
+ int sdir = dir_fd;
|
|
||||||
idx_t base_max = 0;
|
|
||||||
while (true)
|
|
||||||
{
|
|
||||||
@@ -371,10 +371,9 @@ backupfile_internal (int dir_fd, char co
|
|
||||||
if (! rename)
|
|
||||||
break;
|
|
||||||
|
|
||||||
- int olddirfd = sdir < 0 ? dir_fd : sdir;
|
|
||||||
- idx_t offset = sdir < 0 ? 0 : base_offset;
|
|
||||||
+ idx_t offset = backup_type == simple_backups ? 0 : base_offset;
|
|
||||||
unsigned flags = backup_type == simple_backups ? 0 : RENAME_NOREPLACE;
|
|
||||||
- if (renameatu (olddirfd, file + offset, sdir, s + offset, flags) == 0)
|
|
||||||
+ if (renameatu (sdir, file + offset, sdir, s + offset, flags) == 0)
|
|
||||||
break;
|
|
||||||
int e = errno;
|
|
||||||
if (! (e == EEXIST && extended))
|
|
||||||
Index: tests/mv/backup-dir.sh
|
|
||||||
===================================================================
|
|
||||||
--- tests/mv/backup-dir.sh.orig
|
|
||||||
+++ tests/mv/backup-dir.sh
|
|
||||||
@@ -36,4 +36,10 @@ mkdir C D E || framework_failure_
|
|
||||||
mv -T --backup=numbered C E/ || fail=1
|
|
||||||
mv -T --backup=numbered D E/ || fail=1
|
|
||||||
|
|
||||||
+# Bug#55029
|
|
||||||
+mkdir F && echo 1 >1 && echo 2 >2 && cp 1 F/X && cp 2 X || framework_failure_
|
|
||||||
+mv --backup=simple X F/ || fail=1
|
|
||||||
+compare 1 F/X~ || fail=1
|
|
||||||
+compare 2 F/X || fail=1
|
|
||||||
+
|
|
||||||
Exit $fail
|
|
||||||
Index: NEWS
|
|
||||||
===================================================================
|
|
||||||
--- NEWS.orig
|
|
||||||
+++ NEWS
|
|
||||||
@@ -1,5 +1,13 @@
|
|
||||||
GNU coreutils NEWS -*- outline -*-
|
|
||||||
|
|
||||||
+* Downstream changes on top of release 9.1
|
|
||||||
+
|
|
||||||
+** Bug fixes
|
|
||||||
+
|
|
||||||
+ 'mv --backup=simple f d/' no longer mistakenly backs up d/f to f~.
|
|
||||||
+ [bug introduced in coreutils-9.1]
|
|
||||||
+
|
|
||||||
+
|
|
||||||
* Noteworthy changes in release 9.1 (2022-04-15) [stable]
|
|
||||||
|
|
||||||
** Bug fixes
|
|
Loading…
Reference in New Issue
Block a user