#%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
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
+Obsoletes: openvswitch-controller <= 0:2.1.0-1
%bcond_without check
%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}
+%setup -q
%build
%configure --enable-ssl --with-pkidir=%{_sharedstatedir}/openvswitch/pki
-make %{_smp_mflags}
+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 -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/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 \
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*)
+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
+
+touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/conf.db
+touch $RPM_BUILD_ROOT%{_sysconfdir}/openvswitch/system-id.conf
%check
%if %{with check}
%{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
+%dir %{_sysconfdir}/openvswitch
+%config %ghost %{_sysconfdir}/openvswitch/conf.db
+%config %ghost %{_sysconfdir}/openvswitch/system-id.conf
+%config(noreplace) %{_sysconfdir}/sysconfig/openvswitch
%config /etc/logrotate.d/openvswitch
%{_unitdir}/openvswitch.service
%{_unitdir}/openvswitch-nonetwork.service
%{_sysconfdir}/sysconfig/network-scripts/ifup-ovs
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ovs
/usr/share/openvswitch/bugtool-plugins/
-%{python_sitelib}/ovstest
/usr/share/openvswitch/scripts/ovs-bugtool-*
/usr/share/openvswitch/scripts/ovs-check-dead-ifs
/usr/share/openvswitch/scripts/ovs-lib
/usr/bin/ovsdb-tool
/usr/bin/ovs-testcontroller
/usr/bin/ovs-pki
-/usr/bin/ovs-test
-/usr/bin/ovs-l3ping
/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/ovs-test.8.gz
-%doc /usr/share/man/man8/ovs-l3ping.8.gz
-%doc /usr/share/man/man8/vtep-ctl.8.gz
+%{_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*
+%{_mandir}/man5/ovs-vswitchd.conf.db.5*
+%{_mandir}/man5/vtep.5*
+%{_mandir}/man8/vtep-ctl.8*
+%{_mandir}/man8/ovs-appctl.8*
+%{_mandir}/man8/ovs-bugtool.8*
+%{_mandir}/man8/ovs-ctl.8*
+%{_mandir}/man8/ovs-dpctl.8*
+%{_mandir}/man8/ovs-dpctl-top.8*
+%{_mandir}/man8/ovs-ofctl.8*
+%{_mandir}/man8/ovs-pki.8*
+%{_mandir}/man8/ovs-vsctl.8*
+%{_mandir}/man8/ovs-vswitchd.8*
+%{_mandir}/man8/ovs-parse-backtrace.8*
+%{_mandir}/man8/ovs-testcontroller.8*
%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/bin/ovs-vlan-test
%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/man/man8/ovs-vlan-test.8.gz
%exclude /usr/share/openvswitch/scripts/ovs-save
%changelog