aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-05-11 12:52:43 +0200
committerLudovic Courtès <ludo@gnu.org>2020-05-11 13:03:23 +0200
commitcef0e08c235d1eb9943571648ef57a59041bb292 (patch)
treeb5b04cd92f3cfd69354f906de9d57cf012d82015
parentf69cf40741f6ba4e79a5e8f6dae407d96f4433ec (diff)
downloadpatches-cef0e08c235d1eb9943571648ef57a59041bb292.tar
patches-cef0e08c235d1eb9943571648ef57a59041bb292.tar.gz
gnu: proot: Fix test failures.base-for-series-3914
The upgrade to Make 4.3 and Coreutils 8.30 introduced test failures that this commit addresses. * gnu/packages/base.scm (coreutils-8.30): New variable. * gnu/packages/linux.scm (proot)[native-inputs]: Add COREUTILS-8.30 and GNU-MAKE-4.2.
-rw-r--r--gnu/packages/base.scm28
-rw-r--r--gnu/packages/linux.scm11
2 files changed, 38 insertions, 1 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 5ea129a9ae..279fe9e3d8 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -384,6 +384,34 @@ standard.")
(outputs '("out"))
(inputs '())))
+(define-public coreutils-8.30
+ ;; XXX: This version is kept just so we can run PRoot tests.
+ (hidden-package
+ (package
+ (inherit coreutils-minimal)
+ (version "8.30")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/coreutils/coreutils-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0mxhw43d4wpqmvg0l4znk1vm10fy92biyh90lzdnqjcic2lb6cg8"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments coreutils-minimal)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-before 'check 'disable-broken-test
+ (lambda _
+ ;; This test hits the 127 character shebang limit in the build
+ ;; environment due to the way "env -S" splits arguments into
+ ;; shebangs. Note that "env-S-script.sh" works around this
+ ;; specific issue, but "env-S.pl" is not adjusted for build
+ ;; environments with long prefixes (/tmp/guix-build-...).
+ (substitute* "Makefile"
+ (("^.*tests/misc/env-S.pl.*$") ""))
+ #t)))))))))
+
(define-public gnu-make
(package
(name "make")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c429b05cff..7cf7521e24 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -6099,7 +6099,16 @@ userspace queueing component and the logging subsystem.")
(native-inputs `(("which" ,which)
;; For 'mcookie', used by some of the tests.
- ("util-linux" ,util-linux)))
+ ("util-linux" ,util-linux)
+
+ ;; XXX: Choose the old coreutils because its 'stat'
+ ;; program does not use statx(2) when running 'stat -c
+ ;; %a' or similar, which PRoot doesn't properly support.
+ ("coreutils-old" ,coreutils-8.30)
+
+ ;; XXX: 'test-c6b77b77.sh' runs 'make' and that leads
+ ;; make 4.3 to segfault.
+ ("make-old" ,gnu-make-4.2)))
(inputs `(("talloc" ,talloc)))
(home-page "https://github.com/proot-me/PRoot")
(synopsis "Unprivileged chroot, bind mount, and binfmt_misc")