SHA256
1
0
forked from pool/openvswitch
openvswitch/openvswitch.spec

217 lines
7.2 KiB
RPMSpec
Raw Normal View History

#
# spec file for package
#
# Copyright (c) 2010 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
%bcond_with pyside
Name: openvswitch
Version: 1.4.0
Release: 1
License: Apache
Summary: An open source, production quality, multilayer virtual switch
Url: http://openswitch.org/
Group: Productivity/Networking/System
Source0: %name-%version.tar.bz2
Source1: preamble
# PATCH-FEATURE-OPENSUSE openvswitch-1.3.0-suse.patch -- /etc/sysconfig configuration options for openvswitch
Patch0: %name-1.3.0-suse.patch
# PATCH-FEATURE-UPSTREAM openvswitch-1.1.0-stp-fwd-delay.patch -- Set STP bridge forward delay
Patch1: %name-1.1.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
BuildRequires: python-qt4-devel
BuildRequires: python-twisted
BuildRequires: python-simplejson
BuildRequires: python-zopeinterface
%if %{with pyside}
BuildRequires: python-pyside
Requires: python-pyside
%endif
Requires: python-qt4
Requires: python-twisted
Requires: python-simplejson
Requires: python-zopeinterface
Requires: openssl
Requires: graphviz
Requires: logrotate
%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
VMwares vNetwork distributed vswitch or Ciscos 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
# Requires: kernel-default kernel-desktop
# BuildRequires: perl-base autoconf automake libtool kernel-source kernel-syms module-init-tools
# suse_kernel_module_package ec2 xen xenpae vmi um
%suse_kernel_module_package -p %_sourcedir/preamble ec2 xen xenpae vmi um
%description -n %{name}-KMP
Kernel modules supporting the openvswitch datapath
%endif
%prep
%setup -q
%patch0 -p1
%patch1 -p1
set -- *
mkdir source
mv "$@" source/
mkdir obj
%build
pushd source
bash -x boot.sh
popd
%if 0%{?build_kmp}
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
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
pushd obj/$flavor/datapath/linux
make -C /usr/src/linux-obj/%_target_cpu/$flavor modules_install M=$PWD
popd
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 xenserver/etc_sysconfig_%{name} \
%{buildroot}/var/adm/fillup-templates/sysconfig.%{name}
install -m 755 xenserver/etc_init.d_%{name} \
%{buildroot}/%_sysconfdir/init.d/%{name}
install -m 755 xenserver/etc_init.d_%{name}-xapi-update \
%{buildroot}/%_sysconfdir/init.d/%{name}-xapi-update
install -d -m 755 %{buildroot}/%_sysconfdir/sysconfig
install -d -m 755 %{buildroot}/%_sysconfdir/logrotate.d
install -m 644 xenserver/etc_logrotate.d_%{name} \
%{buildroot}/%_sysconfdir/logrotate.d/%{name}
install -d -m 755 %{buildroot}/%_sysconfdir/profile.d
install -m 644 xenserver/etc_profile.d_%{name}.sh \
%{buildroot}/%_sysconfdir/profile.d/%{name}.sh
install -d -m 755 %{buildroot}/%_sysconfdir/xapi.d/plugins
install -m 755 xenserver/etc_xapi.d_plugins_%{name}-cfg-update \
%{buildroot}/%_sysconfdir/xapi.d/plugins/%{name}-cfg-update
install -d -m 755 %{buildroot}/%{_datadir}/%{name}/scripts
install -m 644 vswitchd/vswitch.ovsschema \
%{buildroot}/%{_datadir}/%{name}/vswitch.ovsschema
install -m 755 xenserver/opt_xensource_libexec_interface-reconfigure \
%{buildroot}/%{_datadir}/%{name}/scripts/interface-reconfigure
install -m 644 xenserver/opt_xensource_libexec_InterfaceReconfigure.py \
%{buildroot}/%{_datadir}/%{name}/scripts/InterfaceReconfigure.py
install -m 644 xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py \
%{buildroot}/%{_datadir}/%{name}/scripts/InterfaceReconfigureBridge.py
install -m 644 xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py \
%{buildroot}/%{_datadir}/%{name}/scripts/InterfaceReconfigureVswitch.py
install -m 755 xenserver/etc_xensource_scripts_vif \
%{buildroot}/%{_datadir}/%{name}/scripts/vif
install -m 644 xenserver/usr_share_%{name}_scripts_sysconfig.template \
%{buildroot}/%{_datadir}/%{name}/scripts/sysconfig.template
install -d -m 755 %{buildroot}/%{_libdir}/xsconsole/plugins-base
install -m 644 \
xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \
%{buildroot}/%{_libdir}/xsconsole/plugins-base/XSFeatureVSwitch.py
# install -m 644 xenserver/uuid.py %{buildroot}/%{_datadir}/%{name}/python
popd
%clean
%{?buildroot:%__rm -rf "%{buildroot}"}
%post
%{fillup_and_insserv openvswitch}
%preun
%stop_on_removal openvswitch
%files
%defattr(-,root,root)
%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*
%_sbindir/ovs-brcompatd
%_sbindir/ovsdb-server
%_sbindir/ovs-vlan-bug-workaround
%_sbindir/ovs-vswitchd
%_sbindir/ovs-bugtool
%_datadir/%name
%_mandir/man1/*
%_mandir/man5/*
%_mandir/man8/*
%_sysconfdir/init.d/openvswitch
%_sysconfdir/init.d/openvswitch-xapi-update
%config %_sysconfdir/logrotate.d/openvswitch
%_sysconfdir/profile.d/openvswitch.sh
%dir %_sysconfdir/xapi.d
%dir %dir %_sysconfdir/xapi.d/plugins
%dir %_libdir/xsconsole/
%dir %_libdir/xsconsole/plugins-base/
%_sysconfdir/xapi.d/plugins/openvswitch-cfg-update
#_sysconfdir/openvswitch
%_libdir/xsconsole/plugins-base/XSFeatureVSwitch.py
/var/adm/fillup-templates/sysconfig.openvswitch
%changelog