summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-05-05 16:29:57 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-05-05 16:29:57 +0200
commitba151b7e1a9cc0baf932b5c5e0c916e54d2e27f4 (patch)
tree3afe2df1711001c2ddc65290736f213c1daa05b7 /gnu
parent7431553bd6a1125a132315b521031a3b0481e096 (diff)
downloadguix-ba151b7e1a9cc0baf932b5c5e0c916e54d2e27f4.tar.gz
gnu: fakeroot: Fix test failures.
Fixes <https://bugs.gnu.org/41090>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.

* 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.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/linux.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e2b3d9e6c5..8eaf79d89f 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