From 05c517698dcf6a989e364863cf5e7f6f548dd50a Mon Sep 17 00:00:00 2001 From: Josef Kemetmüller Date: Fri, 14 May 2021 18:36:36 +0200 Subject: bluez: Disable kernel dependent test-mesh-crypto I'm having trouble building bluez on a CentOS 7.9 builder. Turns out that the test-mesh-crypto test depends on the following Linux kernel configuration items: CONFIG_CRYPTO_[USER|USER_API|USER_API_AEAD|USER_API_HASH|AES|CCM|AEAD|CMAC] and will fail if run wih an incompatible kernel with the following error message: ... IVindex = 12345678 NetworkNonce = 00800000011201000012345678 00800000011201000012345678 => PASS PrivacyRandom = 000000000012345678b5e5bfdacbaf6c 000000000012345678fffd034b50057e => FAIL FAIL unit/test-mesh-crypto (exit status: 1) I found the same bug reported on Gentoo https://bugs.gentoo.org/704190. Their fix is to only run the test if the kernel options are available, which we don't want to do for build reproducibility. Instead we just want to skip the test unconditionally. As it's simpler to completely override the test instead of patching the build system, we opt for doing just that. --- pkgs/os-specific/linux/bluez/default.nix | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'pkgs/os-specific/linux/bluez/default.nix') diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix index 2e342fbc039..96b9e5937b3 100644 --- a/pkgs/os-specific/linux/bluez/default.nix +++ b/pkgs/os-specific/linux/bluez/default.nix @@ -48,6 +48,11 @@ in stdenv.mkDerivation rec { substituteInPlace tools/hid2hci.rules \ --replace /sbin/udevadm ${systemd}/bin/udevadm \ --replace "hid2hci " "$out/lib/udev/hid2hci " + # Disable some tests: + # - test-mesh-crypto depends on the following kernel settings: + # CONFIG_CRYPTO_[USER|USER_API|USER_API_AEAD|USER_API_HASH|AES|CCM|AEAD|CMAC] + if [[ ! -f unit/test-mesh-crypto.c ]]; then echo "unit/test-mesh-crypto.c no longer exists"; false; fi + echo 'int main() { return 77; }' > unit/test-mesh-crypto.c ''; configureFlags = [ -- cgit 1.4.1