Date: Wednesday, September 29, 2021 @ 14:16:54 Author: seblu Revision: 424807
upgpkg: coreutils 9.0-2 Added: coreutils/trunk/01-fix-fs72253.patch Modified: coreutils/trunk/PKGBUILD ----------------------+ 01-fix-fs72253.patch | 92 +++++++++++++++++++++++++++++++++++++++++++++++++ PKGBUILD | 8 ++-- 2 files changed, 97 insertions(+), 3 deletions(-) Added: 01-fix-fs72253.patch =================================================================== --- 01-fix-fs72253.patch (rev 0) +++ 01-fix-fs72253.patch 2021-09-29 14:16:54 UTC (rev 424807) @@ -0,0 +1,92 @@ +From e8b56ebd536e82b15542a00c888109471936bfda Mon Sep 17 00:00:00 2001 +From: =?utf8?q?P=C3=A1draig=20Brady?= <[email protected]> +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. +Fixes https://bugs.gnu.org/50784 +--- + src/chmod.c | 4 ++-- + tests/chmod/ignore-symlink.sh | 31 +++++++++++++++++++++++++++++++ + tests/local.mk | 1 + + 4 files changed, 40 insertions(+), 2 deletions(-) + create mode 100755 tests/chmod/ignore-symlink.sh + +diff --git a/src/chmod.c b/src/chmod.c +index 37b04f5..57ac47f 100644 +--- a/src/chmod.c ++++ b/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 +diff --git a/tests/chmod/ignore-symlink.sh b/tests/chmod/ignore-symlink.sh +new file mode 100755 +index 0000000..5ce3de8 +--- /dev/null ++++ b/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 +diff --git a/tests/local.mk b/tests/local.mk +index 228d0e3..b5b893f 100644 +--- a/tests/local.mk ++++ b/tests/local.mk +@@ -456,6 +456,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 \ +-- +1.9.1 + Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-09-29 12:51:22 UTC (rev 424806) +++ PKGBUILD 2021-09-29 14:16:54 UTC (rev 424807) @@ -5,16 +5,18 @@ pkgname=coreutils pkgver=9.0 -pkgrel=1 +pkgrel=2 pkgdesc='The basic file, shell and text manipulation utilities of the GNU operating system' arch=('x86_64') license=('GPL3') url='https://www.gnu.org/software/coreutils/' depends=('glibc' 'acl' 'attr' 'gmp' 'libcap' 'openssl') -source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}) +source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig} + '01-fix-fs72253.patch') validpgpkeys=('6C37DC12121A5006BC1DB804DF6FD971306037D9') # Pádraig Brady sha256sums=('ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce' - 'SKIP') + 'SKIP' + 'aefec296212c10f8ddae10225216847f537e573d80b678161f453b34fd183bf5') prepare() { cd $pkgname-$pkgver
