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

Reply via email to