
On Fri, Jan 05, 2024 at 01:30:19 -0800, Andrea Bolognani wrote:
On Fri, Jan 05, 2024 at 09:43:52AM +0100, Peter Krempa wrote:
On Thu, Jan 04, 2024 at 23:39:38 +0100, Peter Krempa wrote:
On Thu, Jan 04, 2024 at 12:24:38 -0600, Jonathon Jongsma wrote:
Currently when we build with nbdkit support, libvirt will always try to use nbdkit to access remote disk sources when it is available. But without an up-to-date selinux policy allowing this, it will fail. because the required selinux policies are not yet widely available, we have disabled nbdkit support on rpm builds for all distributions before Fedora 40.
Unfortunately, this makes it more difficult to test nbdkit support. After someone updates to the necessary selinux policies, they would also need to rebuild libvirt to enable nbdkit support. By introducing a configure option (nbdkit_config_default), we can build packages with nbdkit support but have it disabled by default.
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> Suggested-by: Andrea Bolognani <abologna@redhat.com> --- changes in v4 - squashed in Andrea's suggested changes - updated error message - Changed one instance of WITH_NDBKIT to WITH_NBDKIT :) - tested
Looks like this broke the upstream CI on centos-stream-8 and mingw-fedoras:
https://gitlab.com/libvirt/libvirt/-/jobs/5864171071
Run-time dependency libnbd found: YES 1.6.0 meson.build:998:4: ERROR: Problem encountered: nbdkit support requires pidfd_open(2) A full log can be found at /root/rpmbuild/BUILD/libvirt-10.0.0/x86_64-redhat-linux-gnu/meson-logs/meson-log.txt error: Bad exit status from /var/tmp/rpm-tmp.HkQf7H (%build) Bad exit status from /var/tmp/rpm-tmp.HkQf7H (%build)
Okay there are two issues:
- rhel-8 lacks pidfd_open() thus nbdkit support won't work there, and thus can't be force-enabled
- mingw builds explicitly disable mingw, thus setting the new config option breaks as meson doesn't allow it if it's not used
Patch will be posted soon after CI build succeeds.
I'll wait for your patch instead of investigating myself then :)
So, I've concluded the following: - rhel-8 build needs to be disabled, it was enabled explicitly by this patch, but the features are not there - mingw builds for some unkonwn-to-me reason use '--auto-features=enabled' which is weird - the logic handling errors in use of the 'nbdkit_config_default' meson option is a bit questionable: --auto-features=enabled -Dnbdkit=disabled -Dnbdkit_config_default=auto should NOT result in a failure even when the basic logic says so My patch is strictly fixing the build failure by explicitly disabling nbdkit_config_default on mingw and enabling 'nbdkit' only on rhel>=9. You can investigate how to improve the questionable logic in auto-selection of nbdkit_config_default.