forked from pool/openvswitch
Dirk Mueller
f850461846
- Python fixes and improvements * Build Python3 subpackages for Open vSwitch python bindings * Switch build architecture to 'noarch' for python bindings. * Fix license for python subpackages * Build and ship python bytecode files. - Do not mark files in /usr/share/* as configuration files - Replace version macro with actual version number of Obsoletes tags. The DPDK packages have been merged with the regular OvS ones in the 2.7.0 release so make it more explicit which ones we are obsoleting. - spec-cleaner fixes OBS-URL: https://build.opensuse.org/request/show/560283 OBS-URL: https://build.opensuse.org/package/show/network/openvswitch?expand=0&rev=133
767 lines
24 KiB
RPMSpec
767 lines
24 KiB
RPMSpec
#
|
||
# spec file for package openvswitch
|
||
#
|
||
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||
#
|
||
# All modifications and additions to the file contributed by third parties
|
||
# remain the property of their copyright owners, unless otherwise agreed
|
||
# upon. The license for this file, and modifications and additions to the
|
||
# file, is the same license as for the pristine package itself (unless the
|
||
# license for the pristine package is not an Open Source License, in which
|
||
# case the license is the MIT License). An "Open Source License" is a
|
||
# license that conforms to the Open Source Definition (Version 1.9)
|
||
# published by the Open Source Initiative.
|
||
|
||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||
#
|
||
# needssslcertforbuild
|
||
|
||
|
||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
||
%if ! %{defined _fillupdir}
|
||
%define _fillupdir %{_localstatedir}/adm/fillup-templates
|
||
%endif
|
||
%define lname libopenvswitch-2_8-0
|
||
%ifarch aarch64 x86_64 %{ix86}
|
||
# DPDK enabled by default
|
||
%bcond_without dpdk
|
||
%else
|
||
# No DPDK support on these architectures
|
||
%bcond_with dpdk
|
||
%endif
|
||
# The testsuite is somewhat fragile for continuous testing in OBS
|
||
# but keep it here as an option
|
||
%bcond_with check
|
||
# Disable building the external kernel datapath by default
|
||
%bcond_with kmp
|
||
Name: openvswitch
|
||
Version: 2.8.1
|
||
Release: 0
|
||
Summary: A multilayer virtual network switch
|
||
# All code is Apache-2.0 except
|
||
# - lib/sflow* which is SISSL
|
||
# - utilities/bugtool which is LGPL-2.1
|
||
License: Apache-2.0 AND LGPL-2.1 AND SISSL
|
||
Group: Productivity/Networking/System
|
||
Url: http://openvswitch.org/
|
||
Source0: http://openvswitch.org/releases/openvswitch-%{version}.tar.gz
|
||
Source1: preamble
|
||
Source89: Module.supported.updates
|
||
Patch99: 0001-utilities-Add-script-to-support-DPDK-option-migratio.patch
|
||
BuildRequires: %{python_module devel}
|
||
BuildRequires: %{python_module six}
|
||
BuildRequires: %{python_module xml}
|
||
BuildRequires: %{pythons}
|
||
BuildRequires: autoconf
|
||
BuildRequires: automake
|
||
BuildRequires: fdupes
|
||
BuildRequires: graphviz
|
||
BuildRequires: libcap-ng-devel
|
||
BuildRequires: libopenssl-devel
|
||
BuildRequires: libtool
|
||
BuildRequires: make
|
||
BuildRequires: pkgconfig
|
||
BuildRequires: python-rpm-macros
|
||
BuildRequires: pkgconfig(openssl)
|
||
Requires: logrotate
|
||
Requires: modutils
|
||
# ovs-ctl / ovs-pki use /usr/bin/uuidgen:
|
||
Requires: util-linux
|
||
Requires(post): %fillup_prereq
|
||
Suggests: logrotate
|
||
Provides: openvswitch-common = %{version}
|
||
Obsoletes: openvswitch-common < 2.7.0
|
||
Provides: openvswitch-controller = %{version}
|
||
Obsoletes: openvswitch-controller < 2.7.0
|
||
# openvswitch-switch has been merged to the main package
|
||
# so we need to provide a migration path
|
||
Provides: %{name}-dpdk = %{version}
|
||
Provides: %{name}-dpdk-switch = %{version}
|
||
Provides: %{name}-switch = %{version}
|
||
Obsoletes: %{name}-dpdk < 2.7.0
|
||
Obsoletes: %{name}-dpdk-switch < 2.7.0
|
||
Obsoletes: %{name}-switch < 2.7.0
|
||
%{?systemd_requires}
|
||
%if %{with dpdk}
|
||
Requires(post): shadow
|
||
%endif
|
||
# Needed by the testsuite
|
||
%if %{with check}
|
||
BuildRequires: procps
|
||
%endif
|
||
%if %{with kmp}
|
||
Suggests: openvswitch-kmp
|
||
%endif
|
||
%if %{with dpdk}
|
||
# We need to be a bit strict with the dpdk version since
|
||
# it's very possible for DPDK to change it's API between
|
||
# releases. This version currently requires >=17.XX
|
||
BuildRequires: dpdk-devel >= 17.05
|
||
BuildRequires: libnuma-devel
|
||
BuildRequires: libpcap-devel
|
||
%endif
|
||
|
||
%description
|
||
Open vSwitch is a multilayer virtual network Ethernet switch. It is
|
||
enables network automation through programmatic extension, and
|
||
supports standard management interfaces and protocols (e.g. NetFlow,
|
||
sFlow, RSPAN, ERSPAN, CLI, LACP, 802.1ag). In addition, it supports
|
||
distribution across multiple physical servers similar to VMware’s
|
||
vNetwork distributed vswitch or Cisco’s Nexus 1000V.
|
||
|
||
%if %{with kmp}
|
||
%package kmp
|
||
Summary: Open vSwitch kernel modules
|
||
License: GPL-2.0+
|
||
Group: System/Kernel
|
||
BuildRequires: %{kernel_module_package_buildreqs}
|
||
%suse_kernel_module_package -p %{_sourcedir}/preamble ec2 xenpae vmi um
|
||
|
||
%description kmp
|
||
Kernel modules supporting the openvswitch datapath.
|
||
%endif
|
||
|
||
%package -n %{lname}
|
||
Summary: Open vSwitch core libraries
|
||
License: Apache-2.0
|
||
Group: System/Libraries
|
||
|
||
%description -n %{lname}
|
||
Contains the shared libraries used by Open vSwitch and any eventual extensions.
|
||
|
||
%package doc
|
||
Summary: Open vSwitch Documentation
|
||
License: Apache-2.0
|
||
Group: System/Libraries
|
||
BuildArch: noarch
|
||
|
||
%description doc
|
||
Contains additional documentation for the Open vSwitch
|
||
|
||
%package devel
|
||
Summary: Development files for Open vSwitch
|
||
License: Apache-2.0
|
||
Group: Development/Libraries/C and C++
|
||
Requires: %{lname} = %{version}
|
||
Provides: %{name}-dpdk-devel = %{version}
|
||
Obsoletes: %{name}-dpdk-devel < 2.7.0
|
||
|
||
%description devel
|
||
Devel libraries and headers for Open vSwitch.
|
||
|
||
%package ovn-central
|
||
Summary: Open Virtual Network support for Open vSwitch
|
||
License: Apache-2.0
|
||
Group: Productivity/Networking/System
|
||
Requires: %{name} = %{version}
|
||
Requires: %{name}-ovn-common
|
||
# openvswitch-ovn has been split into openvswitch-ovn-{central,common,docker,host,vtep}
|
||
Provides: %{name}-dpdk-ovn:%{_bindir}/ovn-northd
|
||
Provides: %{name}-ovn:%{_bindir}/ovn-northd
|
||
|
||
%description ovn-central
|
||
OVN, the Open Virtual Network, is a system to support virtual network
|
||
abstraction. OVN complements the existing capabilities of OVS to add
|
||
native support for virtual network abstractions, such as virtual L2 and L3
|
||
overlays and security groups.
|
||
|
||
%package ovn-host
|
||
Summary: Open Virtual Network support for Open vSwitch
|
||
License: Apache-2.0
|
||
Group: Productivity/Networking/System
|
||
Requires: %{name} = %{version}
|
||
Requires: %{name}-ovn-common
|
||
# openvswitch-ovn has been split into openvswitch-ovn-{central,common,docker,host,vtep}
|
||
Provides: %{name}-dpdk-ovn:%{_bindir}/ovn-controller
|
||
Provides: %{name}-ovn:%{_bindir}/ovn-controller
|
||
|
||
%description ovn-host
|
||
This subpackage contains the OVN host controller.
|
||
|
||
%package ovn-vtep
|
||
Summary: Open Virtual Network VTEP controller for Open vSwitch
|
||
License: Apache-2.0
|
||
Group: Productivity/Networking/System
|
||
Requires: %{name} = %{version}
|
||
Requires: %{name}-ovn-common
|
||
# openvswitch-ovn has been split into openvswitch-ovn-{central,common,docker,host,vtep}
|
||
Provides: %{name}-dpdk-ovn:%{_bindir}/ovn-controller-vtep
|
||
Provides: %{name}-ovn:%{_bindir}/ovn-controller-vtep
|
||
|
||
%description ovn-vtep
|
||
This subpackage contains the OVN VTEP (VXLAN Tunnel Endpoint) controller.
|
||
|
||
%package ovn-common
|
||
Summary: Open Virtual Network diagnostic utilities
|
||
License: Apache-2.0
|
||
Group: Productivity/Networking/System
|
||
Requires: %{name} = %{version}
|
||
# openvswitch-ovn has been split into openvswitch-ovn-{central,common,docker,host,vtep}
|
||
Provides: %{name}-dpdk-ovn = %{version}
|
||
Provides: %{name}-ovn = %{version}
|
||
Obsoletes: %{name}-dpdk-ovn < 2.7.0
|
||
Obsoletes: %{name}-ovn < 2.7.0
|
||
|
||
%description ovn-common
|
||
Utilities that are used to diagnose and manage the OVN components.
|
||
|
||
%package ovn-docker
|
||
Summary: Docker network plugins for OVN
|
||
License: Apache-2.0
|
||
Group: Productivity/Networking/System
|
||
Requires: %{name} = %{version}
|
||
Requires: %{name}-ovn-common = %{version}
|
||
Requires: python-openvswitch = %{version}
|
||
# openvswitch-ovn has been split into openvswitch-ovn-{central,common,docker,host,vtep}
|
||
Provides: %{name}-dpdk-ovn:%{_bindir}/ovn-docker-overlay-driver
|
||
Provides: %{name}-ovn:%{_bindir}/ovn-docker-overlay-driver
|
||
|
||
%description ovn-docker
|
||
Docker network plugins for OVN.
|
||
|
||
%package pki
|
||
Summary: Open vSwitch public key infrastructure dependency package
|
||
License: Apache-2.0
|
||
Group: Productivity/Networking/System
|
||
Requires: %{name} = %{version}
|
||
Provides: %{name}-dpdk-pki = %{version}
|
||
Obsoletes: %{name}-dpdk-pki < 2.7.0
|
||
|
||
%description pki
|
||
openvswitch-pki provides PKI (public key infrastructure) support for
|
||
Open vSwitch switches and controllers, reducing the risk of
|
||
man-in-the-middle attacks on the Open vSwitch network infrastructure.
|
||
|
||
Open vSwitch is a full-featured software-based Ethernet switch.
|
||
|
||
%package vtep
|
||
Summary: Open vSwitch VTEP emulator
|
||
License: Apache-2.0
|
||
Group: Productivity/Networking/System
|
||
Requires: %{name} = %{version}
|
||
Requires: %{name}-switch = %{version}
|
||
# Since openvswitch/scripts/ovs-vtep requires various ovs python modules.
|
||
Requires: python-openvswitch = %{version}
|
||
Provides: %{name}-dpdk-vtep = %{version}
|
||
Obsoletes: %{name}-dpdk-vtep < 2.7.0
|
||
|
||
%description vtep
|
||
A VTEP (VXLAN Tunnel EndPoint) emulator that uses Open vSwitch for
|
||
forwarding.
|
||
|
||
Open vSwitch is a full-featured software-based Ethernet switch.
|
||
|
||
%package -n python2-openvswitch
|
||
Summary: Python2 bindings for Open vSwitch
|
||
License: Apache-2.0
|
||
Group: Productivity/Networking/System
|
||
Requires: openvswitch-common = %{version}
|
||
Requires: python3
|
||
Requires: python3-six
|
||
Provides: python-openvswitch = %{version}
|
||
Obsoletes: python-openvswitch < 2.8.1
|
||
BuildArch: noarch
|
||
|
||
%description -n python2-openvswitch
|
||
This package contains the Python2 bindings for Open vSwitch database.
|
||
|
||
%package -n python2-openvswitch-test
|
||
Summary: Python2 bindings for Open vSwitch
|
||
License: Apache-2.0
|
||
Group: Productivity/Networking/System
|
||
Requires: openvswitch-common = %{version}
|
||
Requires: python2
|
||
Requires: python2-openvswitch = %{version}
|
||
Requires: python2-twisted
|
||
Provides: python-openvswitch-test = %{version}
|
||
Obsoletes: python-openvswitch-test < 2.8.1
|
||
BuildArch: noarch
|
||
|
||
%description -n python2-openvswitch-test
|
||
This package contains the Python bindings for Open vSwitch database.
|
||
|
||
%package -n python3-openvswitch
|
||
Summary: Python3 bindings for Open vSwitch
|
||
License: Apache-2.0
|
||
Group: Productivity/Networking/System
|
||
Requires: openvswitch-common = %{version}
|
||
Requires: python3
|
||
Requires: python3-six
|
||
BuildArch: noarch
|
||
|
||
%description -n python3-openvswitch
|
||
This package contains the Python3 bindings for Open vSwitch database.
|
||
|
||
%package -n python3-openvswitch-test
|
||
Summary: Python3 bindings for Open vSwitch
|
||
License: Apache-2.0
|
||
Group: Productivity/Networking/System
|
||
Requires: openvswitch-common = %{version}
|
||
Requires: python3
|
||
Requires: python3-openvswitch = %{version}
|
||
Requires: python3-twisted
|
||
BuildArch: noarch
|
||
|
||
%description -n python3-openvswitch-test
|
||
This package contains the Python3 bindings for Open vSwitch database.
|
||
|
||
%package test
|
||
Summary: Open vSwitch test package
|
||
License: Apache-2.0
|
||
Group: Productivity/Networking/System
|
||
Requires: %{name} = %{version}
|
||
Requires: python3-openvswitch-test = %{version}
|
||
Provides: %{name}-dpdk-test = %{version}
|
||
Obsoletes: %{name}-dpdk-test < 2.7.0
|
||
|
||
%description test
|
||
Open vSwitch is a software-based Ethernet switch.
|
||
|
||
This package contains utilities that are useful to diagnose
|
||
performance and connectivity issues in Open vSwitch setup.
|
||
|
||
%prep
|
||
%setup -q -n openvswitch-%{version}
|
||
%patch99 -p1
|
||
|
||
%build
|
||
set -- * .travis* .mailmap
|
||
mkdir source
|
||
mv "$@" source/
|
||
mkdir obj
|
||
|
||
pushd source
|
||
# only call boot.sh for distros with autoconf >= 2.64
|
||
bash -x boot.sh
|
||
popd
|
||
%if %{with kmp}
|
||
export EXTRA_CFLAGS='-DVERSION=\"%{version}\"'
|
||
for flavor in %{flavors_to_build}; do
|
||
rm -rf obj/$flavor
|
||
cp -r source obj/$flavor
|
||
cp -a %{SOURCE89} obj/$flavor/datapath/linux/Module.supported
|
||
pushd obj/$flavor
|
||
%configure \
|
||
--with-logdir=%{_localstatedir}/log/openvswitch \
|
||
--with-linux=%{_prefix}/src/linux-obj/%{_target_cpu}/$flavor \
|
||
--with-linux-source=%{_prefix}/src/linux
|
||
cd datapath/linux
|
||
make %{?_smp_mflags}
|
||
popd
|
||
done
|
||
%endif
|
||
|
||
pushd source
|
||
|
||
%if %{with dpdk}
|
||
dpdk_opt="--with-dpdk"
|
||
%endif
|
||
|
||
%{_bindir}/perl build-aux/dpdkstrip.pl \
|
||
%if %{with dpdk}
|
||
--dpdk \
|
||
%else
|
||
--nodpdk \
|
||
%endif
|
||
< rhel/usr_lib_systemd_system_ovs-vswitchd.service.in \
|
||
> rhel/usr_lib_systemd_system_ovs-vswitchd.service
|
||
|
||
%configure \
|
||
--disable-static \
|
||
--enable-libcapng \
|
||
--enable-shared \
|
||
--enable-ssl \
|
||
${dpdk_opt} \
|
||
--with-logdir=%{_localstatedir}/log/openvswitch
|
||
make %{?_smp_mflags}
|
||
popd
|
||
|
||
%check
|
||
%if %{with check}
|
||
pushd source
|
||
# Recheck tests before we declare them broken. If that fails, dump
|
||
# the log and exit. >2.5.0 uses the RECHECK env variable so this
|
||
# needs to be taken into consideration for future releases.
|
||
if ! make check TESTSUITEFLAGS="%{?_smp_mflags}" &&
|
||
! make check TESTSUITEFLAGS='--recheck'; then
|
||
cat tests/testsuite.log
|
||
exit 1
|
||
fi
|
||
popd
|
||
%endif
|
||
|
||
%install
|
||
%if %{with kmp}
|
||
export NO_BRP_STALE_LINK_ERROR=yes
|
||
export INSTALL_MOD_PATH=%{buildroot}
|
||
export INSTALL_MOD_DIR=updates
|
||
export BRP_PESIGN_FILES="*.ko /lib/firmware"
|
||
for flavor in %{flavors_to_build}; do
|
||
pushd obj/$flavor/datapath/linux
|
||
make -C %{_prefix}/src/linux-obj/%{_target_cpu}/$flavor modules_install M=$PWD
|
||
popd
|
||
done
|
||
%endif
|
||
|
||
pushd source
|
||
|
||
%make_install
|
||
|
||
for service in openvswitch ovn-controller ovn-controller-vtep \
|
||
ovn-northd ovsdb-server ovs-vswitchd; do
|
||
install -D -m 644 rhel/usr_lib_systemd_system_${service}.service \
|
||
%{buildroot}%{_unitdir}/${service}.service
|
||
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc${service}
|
||
done
|
||
|
||
%if %{with dpdk}
|
||
install -p -D -m 0644 rhel/usr_lib_udev_rules.d_91-vfio.rules \
|
||
%{buildroot}%{_prefix}/lib/udev/rules.d/91-vfio.rules
|
||
%endif
|
||
|
||
install -D -m 644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
|
||
%{buildroot}%{_fillupdir}/sysconfig.openvswitch
|
||
|
||
install -d -m 755 %{buildroot}%{_sysconfdir}/logrotate.d
|
||
install -d -m 755 %{buildroot}%{_localstatedir}/log/openvswitch
|
||
|
||
install -p -D -m 0644 rhel/etc_openvswitch_default.conf \
|
||
%{buildroot}/%{_sysconfdir}/openvswitch/default.conf
|
||
install -m 644 rhel/etc_logrotate.d_openvswitch \
|
||
%{buildroot}%{_sysconfdir}/logrotate.d/openvswitch
|
||
install -d -m 755 %{buildroot}%{_sysconfdir}/profile.d
|
||
|
||
install -m 644 vswitchd/vswitch.ovsschema \
|
||
%{buildroot}%{_datadir}/openvswitch/vswitch.ovsschema
|
||
|
||
# firewalld
|
||
install -d %{buildroot}%{_prefix}/lib/firewalld/services/
|
||
install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-central-firewall-service.xml \
|
||
%{buildroot}%{_prefix}/lib/firewalld/services/ovn-central-firewall-service.xml
|
||
install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-host-firewall-service.xml \
|
||
%{buildroot}%{_prefix}/lib/firewalld/services/ovn-host-firewall-service.xml
|
||
|
||
# Copy documentation.
|
||
mkdir -p %{buildroot}%{_docdir}/%{name}
|
||
cp -r Documentation/* %{buildroot}%{_docdir}/%{name}
|
||
find %{buildroot}%{_docdir}/%{name}/ -type f ! -name '*.rst' -delete
|
||
|
||
# DPDK migration script
|
||
install -m 755 utilities/ovs-dpdk-migrate-2.6.sh %{buildroot}/%{_datadir}/openvswitch/scripts/
|
||
|
||
popd
|
||
|
||
# python2
|
||
mkdir -p %{buildroot}%{python2_sitelib}
|
||
cp -a %{buildroot}%{_datadir}/openvswitch/python/* %{buildroot}%{python2_sitelib}
|
||
# Build the byte compiled files
|
||
%py_compile %{buildroot}%{python2_sitelib}
|
||
%fdupes %{buildroot}%{python2_sitelib}
|
||
|
||
# python3
|
||
mkdir -p %{buildroot}%{python3_sitelib}
|
||
cp -a %{buildroot}%{_datadir}/openvswitch/python/* %{buildroot}%{python3_sitelib}
|
||
# Build the byte compiled files
|
||
%py3_compile %{buildroot}%{python3_sitelib}
|
||
%fdupes %{buildroot}%{python3_sitelib}
|
||
|
||
rm -rf %{buildroot}%{_datadir}/openvswitch/python
|
||
|
||
find %{buildroot} -type f -name "*.la" -delete -print
|
||
|
||
%post
|
||
/sbin/ldconfig
|
||
%{fillup_only -n openvswitch}
|
||
if grep -q ^DPDK_OPTIONS= %{_sysconfdir}/sysconfig/openvswitch &> /dev/null; then
|
||
cat >> %{_localstatedir}/adm/update-messages/%{name}-%{version}-%{release}-something << EOF
|
||
WARNING! DPDK options are now part of the Open vSwitch database. Please see
|
||
https://github.com/openvswitch/ovs/blob/branch-2.7/Documentation/intro/install/dpdk.rst
|
||
|
||
The Open vSwitch systemd service will try to migrate your %{_sysconfdir}/sysconfig/openvswitch
|
||
DPDK settings to the OvS database the next time it's restarted but you should check the result
|
||
using 'ovs-vsctl list Open_vSwitch' or something similar.
|
||
|
||
Please remember to remove the DPDK_OPTIONS variable from %{_sysconfdir}/sysconfig/openvswitch
|
||
to avoid seeing this warning again.
|
||
EOF
|
||
fi
|
||
|
||
if [ $1 -eq 1 ]; then
|
||
getent passwd openvswitch >/dev/null || \
|
||
useradd -r -d / -s /sbin/nologin -U -c "Open vSwitch Daemons" openvswitch
|
||
sed -i 's:^#OVS_USER_ID=:OVS_USER_ID=:' %{_sysconfdir}/sysconfig/openvswitch
|
||
|
||
%if %{with dpdk}
|
||
getent group hugetlbfs >/dev/null || \
|
||
groupadd hugetlbfs
|
||
usermod -a -G hugetlbfs openvswitch
|
||
sed -i \
|
||
's@OVS_USER_ID="openvswitch:openvswitch"@OVS_USER_ID="openvswitch:hugetlbfs"@'\
|
||
%{_sysconfdir}/sysconfig/openvswitch
|
||
%endif
|
||
# In the case of upgrade, this is not needed
|
||
chown -R openvswitch:openvswitch %{_sysconfdir}/openvswitch
|
||
fi
|
||
|
||
%service_add_post ovsdb-server.service
|
||
%service_add_post ovs-vswitchd.service
|
||
%service_add_post openvswitch.service
|
||
|
||
%postun
|
||
/sbin/ldconfig
|
||
# Do not restart the openvswitch service on package updates.
|
||
# Restarting the service may break the existing network state.
|
||
# For example, openflow rules are not automatically re-installed
|
||
# after an OvS update if no SDN controller is used. Moreover, restaring
|
||
# the OvS can break remote administration during the update so let the
|
||
# admin decide when it's the best time for an OvS restart.
|
||
# 5771f476573445710834234a6a9f7bd999a027e7 ("fedora: do not restart the service on a pkg upgrade")
|
||
export DISABLE_RESTART_ON_UPDATE=yes
|
||
%service_del_postun ovsdb-server.service
|
||
%service_del_postun ovs-vswitchd.service
|
||
%service_del_postun openvswitch.service
|
||
|
||
%pre
|
||
# This prevents networking breakages on package removals
|
||
export DISABLE_STOP_ON_REMOVAL=yes
|
||
%service_add_pre ovsdb-server.service
|
||
%service_add_pre ovs-vswitchd.service
|
||
%service_add_pre openvswitch.service
|
||
|
||
%preun
|
||
%service_del_preun ovsdb-server.service
|
||
%service_del_preun ovs-vswitchd.service
|
||
%service_del_preun openvswitch.service
|
||
|
||
%post -n %{lname} -p /sbin/ldconfig
|
||
%postun -n %{lname} -p /sbin/ldconfig
|
||
%pre ovn-central
|
||
%service_add_pre ovn-northd.service
|
||
|
||
%pre ovn-host
|
||
%service_add_pre ovn-controller.service
|
||
|
||
%pre ovn-vtep
|
||
%service_add_pre ovn-controller-vtep.service
|
||
|
||
%post ovn-central
|
||
%service_add_post ovn-northd.service
|
||
|
||
%post ovn-host
|
||
%service_add_post ovn-controller.service
|
||
|
||
%post ovn-vtep
|
||
%service_add_post ovn-controller-vtep.service
|
||
|
||
%preun ovn-central
|
||
%service_del_preun ovn-northd.service
|
||
|
||
%preun ovn-host
|
||
%service_del_preun ovn-controller.service
|
||
|
||
%preun ovn-vtep
|
||
%service_del_preun ovn-controller-vtep.service
|
||
|
||
%postun ovn-central
|
||
# 44dd4cc49c8a4f9413baa822f111686fd8964160 ("fedora: do not restart ovn svcs
|
||
# automatically on pkg upgrade")
|
||
export DISABLE_RESTART_ON_UPDATE=yes
|
||
%service_del_postun ovn-northd.service
|
||
|
||
%postun ovn-host
|
||
# 44dd4cc49c8a4f9413baa822f111686fd8964160 ("fedora: do not restart ovn svcs
|
||
# automatically on pkg upgrade")
|
||
export DISABLE_RESTART_ON_UPDATE=yes
|
||
%service_del_postun ovn-controller.service
|
||
|
||
%postun ovn-vtep
|
||
# 44dd4cc49c8a4f9413baa822f111686fd8964160 ("fedora: do not restart ovn svcs
|
||
# automatically on pkg upgrade")
|
||
export DISABLE_RESTART_ON_UPDATE=yes
|
||
%service_del_postun ovn-controller-vtep.service
|
||
|
||
%preun test
|
||
%stop_on_removal openvswitch-testcontroller
|
||
|
||
%postun test
|
||
%restart_on_update openvswitch-testcontroller
|
||
|
||
%post vtep -p /sbin/ldconfig
|
||
%postun vtep -p /sbin/ldconfig
|
||
|
||
%files
|
||
%{_bindir}/ovs-appctl
|
||
%{_bindir}/ovs-docker
|
||
%{_bindir}/ovs-dpctl
|
||
%{_bindir}/ovs-dpctl-top
|
||
%{_bindir}/ovs-ofctl
|
||
%{_bindir}/ovs-parse-backtrace
|
||
%{_bindir}/ovs-vsctl
|
||
%{_bindir}/ovsdb-client
|
||
%{_bindir}/ovsdb-tool
|
||
%{_sbindir}/ovs-bugtool
|
||
%{_sbindir}/ovs-vlan-bug-workaround
|
||
%{_sbindir}/ovs-vswitchd
|
||
%{_sbindir}/ovsdb-server
|
||
%dir %{_datadir}/openvswitch
|
||
%dir %{_datadir}/openvswitch/scripts
|
||
%{_datadir}/openvswitch/bugtool-plugins
|
||
%{_datadir}/openvswitch/scripts/ovs-bugtool-*
|
||
%{_datadir}/openvswitch/scripts/ovs-check-dead-ifs
|
||
%{_datadir}/openvswitch/scripts/ovs-ctl
|
||
%{_datadir}/openvswitch/scripts/ovs-lib
|
||
%{_datadir}/openvswitch/scripts/ovs-save
|
||
%{_datadir}/openvswitch/scripts/ovs-dpdk-migrate-2.6.sh
|
||
%{_datadir}/openvswitch/vswitch.ovsschema
|
||
%{_mandir}/man1/ovsdb-client.1%{ext_man}
|
||
%{_mandir}/man1/ovsdb-server.1%{ext_man}
|
||
%{_mandir}/man1/ovsdb-tool.1%{ext_man}
|
||
%{_mandir}/man5/ovs-vswitchd.conf.db.5%{ext_man}
|
||
%{_mandir}/man7/ovs-fields.7%{ext_man}
|
||
%{_mandir}/man8/ovs-appctl.8%{ext_man}
|
||
%{_mandir}/man8/ovs-bugtool.8%{ext_man}
|
||
%{_mandir}/man8/ovs-ctl.8%{ext_man}
|
||
%{_mandir}/man8/ovs-dpctl-top.8%{ext_man}
|
||
%{_mandir}/man8/ovs-dpctl.8%{ext_man}
|
||
%{_mandir}/man8/ovs-ofctl.8%{ext_man}
|
||
%{_mandir}/man8/ovs-vlan-bug-workaround.8%{ext_man}
|
||
%{_mandir}/man8/ovs-parse-backtrace.8%{ext_man}
|
||
%{_mandir}/man8/ovs-vsctl.8%{ext_man}
|
||
%{_mandir}/man8/ovs-vswitchd.8%{ext_man}
|
||
%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
|
||
%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
|
||
%dir %{_sysconfdir}/openvswitch
|
||
%config(noreplace) %{_sysconfdir}/openvswitch/default.conf
|
||
%config %ghost %{_sysconfdir}/openvswitch/conf.db
|
||
%config %ghost %{_sysconfdir}/openvswitch/system-id.conf
|
||
%config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch
|
||
%{_sbindir}/rcovsdb-server
|
||
%{_sbindir}/rcovs-vswitchd
|
||
%{_sbindir}/rcopenvswitch
|
||
%{_unitdir}/openvswitch.service
|
||
%{_unitdir}/ovs-vswitchd.service
|
||
%{_unitdir}/ovsdb-server.service
|
||
%{_fillupdir}/sysconfig.openvswitch
|
||
%dir %{_localstatedir}/log/openvswitch
|
||
%if %{with dpdk}
|
||
%{_prefix}/lib/udev/rules.d/91-vfio.rules
|
||
%endif
|
||
|
||
%files doc
|
||
%exclude %{_docdir}/%{name}/AUTHORS.rst
|
||
%exclude %{_docdir}/%{name}/CONTRIBUTING.rst
|
||
%exclude %{_docdir}/%{name}/COPYING
|
||
%exclude %{_docdir}/%{name}/NEWS
|
||
%exclude %{_docdir}/%{name}/NOTICE
|
||
%exclude %{_docdir}/%{name}/README.rst
|
||
%{_docdir}/%{name}/
|
||
|
||
%files -n %{lname}
|
||
%{_libdir}/libofproto-2*.so.*
|
||
%{_libdir}/libopenvswitch-2*.so.*
|
||
%{_libdir}/libovsdb-2*.so.*
|
||
%{_libdir}/libsflow-2*.so.*
|
||
%{_libdir}/libovn-2*.so.*
|
||
%{_libdir}/libvtep-2*.so.*
|
||
|
||
%files pki
|
||
%{_mandir}/man8/ovs-pki.8%{ext_man}
|
||
%{_bindir}/ovs-pki
|
||
|
||
%files vtep
|
||
%{_bindir}/vtep-ctl
|
||
%{_mandir}/man5/vtep.5%{ext_man}
|
||
%{_mandir}/man8/vtep-ctl.8%{ext_man}
|
||
%{_datadir}/openvswitch/scripts/ovs-vtep
|
||
%{_datadir}/openvswitch/vtep.ovsschema
|
||
|
||
%files -n python2-openvswitch
|
||
%{python2_sitelib}/ovs/
|
||
|
||
%files -n python2-openvswitch-test
|
||
%{python2_sitelib}/ovstest/
|
||
|
||
%files -n python3-openvswitch
|
||
%{python3_sitelib}/ovs/
|
||
|
||
%files -n python3-openvswitch-test
|
||
%{python3_sitelib}/ovstest/
|
||
|
||
%files ovn-docker
|
||
%{_bindir}/ovn-docker-overlay-driver
|
||
%{_bindir}/ovn-docker-underlay-driver
|
||
|
||
%files ovn-common
|
||
%{_bindir}/ovn-nbctl
|
||
%{_bindir}/ovn-sbctl
|
||
%{_bindir}/ovn-trace
|
||
%{_bindir}/ovn-detrace
|
||
%{_datadir}/openvswitch/scripts/ovn-ctl
|
||
%{_datadir}/openvswitch/scripts/ovndb-servers.ocf
|
||
%{_datadir}/openvswitch/scripts/ovn-bugtool-nbctl-show
|
||
%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-lflow-list
|
||
%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-show
|
||
%{_mandir}/man5/ovn-nb.5%{ext_man}
|
||
%{_mandir}/man5/ovn-sb.5%{ext_man}
|
||
%{_mandir}/man1/ovn-detrace.1*
|
||
%{_mandir}/man7/ovn-architecture.7%{ext_man}
|
||
%{_mandir}/man8/ovn-ctl.8%{ext_man}
|
||
%{_mandir}/man8/ovn-nbctl.8%{ext_man}
|
||
%{_mandir}/man8/ovn-trace.8%{ext_man}
|
||
%{_mandir}/man8/ovn-sbctl.8%{ext_man}
|
||
|
||
%files ovn-central
|
||
%dir %{_libexecdir}/firewalld
|
||
%dir %{_libexecdir}/firewalld/services
|
||
%{_bindir}/ovn-northd
|
||
%{_mandir}/man8/ovn-northd.8%{ext_man}
|
||
%{_datadir}/openvswitch/ovn-nb.ovsschema
|
||
%{_datadir}/openvswitch/ovn-sb.ovsschema
|
||
%{_unitdir}/ovn-northd.service
|
||
%{_sbindir}/rcovn-northd
|
||
%{_prefix}/lib/firewalld/services/ovn-central-firewall-service.xml
|
||
|
||
%files ovn-host
|
||
%dir %{_libexecdir}/firewalld
|
||
%dir %{_libexecdir}/firewalld/services
|
||
%{_bindir}/ovn-controller
|
||
%{_mandir}/man8/ovn-controller.8%{ext_man}
|
||
%{_unitdir}/ovn-controller.service
|
||
%{_sbindir}/rcovn-controller
|
||
%{_prefix}/lib/firewalld/services/ovn-host-firewall-service.xml
|
||
|
||
%files ovn-vtep
|
||
%{_bindir}/ovn-controller-vtep
|
||
%{_mandir}/man8/ovn-controller-vtep.8%{ext_man}
|
||
%{_unitdir}/ovn-controller-vtep.service
|
||
%{_sbindir}/rcovn-controller-vtep
|
||
|
||
%files test
|
||
%{_bindir}/ovs-l3ping
|
||
%{_bindir}/ovs-pcap
|
||
%{_bindir}/ovs-test
|
||
%{_bindir}/ovs-testcontroller
|
||
%{_bindir}/ovs-tcpdump
|
||
%{_bindir}/ovs-tcpundump
|
||
%{_bindir}/ovs-vlan-test
|
||
%{_mandir}/man1/ovs-pcap.1%{ext_man}
|
||
%{_mandir}/man1/ovs-tcpundump.1%{ext_man}
|
||
%{_mandir}/man8/ovs-l3ping.8%{ext_man}
|
||
%{_mandir}/man8/ovs-tcpdump.8%{ext_man}
|
||
%{_mandir}/man8/ovs-testcontroller.8%{ext_man}
|
||
|
||
%files devel
|
||
%{_libdir}/libofproto.so
|
||
%{_libdir}/libopenvswitch.so
|
||
%{_libdir}/libovn.so
|
||
%{_libdir}/libovsdb.so
|
||
%{_libdir}/libsflow.so
|
||
%{_libdir}/libvtep.so
|
||
%{_includedir}/openflow/
|
||
%{_includedir}/ovn/
|
||
%{_includedir}/openvswitch/
|
||
%{_libdir}/pkgconfig/*.pc
|
||
|
||
%changelog
|