fedora-spec: use default tarball dirs name
[cascardo/ovs.git] / rhel / openvswitch-fedora.spec.in
index 3e19c91..03bf0b2 100644 (file)
@@ -13,6 +13,9 @@
 
 #%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
@@ -40,6 +43,7 @@ Requires: kernel >= 3.15.0-0
 Requires(post): systemd-units
 Requires(preun): systemd-units
 Requires(postun): systemd-units
+Obsoletes: openvswitch-controller <= 0:2.1.0-1
 
 %bcond_without check
 
@@ -48,12 +52,42 @@ Open vSwitch provides standard network bridging functions and
 support for the OpenFlow protocol for remote per-flow control of
 traffic.
 
+%package -n python-openvswitch
+Summary: Open vSwitch python bindings
+License: ASL 2.0
+BuildArch: noarch
+Requires: python
+
+%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
@@ -83,13 +117,24 @@ install -p -D -m 0644 rhel/usr_share_openvswitch_scripts_systemd_sysconfig.templ
         $RPM_BUILD_ROOT/etc/sysconfig/openvswitch
 install -d -m 755 $RPM_BUILD_ROOT/usr/share/openvswitch/scripts
 
-install python/compat/uuid.py $RPM_BUILD_ROOT/usr/share/openvswitch/python
-install python/compat/argparse.py $RPM_BUILD_ROOT/usr/share/openvswitch/python
+install -d -m 0755 $RPM_BUILD_ROOT%{python_sitelib}
+mv $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/* $RPM_BUILD_ROOT%{python_sitelib}
+rmdir $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/
 
 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
 
 %check
 %if %{with check}
@@ -128,6 +173,25 @@ systemctl start openvswitch.service
 
 %postun
 
+%files -n python-openvswitch
+%{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
@@ -138,42 +202,6 @@ systemctl start openvswitch.service
 %{_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/scripts/ovs-bugtool-*
 /usr/share/openvswitch/scripts/ovs-check-dead-ifs
 /usr/share/openvswitch/scripts/ovs-lib
@@ -193,8 +221,6 @@ systemctl start openvswitch.service
 /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
@@ -212,8 +238,6 @@ systemctl start openvswitch.service
 %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
 %doc COPYING DESIGN.md INSTALL.SSL.md NOTICE README.md WHY-OVS.md FAQ.md NEWS INSTALL.DPDK.md
 /var/lib/openvswitch
@@ -224,13 +248,11 @@ systemctl start openvswitch.service
 %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