Open vSwitch CI 70cc8f
# Copyright (C) 2009, 2010, 2013, 2014 Nicira Networks, Inc.
Open vSwitch CI 70cc8f
#
Open vSwitch CI 70cc8f
# Copying and distribution of this file, with or without modification,
Open vSwitch CI 70cc8f
# are permitted in any medium without royalty provided the copyright
Open vSwitch CI 70cc8f
# notice and this notice are preserved.  This file is offered as-is,
Open vSwitch CI 70cc8f
# without warranty of any kind.
Open vSwitch CI 70cc8f
#
Open vSwitch CI 70cc8f
# If tests have to be skipped while building, specify the '--without check'
Open vSwitch CI 70cc8f
# option. For example:
Open vSwitch CI 70cc8f
# rpmbuild -bb --without check rhel/openvswitch-fedora.spec
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# This defines the base package name's version.
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%define pkgname openvswitch3.5
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%global commit 8b7f1eb8db1aa99ccf7b542662129450caff65e0
Open vSwitch CI 70cc8f
%if 0%{?commit:1}
Open vSwitch CI 70cc8f
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# Enable PIE, bz#955181
Open vSwitch CI 70cc8f
%global _hardened_build 1
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# RHEL-7 doesn't define _rundir macro yet
Open vSwitch CI 70cc8f
# Fedora 15 onwards uses /run as _rundir
Open vSwitch CI 70cc8f
%if 0%{!?_rundir:1}
Open vSwitch CI 70cc8f
%define _rundir /run
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# FIXME Test "STP - flush the fdb and mdb when topology changed" fails on s390x
Open vSwitch CI 70cc8f
# FIXME 2 tests fails on ppc64le. They will be hopefully fixed before official 2.11
Open vSwitch CI 70cc8f
%ifarch %{ix86} x86_64 aarch64
Open vSwitch CI 70cc8f
%bcond_without check
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
%bcond_with check
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
# option to run kernel datapath tests, requires building as root!
Open vSwitch CI 70cc8f
%bcond_with check_datapath_kernel
Open vSwitch CI 70cc8f
# option to build with libcap-ng, needed for running OVS as regular user
Open vSwitch CI 70cc8f
%bcond_without libcapng
Open vSwitch CI 70cc8f
# option to build with ipsec support
Open vSwitch CI 70cc8f
%bcond_without ipsec
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# Build python2 (that provides python) and python3 subpackages on Fedora
Open vSwitch CI 70cc8f
# Build only python3 (that provides python) subpackage on RHEL8
Open vSwitch CI 70cc8f
# Build only python subpackage on RHEL7
Open vSwitch CI 70cc8f
%if 0%{?rhel} > 7 || 0%{?fedora}
Open vSwitch CI 70cc8f
# On RHEL8 Sphinx is included in buildroot
Open vSwitch CI 70cc8f
%global external_sphinx 1
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
# Don't use external sphinx (RHV doesn't have optional repositories enabled)
Open vSwitch CI 70cc8f
%global external_sphinx 0
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
Name: %{pkgname}
Open vSwitch CI 70cc8f
Summary: Open vSwitch
Open vSwitch CI 70cc8f
Group: System Environment/Daemons daemon/database/utilities
Open vSwitch CI 70cc8f
URL: http://www.openvswitch.org/
Open vSwitch CI 70cc8f
Version: 3.5.0
Open vSwitch CI dda1f5
Release: 0.19%{?dist}
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# Nearly all of openvswitch is ASL 2.0.  The bugtool is LGPLv2+, and the
Open vSwitch CI 70cc8f
# lib/sflow*.[ch] files are SISSL
Open vSwitch CI 70cc8f
# datapath/ is GPLv2 (although not built into any of the binary packages)
Open vSwitch CI 70cc8f
License: ASL 2.0 and LGPLv2+ and SISSL
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%define dpdkver 24.11
Open vSwitch CI 70cc8f
%define dpdkdir dpdk
Open vSwitch CI 70cc8f
%define dpdksver %(echo %{dpdkver} | cut -d. -f-2)
Open vSwitch CI 70cc8f
# NOTE: DPDK does not currently build for s390x
Open vSwitch CI 70cc8f
# DPDK on aarch64 is not stable enough to be enabled in FDP
Open vSwitch CI 70cc8f
%if 0%{?rhel} > 7 || 0%{?fedora}
Open vSwitch CI 70cc8f
%define dpdkarches x86_64 ppc64le
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
%define dpdkarches
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%if 0%{?commit:1}
Open vSwitch CI 70cc8f
Source: https://github.com/openvswitch/ovs/archive/%{commit}.tar.gz#/openvswitch-%{commit}.tar.gz
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
Source: https://github.com/openvswitch/ovs/archive/v%{version}.tar.gz#/openvswitch-%{version}.tar.gz
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Source2: openvswitch.sysusers
Open vSwitch CI 70cc8f
Source3: openvswitch-hugetlbfs.sysusers
Open vSwitch CI 70cc8f
Source10: https://fast.dpdk.org/rel/dpdk-%{dpdkver}.tar.xz
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%define docutilsver 0.12
Open vSwitch CI 70cc8f
%define pygmentsver 1.4
Open vSwitch CI 70cc8f
%define sphinxver   1.2.3
Open vSwitch CI 70cc8f
%define pyelftoolsver 0.27
Open vSwitch CI 70cc8f
Source100: https://pypi.io/packages/source/d/docutils/docutils-%{docutilsver}.tar.gz
Open vSwitch CI 70cc8f
Source101: https://pypi.io/packages/source/P/Pygments/Pygments-%{pygmentsver}.tar.gz
Open vSwitch CI 70cc8f
Source102: https://pypi.io/packages/source/S/Sphinx/Sphinx-%{sphinxver}.tar.gz
Open vSwitch CI 70cc8f
Source103: https://pypi.io/packages/source/p/pyelftools/pyelftools-%{pyelftoolsver}.tar.gz
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
Patch0:    openvswitch-%{version}.patch
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# The DPDK is designed to optimize througput of network traffic using, among
Open vSwitch CI 70cc8f
# other techniques, carefully crafted assembly instructions.  As such it
Open vSwitch CI 70cc8f
# needs extensive work to port it to other architectures.
Open vSwitch CI 70cc8f
ExclusiveArch: x86_64 aarch64 ppc64le s390x
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# Do not enable this otherwise YUM will break on any upgrade.
Open vSwitch CI 70cc8f
# Provides: openvswitch
Open vSwitch CI 70cc8f
Conflicts: openvswitch < 3.5
Open vSwitch CI 70cc8f
Conflicts: openvswitch-dpdk < 3.5
Open vSwitch CI 70cc8f
Conflicts: openvswitch2.10
Open vSwitch CI 70cc8f
Conflicts: openvswitch2.11
Open vSwitch CI 70cc8f
Conflicts: openvswitch2.12
Open vSwitch CI 70cc8f
Conflicts: openvswitch2.13
Open vSwitch CI 70cc8f
Conflicts: openvswitch2.14
Open vSwitch CI 70cc8f
Conflicts: openvswitch2.15
Open vSwitch CI 70cc8f
Conflicts: openvswitch2.16
Open vSwitch CI 70cc8f
Conflicts: openvswitch2.17
Open vSwitch CI 70cc8f
Conflicts: openvswitch3.0
Open vSwitch CI 70cc8f
Conflicts: openvswitch3.1
Open vSwitch CI 70cc8f
Conflicts: openvswitch3.2
Open vSwitch CI 70cc8f
Conflicts: openvswitch3.3
Open vSwitch CI 70cc8f
Conflicts: openvswitch3.4
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# FIXME Sphinx is used to generate some manpages, unfortunately, on RHEL, it's
Open vSwitch CI 70cc8f
# in the -optional repository and so we can't require it directly since RHV
Open vSwitch CI 70cc8f
# doesn't have the -optional repository enabled and so TPS fails
Open vSwitch CI 70cc8f
%if %{external_sphinx}
Open vSwitch CI 70cc8f
BuildRequires: python3-sphinx
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
# Sphinx dependencies
Open vSwitch CI 70cc8f
BuildRequires: python-devel
Open vSwitch CI 70cc8f
BuildRequires: python-setuptools
Open vSwitch CI 70cc8f
#BuildRequires: python2-docutils
Open vSwitch CI 70cc8f
BuildRequires: python-jinja2
Open vSwitch CI 70cc8f
BuildRequires: python-nose
Open vSwitch CI 70cc8f
#BuildRequires: python2-pygments
Open vSwitch CI 70cc8f
# docutils dependencies
Open vSwitch CI 70cc8f
BuildRequires: python-imaging
Open vSwitch CI 70cc8f
# pygments dependencies
Open vSwitch CI 70cc8f
BuildRequires: python-nose
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
BuildRequires: gcc gcc-c++ make
Open vSwitch CI 70cc8f
BuildRequires: autoconf automake libtool
Open vSwitch CI 70cc8f
BuildRequires: systemd-units systemd-rpm-macros openssl openssl-devel
Open vSwitch CI 70cc8f
BuildRequires: python3-devel python3-setuptools
Open vSwitch CI 70cc8f
BuildRequires: desktop-file-utils
Open vSwitch CI 70cc8f
BuildRequires: groff-base graphviz
Open vSwitch CI 70cc8f
BuildRequires: unbound-devel
Open vSwitch CI 70cc8f
BuildRequires: systemtap-sdt-devel
Open vSwitch CI 70cc8f
# make check dependencies
Open vSwitch CI 70cc8f
BuildRequires: procps-ng
Open vSwitch CI 70cc8f
%if %{with check_datapath_kernel}
Open vSwitch CI 70cc8f
BuildRequires: nmap-ncat
Open vSwitch CI 70cc8f
# would be useful but not available in RHEL or EPEL
Open vSwitch CI 70cc8f
#BuildRequires: pyftpdlib
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%if %{with libcapng}
Open vSwitch CI 70cc8f
BuildRequires: libcap-ng libcap-ng-devel
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%ifarch %{dpdkarches}
Open vSwitch CI 70cc8f
BuildRequires: meson
Open vSwitch CI 70cc8f
%if 0%{?rhel} > 8 || 0%{?fedora}
Open vSwitch CI 70cc8f
BuildRequires: python3-pyelftools
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
# DPDK driver dependencies
Open vSwitch CI 70cc8f
BuildRequires: zlib-devel numactl-devel libarchive-devel
Open vSwitch CI 70cc8f
# libarchive static dependencies
Open vSwitch CI 70cc8f
BuildRequires: bzip2-devel libacl-devel libxml2-devel libzstd-devel lz4-devel xz-devel
Open vSwitch CI 70cc8f
%ifarch x86_64
Open vSwitch CI 70cc8f
BuildRequires: rdma-core-devel >= 15 libmnl-devel
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# Required by packaging policy for the bundled DPDK
Open vSwitch CI 70cc8f
Provides: bundled(dpdk) = %{dpdkver}
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
Requires: openssl iproute module-init-tools
Open vSwitch CI 70cc8f
#Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3
Open vSwitch CI 70cc8f
#Requires: kernel >= 3.15.0-0
Open vSwitch CI 70cc8f
Requires: openvswitch-selinux-extra-policy
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%{?sysusers_requires_compat}
Open vSwitch CI 70cc8f
Requires(post): /bin/sed
Open vSwitch CI 70cc8f
Requires(post): systemd-units
Open vSwitch CI 70cc8f
Requires(preun): systemd-units
Open vSwitch CI 70cc8f
Requires(postun): systemd-units
Open vSwitch CI 70cc8f
Obsoletes: openvswitch-controller <= 0:2.1.0-1
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%if 0%{?rhel}
Open vSwitch CI 70cc8f
# sortedcontainers are not packaged on RHEL yet, but ovs includes it
Open vSwitch CI 70cc8f
%global __requires_exclude ^python%{python3_version}dist\\(sortedcontainers\\)$
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%description
Open vSwitch CI 70cc8f
Open vSwitch provides standard network bridging functions and
Open vSwitch CI 70cc8f
support for the OpenFlow protocol for remote per-flow control of
Open vSwitch CI 70cc8f
traffic.
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%package -n python3-%{pkgname}
Open vSwitch CI 70cc8f
Summary: Open vSwitch python3 bindings
Open vSwitch CI 70cc8f
License: ASL 2.0
Open vSwitch CI 70cc8f
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
Open vSwitch CI 70cc8f
Provides: python-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%description -n python3-%{pkgname}
Open vSwitch CI 70cc8f
Python bindings for the Open vSwitch database
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%package test
Open vSwitch CI 70cc8f
Summary: Open vSwitch testing utilities
Open vSwitch CI 70cc8f
License: ASL 2.0
Open vSwitch CI 70cc8f
BuildArch: noarch
Open vSwitch CI 70cc8f
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
Open vSwitch CI 70cc8f
Requires: tcpdump
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%description test
Open vSwitch CI 70cc8f
Utilities that are useful to diagnose performance and connectivity
Open vSwitch CI 70cc8f
issues in Open vSwitch setup.
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%package devel
Open vSwitch CI 70cc8f
Summary: Open vSwitch OpenFlow development package (library, headers)
Open vSwitch CI 70cc8f
License: ASL 2.0
Open vSwitch CI 70cc8f
Requires: %{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%description devel
Open vSwitch CI 70cc8f
This provides shared library, libopenswitch.so and the openvswitch header
Open vSwitch CI 70cc8f
files needed to build an external application.
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%if 0%{?rhel} == 8 || 0%{?fedora} > 28
Open vSwitch CI 70cc8f
%package -n network-scripts-%{name}
Open vSwitch CI 70cc8f
Summary: Open vSwitch legacy network service support
Open vSwitch CI 70cc8f
License: ASL 2.0
Open vSwitch CI 70cc8f
Requires: network-scripts
Open vSwitch CI 70cc8f
Supplements: (%{name} and network-scripts)
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%description -n network-scripts-%{name}
Open vSwitch CI 70cc8f
This provides the ifup and ifdown scripts for use with the legacy network
Open vSwitch CI 70cc8f
service.
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%if %{with ipsec}
Open vSwitch CI 70cc8f
%package ipsec
Open vSwitch CI 70cc8f
Summary: Open vSwitch IPsec tunneling support
Open vSwitch CI 70cc8f
License: ASL 2.0
Open vSwitch CI 70cc8f
Requires: python3-%{pkgname} = %{?epoch:%{epoch}:}%{version}-%{release}
Open vSwitch CI 70cc8f
Requires: libreswan
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%description ipsec
Open vSwitch CI 70cc8f
This package provides IPsec tunneling support for OVS tunnels.
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%prep
Open vSwitch CI 70cc8f
%if 0%{?commit:1}
Open vSwitch CI 70cc8f
%setup -q -n ovs-%{commit} -a 10
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
%setup -q -n ovs-%{version} -a 10
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
%if ! %{external_sphinx}
Open vSwitch CI 70cc8f
%if 0%{?commit:1}
Open vSwitch CI 70cc8f
%setup -n ovs-%{commit} -q -D -T -a 100 -a 101 -a 102
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
%setup -n ovs-%{version} -q -D -T -a 100 -a 101 -a 102
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
%if 0%{?rhel} && 0%{?rhel} < 9
Open vSwitch CI 70cc8f
%if 0%{?commit:1}
Open vSwitch CI 70cc8f
%setup -n ovs-%{commit} -q -D -T -a 103
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
%setup -n ovs-%{version} -q -D -T -a 103
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
mv dpdk-*/ %{dpdkdir}/
Open vSwitch CI 70cc8f
Open vSwitch CI dda1f5
%if 0%{?PATCH0:1}%{!?PATCH0:0}
Open vSwitch CI 70cc8f
%patch -P0 -p1
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%build
Open vSwitch CI 70cc8f
%if 0%{?rhel} && 0%{?rhel} < 9
Open vSwitch CI 70cc8f
export PYTHONPATH="${PWD}/pyelftools-%{pyelftoolsver}"
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
# Build Sphinx on RHEL
Open vSwitch CI 70cc8f
%if ! %{external_sphinx}
Open vSwitch CI 70cc8f
export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}%{_builddir}/pytmp/lib/python"
Open vSwitch CI 70cc8f
for x in docutils-%{docutilsver} Pygments-%{pygmentsver} Sphinx-%{sphinxver}; do
Open vSwitch CI 70cc8f
    pushd "$x"
