#1054888 fontconfig: FTBFS: Missing testsuite dependency on uuid-runtime

#1054888#5
Date:
2023-10-28 03:12:13 UTC
From:
To:
Dear Maintainer,

Please add a 'uuid-runtime <!nocheck>' entry to the Build-Depends
stanza of fontconfig's debian/control file.

Starting from version 2.14.1-1, the testsuite for fontconfig requires
running the uuidgen command which comes from the uuid-runtime package.
fontconfig does not list uuid-runtime among its build dependencies, but
it does declare a Build-Depends on uuid-dev which Depends on libuuid1
which Recommends uuid-runtime, so this issue only arises when
Recommended packages aren't automatically installed.

Thanks,

#1054888#10
Date:
2026-01-15 01:54:26 UTC
From:
To:
Control: found -1 2.17.1-3
Control: severity -1 serious

FAIL: run-test.sh
[...]
FAIL: run-test
==============
[...]
Running: Fallback to uuid
./run-test.sh: 397: uuidgen: not found
Aborting from 'Fallback to uuid' with the exit code 127
FAIL run-test.sh (exit status: 127)

libuuid1 no longer recommends uuid-runtime. Now it just has
"Suggests: uuid-runtime". So I'm raising the severity to
serious, because after a usual installation, one gets a FTBFS.

I suspect that systems that have been obtained via upgrades
from Debian 12 or earlier will not see the issue, because the
uuid-runtime package was already installed via the required
package util-linux and "Suggests" packages are not removed by
default. But fresh Debian 13 systems would be affected.

#1054888#19
Date:
2026-02-04 09:25:33 UTC
From:
To:
Control: retitle -1 fontconfig: FTBFS if bubblewrap is installed
re-integrating past NMUs) built successfully on the official buildds,
including running tests, without adding this Build-Depends. According to
the build logs (search for "Package versions"), uuid-runtime was not
installed in the build container.

Looking at upstream's test script, probably the scenario in which it
fails to build is a non-minimal environment where bubblewrap *is*
installed, but uuid-runtime is not?

The test script likely also needs patching to skip bubblewrap-related
parts if bubblewrap (bwrap) is installed but doesn't work - due to
kernel restrictions, normally bubblewrap can't work when running in a
chroot, or in most container environments. When I tried to build with
`sbuild --add-depends=bubblewrap`, the test failed sooner than it would
have done from a missing uuidgen, with these messages:

Running: Basic functionality with the bind-mounted cache dir
bwrap: No permissions to create new namespace, likely because the kernel does not allow non-privileged user namespaces. See <https://deb.li/bubblewrap> or <file:///usr/share/doc/bubblewrap/README.Debian.gz>.
Aborting from 'Basic functionality with the bind-mounted cache dir' with the exit code 1
FAIL run-test.sh (exit status: 1)

A good way to probe whether bubblewrap can work is:

     bwrap --dev-bind / / true

which will exit 0 if it works, or nonzero if it can't.

     smcv