On Tue, Jan 8, 2019 at 7:03 PM Timothy Redaelli <tredae...@redhat.com> wrote:
> On Thu, 20 Dec 2018 18:38:52 +0530 > nusid...@redhat.com wrote: > > Hi, > I reviewed the patch inline. > > Please consider also too add ovn-fedora.spec to rhel/.gitignore or > travis will complain about it. > > Thanks Timothy for the review and comments. I have addressed all your comments and submitted v2 - https://patchwork.ozlabs.org/patch/1021915/ Thanks Numan > > From: Numan Siddique <nusid...@redhat.com> > > > > Up until now, OVN rpms were generated as sub packages of OpenvSwitch. > > This patch now splits it and makes OVN rpms independent. > > > > A new spec file - ovn-fedora.spec.in is added for this. > > The openvswitch-fedora.spec.in has been modified to create only > > OpenvSwitch packages. > > > > Since we are not splitting the OVN code, the spec files run the > > same build procedure. Only the required binaries/files are copied > > into the rpms. > > > > The new package names will be ovn, ovn-common, ovn-central, ovn-host, > > ovn-vtep and ovn-docker. > > > > Signed-off-by: Numan Siddique <nusid...@redhat.com> > > --- > > Documentation/intro/install/fedora.rst | 17 +- > > rhel/automake.mk | 9 + > > rhel/openvswitch-fedora.spec.in | 196 +---------- > > rhel/ovn-fedora.spec.in | 445 +++++++++++++++++++++++++ > > 4 files changed, 478 insertions(+), 189 deletions(-) > > create mode 100644 rhel/ovn-fedora.spec.in > > > > diff --git a/Documentation/intro/install/fedora.rst > b/Documentation/intro/install/fedora.rst > > index 5e29e37bf..1acb34e63 100644 > > --- a/Documentation/intro/install/fedora.rst > > +++ b/Documentation/intro/install/fedora.rst > > @@ -103,9 +103,7 @@ in which `./configure` was executed: > > $ make rpm-fedora > > > > This will create the RPMs `openvswitch`, `python-openvswitch`, > > -`openvswitch-test`, `openvswitch-devel`, `openvswitch-ovn-common`, > > -`openvswitch-ovn-central`, `openvswitch-ovn-host`, > `openvswitch-ovn-vtep`, > > -`openvswitch-ovn-docker`, and `openvswitch-debuginfo`. > > +`openvswitch-test`, `openvswitch-devel` and `openvswitch-debuginfo`. > > > > To enable DPDK support in the openvswitch package, the ``--with dpdk`` > option > > can be added: > > @@ -121,6 +119,17 @@ tests. This can take several minutes. > > > > $ make rpm-fedora RPMBUILD_OPT="--with check" > > > > +To build OVN RPMs, execute the following from the directory in which > > +`./configure` was executed: > > + > > +:: > > + > > + $make rpm-fedora-ovn > ^^ I suggest to add a space between $ and make for coherency > with the other documents > > > + > > +This will create the RPMs `ovn`, `ovn-common`, `ovn-central`, > `ovn-host`, > > +`ovn-docker` and `ovn-vtep`. > > + > > + > > Kernel OVS Tree Datapath RPM > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > @@ -156,7 +165,7 @@ In most cases only the `openvswitch` RPM will need > to be installed. The > > `openvswitch-debuginfo` RPMs are optional unless required for a specific > > purpose. > > > > -The `openvswitch-ovn-*` packages are only needed when using OVN. > > +The `ovn-*` packages are only needed when using OVN. > > > > Refer to the `RHEL README`__ for additional usage and configuration > > information. > > diff --git a/rhel/automake.mk b/rhel/automake.mk > > index bc65d83e5..1c5bf153c 100644 > > --- a/rhel/automake.mk > > +++ b/rhel/automake.mk > > @@ -23,6 +23,8 @@ EXTRA_DIST += \ > > rhel/openvswitch.spec.in \ > > rhel/openvswitch-fedora.spec \ > > rhel/openvswitch-fedora.spec.in \ > > + rhel/ovn-fedora.spec \ > > + rhel/ovn-fedora.spec.in \ > > rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \ > > rhel/usr_share_openvswitch_scripts_sysconfig.template \ > > rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \ > > @@ -72,6 +74,13 @@ rpm-fedora: dist > $(srcdir)/rhel/openvswitch-fedora.spec > > -D "_topdir ${RPMBUILD_TOP}" \ > > -ba $(srcdir)/rhel/openvswitch-fedora.spec > > > > +rpm-fedora-ovn: dist $(srcdir)/rhel/ovn-fedora.spec > > + ${MKDIR_P} ${RPMBUILD_TOP}/SOURCES > > + cp ${DIST_ARCHIVES} ${RPMBUILD_TOP}/SOURCES > > + rpmbuild ${RPMBUILD_OPT} \ > > + -D "_topdir ${RPMBUILD_TOP}" \ > > + -ba $(srcdir)/rhel/ovn-fedora.spec > > + > > # Build kernel datapath RPM > > rpm-fedora-kmod: dist $(srcdir)/rhel/openvswitch-kmod-fedora.spec > > ${MKDIR_P} ${RPMBUILD_TOP}/SOURCES > > diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/ > openvswitch-fedora.spec.in > > index fedaf1077..94206022f 100644 > > --- a/rhel/openvswitch-fedora.spec.in > > +++ b/rhel/openvswitch-fedora.spec.in > > @@ -173,54 +173,6 @@ This provides the ifup and ifdown scripts for use > with the legacy network > > service. > > %endif > > > > -%package ovn-central > > -Summary: Open vSwitch - Open Virtual Network support > > -License: ASL 2.0 > > -Requires: openvswitch openvswitch-ovn-common > > -Requires: firewalld-filesystem > > - > > -%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 > > -Requires: firewalld-filesystem > > - > > -%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 %{_py2}-openvswitch > > - > > -%description ovn-docker > > -Docker network plugins for OVN. > > - > > %package ipsec > > Summary: Open vSwitch IPsec tunneling support > > License: ASL 2.0 > > @@ -282,7 +234,6 @@ install -p -D -m 0644 \ > > rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \ > > $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/openvswitch > > for service in openvswitch ovsdb-server ovs-vswitchd > ovs-delete-transient-ports \ > > - ovn-controller ovn-controller-vtep ovn-northd \ > > openvswitch-ipsec; do > > install -p -D -m 0644 \ > > rhel/usr_lib_systemd_system_${service}.service \ > > @@ -328,14 +279,6 @@ install -p -m 644 -D selinux/openvswitch-custom.pp \ > > > $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp > > > > install -d $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/ > > -install -p -m 0644 > rhel/usr_lib_firewalld_services_ovn-central-firewall-service.xml \ > > - > $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/ovn-central-firewall-service.xml > > -install -p -m 0644 > rhel/usr_lib_firewalld_services_ovn-host-firewall-service.xml \ > > - > $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/ovn-host-firewall-service.xml > > - > > -install -d -m 0755 $RPM_BUILD_ROOT%{_prefix}/lib/ocf/resource.d/ovn > > -ln -s %{_datadir}/openvswitch/scripts/ovndb-servers.ocf \ > > - $RPM_BUILD_ROOT%{_prefix}/lib/ocf/resource.d/ovn/ovndb-servers > > > > install -p -D -m 0755 \ > > rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \ > > @@ -346,6 +289,17 @@ rm -f $RPM_BUILD_ROOT%{_bindir}/ovs-parse-backtrace > \ > > $RPM_BUILD_ROOT%{_sbindir}/ovs-vlan-bug-workaround \ > > $RPM_BUILD_ROOT%{_mandir}/man8/ovs-vlan-bug-workaround.8 > > > > +# remove ovn unpackages files > > +rm -f $RPM_BUILD_ROOT%{_bindir}/ovn* > > +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovn* > > +rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovn* > > +rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovn* > > +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovn* > > +rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/ovn* > > +rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovn* > > +rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/* > > +rm -f $RPM_BUILD_ROOT%{_libdir}/libovn* > > + > > %check > > %if %{with check} > > if make check TESTSUITEFLAGS='%{_smp_mflags}' RECHECK=yes; then :; > > @@ -379,39 +333,6 @@ rm -rf $RPM_BUILD_ROOT > > fi > > %endif > > > > -%preun ovn-central > > -%if 0%{?systemd_preun:1} > > - %systemd_preun ovn-northd.service > > -%else > > - if [ $1 -eq 0 ] ; then > > - # 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 > || : > > - fi > > -%endif > > - > > %pre > > getent group openvswitch >/dev/null || groupadd -r openvswitch > > getent passwd openvswitch >/dev/null || \ > > @@ -449,36 +370,6 @@ fi > > fi > > %endif > > > > -%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 > > -%else > > - # Package install, not upgrade > > - if [ $1 -eq 1 ]; then > > - /bin/systemctl daemon-reload >dev/null || : > > - fi > > -%endif > > - > > %post selinux-policy > > %selinux_modules_install -s targeted > %{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp > > > > @@ -489,27 +380,6 @@ fi > > /bin/systemctl daemon-reload >/dev/null 2>&1 || : > > %endif > > > > -%postun ovn-central > > -%if 0%{?systemd_postun:1} > > - %systemd_postun ovn-northd.service > > -%else > > - /bin/systemctl daemon-reload >/dev/null 2>&1 || : > > -%endif > > - > > -%postun ovn-host > > -%if 0%{?systemd_postun:1} > > - %systemd_postun ovn-controller.service > > -%else > > - /bin/systemctl daemon-reload >/dev/null 2>&1 || : > > -%endif > > - > > -%postun ovn-vtep > > -%if 0%{?systemd_postun:1} > > - %systemd_postun ovn-controller-vtep.service > > -%else > > - /bin/systemctl daemon-reload >/dev/null 2>&1 || : > > -%endif > > - > > %postun selinux-policy > > if [ $1 -eq 0 ] ; then > > %selinux_modules_uninstall -s targeted openvswitch-custom > > @@ -550,7 +420,6 @@ fi > > %{_libdir}/pkgconfig/*.pc > > %{_includedir}/openvswitch/* > > %{_includedir}/openflow/* > > -%{_includedir}/ovn/* > > %exclude %{_libdir}/*.la > > > > %if 0%{?rhel} > 7 || 0%{?fedora} > 28 > > @@ -637,49 +506,6 @@ fi > > %attr(750,root,root) /var/log/openvswitch > > %ghost %attr(755,root,root) %{_rundir}/openvswitch > > > > -%files ovn-docker > > -%{_bindir}/ovn-docker-overlay-driver > > -%{_bindir}/ovn-docker-underlay-driver > > - > > -%files ovn-common > > -%{_bindir}/ovn-nbctl > > -%{_bindir}/ovn-sbctl > > -%{_bindir}/ovn-trace > > -%{_bindir}/ovn-detrace > > -%{_datadir}/openvswitch/scripts/ovn-ctl > > -%{_datadir}/openvswitch/scripts/ovndb-servers.ocf > > -%{_datadir}/openvswitch/scripts/ovn-bugtool-nbctl-show > > -%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-lflow-list > > -%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-show > > -%{_mandir}/man8/ovn-ctl.8* > > -%{_mandir}/man8/ovn-nbctl.8* > > -%{_mandir}/man8/ovn-trace.8* > > -%{_mandir}/man1/ovn-detrace.1* > > -%{_mandir}/man7/ovn-architecture.7* > > -%{_mandir}/man8/ovn-sbctl.8* > > -%{_mandir}/man5/ovn-nb.5* > > -%{_mandir}/man5/ovn-sb.5* > > -%{_prefix}/lib/ocf/resource.d/ovn/ovndb-servers > > - > > -%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 > > -%{_prefix}/lib/firewalld/services/ovn-central-firewall-service.xml > > - > > -%files ovn-host > > -%{_bindir}/ovn-controller > > -%{_mandir}/man8/ovn-controller.8* > > -%{_unitdir}/ovn-controller.service > > -%{_prefix}/lib/firewalld/services/ovn-host-firewall-service.xml > > - > > -%files ovn-vtep > > -%{_bindir}/ovn-controller-vtep > > -%{_mandir}/man8/ovn-controller-vtep.8* > > -%{_unitdir}/ovn-controller-vtep.service > > - > > %files ipsec > > %{_datadir}/openvswitch/scripts/ovs-monitor-ipsec > > %{_unitdir}/openvswitch-ipsec.service > > diff --git a/rhel/ovn-fedora.spec.in b/rhel/ovn-fedora.spec.in > > new file mode 100644 > > index 000000000..9804a4cca > > --- /dev/null > > +++ b/rhel/ovn-fedora.spec.in > > @@ -0,0 +1,445 @@ > > +# Spec file for Open Virtual Network (OVN). > > + > > +# Copyright (C) 2018 Red Hat, 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/ovn-fedora.spec > > +# > > + > > +# If libcap-ng isn't available and there is no need for running OVS > > +# as regular user, specify the '--without libcapng' > > +%bcond_without libcapng > > + > > +# Enable Python 3 by specifying '--with build_python3'. > > +# This is enabled by default for versions of the distribution that > > +# have Python 3 by default (Fedora > 22). > > +%bcond_with build_python3 > > + > > +# Enable PIE, bz#955181 > > +%global _hardened_build 1 > > + > > +# some distros (e.g: RHEL-7) don't define _rundir macro yet > > +# Fedora 15 onwards uses /run as _rundir > > +%if 0%{!?_rundir:1} > > +%define _rundir /run > > +%endif > > + > > +# define the python package prefix based on distribution version so > that we can > > +# simultaneously support RHEL-based and later Fedora versions in this > spec file. > > +%if 0%{?fedora} >= 25 > > +%define _py2 python2 > > +%endif > > + > > +%if 0%{?rhel} || 0%{?fedora} < 25 > > +%define _py2 python > > +%endif > > + > > +Name: ovn > > +Summary: Open Virtual Network support > > +Group: System Environment/Daemons > > +URL: http://www.openvswitch.org/ > > +Version: @VERSION@ > > + > > +# Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the > > +# lib/sflow*.[ch] files are SISSL > > +License: ASL 2.0 and LGPLv2+ and SISSL > > +Release: 1%{?dist} > > +Source: http://openvswitch.org/releases/openvswitch-%{version}.tar.gz > > + > > +BuildRequires: gcc gcc-c++ > > +BuildRequires: autoconf automake libtool > > +BuildRequires: systemd-units openssl openssl-devel > > +BuildRequires: %{_py2}-devel > > +%if 0%{?fedora} > 22 || %{with build_python3} > > +BuildRequires: python3-devel > > +%endif > > +BuildRequires: desktop-file-utils > > +BuildRequires: groff graphviz > > +BuildRequires: checkpolicy, selinux-policy-devel > > +BuildRequires: %{_py2}-sphinx > > +# make check dependencies > > +BuildRequires: %{_py2}-twisted%{?rhel:-core} %{_py2}-zope-interface > %{_py2}-six > > +BuildRequires: procps-ng > > +%if %{with libcapng} > > +BuildRequires: libcap-ng libcap-ng-devel > > +%endif > > +BuildRequires: unbound unbound-devel > > + > > +Requires: openssl hostname iproute module-init-tools openvswitch > > + > > +Requires(pre): shadow-utils > shadow-utils is not used in this spec file and so it can be removed > (it's used in openvswitch-fedora.spec in order to create the > openvswitch user and hugetlbfs group) > > > +Requires(post): /bin/sed > /bin/sed is not used in this spec file and so it can be removed (it's > used in openvswitch-fedora.spec in order to > change /etc/sysconfig/openvswitch and logrotate) > > > +Requires(post): systemd-units > > +Requires(preun): systemd-units > > +Requires(postun): systemd-units > > + > > +# to skip running checks, pass --without check > > +%bcond_without check > > + > > +%description > > +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 central > > +Summary: Open Virtual Network support > > +License: ASL 2.0 > > +Requires: ovn ovn-common > > +Requires: firewalld-filesystem > > +Obsoletes: openvswitch-ovn-central > > +Provides: openvswitch-ovn-central = > %{?epoch:%{epoch}:}%{version}-%{release} > > + > > +%description central > > +OVN DB servers and ovn-northd running on a central node. > > + > > +%package host > > +Summary: Open Virtual Network support > > +License: ASL 2.0 > > +Requires: ovn ovn-common > > +Requires: firewalld-filesystem > > +Obsoletes: openvswitch-ovn-host > > +Provides: openvswitch-ovn-host = > %{?epoch:%{epoch}:}%{version}-%{release} > > + > > +%description host > > +OVN controller running on each host. > > + > > +%package vtep > > +Summary: Open Virtual Network support > > +License: ASL 2.0 > > +Requires: ovn ovn-common > > +Obsoletes: openvswitch-ovn-vtep > > +Provides: openvswitch-ovn-vtep = > %{?epoch:%{epoch}:}%{version}-%{release} > > + > > +%description vtep > > +OVN vtep controller > > + > > +%package common > > +Summary: Open Virtual Network support > > +License: ASL 2.0 > > +Requires: ovn > > +Obsoletes: openvswitch-ovn-common > > +Provides: openvswitch-ovn-common = > %{?epoch:%{epoch}:}%{version}-%{release} > > + > > +%description common > > +Utilities that are use to diagnose and manage the OVN components. > > + > > +%package docker > > +Summary: Open Virtual Network support > > +License: ASL 2.0 > > +Requires: ovn ovn-common %{_py2}-openvswitch > > +Obsoletes: openvswitch-ovn-docker > > +Provides: openvswitch-ovn-docker = > %{?epoch:%{epoch}:}%{version}-%{release} > > + > > +%description docker > > +Docker network plugins for OVN. > > + > > +%prep > > +%setup -n openvswitch-%{version} > > + > > +%build > > +%configure \ > > +%if %{with libcapng} > > + --enable-libcapng \ > > +%else > > + --disable-libcapng \ > > +%endif > > + --enable-ssl \ > > + --with-pkidir=%{_sharedstatedir}/openvswitch/pki \ > > +%if 0%{?fedora} > 22 || %{with build_python3} > > + PYTHON3=%{__python3} \ > > + PYTHON=%{__python2} > > +%else > > + PYTHON=%{__python} > > +%endif > > + > > +make %{?_smp_mflags} > > +make selinux-policy > This is probably not needed since this spec file doesn't ship > selinux-policy. > > > + > > +%install > > +rm -rf $RPM_BUILD_ROOT > > +make install DESTDIR=$RPM_BUILD_ROOT > > + > > +for service in ovn-controller ovn-controller-vtep ovn-northd; do > > + install -p -D -m 0644 \ > > + rhel/usr_lib_systemd_system_${service}.service \ > > + $RPM_BUILD_ROOT%{_unitdir}/${service}.service > > +done > > + > > +rm -rf $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/ > > + > > +install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/openvswitch > > + > > +install -d $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/ > > +install -p -m 0644 > rhel/usr_lib_firewalld_services_ovn-central-firewall-service.xml \ > > + > $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/ovn-central-firewall-service.xml > > +install -p -m 0644 > rhel/usr_lib_firewalld_services_ovn-host-firewall-service.xml \ > > + > $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/ovn-host-firewall-service.xml > > + > > +install -d -m 0755 $RPM_BUILD_ROOT%{_prefix}/lib/ocf/resource.d/ovn > > +ln -s %{_datadir}/openvswitch/scripts/ovndb-servers.ocf \ > > + $RPM_BUILD_ROOT%{_prefix}/lib/ocf/resource.d/ovn/ovndb-servers > > + > > +# remove OVS unpackages files > > +rm -f $RPM_BUILD_ROOT%{_bindir}/ovs* > > +rm -f $RPM_BUILD_ROOT%{_bindir}/vtep-ctl > > +rm -f $RPM_BUILD_ROOT%{_sbindir}/ovs* > > +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovs* > > +rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovs* > > +rm -f $RPM_BUILD_ROOT%{_mandir}/man5/vtep* > > +rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovs* > > +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovs* > > +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/vtep* > > +rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/ovs* > > +rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/vswitch.ovsschema > > +rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/vtep.ovsschema > > +rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs* > > +rm -rf $RPM_BUILD_ROOT%{_datadir}/openvswitch/bugtool-plugins > > +rm -f $RPM_BUILD_ROOT%{_includedir}/openvswitch/* > > +rm -f $RPM_BUILD_ROOT%{_includedir}/openflow/* > > +rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.so.* > This should not be necessary since you are linking as static libraries > > > +rm -f $RPM_BUILD_ROOT%{_libdir}/*.a > > +rm -f $RPM_BUILD_ROOT%{_libdir}/*.la > > +rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/*.pc > > +rm -f $RPM_BUILD_ROOT%{_includedir}/openvswitch/* > > +rm -f $RPM_BUILD_ROOT%{_includedir}/openflow/* > > +rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/* > > +rm -f > $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash > > +rm -f > $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash > > +rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/openvswitch > > +rm -rf $RPM_BUILD_ROOT%{_usr}/%{_lib}/lib*.so > This should not be necessary since you are linking as static libraries > > > + > > +%check > > +%if %{with check} > > + if make check TESTSUITEFLAGS='%{_smp_mflags}' RECHECK=yes; then :; > > + else > > + cat tests/testsuite.log > > + exit 1 > > + fi > > +%endif > > + > > +%clean > > +rm -rf $RPM_BUILD_ROOT > > + > > +%pre central > > +if [ $1 -eq 1 ] ; then > > + # Package install. > > + /bin/systemctl status ovn-northd.service >/dev/null > > + ovn_status=$? > > + rpm -ql openvswitch-ovn-central > /dev/null > > + if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then > > + # ovn-northd service is running which means old > openvswitch-ovn-central > > + # is already installed and it will be cleaned up. So start > ovn-northd > > + # service when posttrans central is called. > > + touch %{_localstatedir}/lib/rpm-state/ovn-northd > > + fi > > +fi > > + > > +%pre host > > +if [ $1 -eq 1 ] ; then > > + # Package install. > > + /bin/systemctl status ovn-controller.service >/dev/null > > + ovn_status=$? > > + rpm -ql openvswitch-ovn-host > /dev/null > > + if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then > > + # ovn-controller service is running which means old > > + # openvswitch-ovn-host is installed and it will be cleaned up. > So > > + # start ovn-controller service when posttrans host is called. > > + touch %{_localstatedir}/lib/rpm-state/ovn-controller > > + fi > > +fi > > + > > +%pre vtep > > +if [ $1 -eq 1 ] ; then > > + # Package install. > > + /bin/systemctl status ovn-controller-vtep.service >/dev/null > > + ovn_status=$? > > + rpm -ql openvswitch-ovn-vtep > /dev/null > > + if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then > > + # ovn-controller-vtep service is running which means old > > + # openvswitch-ovn-vtep is installed and it will be cleaned up. > So > > + # start ovn-controller-vtep service when posttrans host is > called. > > + touch %{_localstatedir}/lib/rpm-state/ovn-controller-vtep > > + fi > > +fi > > + > > +%preun central > > +%if 0%{?systemd_preun:1} > > + %systemd_preun ovn-northd.service > > +%else > > + if [ $1 -eq 0 ] ; then > > + # 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 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 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 > || : > > + fi > > +%endif > > + > > +%post 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 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 vtep > > +%if 0%{?systemd_post:1} > > + %systemd_post ovn-controller-vtep.service > > +%else > > + # Package install, not upgrade > > + if [ $1 -eq 1 ]; then > > + /bin/systemctl daemon-reload >dev/null || : > > + fi > > +%endif > > + > > +%postun > > + > > +%postun central > > +%if 0%{?systemd_postun_with_restart:1} > > + %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 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 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 || : > > + fi > > +%endif > > + > > +%posttrans central > > +if [ $1 -eq 1 ]; then > > + # Package install, not upgrade > > + if [ -e %{_localstatedir}/lib/rpm-state/ovn-northd ]; then > > + rm %{_localstatedir}/lib/rpm-state/ovn-northd > > + /bin/systemctl start ovn-northd.service >/dev/null 2>&1 || : > > + fi > > +fi > > + > > + > > +%posttrans host > > +if [ $1 -eq 1 ]; then > > + # Package install, not upgrade > > + if [ -e %{_localstatedir}/lib/rpm-state/ovn-controller ]; then > > + rm %{_localstatedir}/lib/rpm-state/ovn-controller > > + /bin/systemctl start ovn-controller.service >/dev/null 2>&1 || : > > + fi > > +fi > > + > > +%posttrans vtep > > +if [ $1 -eq 1 ]; then > > + # Package install, not upgrade > > + if [ -e %{_localstatedir}/lib/rpm-state/ovn-controller-vtep ]; then > > + rm %{_localstatedir}/lib/rpm-state/ovn-controller-vtep > > + /bin/systemctl start ovn-controller-vtep.service >/dev/null > 2>&1 || : > > + fi > > +fi > > + > > +%files > > + > > +%files docker > > +%{_bindir}/ovn-docker-overlay-driver > > +%{_bindir}/ovn-docker-underlay-driver > > + > > +%files common > > +%{_bindir}/ovn-nbctl > > +%{_bindir}/ovn-sbctl > > +%{_bindir}/ovn-trace > > +%{_bindir}/ovn-detrace > > +%{_datadir}/openvswitch/scripts/ovn-ctl > > +%{_datadir}/openvswitch/scripts/ovndb-servers.ocf > > +%{_datadir}/openvswitch/scripts/ovn-bugtool-nbctl-show > > +%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-lflow-list > > +%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-show > > +%{_mandir}/man8/ovn-ctl.8* > > +%{_mandir}/man8/ovn-nbctl.8* > > +%{_mandir}/man8/ovn-trace.8* > > +%{_mandir}/man1/ovn-detrace.1* > > +%{_mandir}/man7/ovn-architecture.7* > > +%{_mandir}/man8/ovn-sbctl.8* > > +%{_mandir}/man5/ovn-nb.5* > > +%{_mandir}/man5/ovn-sb.5* > > +%{_prefix}/lib/ocf/resource.d/ovn/ovndb-servers > > + > > +%files 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 > > +%{_prefix}/lib/firewalld/services/ovn-central-firewall-service.xml > > + > > +%files host > > +%{_bindir}/ovn-controller > > +%{_mandir}/man8/ovn-controller.8* > > +%{_unitdir}/ovn-controller.service > > +%{_prefix}/lib/firewalld/services/ovn-host-firewall-service.xml > > + > > +%files vtep > > +%{_bindir}/ovn-controller-vtep > > +%{_mandir}/man8/ovn-controller-vtep.8* > > +%{_unitdir}/ovn-controller-vtep.service > > + > > +%changelog > > +* Thu Dec 20 2018 Numan Siddique <nusid...@redhat.com> > > +- OVS/OVN split. > > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev