Re: [PATCH RESEND v3 8/8] libvirt.spec: drop no longer required build dependencies

2021-05-26 Thread Andrea Bolognani
On Tue, May 25, 2021 at 10:19:28PM -0400, Neal Gompa wrote:
> On Tue, May 25, 2021 at 11:34 AM Andrea Bolognani  wrote:
> > On Tue, May 25, 2021 at 05:06:41PM +0200, Michal Prívozník wrote:
> > > Wasn't the whole idea to drop dependencies?
> >
> > The point was to drop **build** dependencies, specifically
> > problematic ones such as ZFS. When it comes to runtime dependencies,
> > our RPMs generally try to be as featureful as possible, so adding a
> > dependency on scrub is the right thing to do IMO.
>
> Why is ZFS problematic? The zfs-fuse package is totally fine for us to
> depend on...

I'm not too familiar with the ZFS situation in Fedora / RHEL, but at
least in Debian we're patching meson.build specifically to enable ZFS
support without needing a ZFS implementation available at build time.

In general, using the build time availability of programs to guess
whether features should be enabled is a good, user-friendly behavior,
but we shouldn't second-guess the information provided by the user:
if they passed -Dstorage_zfs=enabled to Meson, then we should enable
ZFS support whether or not ZFS happens to be currently installed.

-- 
Andrea Bolognani / Red Hat / Virtualization




Re: [PATCH RESEND v3 8/8] libvirt.spec: drop no longer required build dependencies

2021-05-25 Thread Neal Gompa
On Tue, May 25, 2021 at 11:34 AM Andrea Bolognani  wrote:
>
> On Tue, May 25, 2021 at 05:06:41PM +0200, Michal Prívozník wrote:
> > On 5/25/21 12:00 PM, Andrea Bolognani wrote:
> > > On Tue, May 25, 2021 at 10:00:47AM +0200, Pavel Hrdina wrote:
> > >> -# For storage wiping with different algorithms
> > >> -BuildRequires: scrub
> > >
> > > Turns out we're actually missing the runtime dependency on scrub! Can
> > > you please take care of addressing that issue in a separate patch?
> >
> > Are we? scrub is needed if and only if you want to pass a special
> > algorithm to virStorageVolWipePattern(). Does that justify a runtime
> > dependency? We fail gracefully if scrub isn't installed. We aren't even
> > requiring qemu binary for daemon-driver-qemu package.
> >
> > Wasn't the whole idea to drop dependencies?
>
> The point was to drop **build** dependencies, specifically
> problematic ones such as ZFS. When it comes to runtime dependencies,
> our RPMs generally try to be as featureful as possible, so adding a
> dependency on scrub is the right thing to do IMO.
>

Why is ZFS problematic? The zfs-fuse package is totally fine for us to
depend on...


-- 
真実はいつも一つ!/ Always, there's only one truth!




Re: [PATCH RESEND v3 8/8] libvirt.spec: drop no longer required build dependencies

2021-05-25 Thread Andrea Bolognani
On Tue, May 25, 2021 at 05:06:41PM +0200, Michal Prívozník wrote:
> On 5/25/21 12:00 PM, Andrea Bolognani wrote:
> > On Tue, May 25, 2021 at 10:00:47AM +0200, Pavel Hrdina wrote:
> >> -# For storage wiping with different algorithms
> >> -BuildRequires: scrub
> >
> > Turns out we're actually missing the runtime dependency on scrub! Can
> > you please take care of addressing that issue in a separate patch?
>
> Are we? scrub is needed if and only if you want to pass a special
> algorithm to virStorageVolWipePattern(). Does that justify a runtime
> dependency? We fail gracefully if scrub isn't installed. We aren't even
> requiring qemu binary for daemon-driver-qemu package.
>
> Wasn't the whole idea to drop dependencies?

The point was to drop **build** dependencies, specifically
problematic ones such as ZFS. When it comes to runtime dependencies,
our RPMs generally try to be as featureful as possible, so adding a
dependency on scrub is the right thing to do IMO.

-- 
Andrea Bolognani / Red Hat / Virtualization




Re: [PATCH RESEND v3 8/8] libvirt.spec: drop no longer required build dependencies

