@@ -29,10 +29,12 @@
# The testsuite is somewhat fragile for continuous testing in OBS
# but keep it here as an option
%bcond_with check
%define lname libopenvswitch-2_7-1
Name : openvswitch
Version : 2.7.0
Version : 2.7.2
Release : 0
Summary : An open source, production quality, multilayer virtual switch
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
@@ -42,10 +44,6 @@ Url: http://openvswitch.org/
Source0 : http://openvswitch.org/releases/openvswitch-%{version} .tar.gz
Source1 : preamble
Source89 : Module.supported.updates
# PATCh-FIX-UPSTREAM 0001-ofp-util-Fix-buffer-overread-in-ofputil_pull_queue_g.patch
# Upstream fix (present in 2.7 branch) to fix CVE-2017-9214
# See https://nvd.nist.gov/vuln/detail/CVE-2017-9214
Patch1 : 0001-ofp-util-Fix-buffer-overread-in-ofputil_pull_queue_g.patch
Patch99 : 0001-utilities-Add-script-to-support-DPDK-option-migratio.patch
BuildRequires : autoconf
BuildRequires : automake
@@ -100,12 +98,12 @@ BuildRequires: libpcap-devel
%endif
%description
Open vSwitch is a production quality, multilayer virtual switch licensed under
the open source Apache 2.0 license. It is designed to enable massive network automation
through programmatic extension, while still supporting standard management interfaces
and protocols (e.g. NetFlow, sFlow, RSPAN, ERSPAN, CLI, LACP, 802.1ag). In addition,
it is designed to support distribution across multiple physical servers similar to
VMware’ s vNetwork distributed vswitch or Cisco’ s Nexus 1000V.
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
@@ -119,11 +117,19 @@ BuildRequires: %{kernel_module_package_buildreqs}
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 devel
Summary : Op en vSwitch Devel Libraries
Summary : Developm ent files for Open vSwitch
License : Apache-2.0
Group : Development/Libraries/C and C++
Requires : %{name} = %{version}
Requires : %{l name} = %{version}
Provides : %{name} -dpdk-devel = %{version}
Obsoletes : %{name} -dpdk-devel < %{version}
@@ -131,7 +137,7 @@ Obsoletes: %{name}-dpdk-devel < %{version}
Devel libraries and headers for Open vSwitch.
%package ovn-central
Summary : Open vSwitch - Open Virtual Network support
Summary : Open Virtual Network support for Open vSwitch
License : Apache-2.0
Group : Productivity/Networking/System
Requires : %{name} = %{version}
@@ -147,7 +153,7 @@ native support for virtual network abstractions, such as virtual L2 and L3
overlays and security groups.
%package ovn-host
Summary : Open vSwitch - Open Virtual Network support
Summary : Open Virtual Network support for Open vSwitch
License : Apache-2.0
Group : Productivity/Networking/System
Requires : %{name} = %{version}
@@ -157,13 +163,10 @@ Provides: %{name}-dpdk-ovn:%{_bindir}/ovn-controller
Provides : %{name} -ovn:%{_bindir} /ovn-controller
%description ovn-host
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.
This subpackage contains the OVN host controller.
%package ovn-vtep
Summary : Open vSwitch - Open Virtual Network support
Summary : Open Virtual Network VTEP controller for Open vSwitch
License : Apache-2.0
Group : Productivity/Networking/System
Requires : %{name} = %{version}
@@ -173,10 +176,10 @@ Provides: %{name}-dpdk-ovn:%{_bindir}/ovn-controller-vtep
Provides : %{name} -ovn:%{_bindir} /ovn-controller-vtep
%description ovn-vtep
OVN vtep controller
This subpackage contains the OVN VTEP (VXLAN Tunnel Endpoint) controller.
%package ovn-common
Summary : Open vSwitch - Open Virtual Network support
Summary : Open Virtual Network diagnostic utilities
License : Apache-2.0
Group : Productivity/Networking/System
Requires : %{name} = %{version}
@@ -190,7 +193,7 @@ Obsoletes: %{name}-ovn < %{version}
Utilities that are used to diagnose and manage the OVN components.
%package ovn-docker
Summary : Open vSwitch - Open Virtual Netw ork support
Summary : Docker network plugins f or OVN
License : Apache-2.0
Group : Productivity/Networking/System
Requires : %{name} = %{version}
@@ -244,7 +247,7 @@ Requires: python
Requires : python-six
%description -n python-openvswitch
This package contains the full Python bindings for Open vSwitch database.
This package contains the Python bindings for Open vSwitch database.
%package -n python-openvswitch-test
Summary : Python bindings for Open vSwitch
@@ -256,7 +259,7 @@ Requires: python-openvswitch = %{version}
Requires : python-twisted
%description -n python-openvswitch-test
This package contains the full Python bindings for Open vSwitch database.
This package contains the Python bindings for Open vSwitch database.
%package test
Summary : Open vSwitch test package
@@ -271,14 +274,13 @@ Provides: %{name}-dpdk-test = %{version}
Obsoletes : %{name} -dpdk-test < %{version}
%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.
Open vSwitch is a full-featured software-based Ethernet switch.
%prep
%setup -q -n openvswitch-%{version}
%patch1 -p1
%patch99 -p1
%build
@@ -330,9 +332,8 @@ 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 :;
else
if ! make check TESTSUITEFLAGS=" %{?_smp_mflags} " &&
! make check TESTSUITEFLAGS='--recheck' ; then
cat tests/testsuite.log
exit 1
fi
@@ -427,8 +428,6 @@ fi
%postun
/sbin/ldconfig
%service_del_postun ovsdb-server.service
%service_del_postun ovs-vswitchd.service
# 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
@@ -437,9 +436,13 @@ fi
# 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
@@ -449,6 +452,9 @@ export DISABLE_RESTART_ON_UPDATE=yes
%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
@@ -477,12 +483,21 @@ export DISABLE_RESTART_ON_UPDATE=yes
%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
@@ -526,10 +541,6 @@ export DISABLE_RESTART_ON_UPDATE=yes
%{_datadir} /openvswitch/scripts/ovs-save
%{_datadir} /openvswitch/scripts/ovs-dpdk-migrate-2.6.sh
%{_datadir} /openvswitch/vswitch.ovsschema
%{_libdir} /libofproto-2.so.*
%{_libdir} /libopenvswitch-2.so.*
%{_libdir} /libovsdb-2.so.*
%{_libdir} /libsflow-2.so.*
%{_mandir} /man1/ovsdb-client.1%{ext_man}
%{_mandir} /man1/ovsdb-server.1%{ext_man}
%{_mandir} /man1/ovsdb-tool.1%{ext_man}
@@ -560,6 +571,15 @@ export DISABLE_RESTART_ON_UPDATE=yes
%{_localstatedir} /adm/fillup-templates/sysconfig.openvswitch
%dir %{_localstatedir} /log/openvswitch
%files -n %{lname}
%defattr (-,root,root)
%{_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
%defattr (-,root,root)
%{_mandir} /man8/ovs-pki.8%{ext_man}
@@ -572,7 +592,6 @@ export DISABLE_RESTART_ON_UPDATE=yes
%{_mandir} /man8/vtep-ctl.8%{ext_man}
%{_datadir} /openvswitch/scripts/ovs-vtep
%{_datadir} /openvswitch/vtep.ovsschema
%{_libdir} /libvtep-2.so.*
%files -n python-openvswitch
%defattr (-,root,root)
@@ -597,7 +616,6 @@ export DISABLE_RESTART_ON_UPDATE=yes
%{_datadir} /openvswitch/scripts/ovn-bugtool-nbctl-show
%{_datadir} /openvswitch/scripts/ovn-bugtool-sbctl-lflow-list
%{_datadir} /openvswitch/scripts/ovn-bugtool-sbctl-show
%{_libdir} /libovn-2.so.*
%{_mandir} /man5/ovn-nb.5%{ext_man}
%{_mandir} /man5/ovn-sb.5%{ext_man}
%{_mandir} /man7/ovn-architecture.7%{ext_man}