openvswitch/openvswitch.spec
Dirk Mueller 2aa52784e3 Accepting request 408658 from home:markoschandras:network
- Add missing licenses (bsc#988513)
- Misc spec file cleanups highlighted by the spec-cleaner tool.
- Allow aarch64 builds for openvswitch-dpdk
- Add missing bug references to 2.5.0 release.
old: network/openvswitch
new: home:markoschandras:network/openvswitch rev None
Index: openvswitch-dpdk.changes
===================================================================
--- openvswitch-dpdk.changes (revision 98)
+++ openvswitch-dpdk.changes (revision 46)
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Tue Jul 12 10:41:14 UTC 2016 - mchandras@suse.de
+
+- Add missing licenses (bsc#988513)
+- Misc spec file cleanups highlighted by the spec-cleaner tool.
+- Allow aarch64 builds for openvswitch-dpdk
+
+-------------------------------------------------------------------
 Mon Jul  4 12:08:06 UTC 2016 - mchandras@suse.de
 
 - Allow the OvS daemon to run as non-root (bsc#987545)
@@ -197,6 +204,8 @@
 - Added: ovn-northd.service
 - TODO: Explicit DPDK support not yet added to spec.
 - Spec file work and cleanup.
+- Includes fixes (or obsoletes) the following issues:
+  * bsc#948840, bsc#941466, bsc#936780, bnc#935750, bnc#867964
 
 -------------------------------------------------------------------
 Tue Mar  1 08:43:19 UTC 2016 - kmroz@suse.com
Index: openvswitch-dpdk.spec
===================================================================
--- openvswitch-dpdk.spec (revision 98)
+++ openvswitch-dpdk.spec (revision 46)
@@ -14,10 +14,9 @@
 
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
-
-
 # needssslcertforbuild
 
+
 # Disable building the external kernel datapath by default
 %bcond_with kmp
 # DPDK build disabled by default. It's enabled in the
@@ -26,14 +25,16 @@
 # The testsuite is somewhat fragile for continuous testing in OBS
 # but keep it here as an option
 %bcond_with check
-
 # Do NOT edit this auto generated file! Edit openvswitch.spec instead
 # and run 'pre_checkin.sh' before committing
 Name:           openvswitch-dpdk
 Version:        2.5.0
 Release:        0
 Summary:        An open source, production quality, multilayer virtual switch (DPDK)
-License:        Apache-2.0
+# 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
@@ -43,35 +44,26 @@
 Source89:       Module.supported.updates
 # PATCH-FIX-UPSTREAM openvswitch-2.5.0-detect-dpdk-installation.patch
 Patch0:         openvswitch-%{version}-detect-dpdk-installation.patch
-Patch1:         0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch 
+Patch1:         0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
-%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. OVS currently requires 2.2.0. We may have to
-# provide multiple versions of dpdk if OVS and DPDK get
-# out of sync too often.
-BuildRequires:  dpdk-devel = 2.2.0
-ExclusiveArch:  x86_64 %ix86
-%endif
 BuildRequires:  fdupes
 BuildRequires:  gcc
 BuildRequires:  glibc-devel
 BuildRequires:  graphviz
 BuildRequires:  libcap-ng-devel
-BuildRequires:  libopenssl-devel
 BuildRequires:  libtool
 BuildRequires:  make
 BuildRequires:  openssl
 BuildRequires:  perl
-BuildRequires:  pkg-config
+BuildRequires:  pkgconfig
 # Needed by the testsuite
 BuildRequires:  procps
 BuildRequires:  python-devel
 BuildRequires:  python-xml
+BuildRequires:  valgrind-devel
+BuildRequires:  pkgconfig(openssl)
 Requires:       logrotate
-Requires:       openssl
 Requires:       python
 Provides:       openvswitch-common = %{version}
 Obsoletes:      openvswitch-common < %{version}
@@ -79,10 +71,16 @@
 Obsoletes:      openvswitch-controller < %{version}
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %py_requires
-BuildRequires:  valgrind-devel
-# We can't have openvswitch and openvswitch-dpdk in parallel
 %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. OVS currently requires 2.2.0. We may have to
+# provide multiple versions of dpdk if OVS and DPDK get
+# out of sync too often.
+BuildRequires:  dpdk-devel = 2.2.0
+# We can't have openvswitch and openvswitch-dpdk in parallel
 Conflicts:      openvswitch
+ExclusiveArch:  aarch64 x86_64 %{ix86}
 %endif
 
 %description
@@ -131,15 +129,15 @@
 # ovs-ctl / ovs-pki use /usr/bin/uuidgen:
 Requires:       util-linux
 Requires(post): %fillup_prereq
+Suggests:       logrotate
 Provides:       openvswitch-any-switch = %{version}
+%{?systemd_requires}
 %if %{with dpdk}
 Conflicts:      openvswitch-switch
 %endif
-Suggests:       logrotate
 %if %{with kmp}
 Suggests:       openvswitch-kmp
 %endif
-%{?systemd_requires}
 
 %description switch
 openvswitch-switch provides the userspace components and utilities for
@@ -246,7 +244,7 @@
 Open vSwitch is a full-featured software-based Ethernet switch.
 
 %prep
-%setup -n openvswitch-%{version} -q
+%setup -q -n openvswitch-%{version}
 %patch0 -p1
 %patch1 -p1
 
@@ -290,6 +288,7 @@
         --disable-static \
         --enable-libcapng \
         --enable-shared \
+        --enable-ssl \
         ${dpdk_opt} \
         --with-logdir=%{_localstatedir}/log/openvswitch
 make %{?_smp_mflags}
@@ -301,7 +300,7 @@
 # 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}" ||
+if make check TESTSUITEFLAGS="%{?_smp_mflags}" ||
    make check TESTSUITEFLAGS='--recheck'; then :;
 else
     cat tests/testsuite.log
@@ -358,7 +357,7 @@
 mv %{buildroot}%{_datadir}/openvswitch/python/* %{buildroot}%{py_sitedir}
 rmdir %{buildroot}%{_datadir}/openvswitch/python
 
-rm -f %buildroot/%_libdir/*.la
+find %{buildroot} -type f -name "*.la" -delete -print
 
 # Remove unpackaged files for the dpdk case
 %if %{with dpdk}
@@ -438,26 +437,26 @@
 %{_libdir}/libopenvswitch.so.*
 %{_libdir}/libovsdb.so.*
 %{_libdir}/libsflow.so.*
-%{_mandir}/man1/ovs-benchmark.1.gz
-%{_mandir}/man1/ovsdb-client.1.gz
-%{_mandir}/man8/ovs-appctl.8.gz
-%{_mandir}/man8/ovs-bugtool.8.gz
-%{_mandir}/man8/ovs-ofctl.8.gz
-%{_mandir}/man8/ovs-vlan-bug-workaround.8.gz
-%{_mandir}/man8/ovs-parse-backtrace.8.gz
-%{_mandir}/man8/ovs-dpctl-top.8.gz
+%{_mandir}/man1/ovs-benchmark.1%{ext_man}
+%{_mandir}/man1/ovsdb-client.1%{ext_man}
+%{_mandir}/man8/ovs-appctl.8%{ext_man}
+%{_mandir}/man8/ovs-bugtool.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-dpctl-top.8%{ext_man}
 %{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
 
 %files pki
 %defattr(-,root,root)
-%{_mandir}/man8/ovs-pki.8.gz
+%{_mandir}/man8/ovs-pki.8%{ext_man}
 %{_bindir}/ovs-pki
 
 %files vtep
 %defattr(-,root,root)
 %{_bindir}/vtep-ctl
-%{_mandir}/man5/vtep.5.gz
-%{_mandir}/man8/vtep-ctl.8.gz
+%{_mandir}/man5/vtep.5%{ext_man}
+%{_mandir}/man8/vtep-ctl.8%{ext_man}
 %{_datadir}/openvswitch/scripts/ovs-vtep
 %{_datadir}/openvswitch/vtep.ovsschema
 %{_libdir}/libvtep.so.*
@@ -489,15 +488,15 @@
 %{_datadir}/openvswitch/vswitch.ovsschema
 %{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
 %config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch-switch
-%{_mandir}/man8/ovs-dpctl.8.gz
-%{_mandir}/man1/ovs-tcpundump.1.gz
-%{_mandir}/man1/ovs-pcap.1.gz
-%{_mandir}/man8/ovs-vsctl.8.gz
-%{_mandir}/man1/ovsdb-tool.1.gz
-%{_mandir}/man8/ovs-vswitchd.8.gz
-%{_mandir}/man1/ovsdb-server.1.gz
-%{_mandir}/man5/ovs-vswitchd.conf.db.5.gz
-%{_mandir}/man8/ovs-ctl.8.gz
+%{_mandir}/man8/ovs-dpctl.8%{ext_man}
+%{_mandir}/man1/ovs-tcpundump.1%{ext_man}
+%{_mandir}/man1/ovs-pcap.1%{ext_man}
+%{_mandir}/man8/ovs-vsctl.8%{ext_man}
+%{_mandir}/man1/ovsdb-tool.1%{ext_man}
+%{_mandir}/man8/ovs-vswitchd.8%{ext_man}
+%{_mandir}/man1/ovsdb-server.1%{ext_man}
+%{_mandir}/man5/ovs-vswitchd.conf.db.5%{ext_man}
+%{_mandir}/man8/ovs-ctl.8%{ext_man}
 %{_sbindir}/rcopenvswitch
 %{_unitdir}/openvswitch.service
 %{_localstatedir}/adm/fillup-templates/sysconfig.openvswitch
@@ -538,10 +537,10 @@
 %{_bindir}/ovs-l3ping
 %{_bindir}/ovs-vlan-test
 %{_bindir}/ovs-testcontroller
-%{_mandir}/man8/ovs-test.8.gz
-%{_mandir}/man8/ovs-l3ping.8.gz
-%{_mandir}/man8/ovs-vlan-test.8.gz
-%{_mandir}/man8/ovs-testcontroller.8.gz
+%{_mandir}/man8/ovs-test.8%{ext_man}
+%{_mandir}/man8/ovs-l3ping.8%{ext_man}
+%{_mandir}/man8/ovs-vlan-test.8%{ext_man}
+%{_mandir}/man8/ovs-testcontroller.8%{ext_man}
 
 %files devel
 %defattr(-,root,root)
Index: openvswitch.changes
===================================================================
--- openvswitch.changes (revision 98)
+++ openvswitch.changes (revision 46)
@@ -1,4 +1,11 @@
 -------------------------------------------------------------------
+Tue Jul 12 10:41:14 UTC 2016 - mchandras@suse.de
+
+- Add missing licenses (bsc#988513)
+- Misc spec file cleanups highlighted by the spec-cleaner tool.
+- Allow aarch64 builds for openvswitch-dpdk
+
+-------------------------------------------------------------------
 Mon Jul  4 12:08:06 UTC 2016 - mchandras@suse.de
 
 - Allow the OvS daemon to run as non-root (bsc#987545)
@@ -197,6 +204,8 @@
 - Added: ovn-northd.service
 - TODO: Explicit DPDK support not yet added to spec.
 - Spec file work and cleanup.
+- Includes fixes (or obsoletes) the following issues:
+  * bsc#948840, bsc#941466, bsc#936780, bnc#935750, bnc#867964
 
 -------------------------------------------------------------------
 Tue Mar  1 08:43:19 UTC 2016 - kmroz@suse.com
Index: openvswitch.spec
===================================================================
--- openvswitch.spec (revision 98)
+++ openvswitch.spec (revision 46)
@@ -14,10 +14,9 @@
 
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
-
-
 # needssslcertforbuild
 
+
 # Disable building the external kernel datapath by default
 %bcond_with kmp
 # DPDK build disabled by default. It's enabled in the
@@ -26,12 +25,14 @@
 # The testsuite is somewhat fragile for continuous testing in OBS
 # but keep it here as an option
 %bcond_with check
-
 Name:           openvswitch
 Version:        2.5.0
 Release:        0
 Summary:        An open source, production quality, multilayer virtual switch
-License:        Apache-2.0
+# 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
@@ -41,35 +42,26 @@
 Source89:       Module.supported.updates
 # PATCH-FIX-UPSTREAM openvswitch-2.5.0-detect-dpdk-installation.patch
 Patch0:         openvswitch-%{version}-detect-dpdk-installation.patch
-Patch1:         0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch 
+Patch1:         0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
-%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. OVS currently requires 2.2.0. We may have to
-# provide multiple versions of dpdk if OVS and DPDK get
-# out of sync too often.
-BuildRequires:  dpdk-devel = 2.2.0
-ExclusiveArch:  x86_64 %ix86
-%endif
 BuildRequires:  fdupes
 BuildRequires:  gcc
 BuildRequires:  glibc-devel
 BuildRequires:  graphviz
 BuildRequires:  libcap-ng-devel
-BuildRequires:  libopenssl-devel
 BuildRequires:  libtool
 BuildRequires:  make
 BuildRequires:  openssl
 BuildRequires:  perl
-BuildRequires:  pkg-config
+BuildRequires:  pkgconfig
 # Needed by the testsuite
 BuildRequires:  procps
 BuildRequires:  python-devel
 BuildRequires:  python-xml
+BuildRequires:  valgrind-devel
+BuildRequires:  pkgconfig(openssl)
 Requires:       logrotate
-Requires:       openssl
 Requires:       python
 Provides:       openvswitch-common = %{version}
 Obsoletes:      openvswitch-common < %{version}
@@ -77,10 +69,16 @@
 Obsoletes:      openvswitch-controller < %{version}
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %py_requires
-BuildRequires:  valgrind-devel
-# We can't have openvswitch and openvswitch-dpdk in parallel
 %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. OVS currently requires 2.2.0. We may have to
+# provide multiple versions of dpdk if OVS and DPDK get
+# out of sync too often.
+BuildRequires:  dpdk-devel = 2.2.0
+# We can't have openvswitch and openvswitch-dpdk in parallel
 Conflicts:      openvswitch
+ExclusiveArch:  aarch64 x86_64 %{ix86}
 %endif
 
 %description
@@ -129,15 +127,15 @@
 # ovs-ctl / ovs-pki use /usr/bin/uuidgen:
 Requires:       util-linux
 Requires(post): %fillup_prereq
+Suggests:       logrotate
 Provides:       openvswitch-any-switch = %{version}
+%{?systemd_requires}
 %if %{with dpdk}
 Conflicts:      openvswitch-switch
 %endif
-Suggests:       logrotate
 %if %{with kmp}
 Suggests:       openvswitch-kmp
 %endif
-%{?systemd_requires}
 
 %description switch
 openvswitch-switch provides the userspace components and utilities for
@@ -244,7 +242,7 @@
 Open vSwitch is a full-featured software-based Ethernet switch.
 
 %prep
-%setup -n openvswitch-%{version} -q
+%setup -q -n openvswitch-%{version}
 %patch0 -p1
 %patch1 -p1
 
@@ -288,6 +286,7 @@
         --disable-static \
         --enable-libcapng \
         --enable-shared \
+        --enable-ssl \
         ${dpdk_opt} \
         --with-logdir=%{_localstatedir}/log/openvswitch
 make %{?_smp_mflags}
@@ -299,7 +298,7 @@
 # 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}" ||
+if make check TESTSUITEFLAGS="%{?_smp_mflags}" ||
    make check TESTSUITEFLAGS='--recheck'; then :;
 else
     cat tests/testsuite.log
@@ -356,7 +355,7 @@
 mv %{buildroot}%{_datadir}/openvswitch/python/* %{buildroot}%{py_sitedir}
 rmdir %{buildroot}%{_datadir}/openvswitch/python
 
-rm -f %buildroot/%_libdir/*.la
+find %{buildroot} -type f -name "*.la" -delete -print
 
 # Remove unpackaged files for the dpdk case
 %if %{with dpdk}
@@ -436,26 +435,26 @@
 %{_libdir}/libopenvswitch.so.*
 %{_libdir}/libovsdb.so.*
 %{_libdir}/libsflow.so.*
-%{_mandir}/man1/ovs-benchmark.1.gz
-%{_mandir}/man1/ovsdb-client.1.gz
-%{_mandir}/man8/ovs-appctl.8.gz
-%{_mandir}/man8/ovs-bugtool.8.gz
-%{_mandir}/man8/ovs-ofctl.8.gz
-%{_mandir}/man8/ovs-vlan-bug-workaround.8.gz
-%{_mandir}/man8/ovs-parse-backtrace.8.gz
-%{_mandir}/man8/ovs-dpctl-top.8.gz
+%{_mandir}/man1/ovs-benchmark.1%{ext_man}
+%{_mandir}/man1/ovsdb-client.1%{ext_man}
+%{_mandir}/man8/ovs-appctl.8%{ext_man}
+%{_mandir}/man8/ovs-bugtool.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-dpctl-top.8%{ext_man}
 %{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
 
 %files pki
 %defattr(-,root,root)
-%{_mandir}/man8/ovs-pki.8.gz
+%{_mandir}/man8/ovs-pki.8%{ext_man}
 %{_bindir}/ovs-pki
 
 %files vtep
 %defattr(-,root,root)
 %{_bindir}/vtep-ctl
-%{_mandir}/man5/vtep.5.gz
-%{_mandir}/man8/vtep-ctl.8.gz
+%{_mandir}/man5/vtep.5%{ext_man}
+%{_mandir}/man8/vtep-ctl.8%{ext_man}
 %{_datadir}/openvswitch/scripts/ovs-vtep
 %{_datadir}/openvswitch/vtep.ovsschema
 %{_libdir}/libvtep.so.*
@@ -487,15 +486,15 @@
 %{_datadir}/openvswitch/vswitch.ovsschema
 %{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
 %config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch-switch
-%{_mandir}/man8/ovs-dpctl.8.gz
-%{_mandir}/man1/ovs-tcpundump.1.gz
-%{_mandir}/man1/ovs-pcap.1.gz
-%{_mandir}/man8/ovs-vsctl.8.gz
-%{_mandir}/man1/ovsdb-tool.1.gz
-%{_mandir}/man8/ovs-vswitchd.8.gz
-%{_mandir}/man1/ovsdb-server.1.gz
-%{_mandir}/man5/ovs-vswitchd.conf.db.5.gz
-%{_mandir}/man8/ovs-ctl.8.gz
+%{_mandir}/man8/ovs-dpctl.8%{ext_man}
+%{_mandir}/man1/ovs-tcpundump.1%{ext_man}
+%{_mandir}/man1/ovs-pcap.1%{ext_man}
+%{_mandir}/man8/ovs-vsctl.8%{ext_man}
+%{_mandir}/man1/ovsdb-tool.1%{ext_man}
+%{_mandir}/man8/ovs-vswitchd.8%{ext_man}
+%{_mandir}/man1/ovsdb-server.1%{ext_man}
+%{_mandir}/man5/ovs-vswitchd.conf.db.5%{ext_man}
+%{_mandir}/man8/ovs-ctl.8%{ext_man}
 %{_sbindir}/rcopenvswitch
 %{_unitdir}/openvswitch.service
 %{_localstatedir}/adm/fillup-templates/sysconfig.openvswitch
@@ -536,10 +535,10 @@
 %{_bindir}/ovs-l3ping
 %{_bindir}/ovs-vlan-test
 %{_bindir}/ovs-testcontroller
-%{_mandir}/man8/ovs-test.8.gz
-%{_mandir}/man8/ovs-l3ping.8.gz
-%{_mandir}/man8/ovs-vlan-test.8.gz
-%{_mandir}/man8/ovs-testcontroller.8.gz
+%{_mandir}/man8/ovs-test.8%{ext_man}
+%{_mandir}/man8/ovs-l3ping.8%{ext_man}
+%{_mandir}/man8/ovs-vlan-test.8%{ext_man}
+%{_mandir}/man8/ovs-testcontroller.8%{ext_man}
 
 %files devel
 %defattr(-,root,root)

OBS-URL: https://build.opensuse.org/request/show/408658
OBS-URL: https://build.opensuse.org/package/show/network/openvswitch?expand=0&rev=99
2016-07-18 08:19:36 +00:00

556 lines
16 KiB
RPMSpec
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# spec file for package openvswitch
#
# Copyright (c) 2016 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
# Disable building the external kernel datapath by default
%bcond_with kmp
# DPDK build disabled by default. It's enabled in the
# openvswitch-dpdk.spec file (generated by pre_checkin.sh)
%bcond_with dpdk
# The testsuite is somewhat fragile for continuous testing in OBS
# but keep it here as an option
%bcond_with check
Name: openvswitch
Version: 2.5.0
Release: 0
Summary: An open source, production quality, multilayer virtual 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
Source2: openvswitch-switch.logrotate
Source3: openvswitch.service
Source89: Module.supported.updates
# PATCH-FIX-UPSTREAM openvswitch-2.5.0-detect-dpdk-installation.patch
Patch0: openvswitch-%{version}-detect-dpdk-installation.patch
Patch1: 0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: fdupes
BuildRequires: gcc
BuildRequires: glibc-devel
BuildRequires: graphviz
BuildRequires: libcap-ng-devel
BuildRequires: libtool
BuildRequires: make
BuildRequires: openssl
BuildRequires: perl
BuildRequires: pkgconfig
# Needed by the testsuite
BuildRequires: procps
BuildRequires: python-devel
BuildRequires: python-xml
BuildRequires: valgrind-devel
BuildRequires: pkgconfig(openssl)
Requires: logrotate
Requires: python
Provides: openvswitch-common = %{version}
Obsoletes: openvswitch-common < %{version}
Provides: openvswitch-controller = %{version}
Obsoletes: openvswitch-controller < %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%py_requires
%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. OVS currently requires 2.2.0. We may have to
# provide multiple versions of dpdk if OVS and DPDK get
# out of sync too often.
BuildRequires: dpdk-devel = 2.2.0
# We can't have openvswitch and openvswitch-dpdk in parallel
Conflicts: openvswitch
ExclusiveArch: aarch64 x86_64 %{ix86}
%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
VMwares vNetwork distributed vswitch or Ciscos Nexus 1000V.
%if ! %{with dpdk}
%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
%endif
%package devel
Summary: Open vSwitch Devel Libraries
License: Apache-2.0
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
Provides: openvswitch-any-devel = %{version}
%if %{with dpdk}
Conflicts: openvswitch-devel
%endif
%description devel
Devel libraries and headers for Open vSwitch.
%package switch
Summary: Open vSwitch switch implementations
License: Apache-2.0
Group: Productivity/Networking/System
Requires: %{name} = %{version}
Requires: modutils
Requires: procps
Requires: python
# ovs-ctl / ovs-pki use /usr/bin/uuidgen:
Requires: util-linux
Requires(post): %fillup_prereq
Suggests: logrotate
Provides: openvswitch-any-switch = %{version}
%{?systemd_requires}
%if %{with dpdk}
Conflicts: openvswitch-switch
%endif
%if %{with kmp}
Suggests: openvswitch-kmp
%endif
%description switch
openvswitch-switch provides the userspace components and utilities for
the Open vSwitch kernel-based switch.
Open vSwitch is a full-featured software-based Ethernet switch.
%package ovn
Summary: Open vSwitch - Open Virtual Network support
License: Apache-2.0
Group: Productivity/Networking/System
Requires: %{name} = %{version}
Requires: %{name}-switch = %{version}
Requires: %{name}-vtep = %{version}
Provides: openvswitch-any-ovn = %{version}
%if %{with dpdk}
Conflicts: openvswitch-ovn
%endif
%description ovn
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 pki
Summary: Open vSwitch public key infrastructure dependency package
License: Apache-2.0
Group: Productivity/Networking/System
Requires: %{name} = %{version}
Provides: openvswitch-any-pki = %{version}
%if %{with dpdk}
Conflicts: openvswitch-pki
%endif
%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: openvswitch-any-vtep = %{version}
%if %{with dpdk}
Conflicts: openvswitch-vtep
%endif
%description vtep
A VTEP (VXLAN Tunnel EndPoint) emulator that uses Open vSwitch for
forwarding.
Open vSwitch is a full-featured software-based Ethernet switch.
%if ! %{with dpdk}
%package -n python-openvswitch
Summary: Python bindings for Open vSwitch
License: Python-2.0
Group: Productivity/Networking/System
Requires: openvswitch-common = %{version}
Requires: python
%description -n python-openvswitch
This package contains the full Python bindings for Open vSwitch database.
%package -n python-openvswitch-test
Summary: Python bindings for Open vSwitch
License: Python-2.0
Group: Productivity/Networking/System
Requires: openvswitch-common = %{version}
Requires: python
Requires: python-openvswitch = %{version}
Requires: python-twisted
%description -n python-openvswitch-test
This package contains the full Python bindings for Open vSwitch database.
%endif
%package test
Summary: Open vSwitch test package
License: Apache-2.0
Group: Productivity/Networking/System
Requires: %{name} = %{version}
Requires: python
Requires: python-argparse
Requires: python-openvswitch-test = %{version}
Requires: python-twisted
Provides: openvswitch-any-test = %{version}
%if %{with dpdk}
Conflicts: openvswitch-test
%endif
%description test
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}
%patch0 -p1
%patch1 -p1
%build
set -- * .travis*
mkdir source
mv "$@" source/
mkdir obj
pushd source
perl -i -pe 's{__(DATE|TIME)__}{""}g' include/openvswitch/util.h
# only call boot.sh for distros with autoconf >= 2.64
bash -x boot.sh
popd
%if ! %{with dpdk}
%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
%endif
pushd source
%if %{with dpdk}
dpdk_opt="--with-dpdk"
%endif
%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 :;
else
cat tests/testsuite.log
exit 1
fi
popd
%endif
%install
%if ! %{with dpdk}
%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
%endif
pushd source
make %{?_smp_mflags} DESTDIR=%{buildroot} install
for service in ovn-controller ovn-controller-vtep ovn-northd; do
install -D -m 644 rhel/usr_lib_systemd_system_${service}.service \
%{buildroot}%{_unitdir}/${service}.service
done
# We use our own openvswitch.service
install -D -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/openvswitch.service
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcopenvswitch
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcovn-controller
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcovn-controller-vtep
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcovn-northd
install -D -m 644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
%{buildroot}/%{_localstatedir}/adm/fillup-templates/sysconfig.openvswitch
install -d -m 755 %{buildroot}/%{_sysconfdir}/logrotate.d
install -d -m 755 %{buildroot}/%{_localstatedir}/log/openvswitch
install -m 644 %{SOURCE2} \
%{buildroot}/%{_sysconfdir}/logrotate.d/openvswitch-switch
install -d -m 755 %{buildroot}/%{_sysconfdir}/profile.d
install -m 644 vswitchd/vswitch.ovsschema \
%{buildroot}/%{_datadir}/openvswitch/vswitch.ovsschema
popd
mkdir -p %{buildroot}%{py_sitedir}
mv %{buildroot}%{_datadir}/openvswitch/python/* %{buildroot}%{py_sitedir}
rmdir %{buildroot}%{_datadir}/openvswitch/python
find %{buildroot} -type f -name "*.la" -delete -print
# Remove unpackaged files for the dpdk case
%if %{with dpdk}
rm -rf %{buildroot}%{py_sitedir}
%else
%fdupes %{buildroot}%{py_sitedir}
%endif
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%pre switch
%service_add_pre openvswitch.service
%post switch
%service_add_post openvswitch.service
%{fillup_only -n openvswitch}
%preun switch
%service_del_preun openvswitch.service
%postun switch
%service_del_postun openvswitch.service
%pre ovn
%service_add_pre ovn-controller.service ovn-controller-vtep.service ovn-northd.service
%post ovn
/sbin/ldconfig
%service_add_post ovn-controller.service ovn-controller-vtep.service ovn-northd.service
%preun ovn
%service_del_preun ovn-controller.service ovn-controller-vtep.service ovn-northd.service
%postun ovn
%service_del_postun ovn-controller.service ovn-controller-vtep.service ovn-northd.service
/sbin/ldconfig
%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
%defattr(-,root,root)
%dir %{_datadir}/openvswitch
%doc source/AUTHORS
%doc source/CONTRIBUTING.md
%doc source/COPYING
%doc source/CodingStyle.md
%doc source/DESIGN.md
%doc source/FAQ.md
%doc source/IntegrationGuide.md
%doc source/NEWS
%doc source/NOTICE
%doc source/OPENFLOW-1.1+.md
%doc source/PORTING.md
%doc source/README*
%doc source/SECURITY.md
%doc source/TODO.md
%doc source/WHY-OVS.md
%{_bindir}/ovs-appctl
%{_bindir}/ovs-benchmark
%{_bindir}/ovs-ofctl
%{_bindir}/ovsdb-client
%{_bindir}/ovs-parse-backtrace
%{_bindir}/ovs-dpctl-top
%{_sbindir}/ovs-bugtool
%{_sbindir}/ovs-vlan-bug-workaround
%dir %{_datadir}/openvswitch/scripts
%{_datadir}/openvswitch/bugtool-plugins
%{_datadir}/openvswitch/scripts/ovs-bugtool-*
%{_libdir}/libofproto.so.*
%{_libdir}/libopenvswitch.so.*
%{_libdir}/libovsdb.so.*
%{_libdir}/libsflow.so.*
%{_mandir}/man1/ovs-benchmark.1%{ext_man}
%{_mandir}/man1/ovsdb-client.1%{ext_man}
%{_mandir}/man8/ovs-appctl.8%{ext_man}
%{_mandir}/man8/ovs-bugtool.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-dpctl-top.8%{ext_man}
%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
%files pki
%defattr(-,root,root)
%{_mandir}/man8/ovs-pki.8%{ext_man}
%{_bindir}/ovs-pki
%files vtep
%defattr(-,root,root)
%{_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
%{_libdir}/libvtep.so.*
%if ! %{with dpdk}
%files -n python-openvswitch
%defattr(-,root,root)
%{py_sitedir}/ovs/
%files -n python-openvswitch-test
%defattr(-,root,root)
%{py_sitedir}/ovstest/
%endif
%files switch
%defattr(-,root,root)
%{_bindir}/ovs-docker
%{_bindir}/ovs-dpctl
%{_bindir}/ovs-tcpundump
%{_bindir}/ovs-pcap
%{_bindir}/ovs-vsctl
%{_bindir}/ovsdb-tool
%{_sbindir}/ovs-vswitchd
%{_sbindir}/ovsdb-server
%{_datadir}/openvswitch/scripts/ovs-check-dead-ifs
%{_datadir}/openvswitch/scripts/ovs-ctl
%{_datadir}/openvswitch/scripts/ovs-lib
%{_datadir}/openvswitch/scripts/ovs-save
%{_datadir}/openvswitch/vswitch.ovsschema
%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
%config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch-switch
%{_mandir}/man8/ovs-dpctl.8%{ext_man}
%{_mandir}/man1/ovs-tcpundump.1%{ext_man}
%{_mandir}/man1/ovs-pcap.1%{ext_man}
%{_mandir}/man8/ovs-vsctl.8%{ext_man}
%{_mandir}/man1/ovsdb-tool.1%{ext_man}
%{_mandir}/man8/ovs-vswitchd.8%{ext_man}
%{_mandir}/man1/ovsdb-server.1%{ext_man}
%{_mandir}/man5/ovs-vswitchd.conf.db.5%{ext_man}
%{_mandir}/man8/ovs-ctl.8%{ext_man}
%{_sbindir}/rcopenvswitch
%{_unitdir}/openvswitch.service
%{_localstatedir}/adm/fillup-templates/sysconfig.openvswitch
%dir %{_localstatedir}/log/openvswitch
%files ovn
%defattr(-,root,root)
%{_bindir}/ovn-controller
%{_bindir}/ovn-controller-vtep
%{_bindir}/ovn-docker-overlay-driver
%{_bindir}/ovn-docker-underlay-driver
%{_bindir}/ovn-nbctl
%{_bindir}/ovn-northd
%{_bindir}/ovn-sbctl
%{_datadir}/openvswitch/scripts/ovn-ctl
%{_libdir}/libovn.so.*
%{_mandir}/man5/ovn-nb.5*
%{_mandir}/man5/ovn-sb.5*
%{_mandir}/man7/ovn-architecture.7*
%{_mandir}/man8/ovn-controller.8*
%{_mandir}/man8/ovn-controller-vtep.8*
%{_mandir}/man8/ovn-ctl.8*
%{_mandir}/man8/ovn-nbctl.8*
%{_mandir}/man8/ovn-northd.8*
%{_mandir}/man8/ovn-sbctl.8*
%config %{_datadir}/openvswitch/ovn-nb.ovsschema
%config %{_datadir}/openvswitch/ovn-sb.ovsschema
%{_sbindir}/rcovn-controller
%{_sbindir}/rcovn-controller-vtep
%{_sbindir}/rcovn-northd
%{_unitdir}/ovn-controller.service
%{_unitdir}/ovn-controller-vtep.service
%{_unitdir}/ovn-northd.service
%files test
%defattr(-,root,root)
%{_bindir}/ovs-test
%{_bindir}/ovs-l3ping
%{_bindir}/ovs-vlan-test
%{_bindir}/ovs-testcontroller
%{_mandir}/man8/ovs-test.8%{ext_man}
%{_mandir}/man8/ovs-l3ping.8%{ext_man}
%{_mandir}/man8/ovs-vlan-test.8%{ext_man}
%{_mandir}/man8/ovs-testcontroller.8%{ext_man}
%files devel
%defattr(-,root,root)
%{_libdir}/libofproto.so
%{_libdir}/libopenvswitch.so
%{_libdir}/libovn.so
%{_libdir}/libovsdb.so
%{_libdir}/libsflow.so
%{_libdir}/libvtep.so
%{_includedir}/openflow/
%{_includedir}/openvswitch/
%{_libdir}/pkgconfig/*.pc
%changelog