fedora-spec: add python-openvswitch subpackage
[cascardo/ovs.git] / rhel / openvswitch-fedora.spec.in
index d3b0ecb..38cc15f 100644 (file)
@@ -19,29 +19,49 @@ Group: System Environment/Daemons
 URL: http://www.openvswitch.org/
 Version: @VERSION@
 
-# The entire source code is ASL 2.0 except datapath/ which is GPLv2
-License: ASL 2.0
+# 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: openvswitch-%{version}.tar.gz
-#Source1: openvswitch-init
-Buildroot: /tmp/openvswitch-fedora-rpm
+Source: http://openvswitch.org/releases/%{name}-%{version}.tar.gz
+
+BuildRequires: autoconf
+BuildRequires: systemd-units openssl openssl-devel
+BuildRequires: python python-twisted-core python-zope-interface PyQt4
+BuildRequires: desktop-file-utils
+BuildRequires: groff graphviz
 
-Requires(post):  systemd-units
+Requires: openssl iproute module-init-tools
+#Upstream kernel commit 4f647e0a3c37b8d5086214128614a136064110c3
+Requires: kernel >= 3.15.0-0
+
+Requires(post): systemd-units
 Requires(preun): systemd-units
 Requires(postun): systemd-units
 
 %bcond_without check
 
 %description
-Open vSwitch provides standard network bridging functions augmented with
+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
+
 %prep
 %setup -q -n openvswitch-%{version}
 
 %build
-./configure --prefix=/usr --sysconfdir=/etc --localstatedir=%{_localstatedir} --enable-ssl
+%configure --enable-ssl --with-pkidir=%{_sharedstatedir}/openvswitch/pki
 make %{_smp_mflags}
 
 %install
@@ -72,8 +92,9 @@ 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
 
@@ -117,6 +138,10 @@ systemctl start openvswitch.service
 
 %postun
 
+%files -n python-openvswitch
+%{python_sitelib}/ovs
+%doc COPYING
+
 %files
 %defattr(-,root,root)
 %config /etc/sysconfig/openvswitch
@@ -127,42 +152,7 @@ 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*
+%{python_sitelib}/ovstest
 /usr/share/openvswitch/scripts/ovs-bugtool-*
 /usr/share/openvswitch/scripts/ovs-check-dead-ifs
 /usr/share/openvswitch/scripts/ovs-lib
@@ -204,7 +194,7 @@ systemctl start openvswitch.service
 %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 INSTALL.SSL NOTICE README.md WHY-OVS FAQ NEWS INSTALL.DPDK
+%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