summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Iooss2021-10-12 00:10:12 +0200
committerNicolas Iooss2021-10-12 00:10:12 +0200
commit4765619d1f2b84eefafcc05f25d64a96affe97e8 (patch)
treeaf049895a62382ab8efb31e6f0f9b97aa6e983aa
parentf7b910ce9f3f222b015cbdbc31609f71b91eb380 (diff)
downloadaur-4765619d1f2b84eefafcc05f25d64a96affe97e8.tar.gz
coreutils-selinux 9.0-2 update
-rw-r--r--.SRCINFO18
-rw-r--r--01-fix-fs72253.patch92
-rw-r--r--PKGBUILD27
-rw-r--r--backport_syscall_fix.patch114
4 files changed, 121 insertions, 130 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 292668b1cd9b..37650143d6bc 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = coreutils-selinux
pkgdesc = The basic file, shell and text manipulation utilities of the GNU operating system with SELinux support
- pkgver = 8.32
- pkgrel = 1
+ pkgver = 9.0
+ pkgrel = 2
url = https://www.gnu.org/software/coreutils/
arch = x86_64
arch = aarch64
@@ -14,16 +14,16 @@ pkgbase = coreutils-selinux
depends = libcap
depends = openssl
depends = libselinux
- provides = coreutils=8.32-1
- provides = selinux-coreutils=8.32-1
+ provides = coreutils=9.0-2
+ provides = selinux-coreutils=9.0-2
conflicts = coreutils
conflicts = selinux-coreutils
- source = https://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz
- source = https://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz.sig
- source = backport_syscall_fix.patch
+ source = https://ftp.gnu.org/gnu/coreutils/coreutils-9.0.tar.xz
+ source = https://ftp.gnu.org/gnu/coreutils/coreutils-9.0.tar.xz.sig
+ source = 01-fix-fs72253.patch
validpgpkeys = 6C37DC12121A5006BC1DB804DF6FD971306037D9
- sha256sums = 4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa
+ sha256sums = ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce
sha256sums = SKIP
- sha256sums = ee8ddb4e04d89089ba6022dcc736e145cf3149f8c317d3ea114485605060fe83
+ sha256sums = aefec296212c10f8ddae10225216847f537e573d80b678161f453b34fd183bf5
pkgname = coreutils-selinux
diff --git a/01-fix-fs72253.patch b/01-fix-fs72253.patch
new file mode 100644
index 000000000000..ad2b068875bc
--- /dev/null
+++ b/01-fix-fs72253.patch
@@ -0,0 +1,92 @@
+From e8b56ebd536e82b15542a00c888109471936bfda Mon Sep 17 00:00:00 2001
+From: =?utf8?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.
+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
+
diff --git a/PKGBUILD b/PKGBUILD
index 93f2b36d4c1e..bb5d3240167c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,8 +10,8 @@
# If you want to help keep it up to date, please open a Pull Request there.
pkgname=coreutils-selinux
-pkgver=8.32
-pkgrel=1
+pkgver=9.0
+pkgrel=2
pkgdesc='The basic file, shell and text manipulation utilities of the GNU operating system with SELinux support'
arch=('x86_64' 'aarch64')
license=('GPL3')
@@ -22,11 +22,11 @@ conflicts=("${pkgname/-selinux}" "selinux-${pkgname/-selinux}")
provides=("${pkgname/-selinux}=${pkgver}-${pkgrel}"
"selinux-${pkgname/-selinux}=${pkgver}-${pkgrel}")
source=("https://ftp.gnu.org/gnu/${pkgname/-selinux}/${pkgname/-selinux}-$pkgver.tar.xz"{,.sig}
- backport_syscall_fix.patch) # https://github.com/coreutils/coreutils/commit/10fcb97bd728f09d4a027eddf8ad2900f0819b0a.patch
+ '01-fix-fs72253.patch')
validpgpkeys=('6C37DC12121A5006BC1DB804DF6FD971306037D9') # Pádraig Brady
-sha256sums=('4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa'
+sha256sums=('ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce'
'SKIP'
- 'ee8ddb4e04d89089ba6022dcc736e145cf3149f8c317d3ea114485605060fe83')
+ 'aefec296212c10f8ddae10225216847f537e573d80b678161f453b34fd183bf5')
prepare() {
cd ${pkgname/-selinux}-$pkgver
@@ -34,15 +34,28 @@ prepare() {
local filename
for filename in "${source[@]}"; do
if [[ "$filename" =~ \.patch$ ]]; then
- msg2 "Applying patch ${filename##*/}"
+ echo "Applying patch ${filename##*/}"
patch -p1 -N -i "$srcdir/${filename##*/}"
fi
done
:
+
+ # tail -F fails to find out that files are removed, in test VM
+ # so disable the tests which verify this
+ sed '/^ tests\/tail-2\/assert\.sh\s/d' -i tests/local.mk
+ sed '/^ tests\/tail-2\/inotify-dir-recreate\.sh\s/d' -i tests/local.mk
+
+ # some tests create directories with long name, which does not work on GitHub Actions
+ sed '/^ tests\/du\/long-from-unreadable\.sh\s/d' -i tests/local.mk
+ sed '/^ tests\/rm\/deep-2\.sh\s/d' -i tests/local.mk
}
build() {
cd ${pkgname/-selinux}-$pkgver
+ aclocal -I m4
+ autoconf -f
+ autoheader -f
+ automake -f
./configure \
--prefix=/usr \
--libexecdir=/usr/lib \
@@ -54,7 +67,7 @@ build() {
check() {
cd ${pkgname/-selinux}-$pkgver
- #make check
+ make check
}
package() {
diff --git a/backport_syscall_fix.patch b/backport_syscall_fix.patch
deleted file mode 100644
index 42e78b731f62..000000000000
--- a/backport_syscall_fix.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 10fcb97bd728f09d4a027eddf8ad2900f0819b0a Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Thu, 5 Mar 2020 17:25:29 -0800
-Subject: [PATCH] ls: restore 8.31 behavior on removed directories
-
-* NEWS: Mention this.
-* src/ls.c: Do not include <sys/sycall.h>
-(print_dir): Don't worry about whether the directory is removed.
-* tests/ls/removed-directory.sh: Adjust to match new (i.e., old)
-behavior.
----
- NEWS | 6 ++++++
- src/ls.c | 22 ----------------------
- tests/ls/removed-directory.sh | 10 ++--------
- 3 files changed, 8 insertions(+), 30 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index fdc8bf5db..653e7178b 100644
---- a/NEWS
-+++ b/NEWS
-@@ -2,6 +2,12 @@ GNU coreutils NEWS -*- outline -*-
-
- * Noteworthy changes in release ?.? (????-??-??) [?]
-
-+** Changes in behavior
-+
-+ On GNU/Linux systems, ls no longer issues an error message on
-+ directory merely because it was removed. This reverts a change
-+ that was made in release 8.32.
-+
-
- * Noteworthy changes in release 8.32 (2020-03-05) [stable]
-
-diff --git a/src/ls.c b/src/ls.c
-index 24b983287..4acf5f44d 100644
---- a/src/ls.c
-+++ b/src/ls.c
-@@ -49,10 +49,6 @@
- # include <sys/ptem.h>
- #endif
-
--#ifdef __linux__
--# include <sys/syscall.h>
--#endif
--
- #include <stdio.h>
- #include <assert.h>
- #include <setjmp.h>
-@@ -2896,7 +2892,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
- struct dirent *next;
- uintmax_t total_blocks = 0;
- static bool first = true;
-- bool found_any_entries = false;
-
- errno = 0;
- dirp = opendir (name);
-@@ -2972,7 +2967,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
- next = readdir (dirp);
- if (next)
- {
-- found_any_entries = true;
- if (! file_ignored (next->d_name))
- {
- enum filetype type = unknown;
-@@ -3018,22 +3012,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
- if (errno != EOVERFLOW)
- break;
- }
--#ifdef __linux__
-- else if (! found_any_entries)
-- {
-- /* If readdir finds no directory entries at all, not even "." or
-- "..", then double check that the directory exists. */
-- if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1
-- && errno != EINVAL)
-- {
-- /* We exclude EINVAL as that pertains to buffer handling,
-- and we've passed NULL as the buffer for simplicity.
-- ENOENT is returned if appropriate before buffer handling. */
-- file_failure (command_line_arg, _("reading directory %s"), name);
-- }
-- break;
-- }
--#endif
- else
- break;
-
-diff --git a/tests/ls/removed-directory.sh b/tests/ls/removed-directory.sh
-index e8c835dab..fe8f929a1 100755
---- a/tests/ls/removed-directory.sh
-+++ b/tests/ls/removed-directory.sh
-@@ -26,20 +26,14 @@ case $host_triplet in
- *) skip_ 'non linux kernel' ;;
- esac
-
--LS_FAILURE=2
--
--cat <<\EOF >exp-err || framework_failure_
--ls: reading directory '.': No such file or directory
--EOF
--
- cwd=$(pwd)
- mkdir d || framework_failure_
- cd d || framework_failure_
- rmdir ../d || framework_failure_
-
--returns_ $LS_FAILURE ls >../out 2>../err || fail=1
-+ls >../out 2>../err || fail=1
- cd "$cwd" || framework_failure_
- compare /dev/null out || fail=1
--compare exp-err err || fail=1
-+compare /dev/null err || fail=1
-
- Exit $fail