Subject: Re: bug#41090: [core-updates] fakeroot fails its test suite (breaks spacefm)
From: Marius Bakke <[email-masked]>
To: Maxim Cournoyer <[email-masked]>, [email-masked]
Date: Tue, 05 May 2020 16:36:54 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Maxim Cournoyer <[email-masked]> writes:

> Hello,
>
> Testing the core-updates branch, I got this failure from fakeroot:
>
> --8<---------------cut here---------------start------------->8---
> make  check-TESTS
> make[2]: Entering directory '/tmp/guix-build-fakeroot-1.24.drv-0/fakeroot-1.24/test'
> make[3]: Entering directory '/tmp/guix-build-fakeroot-1.24.drv-0/fakeroot-1.24/test'
> PASS: t.falsereturn
> PASS: t.truereturn
> PASS: t.option
> PASS: t.echoarg
> FAIL: t.mknod
> PASS: t.touchinstall
> FAIL: t.chmod_dev
> PASS: t.no_ld_preload
> PASS: t.no_ld_preload_link
> FAIL: t.xattr
> PASS: t.cp-a
> PASS: t.tar
> ========================================
>    fakeroot 1.24: test/test-suite.log
> ========================================
>
> # TOTAL: 12
> # PASS:  9
> # SKIP:  0
> # XFAIL: 0
> # FAIL:  3
> # XPASS: 0
> # ERROR: 0
>
> .. contents:: :depth: 2
>
> FAIL: t.chmod_dev
> =================
>
> -rw-r--r-- 1 nixbld nixbld 0 May  5 00:04 t.chmod_dev.dir/hda3
> FAIL t.chmod_dev (exit status: 1)
>
> FAIL: t.mknod
> =============
>
> -rw-r--r-- 1 nixbld nixbld 0 May  5 00:04 t.mknod.dir/hda3
> FAIL t.mknod (exit status: 1)

These two tests create a block device with 'mknod' inside the fakeroot,
and afterwards verifies with 'ls' that they are in fact block devices.

It turns out that the 'ls' invokation does not work because the newer
'ls' uses statx() which is not supported/caught by fakeroot, and thus it
does not see the fake block device.  So I changed these tests to use
'test -b' as a stopgap measure.

> FAIL: t.xattr
> =============
>
> unable to set CAP_SETFCAP effective capability: Operation not permitted
> FAIL t.xattr (exit status: 1)

This turned out to be a regression in 'libcap', fixed by providing a
newer version.

Fixed in ba151b7e1a9cc0baf932b5c5e0c916e54d2e27f4, thanks!