[libvirt] [PATCH v2] spec: drop anything older than Fedora 13

Daniel Veillard veillard at redhat.com
Sat Aug 23 15:45:54 UTC 2014


 Haha, looks fine, ACK :-)

We never built on RHEL-4 so that doesn't affect any RHEL, and
Fedora before 14 really really should not be used anymore,

Daniel

On Fri, Aug 22, 2014 at 02:34:42PM -0600, Eric Blake wrote:
> RHEL 5 is based on libvirt 0.8.2, as was Fedora 13.  RHEL 5 also
> happens to be the oldest box that we actively support with a
> buildbot, so it is time to clean up some crufty conditionals in
> the spec file that no longer are necessary for modern Fedora.
> 
> Although it is probably okay to make further simplifications to
> a newer minimum Fedora version, that can be done as a later patch.
> This patch just focuses on cleaning any comparison of %{?fedora}
> that will always be true or false once we assume a minimum of F13.
> 
> * libvirt.spec.in: Make with_audit default to on. Move other
> conditionals to a single RHEL-5 block. Simplify any fedora
> comparison older than 13.  Document our assumptions.
> 
> Signed-off-by: Eric Blake <eblake at redhat.com>
> ---
> 
> v2: rebase to latest libvirt.git
> 
>  libvirt.spec.in | 69 ++++++++++++++++++++-------------------------------------
>  1 file changed, 24 insertions(+), 45 deletions(-)
> 
> diff --git a/libvirt.spec.in b/libvirt.spec.in
> index 3932313..9126277 100644
> --- a/libvirt.spec.in
> +++ b/libvirt.spec.in
> @@ -1,5 +1,7 @@
>  # -*- rpm-spec -*-
> 
> +# This spec file assumes you are building for Fedora 13 or newer,
> +# or for RHEL 5 or newer. It may need some tweaks for other distros.
>  # If neither fedora nor rhel was defined, try to guess them from %{dist}
>  %if !0%{?rhel} && !0%{?fedora}
>  %{expand:%(echo "%{?dist}" | \
> @@ -139,7 +141,6 @@
>  %define with_libpcap       0%{!?_without_libpcap:0}
>  %define with_macvtap       0%{!?_without_macvtap:0}
>  %define with_libnl         0%{!?_without_libnl:0}
> -%define with_audit         0%{!?_without_audit:0}
>  %define with_dtrace        0%{!?_without_dtrace:0}
>  %define with_cgconfig      0%{!?_without_cgconfig:0}
>  %define with_sanlock       0%{!?_without_sanlock:0}
> @@ -153,6 +154,7 @@
> 
>  # Non-server/HV driver defaults which are always enabled
>  %define with_sasl          0%{!?_without_sasl:1}
> +%define with_audit         0%{!?_without_audit:1}
> 
> 
>  # Finally set the OS / architecture specific special cases
> @@ -223,31 +225,21 @@
>      %define with_libxl 0
>  %endif
> 
> -# PolicyKit was introduced in Fedora 8 / RHEL-6 or newer
> -%if 0%{?fedora} >= 8 || 0%{?rhel} >= 6
> -    %define with_polkit    0%{!?_without_polkit:1}
> -%endif
> -
> -# libcapng is used to manage capabilities in Fedora 12 / RHEL-6 or newer
> -%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
> -    %define with_capng     0%{!?_without_capng:1}
> -%endif
> -
>  # fuse is used to provide virtualized /proc for LXC
>  %if 0%{?fedora} >= 17 || 0%{?rhel} >= 7
>      %define with_fuse      0%{!?_without_fuse:1}
>  %endif
> 
> -# netcf is used to manage network interfaces in Fedora 12 / RHEL-6 or newer
> -%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
> -    %define with_netcf     0%{!?_without_netcf:%{server_drivers}}
> -%endif
> -
> -# udev is used to manage host devices in Fedora 12 / RHEL-6 or newer
> -%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
> -    %define with_udev     0%{!?_without_udev:%{server_drivers}}
> -%else
> +# RHEL 5 lacks newer tools
> +%if 0%{?rhel} == 5
>      %define with_hal       0%{!?_without_hal:%{server_drivers}}
> +%else
> +    %define with_polkit    0%{!?_without_polkit:1}
> +    %define with_capng     0%{!?_without_capng:1}
> +    %define with_netcf     0%{!?_without_netcf:%{server_drivers}}
> +    %define with_udev      0%{!?_without_udev:%{server_drivers}}
> +    %define with_yajl      0%{!?_without_yajl:%{server_drivers}}
> +    %define with_dtrace 1
>  %endif
> 
>  # interface requires netcf
> @@ -255,11 +247,6 @@
>      %define with_interface     0
>  %endif
> 
> -# Enable yajl library for JSON mode with QEMU
> -%if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
> -    %define with_yajl     0%{!?_without_yajl:%{server_drivers}}
> -%endif
> -
>  # Enable sanlock library for lock management with QEMU
>  # Sanlock is available only on arches where kvm is available for RHEL
>  %if 0%{?fedora} >= 16
> @@ -320,16 +307,8 @@
>      %define with_libnl 1
>  %endif
> 
> -%if 0%{?fedora} >= 11 || 0%{?rhel} >= 5
> -    %define with_audit    0%{!?_without_audit:1}
> -%endif
> -
> -%if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
> -    %define with_dtrace 1
> -%endif
> -
>  # Pull in cgroups config system
> -%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
> +%if 0%{?fedora} || 0%{?rhel} >= 6
>      %if %{with_qemu} || %{with_lxc}
>          %define with_cgconfig 0%{!?_without_cgconfig:1}
>      %endif
> @@ -349,7 +328,7 @@
> 
> 
>  # Force QEMU to run as non-root
> -%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
> +%if 0%{?fedora} || 0%{?rhel} >= 6
>      %define qemu_user  qemu
>      %define qemu_group  qemu
>  %else
> @@ -473,7 +452,7 @@ BuildRequires: libattr-devel
>  # For pool-build probing for existing pools
>  BuildRequires: libblkid-devel >= 2.17
>  %endif
> -%if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
> +%if 0%{?fedora} || 0%{?rhel} >= 6
>  # for augparse, optionally used in testing
>  BuildRequires: augeas
>  %endif
> @@ -538,7 +517,7 @@ BuildRequires: cyrus-sasl-devel
>      %if 0%{?fedora} >= 20 || 0%{?rhel} >= 7
>  BuildRequires: polkit-devel >= 0.112
>      %else
> -        %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
> +        %if 0%{?fedora} || 0%{?rhel} >= 6
>  BuildRequires: polkit-devel >= 0.93
>          %else
>  BuildRequires: PolicyKit-devel >= 0.6
> @@ -621,7 +600,7 @@ BuildRequires: netcf-devel >= 0.1.4
>      %endif
>  %endif
>  %if %{with_esx}
> -    %if 0%{?fedora} >= 9 || 0%{?rhel} >= 6
> +    %if 0%{?fedora} || 0%{?rhel} >= 6
>  BuildRequires: libcurl-devel
>      %else
>  BuildRequires: curl-devel
> @@ -705,7 +684,7 @@ Requires: avahi-libs
>          %if 0%{?fedora} >= 20 || 0%{?rhel} >= 7
>  Requires: polkit >= 0.112
>          %else
> -            %if 0%{?fedora} >= 12 || 0%{?rhel} >=6
> +            %if 0%{?fedora} || 0%{?rhel} >=6
>  Requires: polkit >= 0.93
>              %else
>  Requires: PolicyKit >= 0.6
> @@ -865,7 +844,7 @@ Requires: nfs-utils
>  # For mkfs
>  Requires: util-linux
>  # For glusterfs
> -                %if 0%{?fedora} >= 11
> +                %if 0%{?fedora}
>  Requires: glusterfs-client >= 2.0.1
>                  %endif
>              %endif
> @@ -1579,7 +1558,7 @@ mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
>      %endif
>  %endif
> 
> -%if 0%{?fedora} < 14 && 0%{?rhel} < 6
> +%if 0%{?rhel} == 5
>  rm -f $RPM_BUILD_ROOT%{_prefix}/lib/sysctl.d/libvirtd.conf
>  %endif
> 
> @@ -1607,7 +1586,7 @@ fi
>      %if ! %{with_driver_modules}
>          %if %{with_qemu}
>  %pre daemon
> -            %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
> +            %if 0%{?fedora} || 0%{?rhel} >= 6
>  # We want soft static allocation of well-known ids, as disk images
>  # are commonly shared across NFS mounts by id rather than name; see
>  # https://fedoraproject.org/wiki/Packaging:UsersAndGroups
> @@ -1776,7 +1755,7 @@ fi
>      %if %{with_driver_modules}
>          %if %{with_qemu}
>  %pre daemon-driver-qemu
> -            %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
> +            %if 0%{?fedora} || 0%{?rhel} >= 6
>  # We want soft static allocation of well-known ids, as disk images
>  # are commonly shared across NFS mounts by id rather than name; see
>  # https://fedoraproject.org/wiki/Packaging:UsersAndGroups
> @@ -1884,7 +1863,7 @@ exit 0
>  %config(noreplace) %{_sysconfdir}/sysconfig/virtlockd
>  %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
>  %config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf
> -    %if 0%{?fedora} >= 14 || 0%{?rhel} >= 6
> +    %if 0%{?fedora} || 0%{?rhel} >= 6
>  %config(noreplace) %{_prefix}/lib/sysctl.d/libvirtd.conf
>      %endif
> 
> @@ -1912,7 +1891,7 @@ exit 0
>      %endif
> 
>      %if %{with_polkit}
> -        %if 0%{?fedora} >= 12 || 0%{?rhel} >= 6
> +        %if 0%{?fedora} || 0%{?rhel} >= 6
>  %{_datadir}/polkit-1/actions/org.libvirt.unix.policy
>  %{_datadir}/polkit-1/actions/org.libvirt.api.policy
>          %else
> -- 
> 1.9.3
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list

-- 
Daniel Veillard      | Open Source and Standards, Red Hat
veillard at redhat.com  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list