2021-05-25 Thread Michal Prívozník
On 5/25/21 12:00 PM, Andrea Bolognani wrote:
> On Tue, May 25, 2021 at 10:00:47AM +0200, Pavel Hrdina wrote:
>> -# For mount/umount in FS driver
>> -BuildRequires: util-linux
> 
> This BuildRequires is duplicated, so please drop the other instance
> as well.
> 
>> -# For storage wiping with different algorithms
>> -BuildRequires: scrub
> 
> Turns out we're actually missing the runtime dependency on scrub! Can
> you please take care of addressing that issue in a separate patch?

Are we? scrub is needed if and only if you want to pass a special
algorithm to virStorageVolWipePattern(). Does that justify a runtime
dependency? We fail gracefully if scrub isn't installed. We aren't even
requiring qemu binary for daemon-driver-qemu package.

Wasn't the whole idea to drop dependencies?

Michal



Re: [PATCH RESEND v3 8/8] libvirt.spec: drop no longer required build dependencies

2021-05-25 Thread Andrea Bolognani
On Tue, May 25, 2021 at 10:00:47AM +0200, Pavel Hrdina wrote:
> -# For mount/umount in FS driver
> -BuildRequires: util-linux

This BuildRequires is duplicated, so please drop the other instance
as well.

> -# For storage wiping with different algorithms
> -BuildRequires: scrub

Turns out we're actually missing the runtime dependency on scrub! Can
you please take care of addressing that issue in a separate patch?

With the second BuildRequires on util-linux removed,

  Reviewed-by: Andrea Bolognani 

-- 
Andrea Bolognani / Red Hat / Virtualization



[PATCH RESEND v3 8/8] libvirt.spec: drop no longer required build dependencies

2021-05-25 Thread Pavel Hrdina
These are no longer required to build libvirt as they are used during
compilation only by meson to detect if some "auto" features should be
enabled or not but in spec file we explicitly enable/disable all libvirt
features.

Signed-off-by: Pavel Hrdina 
---
 libvirt.spec.in | 31 ---
 1 file changed, 31 deletions(-)

diff --git a/libvirt.spec.in b/libvirt.spec.in
index f421828d16..a49cd58e38 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -260,10 +260,6 @@ BuildRequires: sanlock-devel >= 2.4
 BuildRequires: libpcap-devel >= 1.5.0
 BuildRequires: libnl3-devel
 BuildRequires: libselinux-devel
-BuildRequires: dnsmasq >= 2.41
-BuildRequires: iptables
-BuildRequires: radvd
-BuildRequires: ebtables
 BuildRequires: module-init-tools
 BuildRequires: cyrus-sasl-devel
 BuildRequires: polkit >= 0.112
@@ -272,13 +268,7 @@ BuildRequires: util-linux
 %if %{with_qemu}
 # For managing ACLs
 BuildRequires: libacl-devel
-# From QEMU RPMs
-BuildRequires: /usr/bin/qemu-img
 %endif
-# For LVM drivers
-BuildRequires: lvm2
-# For pool type=iscsi
-BuildRequires: iscsi-initiator-utils
 %if %{with_storage_iscsi_direct}
 # For pool type=iscsi-direct
 BuildRequires: libiscsi-devel
@@ -297,15 +287,6 @@ BuildRequires: librbd-devel
 BuildRequires: glusterfs-api-devel >= 3.4.1
 BuildRequires: glusterfs-devel >= 3.4.1
 %endif
-%if %{with_storage_sheepdog}
-BuildRequires: sheepdog
-%endif
-%if %{with_storage_zfs}
-# Support any conforming implementation of zfs. On stock Fedora
-# this is zfs-fuse, but could be zfsonlinux upstream RPMs
-BuildRequires: /sbin/zfs
-BuildRequires: /sbin/zpool
-%endif
 %if %{with_numactl}
 # For QEMU/LXC numa info
 BuildRequires: numactl-devel
@@ -330,21 +311,9 @@ BuildRequires: audit-libs-devel
 # we need /usr/sbin/dtrace
 BuildRequires: systemtap-sdt-devel
 
-# For mount/umount in FS driver
-BuildRequires: util-linux
-# For showmount in FS driver (netfs discovery)
-BuildRequires: nfs-utils
-
 # Fedora build root suckage
 BuildRequires: gawk
 
-# For storage wiping with different algorithms
-BuildRequires: scrub
-
-%if %{with_numad}
-BuildRequires: numad
-%endif
-
 %if %{with_wireshark}
 BuildRequires: wireshark-devel
 %endif
-- 
2.31.1