mbakke pushed a commit to branch core-updates
in repository guix.

commit ba151b7e1a9cc0baf932b5c5e0c916e54d2e27f4
Author: Marius Bakke <[email protected]>
AuthorDate: Tue May 5 16:29:57 2020 +0200

    gnu: fakeroot: Fix test failures.
    
    Fixes <https://bugs.gnu.org/41090>.
    Reported by Maxim Cournoyer <[email protected]>.
    
    * gnu/packages/linux.scm (fakeroot)[inputs]: Change from LIBCAP to 
LIBCAP/NEXT.
    [arguments]: Add substitution for tests that use 'ls' to test for block
    devices.
---
 gnu/packages/linux.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e2b3d9e..8eaf79d 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -6641,13 +6641,21 @@ the superuser to make device nodes.")
             ;; We don't have an /etc/passwd entry for "root" - use numeric IDs.
             (substitute* "test/compare-tar"
              (("tar -tvf") "tar --numeric-owner -tvf"))
+
+            ;; coreutils 8.32 changed 'ls' to use the statx() syscall instead
+            ;; of lstat().  fakeroot 1.24 does not support the former, so
+            ;; adjust these tests to use 'test -b' instead of 'ls' to test for
+            ;; block device.  See <https://bugs.gnu.org/41090>.
+            (substitute* '("test/t.mknod" "test/t.chmod_dev")
+              (("ls -ld? \\$tmp/hda3")
+               "test -b $tmp/hda3 && echo block || echo fail"))
             #t)))))
     (native-inputs
      `(("acl" ,acl)
        ("sharutils" ,sharutils) ; for the tests
        ("xz" ,xz))) ; for the tests
     (inputs
-     `(("libcap" ,libcap)
+     `(("libcap" ,libcap/next)
        ("util-linux" ,util-linux)))
     (synopsis "Provides a fake root environment")
     (description "@command{fakeroot} runs a command in an environment where

Reply via email to