On Fri, 19 Jan 2024 at 00:51:50 +0000, Simon McVittie wrote: > On Fri, 19 Jan 2024 at 01:17:36 +0100, John Paul Adrian Glaubitz wrote: > > it seems that specifying multiple > > build profiles for a build dependency means that the build dependency is > > removed only if all of the specified profiles are activated. > > It can work either way. You can either write > > dep <!nocheck> <!noinsttest>
FYI, this is the one libsoup3 is using (correctly for its particular situation), and it means: (!nocheck) || (!noinsttest) > or > dep <!nocheck !noinsttest> whereas this one would mean (!nocheck) && (!noinsttest) and that would be wrong for what libsoup3 is doing. Unfortunately, comparing with architecture restrictions doesn't work as a mnemonic for which way round this is, because positive architecture restrictions like [amd64 i386] are "||", but negative architecture restrictions like [!m68k !sh4] are "&&". This makes sense for architectures because you can only be one architecture at a time, but build profiles can be set or not set independently of each other, so they need a more elaborate syntax. > > This, however, means that that the "nocheck" profile has to be there to > > boostreap libsoup3 which deactivates "libgnutls28-dev" which makes the > > build fail since this build dependency is mandatory. > > *That* sounds like the real bug here. In what way does it fail? Steps to reproduce (on amd64 but I don't think that matters), in a minimal-ish chroot/container (I used debian:sid-slim in Podman): # apt update # apt upgrade # apt build-dep . --arch-only -Pnocheck,noinsttest # dpkg-buildpackage -B -Pnocheck,noinsttest Expected result: - it builds - build-time tests (dh_auto_test) are skipped - the libsoup-3.0-tests package is not generated Actual result: ../meson.build:293:13: ERROR: Dependency "gnutls" not found, tried pkgconfig > From a quick look at libsoup3, it seems like it might only need > GNUTLS for part of the test suite, and therefore needs to pass > -Dpkcs11_tests=disabled to meson via dh_auto_configure (overriding > -Dauto_features=enabled) whenever both of these profiles are disabled? Yes, this. Please see the commit that I'm about to push (the commit hook should set this bug as pending when I do). smcv