summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNihilistzsche2021-05-30 16:46:33 -0700
committerNicolas Iooss2021-07-03 15:45:07 +0200
commitf7b910ce9f3f222b015cbdbc31609f71b91eb380 (patch)
tree8b7d2f84d74e57ef8055bae3d7e0901026ececaa
parentefcb904aeb47184b480382b6ddc75eaddb71a817 (diff)
downloadaur-f7b910ce9f3f222b015cbdbc31609f71b91eb380.tar.gz
Add aarch64 to the list of architectures.
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD8
-rw-r--r--backport_syscall_fix.patch114
3 files changed, 122 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 399b94404b46..292668b1cd9b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -4,6 +4,7 @@ pkgbase = coreutils-selinux
pkgrel = 1
url = https://www.gnu.org/software/coreutils/
arch = x86_64
+ arch = aarch64
groups = selinux
license = GPL3
depends = glibc
@@ -19,9 +20,10 @@ pkgbase = coreutils-selinux
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
validpgpkeys = 6C37DC12121A5006BC1DB804DF6FD971306037D9
sha256sums = 4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa
sha256sums = SKIP
+ sha256sums = ee8ddb4e04d89089ba6022dcc736e145cf3149f8c317d3ea114485605060fe83
pkgname = coreutils-selinux
-
diff --git a/PKGBUILD b/PKGBUILD
index 1867268e67cf..93f2b36d4c1e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -13,7 +13,7 @@ pkgname=coreutils-selinux
pkgver=8.32
pkgrel=1
pkgdesc='The basic file, shell and text manipulation utilities of the GNU operating system with SELinux support'
-arch=('x86_64')
+arch=('x86_64' 'aarch64')
license=('GPL3')
url='https://www.gnu.org/software/coreutils/'
groups=('selinux')
@@ -21,10 +21,12 @@ depends=('glibc' 'acl' 'attr' 'gmp' 'libcap' 'openssl' 'libselinux')
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})
+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
validpgpkeys=('6C37DC12121A5006BC1DB804DF6FD971306037D9') # Pádraig Brady
sha256sums=('4458d8de7849df44ccab15e16b1548b285224dbba5f08fac070c1c0e0bcc4cfa'
- 'SKIP')
+ 'SKIP'
+ 'ee8ddb4e04d89089ba6022dcc736e145cf3149f8c317d3ea114485605060fe83')
prepare() {
cd ${pkgname/-selinux}-$pkgver
diff --git a/backport_syscall_fix.patch b/backport_syscall_fix.patch
new file mode 100644
index 000000000000..42e78b731f62
--- /dev/null
+++ b/backport_syscall_fix.patch
@@ -0,0 +1,114 @@
+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