On Tue, 2020-09-01 at 14:52 +0200, Pavel Hrdina wrote:
On Sun, Aug 30, 2020 at 02:34:56AM +0200, Toolybird wrote:
> 2. Arch currently builds libvirt with support for ZFS. Seeing as
> ZFS is not in the distro proper, a simple Autoconf tweak is used:
>
> ZFS=/usr/bin/zfs ZPOOL=/usr/bin/zpool \
> ./configure ...
>
> This is surprisingly hard to emulate with meson, in fact it
> appears impossible, unless I resort to dodgy hacks with sed etc.
I'm not sure I understand the reasoning behind this.
For normal usage users of libvirt should not fake that something exists
to make libvirt building the support for it because obviously it will
not work.
If you are asking from packager POV you should add ZFS as regular build
dependency and also run dependency.
I'm looking into the arch linux packaging and if that's your concern I
guess you should create libvirt-storage-zfs sub-package like it is done
for gluster, iscsi-direct and rbd.
This is what we (are going to) do in Debian:
https://salsa.debian.org/abologna/libvirt/-/blob/update-to-6.7.0/debian/p...
The reason why it's necessary to do this is that the license for ZFS
is not compliant with the Debian Free Software Guidelines, and so it
can't be part of the main distribution: it is, instead, relegated to
the "contrib" section, and because of this the libvirt package can't
build-depend on it. It appears that the situation is similar for Arch
as well.
Once the ZFS driver has been built, the corresponding binary package
can have a runtime dependency on the ZFS package, and it will simply
not be installable unless the user has enabled contrib.
--
Andrea Bolognani / Red Hat / Virtualization