On Fri, Nov 20, 2020 at 04:38:20PM +0100, Andrea Bolognani wrote:
On Fri, 2020-11-20 at 14:36 +0000, Daniel P. Berrangé wrote:
> On Fri, Nov 20, 2020 at 03:31:39PM +0100, Andrea Bolognani wrote:
> > Lastly, if we stopped looking for commands at build time we would be
> > enabling features that can, in reality, never work: iscsiadm, for
> > example, is Linux-only, but if we removed the corresponding build
> > time check we would start building the iscsi storage driver, which
> > requires the command to be present, on FreeBSD and macOS too. This
> > would be incredibly misleading and, well, just plain wrong IMHO.
>
> If you remove the iscsiadm check, it has to be replaced with
> an os == linux check in meson instead.
If you did that, then you wouldn't have simplified meson.build much
while at the same time you'd have ended up with a far less nuanced
check that does not catch scenarios ranging from the command simply
not being installed on the build machine to the package not being
available, perhaps temporarily, for the specific Linux architecture
in use. Doesn't really sound like an improvement to me.
I personally don't see any issue with this. The binary is simply runtime
dependency, there is no need to have it present when building libvirt.
If someone is building any project from source code manually you can
consider these users advanced enough to figure all of this out or they
are following some tutorial where they most likely installed all
required build and runtime dependencies mentioned in the tutorial.
As Martin mentioned this would mostly affect only maintainers of
downstream libvirt packages where they have to have some understanding
of the project and it's dependencies in order to create the package
properly.
Pavel