rhel: Packaging for OVN is split as per functionality
[cascardo/ovs.git] / rhel / openvswitch-fedora.spec.in
index bfd9411..0759096 100644 (file)
@@ -112,17 +112,51 @@ Provides: openvswitch-static = %{version}-%{release}
 This provides static library, libopenswitch.a and the openvswitch header
 files needed to build an external application.
 
-%package ovn
+%package ovn-central
 Summary: Open vSwitch - Open Virtual Network support
 License: ASL 2.0
-Requires: openvswitch
+Requires: openvswitch openvswitch-ovn-common
 
-%description ovn
+%description ovn-central
 OVN, the Open Virtual Network, is a system to support virtual network
 abstraction.  OVN complements the existing capabilities of OVS to add
 native support for virtual network abstractions, such as virtual L2 and L3
 overlays and security groups.
 
+%package ovn-host
+Summary: Open vSwitch - Open Virtual Network support
+License: ASL 2.0
+Requires: openvswitch openvswitch-ovn-common
+
+%description ovn-host
+OVN, the Open Virtual Network, is a system to support virtual network
+abstraction.  OVN complements the existing capabilities of OVS to add
+native support for virtual network abstractions, such as virtual L2 and L3
+overlays and security groups.
+
+%package ovn-vtep
+Summary: Open vSwitch - Open Virtual Network support
+License: ASL 2.0
+Requires: openvswitch openvswitch-ovn-common
+
+%description ovn-vtep
+OVN vtep controller
+
+%package ovn-common
+Summary: Open vSwitch - Open Virtual Network support
+License: ASL 2.0
+Requires: openvswitch
+
+%description ovn-common
+Utilities that are use to diagnose and manage the OVN components.
+
+%package ovn-docker
+Summary: Open vSwitch - Open Virtual Network support
+License: ASL 2.0
+Requires: openvswitch openvswitch-ovn-common python-openvswitch
+
+%description ovn-docker
+Docker network plugins for OVN.
 
 %prep
 %setup -q
@@ -213,26 +247,42 @@ rm -rf $RPM_BUILD_ROOT
     %systemd_preun %{name}.service
 %else
     if [ $1 -eq 0 ] ; then
-    # Package removal, not upgrade
+        # Package removal, not upgrade
         /bin/systemctl --no-reload disable %{name}.service >/dev/null 2>&1 || :
         /bin/systemctl stop %{name}.service >/dev/null 2>&1 || :
     fi
 %endif
 
-%preun ovn
+%preun ovn-central
 %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
+        # Package removal, not upgrade
+        /bin/systemctl --no-reload disable ovn-northd.service >/dev/null 2>&1 || :
+        /bin/systemctl stop ovn-northd.service >/dev/null 2>&1 || :
+    fi
+%endif
+
+%preun ovn-host
+%if 0%{?systemd_preun:1}
+    %systemd_preun ovn-controller.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 || :
+    fi
+%endif
+
+%preun ovn-vtep
+%if 0%{?systemd_preun:1}
+    %systemd_preun ovn-controller-vtep.service
+%else
+    if [ $1 -eq 0 ] ; then
+        # Package removal, not upgrade
         /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
 %endif
 
@@ -246,11 +296,29 @@ rm -rf $RPM_BUILD_ROOT
     fi
 %endif
 
-%post ovn
+%post ovn-central
+%if 0%{?systemd_post:1}
+    %systemd_post ovn-northd.service
+%else
+    # Package install, not upgrade
+    if [ $1 -eq 1 ]; then
+        /bin/systemctl daemon-reload >dev/null || :
+    fi
+%endif
+
+%post ovn-host
 %if 0%{?systemd_post:1}
     %systemd_post ovn-controller.service
+%else
+    # Package install, not upgrade
+    if [ $1 -eq 1 ]; then
+        /bin/systemctl daemon-reload >dev/null || :
+    fi
+%endif
+
+%post ovn-vtep
+%if 0%{?systemd_post:1}
     %systemd_post ovn-controller-vtep.service
-    %systemd_post ovn-northd.service
 %else
     # Package install, not upgrade
     if [ $1 -eq 1 ]; then
@@ -272,18 +340,36 @@ rm -rf $RPM_BUILD_ROOT
     fi
 %endif
 
-%postun ovn
+%postun ovn-central
 %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-northd.service >/dev/null 2>&1 || :
+    fi
+%endif
+
+%postun ovn-host
+%if 0%{?systemd_postun_with_restart:1}
+    %systemd_postun_with_restart ovn-controller.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 || :
+    fi
+%endif
+
+%postun ovn-vtep
+%if 0%{?systemd_postun_with_restart:1}
+    %systemd_postun_with_restart ovn-controller-vtep.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-vtep.service >/dev/null 2>&1 || :
-        /bin/systemctl try-restart ovn-northd.service >/dev/null 2>&1 || :
     fi
 %endif
 
@@ -376,32 +462,40 @@ fi
 /var/log/openvswitch
 %ghost %attr(755,root,root) %{_rundir}/openvswitch
 
-%files ovn
-%{_bindir}/ovn-controller
-%{_bindir}/ovn-controller-vtep
+%files ovn-docker
 %{_bindir}/ovn-docker-overlay-driver
 %{_bindir}/ovn-docker-underlay-driver
+
+%files ovn-common
 %{_bindir}/ovn-nbctl
-%{_bindir}/ovn-northd
 %{_bindir}/ovn-sbctl
 %{_datadir}/openvswitch/scripts/ovn-ctl
 %{_datadir}/openvswitch/scripts/ovn-bugtool-nbctl-show
 %{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-lflow-list
 %{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-show
-%{_mandir}/man5/ovn-nb.5*
-%{_mandir}/man5/ovn-sb.5*
-%{_mandir}/man7/ovn-architecture.7*
-%{_mandir}/man8/ovn-controller.8*
-%{_mandir}/man8/ovn-controller-vtep.8*
 %{_mandir}/man8/ovn-ctl.8*
 %{_mandir}/man8/ovn-nbctl.8*
-%{_mandir}/man8/ovn-northd.8*
+%{_mandir}/man7/ovn-architecture.7*
 %{_mandir}/man8/ovn-sbctl.8*
+%{_mandir}/man5/ovn-nb.5*
+%{_mandir}/man5/ovn-sb.5*
+
+%files ovn-central
+%{_bindir}/ovn-northd
+%{_mandir}/man8/ovn-northd.8*
 %config %{_datadir}/openvswitch/ovn-nb.ovsschema
 %config %{_datadir}/openvswitch/ovn-sb.ovsschema
+%{_unitdir}/ovn-northd.service
+
+%files ovn-host
+%{_bindir}/ovn-controller
+%{_mandir}/man8/ovn-controller.8*
 %{_unitdir}/ovn-controller.service
+
+%files ovn-vtep
+%{_bindir}/ovn-controller-vtep
+%{_mandir}/man8/ovn-controller-vtep.8*
 %{_unitdir}/ovn-controller-vtep.service
-%{_unitdir}/ovn-northd.service
 
 %changelog
 * Wed Jan 12 2011 Ralf Spenneberg <ralf@os-s.net>