# Spec file for Open vSwitch.
-# Copyright (C) 2009, 2010, 2013 Nicira Networks, Inc.
+# 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
Requires(preun): systemd-units
Requires(postun): systemd-units
+%bcond_without check
+
%description
Open vSwitch provides standard network bridging functions augmented with
support for the OpenFlow protocol for remote per-flow control of
%setup -q -n openvswitch-%{version}
%build
-./configure --prefix=/usr --sysconfdir=/etc --localstatedir=%{_localstatedir} --enable-ssl %{build_number}
+./configure --prefix=/usr --sysconfdir=/etc --localstatedir=%{_localstatedir} --enable-ssl
make %{_smp_mflags}
%install
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
$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_sysconfig.template \
+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 755 $RPM_BUILD_ROOT/var/lib/openvswitch
+# Get rid of stuff we don't want to make RPM happy.
+(cd "$RPM_BUILD_ROOT" && rm -f usr/lib/lib*)
+
+%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
%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/python/ovs/__init__.py
-/usr/share/openvswitch/python/ovs/daemon.py
-/usr/share/openvswitch/python/ovs/db/__init__.py
-/usr/share/openvswitch/python/ovs/db/data.py
-/usr/share/openvswitch/python/ovs/db/error.py
-/usr/share/openvswitch/python/ovs/db/idl.py
-/usr/share/openvswitch/python/ovs/db/parser.py
-/usr/share/openvswitch/python/ovs/db/schema.py
-/usr/share/openvswitch/python/ovs/db/types.py
-/usr/share/openvswitch/python/ovs/dirs.py
-/usr/share/openvswitch/python/ovs/fatal_signal.py
-/usr/share/openvswitch/python/ovs/json.py
-/usr/share/openvswitch/python/ovs/jsonrpc.py
-/usr/share/openvswitch/python/ovs/ovsuuid.py
-/usr/share/openvswitch/python/ovs/poller.py
-/usr/share/openvswitch/python/ovs/process.py
-/usr/share/openvswitch/python/ovs/reconnect.py
-/usr/share/openvswitch/python/ovs/socket_util.py
-/usr/share/openvswitch/python/ovs/stream.py
-/usr/share/openvswitch/python/ovs/timeval.py
-/usr/share/openvswitch/python/ovs/util.py
-/usr/share/openvswitch/python/ovs/version.py
-/usr/share/openvswitch/python/ovs/unixctl/__init__.py
-/usr/share/openvswitch/python/ovs/unixctl/client.py
-/usr/share/openvswitch/python/ovs/unixctl/server.py
-/usr/share/openvswitch/python/uuid.py
-/usr/share/openvswitch/python/argparse.py
-/usr/share/openvswitch/python/ovs/vlog.py
-/usr/share/openvswitch/python/ovstest/__init__.py
-/usr/share/openvswitch/python/ovstest/args.py
-/usr/share/openvswitch/python/ovstest/rpcserver.py
-/usr/share/openvswitch/python/ovstest/tcp.py
-/usr/share/openvswitch/python/ovstest/udp.py
-/usr/share/openvswitch/python/ovstest/util.py
-/usr/share/openvswitch/python/ovstest/vswitch.py
-/usr/share/openvswitch/python/ovstest/tests.py
+/usr/share/openvswitch/python/ovs/__init__.py*
+/usr/share/openvswitch/python/ovs/daemon.py*
+/usr/share/openvswitch/python/ovs/db/__init__.py*
+/usr/share/openvswitch/python/ovs/db/data.py*
+/usr/share/openvswitch/python/ovs/db/error.py*
+/usr/share/openvswitch/python/ovs/db/idl.py*
+/usr/share/openvswitch/python/ovs/db/parser.py*
+/usr/share/openvswitch/python/ovs/db/schema.py*
+/usr/share/openvswitch/python/ovs/db/types.py*
+/usr/share/openvswitch/python/ovs/dirs.py*
+/usr/share/openvswitch/python/ovs/fatal_signal.py*
+/usr/share/openvswitch/python/ovs/json.py*
+/usr/share/openvswitch/python/ovs/jsonrpc.py*
+/usr/share/openvswitch/python/ovs/ovsuuid.py*
+/usr/share/openvswitch/python/ovs/poller.py*
+/usr/share/openvswitch/python/ovs/process.py*
+/usr/share/openvswitch/python/ovs/reconnect.py*
+/usr/share/openvswitch/python/ovs/socket_util.py*
+/usr/share/openvswitch/python/ovs/stream.py*
+/usr/share/openvswitch/python/ovs/timeval.py*
+/usr/share/openvswitch/python/ovs/util.py*
+/usr/share/openvswitch/python/ovs/version.py*
+/usr/share/openvswitch/python/ovs/unixctl/__init__.py*
+/usr/share/openvswitch/python/ovs/unixctl/client.py*
+/usr/share/openvswitch/python/ovs/unixctl/server.py*
+/usr/share/openvswitch/python/uuid.py*
+/usr/share/openvswitch/python/argparse.py*
+/usr/share/openvswitch/python/ovs/vlog.py*
+/usr/share/openvswitch/python/ovstest/__init__.py*
+/usr/share/openvswitch/python/ovstest/args.py*
+/usr/share/openvswitch/python/ovstest/rpcserver.py*
+/usr/share/openvswitch/python/ovstest/tcp.py*
+/usr/share/openvswitch/python/ovstest/udp.py*
+/usr/share/openvswitch/python/ovstest/util.py*
+/usr/share/openvswitch/python/ovstest/vswitch.py*
+/usr/share/openvswitch/python/ovstest/tests.py*
/usr/share/openvswitch/scripts/ovs-bugtool-*
/usr/share/openvswitch/scripts/ovs-check-dead-ifs
/usr/share/openvswitch/scripts/ovs-lib
%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
%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-ctl.8.gz
%exclude /usr/share/man/man8/ovs-vlan-bug-workaround.8.gz
%exclude /usr/share/man/man8/ovs-vlan-test.8.gz
%exclude /usr/share/openvswitch/scripts/ovs-save