Open vSwitch CI 70cc8f
    python2 setup.py install --home %{_builddir}/pytmp
Open vSwitch CI 70cc8f
    popd
Open vSwitch CI 70cc8f
done
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
export PATH="$PATH:%{_builddir}/pytmp/bin"
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
./boot.sh
Open vSwitch CI 70cc8f
Open vSwitch CI dda1f5
%ifarch %{dpdkarches}
Open vSwitch CI 70cc8f
# Lets build DPDK first
Open vSwitch CI 70cc8f
cd %{dpdkdir}
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
ENABLED_DRIVERS=(
Open vSwitch CI 70cc8f
    bus/pci
Open vSwitch CI 70cc8f
    bus/vdev
Open vSwitch CI 70cc8f
    mempool/ring
Open vSwitch CI 70cc8f
    net/failsafe
Open vSwitch CI 70cc8f
    net/i40e
Open vSwitch CI 70cc8f
    net/ring
Open vSwitch CI 70cc8f
    net/vhost
Open vSwitch CI 70cc8f
    net/virtio
Open vSwitch CI 70cc8f
    net/tap
Open vSwitch CI 70cc8f
)
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%ifarch x86_64
Open vSwitch CI 70cc8f
ENABLED_DRIVERS+=(
Open vSwitch CI 70cc8f
    baseband/acc
Open vSwitch CI 70cc8f
    bus/auxiliary
Open vSwitch CI 70cc8f
    bus/vmbus
Open vSwitch CI 70cc8f
    common/iavf
Open vSwitch CI 70cc8f
    common/mlx5
Open vSwitch CI 70cc8f
    common/nfp
Open vSwitch CI 70cc8f
    net/bnxt
Open vSwitch CI 70cc8f
    net/enic
Open vSwitch CI 70cc8f
    net/iavf
Open vSwitch CI 70cc8f
    net/ice
Open vSwitch CI 70cc8f
    net/mlx5
Open vSwitch CI 70cc8f
    net/netvsc
Open vSwitch CI 70cc8f
    net/nfp
Open vSwitch CI 70cc8f
    net/qede
Open vSwitch CI 70cc8f
    net/vdev_netvsc
Open vSwitch CI 70cc8f
)
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%ifarch aarch64 x86_64
Open vSwitch CI 70cc8f
ENABLED_DRIVERS+=(
Open vSwitch CI 70cc8f
    net/e1000
Open vSwitch CI 70cc8f
    net/ixgbe
Open vSwitch CI 70cc8f
)
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
for driver in "${ENABLED_DRIVERS[@]}"; do
Open vSwitch CI 70cc8f
    enable_drivers="${enable_drivers:+$enable_drivers,}"$driver
