Marcus Meissner
f3c10f5004
- Provides and Obsolete for former openvswitch-common package OBS-URL: https://build.opensuse.org/request/show/158010 OBS-URL: https://build.opensuse.org/package/show/network/openvswitch?expand=0&rev=18
432 lines
13 KiB
RPMSpec
432 lines
13 KiB
RPMSpec
# Copyright (c) 2013 SUSE LINUX Products 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/
|
||
#
|
||
|
||
# norootforbuild
|
||
|
||
%define build_kmp 1
|
||
# never build in kernel module, as openvswitch shipped one is more feature
|
||
# rich
|
||
%define build_in_kernel_kmp 0
|
||
|
||
Name: openvswitch
|
||
Version: 1.9.0
|
||
Release: 2
|
||
License: Apache-2.0
|
||
Summary: An open source, production quality, multilayer virtual switch
|
||
Url: http://openswitch.org/
|
||
Group: Productivity/Networking/System
|
||
Source0: http://openvswitch.org/releases/%{name}-%{version}.tar.gz
|
||
Source1: preamble
|
||
Source2: openvswitch-switch.init
|
||
Source3: openvswitch-switch.template
|
||
Source4: openvswitch-switch.logrotate
|
||
|
||
Source5: openvswitch-controller.init
|
||
# brcompat is going to be deprecated soon
|
||
# PATCH-FEATURE-UPSTREAM openvswitch-1.7.0-stp-fwd-delay.patch -- Set STP bridge forward delay
|
||
Patch1: %name-1.7.0-stp-fwd-delay.patch
|
||
BuildRequires: autoconf automake libtool
|
||
BuildRequires: gcc
|
||
BuildRequires: make
|
||
BuildRequires: pkg-config
|
||
BuildRequires: perl
|
||
BuildRequires: glibc-devel
|
||
BuildRequires: openssl libopenssl-devel
|
||
BuildRequires: valgrind-devel
|
||
BuildRequires: graphviz
|
||
BuildRequires: python-devel
|
||
Requires: python
|
||
Requires: openssl
|
||
Requires: logrotate
|
||
Provides: openvswitch-common = %version
|
||
Obsoletes: openvswitch-common <= 1.9.0
|
||
%py_requires
|
||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||
|
||
%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.
|
||
|
||
%if 0%{?build_kmp}
|
||
%package -n %{name}-kmp
|
||
Group: System/Kernel
|
||
License: GPLv2
|
||
Summary: Open vSwitch kernel modules
|
||
BuildRequires: %kernel_module_package_buildreqs
|
||
%if 0%{?build_in_kernel_kmp}
|
||
BuildRequires: kernel-source
|
||
%endif
|
||
%suse_kernel_module_package -p %_sourcedir/preamble ec2 xen xenpae vmi um
|
||
|
||
%description -n %{name}-kmp
|
||
Kernel modules supporting the openvswitch datapath
|
||
%endif
|
||
|
||
%package ipsec
|
||
Summary: Open vSwitch GRE-over-IPsec support
|
||
Group: Productivity/Networking/System
|
||
Requires: python
|
||
Requires: python-argparse
|
||
Requires: ipsec-tools >= 0.8
|
||
Requires: racoon >= 0.8
|
||
Requires: openvswitch = %{version}
|
||
Requires: openvswitch-switch = %{version}
|
||
Requires: python-openvswitch = %{version}
|
||
|
||
%description ipsec
|
||
The ovs-monitor-ipsec script provides support for encrypting GRE
|
||
tunnels with IPsec.
|
||
|
||
Open vSwitch is a full-featured software-based Ethernet switch.
|
||
|
||
%package switch
|
||
Suggests: openvswitch-kmp
|
||
PreReq: %insserv_prereq %fillup_prereq
|
||
Requires: openvswitch = %{version}
|
||
Requires: module-init-tools
|
||
Requires: procps
|
||
Requires: uuid-runtime
|
||
Requires: python
|
||
Summary: Open vSwitch switch implementations
|
||
Group: Productivity/Networking/System
|
||
|
||
%description switch
|
||
openvswitch-switch provides the userspace components and utilities for
|
||
he Open vSwitch kernel-based switch.
|
||
|
||
Open vSwitch is a full-featured software-based Ethernet switch.
|
||
|
||
%package pki
|
||
Requires: openvswitch = %{version}
|
||
Summary: Open vSwitch public key infrastructure dependency package
|
||
Group: Productivity/Networking/System
|
||
|
||
%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 controller
|
||
Requires: openvswitch = %{version}
|
||
Summary: Open vSwitch controller implementation
|
||
Group: Productivity/Networking/System
|
||
|
||
%description controller
|
||
The Open vSwitch controller enables OpenFlow switches that connect to it
|
||
to act as MAC-learning Ethernet switches.
|
||
|
||
Open vSwitch is a full-featured software-based Ethernet switch.
|
||
|
||
%package brcompat
|
||
Requires: openvswitch-switch = %{version}
|
||
Recommends: bridge-utils
|
||
Summary: Open vSwitch bridge compatibility support (deprecated)
|
||
Group: Productivity/Networking/System
|
||
|
||
%description brcompat
|
||
openvswitch-brcompat provides a way for applications that use the
|
||
Linux bridge to gradually migrate to Open vSwitch. Programs that
|
||
ordinarily control the Linux bridge module, such as "brctl", instead
|
||
control the Open vSwitch kernel-based switch. Please note that this
|
||
feature is deprecated and will ve removed soon.
|
||
|
||
Once this package is installed, adding BRCOMPAT=yes in
|
||
/etc/default/openvswitch-switch enables bridge compatibility.
|
||
|
||
Open vSwitch is a full-featured software-based Ethernet switch.
|
||
|
||
%package -n python-openvswitch
|
||
Requires: python
|
||
Summary: Python bindings for Open vSwitch
|
||
Group: Productivity/Networking/System
|
||
|
||
%description -n python-openvswitch
|
||
This package contains the full Python bindings for Open vSwitch database.
|
||
|
||
%package -n python-openvswitch-test
|
||
Requires: python
|
||
Summary: Python bindings for Open vSwitch
|
||
Group: Productivity/Networking/System
|
||
|
||
%description -n python-openvswitch-test
|
||
This package contains the full Python bindings for Open vSwitch database.
|
||
|
||
%if ! 0%{?sles_version}
|
||
%package ovsdbmonitor
|
||
BuildRequires: python-qt4-devel
|
||
BuildRequires: python-twisted
|
||
BuildRequires: python-zopeinterface
|
||
BuildRequires: python-pyside
|
||
Requires: python-pyside
|
||
Requires: python-qt4
|
||
Requires: python-twisted
|
||
Requires: python-zopeinterface
|
||
Requires: python-openvswitch
|
||
Requires: python-pyasn1
|
||
Summary: Open vSwitch graphical monitoring tool
|
||
Group: Productivity/Networking/System
|
||
|
||
%description ovsdbmonitor
|
||
This package is a GUI tool for monitoring and troubleshooting local
|
||
or remote Open vSwitch installations. It presents GUI tables that
|
||
graphically represent an Open vSwitch kernel flow table (similar to
|
||
"ovs-dpctl dump-flows") and Open vSwitch database contents (similar
|
||
to "ovs-vsctl list <table>").
|
||
|
||
Open vSwitch is a full-featured software-based Ethernet switch.
|
||
%endif
|
||
|
||
%package test
|
||
Requires: python-twisted
|
||
Requires: python
|
||
Requires: python-argparse
|
||
Requires: python-openvswitch-test = %{version}
|
||
Summary: Open vSwitch test package
|
||
Group: Productivity/Networking/System
|
||
|
||
%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
|
||
%patch1 -p1
|
||
|
||
set -- *
|
||
mkdir source
|
||
mv "$@" source/
|
||
mkdir obj
|
||
|
||
%build
|
||
pushd source
|
||
# don't call boot.sh, we don't have appropriate autoconf there
|
||
%if ! 0%{?sles_version}
|
||
bash -x boot.sh
|
||
%endif
|
||
popd
|
||
%if 0%{?build_kmp}
|
||
%if 0%{?build_in_kernel_kmp}
|
||
for flavor in %flavors_to_build; do
|
||
mkdir -p $flavor
|
||
cp -a $RPM_SOURCE_DIR/Module.supported $flavor/
|
||
krel=$(make -s -C /usr/src/linux-obj/%_target_cpu/$flavor kernelrelease)
|
||
kernel_source_dir=$(readlink /lib/modules/$krel/source)
|
||
cp -a $kernel_source_dir/net/openvswitch/* $flavor/
|
||
make -C %{kernel_source $flavor} modules M=$PWD/$flavor
|
||
done
|
||
%else
|
||
export EXTRA_CFLAGS='-DVERSION=\"%version\"'
|
||
for flavor in %flavors_to_build; do
|
||
rm -rf obj/$flavor
|
||
cp -r source obj/$flavor
|
||
pushd obj/$flavor
|
||
%configure \
|
||
--with-logdir=/var/log \
|
||
--with-linux=/usr/src/linux-obj/%_target_cpu/$flavor \
|
||
--with-linux-source=/usr/src/linux
|
||
cd datapath/linux
|
||
make
|
||
popd
|
||
done
|
||
%endif
|
||
%endif
|
||
ls source
|
||
pushd source
|
||
%configure \
|
||
--with-logdir=/var/log
|
||
make %{?_smp_mflags}
|
||
popd
|
||
|
||
%install
|
||
%if 0%{?build_kmp}
|
||
export INSTALL_MOD_PATH=%{buildroot}
|
||
export INSTALL_MOD_DIR=updates
|
||
for flavor in %flavors_to_build; do
|
||
%if 0%{?build_in_kernel_kmp}
|
||
make -C %{kernel_source $flavor} modules_install M=$PWD/$flavor
|
||
%else
|
||
pushd obj/$flavor/datapath/linux
|
||
make -C /usr/src/linux-obj/%_target_cpu/$flavor modules_install M=$PWD
|
||
popd
|
||
%endif
|
||
done
|
||
%endif
|
||
pushd source
|
||
|
||
%makeinstall
|
||
install -d -m 755 %{buildroot}/%_sysconfdir/init.d
|
||
install -d -m 755 %{buildroot}/var/adm/fillup-templates
|
||
|
||
install -m 644 %SOURCE3 \
|
||
%{buildroot}/var/adm/fillup-templates/sysconfig.%{name}-switch
|
||
install -m 755 %SOURCE2 \
|
||
%{buildroot}/%_sysconfdir/init.d/%{name}-switch
|
||
ln -s %_sysconfdir/init.d/%{name}-switch %{buildroot}%{_sbindir}/rc%{name}-switch
|
||
install -m 755 %SOURCE5 \
|
||
%{buildroot}/%_sysconfdir/init.d/%{name}-controller
|
||
ln -s %_sysconfdir/init.d/%{name}-controller %{buildroot}%{_sbindir}/rc%{name}-controller
|
||
|
||
|
||
install -d -m 755 %{buildroot}/%_sysconfdir/sysconfig
|
||
install -d -m 755 %{buildroot}/%_sysconfdir/logrotate.d
|
||
|
||
install -m 644 %SOURCE4 \
|
||
%{buildroot}/%_sysconfdir/logrotate.d/%{name}-switch
|
||
install -d -m 755 %{buildroot}/%_sysconfdir/profile.d
|
||
|
||
install -d -m 755 %{buildroot}/%{_datadir}/%{name}/scripts
|
||
install -m 644 vswitchd/vswitch.ovsschema \
|
||
%{buildroot}/%{_datadir}/%{name}/vswitch.ovsschema
|
||
install -m 755 debian/ovs-monitor-ipsec \
|
||
%{buildroot}/%{_datadir}/%{name}/ovs-monitor-ipsec
|
||
|
||
popd
|
||
|
||
%{__mkdir_p} %{buildroot}%{py_sitedir}
|
||
mv %{buildroot}%{_datadir}/%{name}/python/* %{buildroot}%{py_sitedir}
|
||
rmdir %{buildroot}%{_datadir}/%{name}/python
|
||
|
||
%clean
|
||
%{?buildroot:%__rm -rf "%{buildroot}"}
|
||
|
||
%post switch
|
||
%{fillup_and_insserv openvswitch-switch}
|
||
|
||
%preun switch
|
||
%stop_on_removal openvswitch-switch
|
||
|
||
%files brcompat
|
||
%defattr(-,root,root)
|
||
%{_sbindir}/ovs-brcompatd
|
||
%{_mandir}/man8/ovs-brcompatd.8.gz
|
||
|
||
%files
|
||
%defattr(-,root,root)
|
||
%dir %{_datadir}/openvswitch
|
||
%doc source/AUTHORS source/DESIGN source/INSTALL.* source/NOTICE
|
||
%doc source/REPORTING-BUGS source/PORTING
|
||
%doc source/SubmittingPatches source/CodingStyle source/README
|
||
%doc source/WHY-OVS source/COPYING source/README-gcov
|
||
%{_bindir}/ovs-appctl
|
||
%{_bindir}/ovs-benchmark
|
||
%{_bindir}/ovs-ofctl
|
||
%{_bindir}/ovs-parse-leaks
|
||
%{_bindir}/ovsdb-client
|
||
%{_bindir}/ovs-parse-backtrace
|
||
%{_sbindir}/ovs-bugtool
|
||
%{_sbindir}/ovs-vlan-bug-workaround
|
||
%dir %{_datadir}/openvswitch/scripts
|
||
%{_datadir}/openvswitch/bugtool-plugins
|
||
%{_datadir}/openvswitch/scripts/ovs-bugtool-cfm-show
|
||
%{_datadir}/openvswitch/scripts/ovs-bugtool-lacp-show
|
||
%{_datadir}/openvswitch/scripts/ovs-bugtool-tc-class-show
|
||
%{_datadir}/openvswitch/scripts/ovs-bugtool-ovsdb-dump
|
||
%{_datadir}/openvswitch/scripts/ovs-bugtool-bond-show
|
||
%{_datadir}/openvswitch/scripts/ovs-bugtool-coverage-show
|
||
%{_datadir}/openvswitch/scripts/ovs-bugtool-daemons-ver
|
||
%{_datadir}/openvswitch/scripts/ovs-bugtool-vsctl-show
|
||
%{_datadir}/openvswitch/scripts/ovs-bugtool-memory-show
|
||
%{_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-parse-leaks.8.gz
|
||
%{_mandir}/man8/ovs-vlan-bug-workaround.8.gz
|
||
%{_mandir}/man8/ovs-parse-backtrace.8.gz
|
||
|
||
|
||
%files pki
|
||
%defattr(-,root,root)
|
||
%{_mandir}/man8/ovs-pki.8.gz
|
||
%{_bindir}/ovs-pki
|
||
|
||
%files controller
|
||
%defattr(-,root,root)
|
||
%{_bindir}/ovs-controller
|
||
%{_sysconfdir}/init.d/openvswitch-controller
|
||
%{_sbindir}/rc%{name}-controller
|
||
%{_mandir}/man8/ovs-controller.8.gz
|
||
|
||
%files -n python-openvswitch
|
||
%defattr(-,root,root)
|
||
%dir %{py_sitedir}/ovs
|
||
%{py_sitedir}/ovs/*
|
||
|
||
%files -n python-openvswitch-test
|
||
%defattr(-,root,root)
|
||
%dir %{py_sitedir}/ovstest
|
||
%{py_sitedir}/ovstest/*
|
||
|
||
%files ipsec
|
||
%defattr(-,root,root)
|
||
%{_datadir}/openvswitch/ovs-monitor-ipsec
|
||
|
||
%files switch
|
||
%defattr(-,root,root)
|
||
%{_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
|
||
/var/adm/fillup-templates/sysconfig.openvswitch-switch
|
||
%{_sysconfdir}/init.d/openvswitch-switch
|
||
%{_sbindir}/rc%{name}-switch
|
||
%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
|
||
|
||
%files test
|
||
%defattr(-,root,root)
|
||
%{_bindir}/ovs-test
|
||
%{_bindir}/ovs-l3ping
|
||
%{_bindir}/ovs-vlan-test
|
||
%{_mandir}/man8/ovs-test.8.gz
|
||
%{_mandir}/man8/ovs-l3ping.8.gz
|
||
%{_mandir}/man8/ovs-vlan-test.8.gz
|
||
|
||
%if ! 0%{?sles_version}
|
||
%files ovsdbmonitor
|
||
%defattr(-,root,root)
|
||
%{_bindir}/ovsdbmonitor
|
||
%dir %{_datadir}/ovsdbmonitor
|
||
%{_datadir}/applications/ovsdbmonitor.desktop
|
||
%{_datadir}/ovsdbmonitor/*
|
||
%{_mandir}/man1/ovsdbmonitor.1.gz
|
||
%endif
|
||
|
||
%changelog
|