X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=rhel%2Fopenvswitch-fedora.spec.in;h=34d8712722d09d8bffb33ad10ad4e7d495e7e1ef;hb=cfc6963c960f55151fa80784b4d4fd45c4195758;hp=2c6f6e93963814a13a052e277ca08135b3cbad52;hpb=03ce866e44835e43f04747cfc65b2c592d780165;p=cascardo%2Fovs.git diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in index 2c6f6e939..34d871272 100644 --- a/rhel/openvswitch-fedora.spec.in +++ b/rhel/openvswitch-fedora.spec.in @@ -1,6 +1,6 @@ # Spec file for Open vSwitch. -# Copyright (C) 2009, 2010, 2013, 2014 Nicira Networks, Inc. +# Copyright (C) 2009, 2010, 2013, 2014, 2015, 2016 Nicira Networks, Inc. # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright @@ -13,9 +13,21 @@ #%define kernel 2.6.40.4-5.fc15.x86_64 +# If libcap-ng isn't available and there is no need for running OVS +# as regular user, specify the '--without libcapng' +%bcond_without libcapng +# To enable DPDK support, specify '--with dpdk' when building +%bcond_with dpdk + # Enable PIE, bz#955181 %global _hardened_build 1 +# some distros (e.g: RHEL-7) don't define _rundir macro yet +# Fedora 15 onwards uses /run as _rundir +%if 0%{!?_rundir:1} +%define _rundir /run +%endif + Name: openvswitch Summary: Open vSwitch Group: System Environment/Daemons @@ -25,18 +37,24 @@ 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: autoconf automake libtool BuildRequires: systemd-units openssl openssl-devel -BuildRequires: python python-twisted-core python-zope-interface PyQt4 +BuildRequires: python python-twisted-core python-zope-interface PyQt4 python-six BuildRequires: desktop-file-utils BuildRequires: groff graphviz # make check dependencies BuildRequires: procps-ng +%if %{with libcapng} +BuildRequires: libcap-ng libcap-ng-devel +%endif +%if %{with dpdk} +BuildRequires: dpdk-devel >= 2.2.0 +Provides: %{name}-dpdk = %{version}-%{release} +%endif Requires: openssl iproute module-init-tools #Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3 @@ -59,6 +77,7 @@ Summary: Open vSwitch python bindings License: ASL 2.0 BuildArch: noarch Requires: python +Requires: python-six %description -n python-openvswitch Python bindings for the Open vSwitch database @@ -83,12 +102,34 @@ Provides: openvswitch-static = %{version}-%{release} This provides static library, libopenswitch.a and the openvswitch header files needed to build an external application. +%package ovn +Summary: Open vSwitch - Open Virtual Network support +License: ASL 2.0 +Requires: openvswitch + +%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. + %prep %setup -q %build -%configure --enable-ssl --with-pkidir=%{_sharedstatedir}/openvswitch/pki +%configure \ +%if %{with libcapng} + --enable-libcapng \ +%else + --disable-libcapng \ +%endif +%if %{with dpdk} + --with-dpdk=$(dirname %{_datadir}/dpdk/*/.config) \ +%endif + --enable-ssl \ + --with-pkidir=%{_sharedstatedir}/openvswitch/pki + make %{?_smp_mflags} %install @@ -100,13 +141,12 @@ install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch install -p -D -m 0644 \ rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \ $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/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 - +for service in openvswitch openvswitch-nonetwork \ + ovn-controller ovn-controller-vtep ovn-northd; do + install -p -D -m 0644 \ + rhel/usr_lib_systemd_system_${service}.service \ + $RPM_BUILD_ROOT%{_unitdir}/${service}.service +done install -m 0755 rhel/etc_init.d_openvswitch \ $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/openvswitch.init @@ -132,6 +172,16 @@ install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/openvswitch touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/system-id.conf +# remove unpackaged files +rm -f $RPM_BUILD_ROOT%{_bindir}/ovs-parse-backtrace \ + $RPM_BUILD_ROOT%{_bindir}/ovs-pcap \ + $RPM_BUILD_ROOT%{_bindir}/ovs-tcpundump \ + $RPM_BUILD_ROOT%{_sbindir}/ovs-vlan-bug-workaround \ + $RPM_BUILD_ROOT%{_mandir}/man1/ovs-pcap.1 \ + $RPM_BUILD_ROOT%{_mandir}/man1/ovs-tcpundump.1 \ + $RPM_BUILD_ROOT%{_mandir}/man8/ovs-vlan-bug-workaround.8 \ + $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs-save + %check %if %{with check} if make check TESTSUITEFLAGS='%{_smp_mflags}' || @@ -156,6 +206,22 @@ rm -rf $RPM_BUILD_ROOT fi %endif +%preun ovn +%if 0%{?systemd_preun:1} + %systemd_preun ovn-controller.service + %systemd_preun ovn-controller-vtep.service + %systemd_preun ovn-northd.service +%else + if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable ovn-controller.service >/dev/null 2>&1 || : + /bin/systemctl stop ovn-controller.service >/dev/null 2>&1 || : + /bin/systemctl --no-reload disable ovn-controller-vtep.service >/dev/null 2>&1 || : + /bin/systemctl stop ovn-controller-vtep.service >/dev/null 2>&1 || : + /bin/systemctl --no-reload disable ovn-northd.service >/dev/null 2>&1 || : + /bin/systemctl stop ovn-northd.service >/dev/null 2>&1 || : + fi +%endif %post %if 0%{?systemd_post:1} @@ -167,6 +233,17 @@ rm -rf $RPM_BUILD_ROOT fi %endif +%post ovn +%if 0%{?systemd_post:1} + %systemd_post ovn-controller.service + %systemd_post ovn-controller-vtep.service + %systemd_post ovn-northd.service +%else + # Package install, not upgrade + if [ $1 -eq 1 ]; then + /bin/systemctl daemon-reload >dev/null || : + fi +%endif %postun %if 0%{?systemd_postun_with_restart:1} @@ -179,6 +256,20 @@ rm -rf $RPM_BUILD_ROOT fi %endif +%postun ovn +%if 0%{?systemd_postun_with_restart:1} + %systemd_postun_with_restart ovn-controller.service + %systemd_postun_with_restart ovn-controller-vtep.service + %systemd_postun_with_restart ovn-northd.service +%else + /bin/systemctl daemon-reload >/dev/null 2>&1 || : + if [ "$1" -ge "1" ] ; then + # Package upgrade, not uninstall + /bin/systemctl try-restart ovn-controller.service >/dev/null 2>&1 || : + /bin/systemctl try-restart ovn-controller-vtep.service >/dev/null 2>&1 || : + /bin/systemctl try-restart ovn-northd.service >/dev/null 2>&1 || : + fi +%endif %files -n python-openvswitch %{python_sitelib}/ovs @@ -236,9 +327,6 @@ rm -rf $RPM_BUILD_ROOT %{_sbindir}/ovs-bugtool %{_sbindir}/ovs-vswitchd %{_sbindir}/ovsdb-server -%{_mandir}/man1/ovs-benchmark.1* -%{_mandir}/man1/ovs-pcap.1* -%{_mandir}/man1/ovs-tcpundump.1* %{_mandir}/man1/ovsdb-client.1* %{_mandir}/man1/ovsdb-server.1* %{_mandir}/man1/ovsdb-tool.1* @@ -261,16 +349,34 @@ rm -rf $RPM_BUILD_ROOT /var/lib/openvswitch /var/log/openvswitch %ghost %attr(755,root,root) %{_rundir}/openvswitch -%exclude %{_bindir}/ovs-benchmark -%exclude %{_bindir}/ovs-parse-backtrace -%exclude %{_bindir}/ovs-pcap -%exclude %{_bindir}/ovs-tcpundump -%exclude %{_sbindir}/ovs-vlan-bug-workaround -%exclude %{_mandir}/man1/ovs-benchmark.1.gz -%exclude %{_mandir}/man1/ovs-pcap.1.gz -%exclude %{_mandir}/man1/ovs-tcpundump.1.gz -%exclude %{_mandir}/man8/ovs-vlan-bug-workaround.8.gz -%exclude %{_datadir}/openvswitch/scripts/ovs-save + +%files ovn +%{_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 +%{_datadir}/openvswitch/scripts/ovn-bugtool-nbctl-show +%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-lflow-list +%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-show +%{_mandir}/man8/ovs-testcontroller.8* +%{_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 +%{_unitdir}/ovn-controller.service +%{_unitdir}/ovn-controller-vtep.service +%{_unitdir}/ovn-northd.service %changelog * Wed Jan 12 2011 Ralf Spenneberg