Open vSwitch CI 70cc8f
done
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# If doing any updates, this must be aligned with:
Open vSwitch CI 70cc8f
# https://access.redhat.com/articles/3538141
Open vSwitch CI 70cc8f
ENABLED_LIBS=(
Open vSwitch CI 70cc8f
    bbdev
Open vSwitch CI 70cc8f
    bitratestats
Open vSwitch CI 70cc8f
    bpf
Open vSwitch CI 70cc8f
    cmdline
Open vSwitch CI 70cc8f
    cryptodev
Open vSwitch CI 70cc8f
    dmadev
Open vSwitch CI 70cc8f
    gro
Open vSwitch CI 70cc8f
    gso
Open vSwitch CI 70cc8f
    hash
Open vSwitch CI 70cc8f
    ip_frag
Open vSwitch CI 70cc8f
    latencystats
Open vSwitch CI 70cc8f
    member
Open vSwitch CI 70cc8f
    meter
Open vSwitch CI 70cc8f
    metrics
Open vSwitch CI 70cc8f
    pcapng
Open vSwitch CI 70cc8f
    pdump
Open vSwitch CI 70cc8f
    security
Open vSwitch CI 70cc8f
    stack
Open vSwitch CI 70cc8f
    vhost
Open vSwitch CI 70cc8f
)
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
for lib in "${ENABLED_LIBS[@]}"; do
Open vSwitch CI 70cc8f
    enable_libs="${enable_libs:+$enable_libs,}"$lib
