testing/bfs: fix ppc64le failing test and reenable

This commit is contained in:
Mike Sullivan 2018-07-10 13:48:10 +00:00 committed by Leonardo Arena
parent a4a22ef1f5
commit 574ff71a56
2 changed files with 26 additions and 4 deletions

View File

@ -2,16 +2,17 @@
# Maintainer: dai9ah <dai9ah@protonmail.com>
pkgname=bfs
pkgver=1.2.2
pkgrel=0
pkgrel=1
pkgdesc="Breadth-first variant of the UNIX find command"
url="https://github.com/tavianator/bfs"
arch="all !ppc64le"
arch="all"
license="0BSD"
makedepends="linux-headers"
checkdepends="bash"
subpackages="$pkgname-doc"
options="!checkroot"
source="$pkgname-$pkgver.tar.gz::https://github.com/tavianator/$pkgname/archive/$pkgver.tar.gz"
source="$pkgname-$pkgver.tar.gz::https://github.com/tavianator/$pkgname/archive/$pkgver.tar.gz
fix_headroom.patch"
builddir="$srcdir/$pkgname-$pkgver"
build() {
@ -29,4 +30,5 @@ package() {
make DESTDIR="$pkgdir" install
}
sha512sums="ec78687b1c3d62e1f625b18d2f668f91663425db634cbb540c0e06b279702d1b9ffb88eddb35db229839ba85eac788416f059a65887a313409d6c3be281bb331 bfs-1.2.2.tar.gz"
sha512sums="ec78687b1c3d62e1f625b18d2f668f91663425db634cbb540c0e06b279702d1b9ffb88eddb35db229839ba85eac788416f059a65887a313409d6c3be281bb331 bfs-1.2.2.tar.gz
dde2977ef90f4e53bbb2de41b93de4fc921d366eaedff0f1d6b3dc17ad3336b0c7957feccaa1a8c33545ac33208c4be32f0ad96f255e23a83396e2592b4f911f fix_headroom.patch"

View File

@ -0,0 +1,20 @@
--- a/exec.c 2018-07-10 13:36:22.698784874 +0000
+++ b/exec.c 2018-07-10 13:37:32.296154568 +0000
@@ -92,11 +92,16 @@
// Assume arguments are counted with the granularity of a single page,
// and allow two pages of headroom to account for rounding as well as
// any other data we may not be counting
+ // so allow a one page cushion to account for rounding up
long page_size = sysconf(_SC_PAGESIZE);
if (page_size < 4096) {
page_size = 4096;
}
- arg_max -= 2*page_size;
+ arg_max -= page_size;
+ bfs_exec_debug(execbuf, "ARG_MAX: %ld remaining after page cushion\n", arg_max);
+
+ // POSIX recommends an additional 2048 bytes of headroom
+ arg_max -= 2048;
bfs_exec_debug(execbuf, "ARG_MAX: %ld remaining after headroom\n", arg_max);
if (arg_max < 0) {