rpms: %exclude has side-effects, remove the files from buildroot instead
[cascardo/ovs.git] / rhel / openvswitch-fedora.spec.in
index 4d403e0..15f5c60 100644 (file)
 
 #%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
+
 # Enable PIE, bz#955181
 %global _hardened_build 1
 
@@ -42,6 +46,9 @@ BuildRequires: desktop-file-utils
 BuildRequires: groff graphviz
 # make check dependencies
 BuildRequires: procps-ng
+%if %{with libcapng}
+BuildRequires: libcap-ng libcap-ng-devel
+%endif
 
 Requires: openssl iproute module-init-tools
 #Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3
@@ -104,7 +111,15 @@ overlays and security groups.
 %setup -q
 
 %build
-%configure --enable-ssl --with-pkidir=%{_sharedstatedir}/openvswitch/pki
+%configure \
+%if %{with libcapng}
+       --enable-libcapng \
+%else
+       --disable-libcapng \
+%endif
+       --enable-ssl \
+       --with-pkidir=%{_sharedstatedir}/openvswitch/pki
+
 make %{?_smp_mflags}
 
 %install
@@ -116,7 +131,8 @@ 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
-for service in openvswitch openvswitch-nonetwork ovn-controller ovn-northd; do
+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
@@ -146,6 +162,18 @@ 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-benchmark \
+        $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-benchmark.1 \
+        $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}' ||
@@ -173,12 +201,15 @@ rm -rf $RPM_BUILD_ROOT
 %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
@@ -197,6 +228,7 @@ rm -rf $RPM_BUILD_ROOT
 %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
@@ -219,12 +251,14 @@ rm -rf $RPM_BUILD_ROOT
 %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
@@ -285,9 +319,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*
@@ -310,20 +341,12 @@ 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
@@ -341,9 +364,8 @@ rm -rf $RPM_BUILD_ROOT
 %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
-%ghost %attr(755,root,root) %{_rundir}/ovn-controller
-%ghost %attr(755,root,root) %{_rundir}/ovn-northd
 
 %changelog
 * Wed Jan 12 2011 Ralf Spenneberg <ralf@os-s.net>