Open vSwitch CI 70cc8f
done
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%set_build_flags
Open vSwitch CI 70cc8f
%__meson --prefix=%{_builddir}/dpdk-build \
Open vSwitch CI 70cc8f
         --buildtype=plain \
Open vSwitch CI 70cc8f
         -Denable_libs="$enable_libs" \
Open vSwitch CI 70cc8f
         -Ddisable_apps="*" \
Open vSwitch CI 70cc8f
         -Denable_drivers="$enable_drivers" \
Open vSwitch CI 70cc8f
         -Dplatform=generic \
Open vSwitch CI 70cc8f
         -Dmax_ethports=1024 \
Open vSwitch CI 70cc8f
         -Dmax_numa_nodes=8 \
Open vSwitch CI 70cc8f
         -Dtests=false \
Open vSwitch CI 70cc8f
         %{_vpath_builddir}
Open vSwitch CI 70cc8f
%meson_build
Open vSwitch CI 70cc8f
%__meson install -C %{_vpath_builddir} --no-rebuild
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# FIXME currently with LTO enabled OVS tries to link with both static and shared libraries
Open vSwitch CI 70cc8f
rm -v %{_builddir}/dpdk-build/%{_lib}/*.so*
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# Generate a list of supported drivers, its hard to tell otherwise.
Open vSwitch CI 70cc8f
cat << EOF > README.DPDK-PMDS
Open vSwitch CI 70cc8f
DPDK drivers included in this package:
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
EOF
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
for f in %{_builddir}/dpdk-build/%{_lib}/librte_net_*.a; do
Open vSwitch CI 70cc8f
    basename ${f} | cut -c12- | cut -d. -f1 | tr [:lower:] [:upper:]
Open vSwitch CI 70cc8f
done >> README.DPDK-PMDS
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
cat << EOF >> README.DPDK-PMDS
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
For further information about the drivers, see
Open vSwitch CI 70cc8f
http://dpdk.org/doc/guides-%{dpdksver}/nics/index.html
Open vSwitch CI 70cc8f
EOF
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
cd -
Open vSwitch CI dda1f5
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# And now for OVS...
Open vSwitch CI 70cc8f
mkdir build-shared build-static
Open vSwitch CI 70cc8f
pushd build-shared
Open vSwitch CI 70cc8f
ln -s ../configure
Open vSwitch CI 70cc8f
%configure \
Open vSwitch CI 70cc8f
%if %{with libcapng}
Open vSwitch CI 70cc8f
        --enable-libcapng \
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
        --disable-libcapng \
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
        --disable-static \
Open vSwitch CI 70cc8f
        --enable-shared \
Open vSwitch CI 70cc8f
        --enable-ssl \
Open vSwitch CI 70cc8f
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki \
Open vSwitch CI 70cc8f
        --enable-usdt-probes \
Open vSwitch CI 70cc8f
        --disable-afxdp \
Open vSwitch CI 70cc8f
        --with-version-suffix=-%{release}
Open vSwitch CI 70cc8f
make %{?_smp_mflags}
Open vSwitch CI 70cc8f
popd
Open vSwitch CI 70cc8f
pushd build-static
Open vSwitch CI 70cc8f
ln -s ../configure
Open vSwitch CI 70cc8f
%ifarch %{dpdkarches}
Open vSwitch CI 70cc8f
PKG_CONFIG_PATH=%{_builddir}/dpdk-build/%{_lib}/pkgconfig \
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
%configure \
Open vSwitch CI 70cc8f
%if %{with libcapng}
Open vSwitch CI 70cc8f
        --enable-libcapng \
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
        --disable-libcapng \
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
        --enable-ssl \
Open vSwitch CI 70cc8f
%ifarch %{dpdkarches}
Open vSwitch CI 70cc8f
        --with-dpdk=static \
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
        --with-pkidir=%{_sharedstatedir}/openvswitch/pki \
Open vSwitch CI 70cc8f
        --enable-usdt-probes \
Open vSwitch CI 70cc8f
        --disable-afxdp \
Open vSwitch CI 70cc8f
        --with-version-suffix=-%{release}
Open vSwitch CI 70cc8f
make %{?_smp_mflags}
Open vSwitch CI 70cc8f
popd
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
/usr/bin/python3 build-aux/dpdkstrip.py \
Open vSwitch CI 70cc8f
        --dpdk \
Open vSwitch CI 70cc8f
        < rhel/usr_lib_systemd_system_ovs-vswitchd.service.in \
Open vSwitch CI 70cc8f
        > rhel/usr_lib_systemd_system_ovs-vswitchd.service
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%install
Open vSwitch CI 70cc8f
rm -rf $RPM_BUILD_ROOT
Open vSwitch CI 70cc8f
make -C build-shared install sbin_PROGRAMS=ovsdb/ovsdb-server DESTDIR=$RPM_BUILD_ROOT
Open vSwitch CI 70cc8f
make -C build-static install bin_PROGRAMS= sbin_PROGRAMS=vswitchd/ovs-vswitchd DESTDIR=$RPM_BUILD_ROOT
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
Open vSwitch CI 70cc8f
install -d -m 0750 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch
Open vSwitch CI 70cc8f
install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
install -p -D -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysusersdir}/openvswitch.conf
Open vSwitch CI 70cc8f
%ifarch %{dpdkarches}
Open vSwitch CI 70cc8f
install -p -D -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysusersdir}/openvswitch-hugetlbfs.conf
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
install -p -D -m 0644 rhel/usr_lib_udev_rules.d_91-vfio.rules \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT%{_udevrulesdir}/91-vfio.rules
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
install -p -D -m 0644 \
Open vSwitch CI 70cc8f
        rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/openvswitch
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
for service in openvswitch ovsdb-server ovs-vswitchd \
Open vSwitch CI 70cc8f
               ovs-delete-transient-ports; do
Open vSwitch CI 70cc8f
        install -p -D -m 0644 \
Open vSwitch CI 70cc8f
                        rhel/usr_lib_systemd_system_${service}.service \
Open vSwitch CI 70cc8f
                        $RPM_BUILD_ROOT%{_unitdir}/${service}.service
Open vSwitch CI 70cc8f
done
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%if %{with ipsec}
Open vSwitch CI 70cc8f
install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch-ipsec.service \
Open vSwitch CI 70cc8f
                      $RPM_BUILD_ROOT%{_unitdir}/openvswitch-ipsec.service
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
install -m 0755 rhel/etc_init.d_openvswitch \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
install -p -D -m 0644 rhel/etc_openvswitch_default.conf \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT/%{_sysconfdir}/openvswitch/default.conf
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
install -p -D -m 0644 rhel/etc_logrotate.d_openvswitch \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT/%{_sysconfdir}/logrotate.d/openvswitch
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
install -m 0644 vswitchd/vswitch.ovsschema \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT/%{_datadir}/openvswitch/vswitch.ovsschema
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%if 0%{?rhel} < 9
Open vSwitch CI 70cc8f
install -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/
Open vSwitch CI 70cc8f
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
Open vSwitch CI 70cc8f
install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
install -d -m 0755 $RPM_BUILD_ROOT%{python3_sitelib}
Open vSwitch CI 70cc8f
cp -a $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/ovstest \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT%{python3_sitelib}
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# Build the JSON C extension for the Python lib (#1417738)
Open vSwitch CI 70cc8f
pushd python
Open vSwitch CI 70cc8f
(
Open vSwitch CI 70cc8f
export CPPFLAGS="-I ../include -I ../build-shared/include"
Open vSwitch CI 70cc8f
export LDFLAGS="%{__global_ldflags} -L $RPM_BUILD_ROOT%{_libdir}"
Open vSwitch CI 70cc8f
%py3_build
Open vSwitch CI 70cc8f
%py3_install
Open vSwitch CI 70cc8f
[ -f "$RPM_BUILD_ROOT/%{python3_sitearch}/ovs/_json$(python3-config --extension-suffix)" ]
Open vSwitch CI 70cc8f
)
Open vSwitch CI 70cc8f
popd
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
rm -rf $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/openvswitch
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
install -d -m 0755 $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
install -p -D -m 0755 \
Open vSwitch CI 70cc8f
        rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs-systemd-reload
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
Open vSwitch CI 70cc8f
# The db needs special permission as IPsec Pre-shared keys are stored in it.
Open vSwitch CI 70cc8f
chmod 0640 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/system-id.conf
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# remove unpackaged files
Open vSwitch CI 70cc8f
rm -f $RPM_BUILD_ROOT/%{_bindir}/ovs-benchmark \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT/%{_bindir}/ovs-docker \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT/%{_bindir}/ovs-parse-backtrace \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT/%{_bindir}/ovs-testcontroller \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT/%{_sbindir}/ovs-vlan-bug-workaround \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT/%{_mandir}/man1/ovs-benchmark.1* \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-testcontroller.* \
Open vSwitch CI 70cc8f
        $RPM_BUILD_ROOT/%{_mandir}/man8/ovs-vlan-bug-workaround.8*
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%if ! %{with ipsec}
Open vSwitch CI 70cc8f
rm -f $RPM_BUILD_ROOT/%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
# remove ovn unpackages files
Open vSwitch CI 70cc8f
rm -f $RPM_BUILD_ROOT%{_bindir}/ovn*
Open vSwitch CI 70cc8f
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovn*
Open vSwitch CI 70cc8f
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovn*
Open vSwitch CI 70cc8f
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovn*
Open vSwitch CI 70cc8f
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovn*
Open vSwitch CI 70cc8f
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/ovn*
Open vSwitch CI 70cc8f
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovn*
Open vSwitch CI 70cc8f
rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/*
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%check
Open vSwitch CI 70cc8f
%if %{with check}
Open vSwitch CI 70cc8f
    pushd build-static
Open vSwitch CI 70cc8f
    touch resolv.conf
Open vSwitch CI 70cc8f
    export OVS_RESOLV_CONF=$(pwd)/resolv.conf
Open vSwitch CI 70cc8f
    if make check TESTSUITEFLAGS='%{_smp_mflags}' ||
Open vSwitch CI 70cc8f
       make check TESTSUITEFLAGS='--recheck'; then :;
Open vSwitch CI 70cc8f
    else
Open vSwitch CI 70cc8f
        cat tests/testsuite.log
Open vSwitch CI 70cc8f
        exit 1
Open vSwitch CI 70cc8f
    fi
Open vSwitch CI 70cc8f
    popd
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
%if %{with check_datapath_kernel}
Open vSwitch CI 70cc8f
    pushd build-static
Open vSwitch CI 70cc8f
    if make check-kernel RECHECK=yes; then :;
Open vSwitch CI 70cc8f
    else
Open vSwitch CI 70cc8f
        cat tests/system-kmod-testsuite.log
Open vSwitch CI 70cc8f
        exit 1
Open vSwitch CI 70cc8f
    fi
Open vSwitch CI 70cc8f
    popd
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%preun
Open vSwitch CI 70cc8f
%if 0%{?systemd_preun:1}
Open vSwitch CI 70cc8f
    %systemd_preun openvswitch.service
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
    if [ $1 -eq 0 ] ; then
Open vSwitch CI 70cc8f
    # Package removal, not upgrade
Open vSwitch CI 70cc8f
        /bin/systemctl --no-reload disable openvswitch.service >/dev/null 2>&1 || :
Open vSwitch CI 70cc8f
        /bin/systemctl stop openvswitch.service >/dev/null 2>&1 || :
Open vSwitch CI 70cc8f
    fi
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%pre
Open vSwitch CI 70cc8f
%sysusers_create_compat %{SOURCE2}
Open vSwitch CI 70cc8f
%ifarch %{dpdkarches}
Open vSwitch CI 70cc8f
%sysusers_create_compat %{SOURCE3}
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%post
Open vSwitch CI 70cc8f
if [ $1 -eq 1 ]; then
Open vSwitch CI 70cc8f
    sed -i 's:^#OVS_USER_ID=:OVS_USER_ID=:' /etc/sysconfig/openvswitch
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%ifarch %{dpdkarches}
Open vSwitch CI 70cc8f
    sed -i \
Open vSwitch CI 70cc8f
        's@OVS_USER_ID="openvswitch:openvswitch"@OVS_USER_ID="openvswitch:hugetlbfs"@'\
Open vSwitch CI 70cc8f
        /etc/sysconfig/openvswitch
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
fi
Open vSwitch CI 70cc8f
chown -R openvswitch:openvswitch /etc/openvswitch
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%if 0%{?systemd_post:1}
Open vSwitch CI 70cc8f
    %systemd_post openvswitch.service
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
    # Package install, not upgrade
Open vSwitch CI 70cc8f
    if [ $1 -eq 1 ]; then
Open vSwitch CI 70cc8f
        /bin/systemctl daemon-reload >dev/null || :
Open vSwitch CI 70cc8f
    fi
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%postun
Open vSwitch CI 70cc8f
%if 0%{?systemd_postun:1}
Open vSwitch CI 70cc8f
    %systemd_postun openvswitch.service
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
    /bin/systemctl daemon-reload >/dev/null 2>&1 || :
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%triggerun -- openvswitch < 2.5.0-22.git20160727%{?dist}
Open vSwitch CI 70cc8f
# old rpm versions restart the service in postun, but
Open vSwitch CI 70cc8f
# due to systemd some preparation is needed.
Open vSwitch CI 70cc8f
if systemctl is-active openvswitch >/dev/null 2>&1 ; then
Open vSwitch CI 70cc8f
    /usr/share/openvswitch/scripts/ovs-ctl stop >/dev/null 2>&1 || :
Open vSwitch CI 70cc8f
    systemctl daemon-reload >/dev/null 2>&1 || :
Open vSwitch CI 70cc8f
    systemctl stop openvswitch ovsdb-server ovs-vswitchd >/dev/null 2>&1 || :
Open vSwitch CI 70cc8f
    systemctl start openvswitch >/dev/null 2>&1 || :
Open vSwitch CI 70cc8f
fi
Open vSwitch CI 70cc8f
exit 0
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%files -n python3-%{pkgname}
Open vSwitch CI 70cc8f
%{python3_sitearch}/ovs
Open vSwitch CI 70cc8f
%{python3_sitearch}/ovs-*.egg-info
Open vSwitch CI 70cc8f
%{_bindir}/ovs-flowviz
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-flowviz.8*
Open vSwitch CI 70cc8f
%doc LICENSE
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%files test
Open vSwitch CI 70cc8f
%{_bindir}/ovs-pcap
Open vSwitch CI 70cc8f
%{_bindir}/ovs-tcpdump
Open vSwitch CI 70cc8f
%{_bindir}/ovs-tcpundump
Open vSwitch CI 70cc8f
%{_datadir}/openvswitch/scripts/usdt/*
Open vSwitch CI 70cc8f
%{_mandir}/man1/ovs-pcap.1*
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-tcpdump.8*
Open vSwitch CI 70cc8f
%{_mandir}/man1/ovs-tcpundump.1*
Open vSwitch CI 70cc8f
%{_bindir}/ovs-test
Open vSwitch CI 70cc8f
%{_bindir}/ovs-vlan-test
Open vSwitch CI 70cc8f
%{_bindir}/ovs-l3ping
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-test.8*
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-vlan-test.8*
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-l3ping.8*
Open vSwitch CI 70cc8f
%{python3_sitelib}/ovstest
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%files devel
Open vSwitch CI 70cc8f
%{_libdir}/*.so
Open vSwitch CI 70cc8f
%{_libdir}/pkgconfig/*.pc
Open vSwitch CI 70cc8f
%{_includedir}/openvswitch/*
Open vSwitch CI 70cc8f
%{_includedir}/openflow/*
Open vSwitch CI 70cc8f
%exclude %{_libdir}/*.a
Open vSwitch CI 70cc8f
%exclude %{_libdir}/*.la
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%if 0%{?rhel} == 8 || 0%{?fedora} > 28
Open vSwitch CI 70cc8f
%files -n network-scripts-%{name}
Open vSwitch CI 70cc8f
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
Open vSwitch CI 70cc8f
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%files
Open vSwitch CI 70cc8f
%defattr(-,openvswitch,openvswitch)
Open vSwitch CI 70cc8f
%dir %{_sysconfdir}/openvswitch
Open vSwitch CI 70cc8f
%{_sysconfdir}/openvswitch/default.conf
Open vSwitch CI 70cc8f
%config %ghost %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/conf.db
Open vSwitch CI 70cc8f
%ghost %attr(0600,-,-) %verify(not owner group md5 size mtime) %{_sysconfdir}/openvswitch/.conf.db.~lock~
Open vSwitch CI 70cc8f
%config %ghost %{_sysconfdir}/openvswitch/system-id.conf
Open vSwitch CI 70cc8f
%defattr(-,root,root)
Open vSwitch CI 70cc8f
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/openvswitch
Open vSwitch CI 70cc8f
%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
Open vSwitch CI 70cc8f
%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
Open vSwitch CI 70cc8f
%config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch
Open vSwitch CI 70cc8f
%{_unitdir}/openvswitch.service
Open vSwitch CI 70cc8f
%{_unitdir}/ovsdb-server.service
Open vSwitch CI 70cc8f
%{_unitdir}/ovs-vswitchd.service
Open vSwitch CI 70cc8f
%{_unitdir}/ovs-delete-transient-ports.service
Open vSwitch CI 70cc8f
%{_datadir}/openvswitch/scripts/openvswitch.init
Open vSwitch CI 70cc8f
%{_datadir}/openvswitch/scripts/ovs-check-dead-ifs
Open vSwitch CI 70cc8f
%{_datadir}/openvswitch/scripts/ovs-lib
Open vSwitch CI 70cc8f
%{_datadir}/openvswitch/scripts/ovs-save
Open vSwitch CI 70cc8f
%{_datadir}/openvswitch/scripts/ovs-vtep
Open vSwitch CI 70cc8f
%{_datadir}/openvswitch/scripts/ovs-ctl
Open vSwitch CI 70cc8f
%{_datadir}/openvswitch/scripts/ovs-kmod-ctl
Open vSwitch CI 70cc8f
%{_datadir}/openvswitch/scripts/ovs-systemd-reload
Open vSwitch CI 70cc8f
%config %{_datadir}/openvswitch/local-config.ovsschema
Open vSwitch CI 70cc8f
%config %{_datadir}/openvswitch/vswitch.ovsschema
Open vSwitch CI 70cc8f
%config %{_datadir}/openvswitch/vtep.ovsschema
Open vSwitch CI 70cc8f
%{_bindir}/ovs-appctl
Open vSwitch CI 70cc8f
%{_bindir}/ovs-dpctl
Open vSwitch CI 70cc8f
%{_bindir}/ovs-ofctl
Open vSwitch CI 70cc8f
%{_bindir}/ovs-vsctl
Open vSwitch CI 70cc8f
%{_bindir}/ovsdb-client
Open vSwitch CI 70cc8f
%{_bindir}/ovsdb-tool
Open vSwitch CI 70cc8f
%{_bindir}/ovs-pki
Open vSwitch CI 70cc8f
%{_bindir}/vtep-ctl
Open vSwitch CI 70cc8f
%{_libdir}/*.so.*
Open vSwitch CI 70cc8f
%{_sbindir}/ovs-vswitchd
Open vSwitch CI 70cc8f
%{_sbindir}/ovsdb-server
Open vSwitch CI 70cc8f
%{_mandir}/man1/ovsdb-client.1*
Open vSwitch CI 70cc8f
%{_mandir}/man1/ovsdb-server.1*
Open vSwitch CI 70cc8f
%{_mandir}/man1/ovsdb-tool.1*
Open vSwitch CI 70cc8f
%{_mandir}/man5/ovsdb.5*
Open vSwitch CI 70cc8f
%{_mandir}/man5/ovsdb.local-config.5*
Open vSwitch CI 70cc8f
%{_mandir}/man5/ovsdb-server.5.*
Open vSwitch CI 70cc8f
%{_mandir}/man5/ovs-vswitchd.conf.db.5*
Open vSwitch CI 70cc8f
%{_mandir}/man5/vtep.5*
Open vSwitch CI 70cc8f
%{_mandir}/man7/ovsdb-server.7*
Open vSwitch CI 70cc8f
%{_mandir}/man7/ovsdb.7*
Open vSwitch CI 70cc8f
%{_mandir}/man7/ovs-actions.7*
Open vSwitch CI 70cc8f
%{_mandir}/man7/ovs-fields.7*
Open vSwitch CI 70cc8f
%{_mandir}/man8/vtep-ctl.8*
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-appctl.8*
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-ctl.8*
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-dpctl.8*
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-kmod-ctl.8.*
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-ofctl.8*
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-pki.8*
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-vsctl.8*
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-vswitchd.8*
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-parse-backtrace.8*
Open vSwitch CI 70cc8f
%{_udevrulesdir}/91-vfio.rules
Open vSwitch CI 70cc8f
%doc LICENSE NOTICE README.rst NEWS rhel/README.RHEL.rst
Open vSwitch CI 70cc8f
%ifarch %{dpdkarches}
Open vSwitch CI 70cc8f
%doc %{dpdkdir}/README.DPDK-PMDS
Open vSwitch CI 70cc8f
%attr(750,openvswitch,hugetlbfs) %verify(not owner group) /var/log/openvswitch
Open vSwitch CI 70cc8f
%else
Open vSwitch CI 70cc8f
%attr(750,openvswitch,openvswitch) %verify(not owner group) /var/log/openvswitch
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
/var/lib/openvswitch
Open vSwitch CI 70cc8f
%ghost %attr(755,root,root) %verify(not owner group) %{_rundir}/openvswitch
Open vSwitch CI 70cc8f
%{_datadir}/openvswitch/bugtool-plugins/
Open vSwitch CI 70cc8f
%{_datadir}/openvswitch/scripts/ovs-bugtool-*
Open vSwitch CI 70cc8f
%{_bindir}/ovs-dpctl-top
Open vSwitch CI 70cc8f
%{_sbindir}/ovs-bugtool
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-dpctl-top.8*
Open vSwitch CI 70cc8f
%{_mandir}/man8/ovs-bugtool.8*
Open vSwitch CI 70cc8f
%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} < 29)
Open vSwitch CI 70cc8f
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
Open vSwitch CI 70cc8f
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
%{_sysusersdir}/openvswitch.conf
Open vSwitch CI 70cc8f
%ifarch %{dpdkarches}
Open vSwitch CI 70cc8f
%{_sysusersdir}/openvswitch-hugetlbfs.conf
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%if %{with ipsec}
Open vSwitch CI 70cc8f
%files ipsec
Open vSwitch CI 70cc8f
%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
Open vSwitch CI 70cc8f
%{_unitdir}/openvswitch-ipsec.service
Open vSwitch CI 70cc8f
%endif
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
%changelog
Open vSwitch CI dda1f5
* Fri Feb 07 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.19
Open vSwitch CI dda1f5
- Merging upstream branch-3.5 [RH git: 4a1863fd84]
Open vSwitch CI dda1f5
    Commit list:
Open vSwitch CI dda1f5
    8ceccbb404 github: Update fedora image to 41.
Open vSwitch CI dda1f5
    eab4db54ae documentation: Fix Sphinx program directive.
Open vSwitch CI dda1f5
    1ccfc9882e documentation: Fix ovs-flowviz warnings on older Sphinx.
Open vSwitch CI dda1f5
Open vSwitch CI dda1f5
Open vSwitch CI dda1f5
* Fri Feb 07 2025 Timothy Redaelli <tredaelli@redhat.com> - 3.5.0-0.18
Open vSwitch CI dda1f5
- Remove all warnings from spec file [RH git: da15903092]
Open vSwitch CI dda1f5
Open vSwitch CI dda1f5
Open vSwitch CI 56d821
* Thu Feb 06 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.17
Open vSwitch CI 56d821
- Merging upstream branch-3.5 [RH git: be7f8de80f]
Open vSwitch CI 56d821
    Commit list:
Open vSwitch CI 56d821
    63785d16db fedora: Don't generate network-scripts-openvswitch for ver > 40.
Open vSwitch CI 56d821
    57c3cc37c8 route-table: Allow parsing routes without nexthop.
Open vSwitch CI 56d821
    123798f7f7 sparse: Remove wrappers for some DPDK headers.
Open vSwitch CI 56d821
Open vSwitch CI 56d821
Open vSwitch CI f52635
* Fri Jan 31 2025 Kevin Traynor <ktraynor@redhat.com> - 3.5.0-0.16
Open vSwitch CI f52635
- redhat: update ovsci Jenkins URL [RH git: c31dddab3d]
Open vSwitch CI f52635
    Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Open vSwitch CI f52635
Open vSwitch CI f52635
Open vSwitch CI ee4d11
* Wed Jan 29 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.15
Open vSwitch CI ee4d11
- Merging upstream branch-3.5 [RH git: a9c58adf07]
Open vSwitch CI ee4d11
    Commit list:
Open vSwitch CI ee4d11
    472143855b netdev-offload-tc: Fix ignore of dl type mask when installing flows. (FDP-1114)
Open vSwitch CI ee4d11
Open vSwitch CI ee4d11
Open vSwitch CI 9bf6b6
* Tue Jan 28 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.14
Open vSwitch CI 9bf6b6
- Merging upstream branch-3.5 [RH git: f632a7e7ca]
Open vSwitch CI 9bf6b6
    Commit list:
Open vSwitch CI 9bf6b6
    0aaa852402 faq: Update DPDK releases for older branches.
Open vSwitch CI 9bf6b6
Open vSwitch CI 9bf6b6
Open vSwitch CI c49a4a
* Tue Jan 28 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.13
Open vSwitch CI c49a4a
- Merging dpdk subtree [RH git: 1f4a06173a]
Open vSwitch CI c49a4a
    Commit list:
Open vSwitch CI c49a4a
    37ef93564c Merge branch 'private-dmarchan-FDP-1116' into '24.11'
Open vSwitch CI c49a4a
    dfee4c06a7 Revert "vhost: revert VDUSE uAPI header" (FDP-1116)
Open vSwitch CI c49a4a
Open vSwitch CI c49a4a
Open vSwitch CI 993944
* Tue Jan 28 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.12
Open vSwitch CI 993944
- Merging upstream branch-3.5 [RH git: 8b9c69a15b]
Open vSwitch CI 993944
    Commit list:
Open vSwitch CI 993944
    09095c6988 AUTHORS: Add Markus Linnala.
Open vSwitch CI 993944
    cb7a446902 utilities/bashcomp: Do not run ovs-vsctl when not possible.
Open vSwitch CI 993944
Open vSwitch CI 993944
Open vSwitch CI 70cc8f
* Thu Jan 23 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.11
Open vSwitch CI 70cc8f
- Merging upstream branch-3.5 [RH git: dcbeed9917]
Open vSwitch CI 70cc8f
    Commit list:
Open vSwitch CI 70cc8f
    c0c61e12f6 ofproto-macros.at: Fix hex matching in the strip_recird() macro.
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
* Tue Jan 21 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.10
Open vSwitch CI 70cc8f
- Merging upstream branch-3.5 [RH git: 11bf98a1d4]
Open vSwitch CI 70cc8f
    Commit list:
Open vSwitch CI 70cc8f
    84768a4b05 route-table: Use ofpbuf_use_const() for multipath attributes.
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
* Tue Jan 21 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.9
Open vSwitch CI 70cc8f
- Merging upstream branch-3.5 [RH git: 1627e12580]
Open vSwitch CI 70cc8f
    Commit list:
Open vSwitch CI 70cc8f
    6e708a0433 route-table: Fix potential memory leak.
Open vSwitch CI 70cc8f
    ee9b72178e route-table: Avoid potential NULL ptr dereference.
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
* Tue Jan 21 2025 Flavio Leitner <fbl@redhat.com> - 3.5.0-0.8
Open vSwitch CI 70cc8f
- Use pre-release prefix in the changelog. [RH git: c5d1126bd8]
Open vSwitch CI 70cc8f
    Fix pkgtool to use the pre-release prefix in the
Open vSwitch CI 70cc8f
    package changelog.
Open vSwitch CI 70cc8f
    
Open vSwitch CI 70cc8f
    Signed-off-by: Flavio Leitner <fbl@redhat.com>
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
* Mon Jan 20 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.7
Open vSwitch CI 70cc8f
- Merging upstream branch-3.5 [RH git: 7ae9a1a925]
Open vSwitch CI 70cc8f
    Commit list:
Open vSwitch CI 70cc8f
    09f3b32a31 ofp-ct: Add missing struct declaration.
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
* Mon Jan 20 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.6
Open vSwitch CI 70cc8f
- Merging dpdk subtree [RH git: c4a0bf97c2]
Open vSwitch CI 70cc8f
    Commit list:
Open vSwitch CI 70cc8f
    f4db1f3496 vhost: reset packets count when not ready (FDP-1087)
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
* Fri Jan 17 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.5
Open vSwitch CI 70cc8f
- Merging upstream branch-3.5 [RH git: 0b061819d3]
Open vSwitch CI 70cc8f
    Commit list:
Open vSwitch CI 70cc8f
    005e258920 Prepare for 3.5.0.
Open vSwitch CI 70cc8f
    2276c3a2c6 userspace: Support GRE TSO.
Open vSwitch CI 70cc8f
    d68b73e2f1 docs: Update userspace TSO tunnel fallback documentation.
Open vSwitch CI 70cc8f
    a4efa07881 docs: Add tunnel support to TSO GRE documentation.
Open vSwitch CI 70cc8f
    91fc51106c route-table: Support parsing multipath routes.
Open vSwitch CI 70cc8f
    50f7d2082b route-table: Export route table sync functions.
Open vSwitch CI 70cc8f
    da58f0291e route-table: Use correct type for nlmsg_type.
Open vSwitch CI 70cc8f
    18aa16831f route-table: Rename route_data mark to rta_mark.
Open vSwitch CI 70cc8f
    ca8f5af37d route-table: Rename route_data local to rtn_local.
Open vSwitch CI 70cc8f
    a75eb54643 route-table: Store original value for rtm_dst_len.
Open vSwitch CI 70cc8f
    e573adeecb route-table: Use callback for handling route msgs.
Open vSwitch CI 70cc8f
    e15910ddc0 route-table: Use RTA_TABLE for route table filter.
Open vSwitch CI 70cc8f
    9d9a99d157 route-table: Support parsing RTA_VIA attribute.
Open vSwitch CI 70cc8f
    6f9196a3d0 route-table: Store nexthops in linked list.
Open vSwitch CI 70cc8f
    583dd0315c route-table: Harmonize log msgs with code base.
Open vSwitch CI 70cc8f
    910bc81e66 route-table: Rename static nln callback buffer.
Open vSwitch CI 70cc8f
    71785737de route-table: Split header and attribute parsing.
Open vSwitch CI 70cc8f
    78d10bdc31 route-table: Store route protocol.
Open vSwitch CI 70cc8f
    10ae7983e8 route-table: Store route priority.
Open vSwitch CI 70cc8f
    903989bdb4 route-table: Store route table ID.
Open vSwitch CI 70cc8f
    e67f317ef1 ovs-ctl: Fix inability to set custom options for ovs-monitor-ipsec.
Open vSwitch CI 70cc8f
    fe1d48dba2 rhel, debian: Add missing restart policy to ipsec service.
Open vSwitch CI 70cc8f
    656c95e133 rhel, debian: Fix systemd monitoring wrong pid for ovs-monitor-ipsec.
Open vSwitch CI 70cc8f
    867093679b dpif-netdev: Modify code comments for function parse_tcp_flags.
Open vSwitch CI 70cc8f
    c3f4d9fe54 ipf: Fix the over-sized reassembly.
Open vSwitch CI 70cc8f
    367e0fff23 debian: Let *-ctl handle runtime directory.
Open vSwitch CI 70cc8f
    3f19558e73 debian: Use PIDFile with systemd.
Open vSwitch CI 70cc8f
    439e0bf2f8 debian: Add X-Python3-Version stanza.
Open vSwitch CI 70cc8f
    4ce47bbccf debian: Move ovs-flowviz to openvswitch-common.
Open vSwitch CI 70cc8f
    96d5bcf991 debian: Drop hard Python dep where appropriate.
Open vSwitch CI 70cc8f
    f64e94d8d6 debian: Drop shlibs:Depends macro for -ipsec.
Open vSwitch CI 70cc8f
    0ff25dfca5 debian: Drop python3:Depends macro for -vtep.
Open vSwitch CI 70cc8f
    6a1a5f2eec python: Allow ovs-flowviz to run without graphviz.
Open vSwitch CI 70cc8f
    e4193663af debian: Use pybuild to handle OVS Python module.
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
* Fri Jan 17 2025 Open vSwitch CI <ovs-ci@redhat.com> - 3.5.0-0.4
Open vSwitch CI 70cc8f
- Merging dpdk subtree [RH git: aeea0401b8]
Open vSwitch CI 70cc8f
    Commit list:
Open vSwitch CI 70cc8f
    f2eea2f37a version: 24.11.1
Open vSwitch CI 70cc8f
    fdf13ea6fe net/virtio: fix Rx checksum calculation
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
* Wed Jan 15 2025 Michael Santana <msantana@redhat.com> - 3.5.0-0.3
Open vSwitch CI 70cc8f
- Add ovs-flowviz files to spec template [RH git: 439410825e]
Open vSwitch CI 70cc8f
    Signed-off-by: Michael Santana <msantana@redhat.com>
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
* Wed Jan 15 2025 Michael Santana <msantana@redhat.com> - 3.5.0-0.2
Open vSwitch CI 70cc8f
- pkgtool: OVS_SHA_REF should not be mandatory [RH git: b1992f4f32]
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f
* Tue Jan 14 2025 Michael Santana <msantana@redhat.com> - 3.5.0-0.1
Open vSwitch CI 70cc8f
- redhat: Imported Red Hat OVS 3.5 build files. [RH git: 62f0847aa9]
Open vSwitch CI 70cc8f
Open vSwitch CI 70cc8f