Summary: Open vSwitch daemon/database/utilities Name: openvswitch Version: 2.4.0 Release: 2%{?dist} License: ASL 2.0 and LGPLv2+ URL: http://www.openvswitch.org/ Group: System Environment/Daemons Vendor: VMware, Inc. Distribution: Photon Source0: http://openvswitch.org/releases/%{name}-%{version}.tar.gz %define sha1 openvswitch=d091902579cf5101df851d2ec69c75a6bcbd49fc BuildRequires: gcc >= 4.0.0 BuildRequires: libcap-ng BuildRequires: make BuildRequires: openssl BuildRequires: openssl-devel BuildRequires: python2 >= 2.7.0 BuildRequires: python2-devel BuildRequires: python2-libs BuildRequires: python-xml BuildRequires: python-setuptools Requires: libgcc-atomic Requires: libcap-ng Requires: openssl Requires: PyYAML Requires: python2 Requires: python2-libs Requires: python-xml Requires: python-configobj Requires: python-jsonpatch Requires: python-prettytable Requires: python-requests %description Open vSwitch provides standard network bridging functions and support for the OpenFlow protocol for remote per-flow control of traffic. %package devel Summary: Header and development files for openvswitch Requires: %{name} = %{version} %description devel openvswitch-devel package contains header files and libs. %package doc Summary: Documentation for openvswitch Requires: %{name} = %{version}-%{release} %description doc It contains the documentation and manpages for openvswitch. %prep %setup -q %build ./configure \ CFLAGS="%{optflags}" \ --prefix=%{_prefix} \ --bindir=%{_bindir} \ --libdir=%{_libdir} \ --sysconfdir=/etc \ --localstatedir=/var \ --enable-ssl make %{_smp_mflags} %install make DESTDIR=%{buildroot} install find %{buildroot}%{_libdir} -name '*.la' -delete mkdir -p %{buildroot}/%{_libdir}/systemd/system cat << EOF >> %{buildroot}/%{_libdir}/systemd/system/openvswitch.service [Unit] Description=Open vSwitch [Service] Type=oneshot RemainAfterExit=yes ExecStartPre=/usr/bin/mkdir -p /etc/openvswitch ExecStartPre=/usr/bin/mkdir -p /var/run/openvswitch ExecStartPre=/sbin/modprobe openvswitch ExecStartPre=/usr/bin/bash -c "[ -f /etc/openvswitch/conf.db ] || ovsdb-tool create /etc/openvswitch/conf.db /usr/share/openvswitch/vswitch.ovsschema" ExecStart=/usr/bin/bash -c "[[ -n \$(pidof ovsdb-server) ]] || ovsdb-server --remote=punix:/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach" ExecStart=/usr/bin/ovs-vsctl --no-wait init ExecStart=/usr/bin/bash -c "[[ -n \$(pidof ovs-vswitchd) ]] || ovs-vswitchd --pidfile --detach" ExecStop=/usr/bin/bash -c "[ -f /var/run/openvswitch/ovs-vswitchd.pid ] && kill \$(cat /var/run/openvswitch/ovs-vswitchd.pid)" ExecStop=/usr/bin/bash -c "[ -f /var/run/openvswitch/ovsdb-server.pid ] && kill \$(cat /var/run/openvswitch/ovsdb-server.pid)" ExecStopPost=/sbin/modprobe -r openvswitch [Install] WantedBy=multi-user.target EOF %check make -k check |& tee %{_specdir}/%{name}-check-log || %{nocheck} #TODO: Make a systemctl file to start and stop OVS %files %defattr(-,root,root) %{_bindir}/ovs-* %{_bindir}/ovsdb-* %{_bindir}/vtep-ctl %{_sbindir}/ovs-* %{_sbindir}/ovsdb-server %{_libdir}/systemd/system/openvswitch.service /etc/bash_completion.d/ovs-*-bashcomp.bash /usr/share/openvswitch/*.ovsschema /usr/share/openvswitch/bugtool-plugins/* /usr/share/openvswitch/python/* /usr/share/openvswitch/scripts/ovs-* %files devel %{_includedir}/openflow/*.h %{_includedir}/openvswitch/*.h %{_libdir}/*.a %{_libdir}/pkgconfig/*.pc %files doc /usr/share/man/man1/ovs-*.1.gz /usr/share/man/man1/ovsdb-*.1.gz /usr/share/man/man5/ovs-vswitchd.conf.db.5.gz /usr/share/man/man5/vtep.5.gz /usr/share/man/man8/ovs-*.8.gz /usr/share/man/man8/vtep-ctl.8.gz %changelog * Sat Oct 31 2015 Vinay Kulkarni 2.4.0-2 - OVS requires libatomic.so.1 provided by gcc. * Mon Oct 12 2015 Vinay Kulkarni 2.4.0-1 - Update to OVS v2.4.0 * Fri May 29 2015 Kumar Kaushik 2.3.1-1 - Initial build. First version