- 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".

OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=325
This commit is contained in:
Dirk Mueller 2022-04-21 21:12:05 +00:00 committed by Git OBS Bridge
parent 17ccfe132d
commit 39d32b358a
12 changed files with 560 additions and 455 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce
size 5612752

View File

@ -1,16 +0,0 @@
-----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-----

3
coreutils-9.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:61a1f410d78ba7e7f37a5a4f50e6d1320aca33375484a3255eddf17a38580423
size 5712104

16
coreutils-9.1.tar.xz.sig Normal file
View File

@ -0,0 +1,16 @@
-----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-----

View File

@ -1,119 +0,0 @@
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 \

View File

@ -6,7 +6,7 @@ Index: gnulib-tests/gnulib.mk
===================================================================
--- gnulib-tests/gnulib.mk.orig
+++ gnulib-tests/gnulib.mk
@@ -1035,10 +1035,10 @@ EXTRA_DIST += test-getloadavg.c signatur
@@ -1073,10 +1073,10 @@ EXTRA_DIST += test-getloadavg.c signatur
## begin gnulib module getlogin-tests

File diff suppressed because it is too large Load Diff

View File

@ -21,7 +21,7 @@ Index: gnulib-tests/gnulib.mk
===================================================================
--- gnulib-tests/gnulib.mk.orig
+++ gnulib-tests/gnulib.mk
@@ -2615,9 +2615,10 @@ EXTRA_DIST += test-timespec.c macros.h
@@ -2676,9 +2676,10 @@ EXTRA_DIST += test-timespec.c macros.h
## begin gnulib module tls-tests

View File

@ -6,8 +6,8 @@ Index: src/uname.c
===================================================================
--- src/uname.c.orig
+++ src/uname.c
@@ -338,6 +338,36 @@ main (int argc, char **argv)
# endif
@@ -341,6 +341,36 @@ main (int argc, char **argv)
element = processor;
}
#endif
+ if (element == unknown)
@ -43,7 +43,7 @@ Index: src/uname.c
if (! (toprint == UINT_MAX && element == unknown))
print_element (element);
}
@@ -363,6 +393,18 @@ main (int argc, char **argv)
@@ -366,6 +396,18 @@ main (int argc, char **argv)
element = hardware_platform;
}
#endif

View File

@ -16,7 +16,7 @@ Index: tests/local.mk
===================================================================
--- tests/local.mk.orig
+++ tests/local.mk
@@ -733,14 +733,9 @@ all_tests = \
@@ -736,14 +736,9 @@ all_tests = \
# See tests/factor/create-test.sh.
tf = tests/factor
factor_tests = \

View File

@ -1,3 +1,74 @@
-------------------------------------------------------------------
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>

View File

@ -1,7 +1,7 @@
#
# spec file
#
# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -19,16 +19,20 @@
# there are more fancy ways to define a package name using magic
# macros but OBS and the bots that rely on parser information from
# OBS can't deal with all of them
%define flavor @BUILD_FLAVOR@%{nil}
%global flavor @BUILD_FLAVOR@%{nil}
%bcond_with ringdisabled
%if "%{flavor}" != ""
%define name_suffix -%{flavor}
%if %{with ringdisabled}
ExclusiveArch: do_not_build
%endif
%if "%{flavor}" != ""
%define psuffix -%{flavor}
%else
%define psuffix %{nil}
%endif
Name: coreutils%{?name_suffix}
Version: 9.0
Name: coreutils%{psuffix}
Version: 9.1
Release: 0
Summary: GNU Core Utilities
License: GPL-3.0-or-later
@ -60,8 +64,6 @@ Patch304: coreutils-use-python3.patch
Patch500: coreutils-disable_tests.patch
Patch501: coreutils-test_without_valgrind.patch
# Upstream patch - remove with version >9.0:
# 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.
Patch810: coreutils-skip-tests-rm-ext3-perf.patch
BuildRequires: automake
@ -134,7 +136,7 @@ This package contains the documentation for the GNU Core Utilities.
%prep
%setup -q -n coreutils-%{version}
%patch4
%patch4 -p1
%patch1
%patch3
%patch8
@ -157,7 +159,6 @@ This package contains the documentation for the GNU Core Utilities.
%patch500
%patch501
%patch800
%patch810
# ================================================