# Spec file for Open vSwitch. # Copyright (C) 2009, 2010, 2013, 2014 Nicira Networks, Inc. # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright # notice and this notice are preserved. This file is offered as-is, # without warranty of any kind. # # If tests have to be skipped while building, specify the '--without check' # option. For example: # rpmbuild -bb --without check rhel/openvswitch-fedora.spec #%define kernel 2.6.40.4-5.fc15.x86_64 # Enable PIE, bz#955181 %global _hardened_build 1 Name: openvswitch Summary: Open vSwitch Group: System Environment/Daemons URL: http://www.openvswitch.org/ Version: @VERSION@ # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL # datapath/ is GPLv2 (although not built into any of the binary packages) # python/compat is Python (although not built into any of the binary packages) License: ASL 2.0 and LGPLv2+ and SISSL Release: 1%{?dist} Source: http://openvswitch.org/releases/%{name}-%{version}.tar.gz BuildRequires: autoconf BuildRequires: systemd-units openssl openssl-devel BuildRequires: python python-twisted-core python-zope-interface PyQt4 BuildRequires: desktop-file-utils BuildRequires: groff graphviz Requires: openssl iproute module-init-tools #Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3 Requires: kernel >= 3.15.0-0 Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units %bcond_without check %description Open vSwitch provides standard network bridging functions and support for the OpenFlow protocol for remote per-flow control of traffic. %package -n python-openvswitch Summary: Open vSwitch python bindings License: ASL 2.0 BuildArch: noarch Requires: python %description -n python-openvswitch Python bindings for the Open vSwitch database %package test Summary: Open vSwitch testing utilities License: ASL 2.0 BuildArch: noarch Requires: python-openvswitch = %{version}-%{release} Requires: python python-twisted-core python-twisted-web %description test Utilities that are useful to diagnose performance and connectivity issues in Open vSwitch setup. %package devel Summary: Open vSwitch OpenFlow development package (library, headers) License: ASL 2.0 Provides: openvswitch-static = %{version}-%{release} %description devel This provides static library, libopenswitch.a and the openvswitch header files needed to build an external application. %prep %setup -q -n openvswitch-%{version} %build %configure --enable-ssl --with-pkidir=%{_sharedstatedir}/openvswitch/pki make %{_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT install -d -m 755 $RPM_BUILD_ROOT/etc install -d -m 755 $RPM_BUILD_ROOT/etc/openvswitch install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch.service \ $RPM_BUILD_ROOT%{_unitdir}/openvswitch.service install -p -D -m 0644 rhel/usr_lib_systemd_system_openvswitch-nonetwork.service \ $RPM_BUILD_ROOT%{_unitdir}/openvswitch-nonetwork.service install -m 755 rhel/etc_init.d_openvswitch \ $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init install -d -m 755 $RPM_BUILD_ROOT/etc/sysconfig install -d -m 755 $RPM_BUILD_ROOT/etc/logrotate.d install -m 755 rhel/etc_logrotate.d_openvswitch \ $RPM_BUILD_ROOT/etc/logrotate.d/openvswitch install -d -m 755 $RPM_BUILD_ROOT/etc/profile.d install -m 644 vswitchd/vswitch.ovsschema \ $RPM_BUILD_ROOT/usr/share/openvswitch/vswitch.ovsschema install -d -m 755 $RPM_BUILD_ROOT/usr/share/openvswitch/scripts install -d -m 0755 $RPM_BUILD_ROOT/etc/sysconfig/network-scripts/ install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifdown-ovs \ $RPM_BUILD_ROOT/etc/sysconfig/network-scripts/ifdown-ovs install -p -m 0755 rhel/etc_sysconfig_network-scripts_ifup-ovs \ $RPM_BUILD_ROOT/etc/sysconfig/network-scripts/ifup-ovs install -p -D -m 0644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \ $RPM_BUILD_ROOT/etc/sysconfig/openvswitch install -d -m 755 $RPM_BUILD_ROOT/usr/share/openvswitch/scripts install -d -m 0755 $RPM_BUILD_ROOT%{python_sitelib} mv $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/* $RPM_BUILD_ROOT%{python_sitelib} rmdir $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/ install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch install -d -m 0755 $RPM_BUILD_ROOT%{_includedir}/openvswitch install -p -D -m 0644 include/openvswitch/*.h \ -t $RPM_BUILD_ROOT%{_includedir}/openvswitch install -p -D -m 0644 config.h -t $RPM_BUILD_ROOT%{_includedir}/openvswitch install -d -m 0755 $RPM_BUILD_ROOT%{_includedir}/openvswitch/lib install -p -D -m 0644 lib/*.h \ -t $RPM_BUILD_ROOT%{_includedir}/openvswitch/lib install -d -m 0755 $RPM_BUILD_ROOT%{_includedir}/openflow install -p -D -m 0644 include/openflow/*.h \ -t $RPM_BUILD_ROOT%{_includedir}/openflow %check %if %{with check} if make check TESTSUITEFLAGS='%{_smp_mflags}' || make check TESTSUITEFLAGS='--recheck'; then :; else cat tests/testsuite.log exit 1 fi %endif %clean rm -rf $RPM_BUILD_ROOT %preun # Package removal, not upgrade systemctl stop openvswitch.service systemctl disable openvswitch.service %post if test ! -e /etc/openvswitch/conf.db; then install -d -m 755 -o root -g root /etc/openvswitch # Create ovs-vswitchd config database ovsdb-tool -vANY:console:emer create /etc/openvswitch/conf.db \ /usr/share/openvswitch/vswitch.ovsschema # Create initial table in config database ovsdb-tool -vANY:console:emer transact /etc/openvswitch/conf.db \ '[{"op": "insert", "table": "Open_vSwitch", "row": {}}]' \ > /dev/null fi # Initial installation systemctl enable openvswitch.service systemctl start openvswitch.service %postun %files -n python-openvswitch %{python_sitelib}/ovs %doc COPYING %files test %{_bindir}/ovs-test %{_bindir}/ovs-vlan-test %{_bindir}/ovs-l3ping %{_mandir}/man8/ovs-test.8* %{_mandir}/man8/ovs-vlan-test.8* %{_mandir}/man8/ovs-l3ping.8* %{python_sitelib}/ovstest %files devel %{_libdir}/*.a %{_libdir}/*.la %{_includedir}/openvswitch/* %{_includedir}/openflow/* %files %defattr(-,root,root) %config /etc/sysconfig/openvswitch %config /etc/logrotate.d/openvswitch %{_unitdir}/openvswitch.service %{_unitdir}/openvswitch-nonetwork.service %{_datadir}/openvswitch/scripts/openvswitch.init %{_sysconfdir}/sysconfig/network-scripts/ifup-ovs %{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs /usr/share/openvswitch/bugtool-plugins/ /usr/share/openvswitch/scripts/ovs-bugtool-* /usr/share/openvswitch/scripts/ovs-check-dead-ifs /usr/share/openvswitch/scripts/ovs-lib /usr/share/openvswitch/scripts/ovs-vtep %config /usr/share/openvswitch/vswitch.ovsschema %config /usr/share/openvswitch/vtep.ovsschema /usr/sbin/ovs-bugtool /usr/sbin/ovs-vswitchd /usr/sbin/ovsdb-server /usr/bin/ovs-appctl /usr/bin/ovs-docker /usr/bin/ovs-dpctl /usr/bin/ovs-dpctl-top /usr/bin/ovs-ofctl /usr/bin/ovs-vsctl /usr/bin/ovsdb-client /usr/bin/ovsdb-tool /usr/bin/ovs-testcontroller /usr/bin/ovs-pki /usr/bin/vtep-ctl %doc /usr/share/man/man8/ovs-testcontroller.8.gz %doc /usr/share/man/man8/ovs-pki.8.gz %doc /usr/share/man/man1/ovsdb-client.1.gz %doc /usr/share/man/man1/ovsdb-server.1.gz %doc /usr/share/man/man1/ovsdb-tool.1.gz %doc /usr/share/man/man5/ovs-vswitchd.conf.db.5.gz %doc /usr/share/man/man5/vtep.5.gz %doc /usr/share/man/man8/ovs-appctl.8.gz %doc /usr/share/man/man8/ovs-bugtool.8.gz %doc /usr/share/man/man8/ovs-ctl.8.gz %doc /usr/share/man/man8/ovs-dpctl.8.gz %doc /usr/share/man/man8/ovs-dpctl-top.8.gz %doc /usr/share/man/man8/ovs-ofctl.8.gz %doc /usr/share/man/man8/ovs-parse-backtrace.8.gz %doc /usr/share/man/man8/ovs-vsctl.8.gz %doc /usr/share/man/man8/ovs-vswitchd.8.gz %doc /usr/share/man/man8/vtep-ctl.8.gz %doc COPYING DESIGN.md INSTALL.SSL.md NOTICE README.md WHY-OVS.md FAQ.md NEWS INSTALL.DPDK.md /var/lib/openvswitch /var/log/openvswitch /usr/share/openvswitch/scripts/ovs-ctl %exclude /etc/openvswitch %exclude /usr/bin/ovs-benchmark %exclude /usr/bin/ovs-parse-backtrace %exclude /usr/bin/ovs-pcap %exclude /usr/bin/ovs-tcpundump %exclude /usr/sbin/ovs-vlan-bug-workaround %exclude /usr/share/man/man1/ovs-benchmark.1.gz %exclude /usr/share/man/man1/ovs-pcap.1.gz %exclude /usr/share/man/man1/ovs-tcpundump.1.gz %exclude /usr/share/man/man8/ovs-vlan-bug-workaround.8.gz %exclude /usr/share/openvswitch/scripts/ovs-save %changelog * Wed Jan 12 2011 Ralf Spenneberg - First build on F14