diff mbox series

[ovs-dev] Drop support for RHEL 5 and 6

Message ID 45424455c132c4316602ce4364d56dd8eb9d59ec.1515688069.git.tredaelli@redhat.com
State Rejected
Delegated to: Russell Bryant
Headers show
Series [ovs-dev] Drop support for RHEL 5 and 6 | expand

Commit Message

Timothy Redaelli Jan. 11, 2018, 4:36 p.m. UTC
RHEL 6 is not supported anymore since it uses Python 2.6 and GCC 4.4.x,
but Open vSwitch needs, at least, Python 2.7 and GCC 4.6 to build correctly.

http://docs.openvswitch.org/en/latest/intro/install/general/#build-requirements

CC: Gurucharan Shetty <guru@ovn.org>
Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
---

This is the same, rejected, patch I sent as RFC since I have, in the
meanwhile, sent another patchset (already merged) to add the requested
"force-reload-kmod" support on RHEL7 ("ovs-systemd-reload force-reload-kmod").

 Documentation/automake.mk             |   1 -
 Documentation/howto/docker.rst        |   2 +-
 Documentation/index.rst               |   1 -
 Documentation/intro/install/index.rst |   1 -
 Documentation/intro/install/rhel.rst  | 238 ------------------------------
 rhel/.gitignore                       |   3 -
 rhel/automake.mk                      |  11 --
 rhel/openvswitch-kmod-rhel6.spec.in   |  78 ----------
 rhel/openvswitch-kmod.files           |   3 -
 rhel/openvswitch.spec.in              | 267 ----------------------------------
 10 files changed, 1 insertion(+), 604 deletions(-)
 delete mode 100644 Documentation/intro/install/rhel.rst
 delete mode 100644 rhel/openvswitch-kmod-rhel6.spec.in
 delete mode 100644 rhel/openvswitch-kmod.files
 delete mode 100644 rhel/openvswitch.spec.in

Comments

Ben Pfaff Jan. 11, 2018, 6:31 p.m. UTC | #1
Guru and Russell, may I assume that you will review this?

Thanks,

Ben.

On Thu, Jan 11, 2018 at 05:36:36PM +0100, Timothy Redaelli wrote:
> RHEL 6 is not supported anymore since it uses Python 2.6 and GCC 4.4.x,
> but Open vSwitch needs, at least, Python 2.7 and GCC 4.6 to build correctly.
> 
> http://docs.openvswitch.org/en/latest/intro/install/general/#build-requirements
> 
> CC: Gurucharan Shetty <guru@ovn.org>
> Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
> ---
> 
> This is the same, rejected, patch I sent as RFC since I have, in the
> meanwhile, sent another patchset (already merged) to add the requested
> "force-reload-kmod" support on RHEL7 ("ovs-systemd-reload force-reload-kmod").
> 
>  Documentation/automake.mk             |   1 -
>  Documentation/howto/docker.rst        |   2 +-
>  Documentation/index.rst               |   1 -
>  Documentation/intro/install/index.rst |   1 -
>  Documentation/intro/install/rhel.rst  | 238 ------------------------------
>  rhel/.gitignore                       |   3 -
>  rhel/automake.mk                      |  11 --
>  rhel/openvswitch-kmod-rhel6.spec.in   |  78 ----------
>  rhel/openvswitch-kmod.files           |   3 -
>  rhel/openvswitch.spec.in              | 267 ----------------------------------
>  10 files changed, 1 insertion(+), 604 deletions(-)
>  delete mode 100644 Documentation/intro/install/rhel.rst
>  delete mode 100644 rhel/openvswitch-kmod-rhel6.spec.in
>  delete mode 100644 rhel/openvswitch-kmod.files
>  delete mode 100644 rhel/openvswitch.spec.in
> 
> diff --git a/Documentation/automake.mk b/Documentation/automake.mk
> index 2b202cb2a..e614b9de1 100644
> --- a/Documentation/automake.mk
> +++ b/Documentation/automake.mk
> @@ -18,7 +18,6 @@ DOC_SOURCE = \
>  	Documentation/intro/install/general.rst \
>  	Documentation/intro/install/netbsd.rst \
>  	Documentation/intro/install/ovn-upgrades.rst \
> -	Documentation/intro/install/rhel.rst \
>  	Documentation/intro/install/userspace.rst \
>  	Documentation/intro/install/windows.rst \
>  	Documentation/intro/install/xenserver.rst \
> diff --git a/Documentation/howto/docker.rst b/Documentation/howto/docker.rst
> index ff8b708af..c3d4dbf20 100644
> --- a/Documentation/howto/docker.rst
> +++ b/Documentation/howto/docker.rst
> @@ -296,7 +296,7 @@ The "underlay" mode
>     Depending on your VM, you can make the above step persistent across reboots.
>     For example, if your VM is Debian/Ubuntu-based, read
>     `openvswitch-switch.README.Debian` found in `debian` folder. If your VM is
> -   RHEL-based, refer to :doc:`/intro/install/rhel`.
> +   Fedora/RHEL7/CentOS7-based, refer to :doc:`/intro/install/fedora`.
>  
>  3. Start the Open vSwitch network driver
>  
> diff --git a/Documentation/index.rst b/Documentation/index.rst
> index ddffa3a62..dac14ba58 100644
> --- a/Documentation/index.rst
> +++ b/Documentation/index.rst
> @@ -86,7 +86,6 @@ Deeper Dive
>  - **Testing** :doc:`topics/testing`
>  
>  - **Packaging:** :doc:`intro/install/debian` |
> -  :doc:`intro/install/rhel` |
>    :doc:`intro/install/fedora`
>  
>  The Open vSwitch Project
> diff --git a/Documentation/intro/install/index.rst b/Documentation/intro/install/index.rst
> index 3193c736c..626b49f12 100644
> --- a/Documentation/intro/install/index.rst
> +++ b/Documentation/intro/install/index.rst
> @@ -59,7 +59,6 @@ provided below.
>     distributions
>     debian
>     fedora
> -   rhel
>  
>  Upgrades
>  --------
> diff --git a/Documentation/intro/install/rhel.rst b/Documentation/intro/install/rhel.rst
> deleted file mode 100644
> index f8b26069f..000000000
> --- a/Documentation/intro/install/rhel.rst
> +++ /dev/null
> @@ -1,238 +0,0 @@
> -..
> -      Licensed under the Apache License, Version 2.0 (the "License"); you may
> -      not use this file except in compliance with the License. You may obtain
> -      a copy of the License at
> -
> -          http://www.apache.org/licenses/LICENSE-2.0
> -
> -      Unless required by applicable law or agreed to in writing, software
> -      distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
> -      WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
> -      License for the specific language governing permissions and limitations
> -      under the License.
> -
> -      Convention for heading levels in Open vSwitch documentation:
> -
> -      =======  Heading 0 (reserved for the title in a document)
> -      -------  Heading 1
> -      ~~~~~~~  Heading 2
> -      +++++++  Heading 3
> -      '''''''  Heading 4
> -
> -      Avoid deeper levels because they do not render well.
> -
> -========================================
> -RHEL 5.6, 6.x Packaging for Open vSwitch
> -========================================
> -
> -This document describes how to build and install Open vSwitch on a Red Hat
> -Enterprise Linux (RHEL) host.  If you want to install Open vSwitch on a generic
> -Linux host, refer to :doc:`general` instead.
> -
> -We have tested these instructions with RHEL 5.6 and RHEL 6.0.
> -
> -For RHEL 7.x (or derivatives, such as CentOS 7.x), you should follow the
> -instructions in the :doc:`fedora`.  The Fedora spec files are used for RHEL
> -7.x.
> -
> -.. _rhel-prerequisites:
> -
> -Prerequisites
> --------------
> -
> -You may build from an Open vSwitch distribution tarball or from an Open vSwitch
> -Git tree.
> -
> -The default RPM build directory, ``_topdir``, has five directories in the
> -top-level.
> -
> -BUILD/
> -  where the software is unpacked and built
> -RPMS/
> -  where the newly created binary package files are written
> -SOURCES/
> -  contains the original sources, patches, and icon files
> -SPECS/
> -  contains the spec files for each package to be built
> -SRPMS/
> -  where the newly created source package files are written
> -
> -Before you begin, note the RPM sources directory on your version of RHEL.  The
> -command ``rpmbuild --showrc`` will show the configuration for each of those
> -directories. Alternatively, the command ``rpm --eval '%{_topdir}'`` shows the
> -current configuration for the top level directory and the command ``rpm --eval
> -'%{_sourcedir}'`` does the same for the sources directory. On RHEL 5, the
> -default RPM ``_topdir`` is ``/usr/src/redhat`` and the default RPM sources
> -directory is ``/usr/src/redhat/SOURCES``. On RHEL 6, the default ``_topdir`` is
> -``$HOME/rpmbuild`` and the default RPM sources directory is
> -``$HOME/rpmbuild/SOURCES``.
> -
> -Build Requirements
> -------------------
> -
> -You will need to install all required packages to build the RPMs.
> -The command below will install RPM tools and generic build dependencies::
> -
> -    $ yum install @'Development Tools' rpm-build yum-utils
> -
> -Then it is necessary to install Open vSwitch specific build dependencies.
> -The dependencies are listed in the SPEC file, but first it is necessary
> -to replace the VERSION tag to be a valid SPEC.
> -
> -The command below will create a temporary SPEC file::
> -
> -    $ sed -e 's/@VERSION@/0.0.1/' rhel/openvswitch.spec.in > /tmp/ovs.spec
> -
> -And to install specific dependencies, use yum-builddep tool::
> -
> -    $ yum-builddep /tmp/ovs.spec
> -
> -Once that is completed, remove the file ``/tmp/ovs.spec``.
> -
> -If python-sphinx package is not available in your version of RHEL, you can
> -install it via pip with 'pip install sphinx'.
> -
> -Open vSwitch requires python 2.7 or newer which is not available in older
> -distributions. In the case of RHEL 6.x and its derivatives, one option is
> -to install python34 and python34-six from `EPEL`_.
> -
> -.. _EPEL: https://fedoraproject.org/wiki/EPEL
> -
> -.. _rhel-bootstrapping:
> -
> -Bootstrapping and Configuring
> ------------------------------
> -
> -If you are building from a distribution tarball, skip to :ref:`rhel-building`.
> -If not, you must be building from an Open vSwitch Git tree.  Determine what
> -version of Autoconf is installed (e.g. run ``autoconf --version``).  If it is
> -not at least version 2.63, then you must upgrade or use another machine to
> -build the packages.
> -
> -Assuming all requirements have been met, build the tarball by running::
> -
> -    $ ./boot.sh
> -    $ ./configure
> -    $ make dist
> -
> -You must run this on a machine that has the tools listed in
> -:ref:`general-build-reqs` as prerequisites for building from a Git tree.
> -Afterward, proceed with the rest of the instructions using the distribution
> -tarball.
> -
> -Now you have a distribution tarball, named something like
> -``openvswitch-x.y.z.tar.gz``.  Copy this file into the RPM sources directory,
> -e.g.::
> -
> -    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
> -
> -Broken ``build`` symlink
> -~~~~~~~~~~~~~~~~~~~~~~~~
> -
> -Some versions of the RHEL 6 kernel-devel package contain a broken ``build``
> -symlink.  If you are using such a version, you must fix the problem before
> -continuing.
> -
> -To find out whether you are affected, run::
> -
> -    $ cd /lib/modules/<version>
> -    $ ls -l build/
> -
> -where ``<version>`` is the version number of the RHEL 6 kernel.
> -
> -.. note::
> -  The trailing slash in the final command is important.  Be sure to include
> -  it.
> -
> -If the ``ls`` command produces a directory listing, your kernel-devel package
> -is OK.  If it produces a ``No such file or directory`` error, your kernel-devel
> -package is buggy.
> -
> -If your kernel-devel package is buggy, then you can fix it with::
> -
> -    $ cd /lib/modules/<version>
> -    $ rm build
> -    $ ln -s /usr/src/kernels/<target> build
> -
> -where ``<target>`` is the name of an existing directory under
> -``/usr/src/kernels``, whose name should be similar to ``<version>`` but may
> -contain some extra parts.  Once you have done this, verify the fix with the
> -same procedure you used above to check for the problem.
> -
> -.. _rhel-building:
> -
> -Building
> ---------
> -
> -You should have a distribution tarball named something like
> -openvswitch-x.y.z.tar.gz.  Copy this file into the RPM sources directory::
> -
> -    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
> -
> -Make another copy of the distribution tarball in a temporary directory.  Then
> -unpack the tarball and ``cd`` into its root::
> -
> -    $ tar xzf openvswitch-x.y.z.tar.gz
> -    $ cd openvswitch-x.y.z
> -
> -Userspace
> -~~~~~~~~~
> -
> -To build Open vSwitch userspace, run::
> -
> -    $ rpmbuild -bb rhel/openvswitch.spec
> -
> -This produces two RPMs: "openvswitch" and "openvswitch-debuginfo".
> -
> -The above command automatically runs the Open vSwitch unit tests.  To disable
> -the unit tests, run::
> -
> -    $ rpmbuild -bb --without check rhel/openvswitch.spec
> -
> -.. note::
> -   If the build fails with ``configure: error: source dir
> -   /lib/modules/2.6.32-279.el6.x86_64/build doesn't exist`` or similar, then
> -   the kernel-devel package is missing or buggy.
> -
> -Kernel Module
> -~~~~~~~~~~~~~
> -
> -On RHEL 6, to build the Open vSwitch kernel module, copy
> -rhel/openvswitch-kmod.files into the RPM sources directory and run::
> -
> -    $ rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec
> -
> -You might have to specify a kernel version and/or variants, e.g.:
> -
> -    $ rpmbuild -bb \
> -        -D "kversion 2.6.32-131.6.1.el6.x86_64" \
> -        -D "kflavors default debug kdump" \
> -        rhel/openvswitch-kmod-rhel6.spec
> -
> -This produces an "kmod-openvswitch" RPM for each kernel variant, in this
> -example: "kmod-openvswitch", "kmod-openvswitch-debug", and
> -"kmod-openvswitch-kdump".
> -
> -.. _rhel-script-integrations:
> -
> -Red Hat Network Scripts Integration
> ------------------------------------
> -
> -A RHEL host has default firewall rules that prevent any Open vSwitch tunnel
> -traffic from passing through. If a user configures Open vSwitch tunnels like
> -Geneve, GRE, VXLAN, LISP etc., they will either have to manually add iptables
> -firewall rules to allow the tunnel traffic or add it through a startup script
> -Refer to the "enable-protocol" command in the ovs-ctl(8) manpage for more
> -information.
> -
> -In addition, simple integration with Red Hat network scripts has been
> -implemented.  Refer to `README.RHEL.rst`__ in the source tree or
> -/usr/share/doc/openvswitch/README.RHEL.rst in the installed openvswitch package
> -for details.
> -
> -__ https://github.com/openvswitch/ovs/blob/master/rhel/README.RHEL.rst
> -
> -Reporting Bugs
> ---------------
> -
> -Report problems to bugs@openvswitch.org.
> diff --git a/rhel/.gitignore b/rhel/.gitignore
> index e584a1ed0..0fbcba69f 100644
> --- a/rhel/.gitignore
> +++ b/rhel/.gitignore
> @@ -1,7 +1,4 @@
>  openvswitch-dkms.spec
> -openvswitch-kmod-rhel5.spec
> -openvswitch-kmod-rhel6.spec
>  openvswitch-kmod-fedora.spec
> -openvswitch.spec
>  openvswitch-fedora.spec
>  usr_lib_systemd_system_ovs-vswitchd.service
> diff --git a/rhel/automake.mk b/rhel/automake.mk
> index 137ff4a39..e8abc0b65 100644
> --- a/rhel/automake.mk
> +++ b/rhel/automake.mk
> @@ -15,13 +15,8 @@ EXTRA_DIST += \
>  	rhel/etc_sysconfig_network-scripts_ifup-ovs \
>  	rhel/openvswitch-dkms.spec \
>  	rhel/openvswitch-dkms.spec.in \
> -	rhel/openvswitch-kmod-rhel6.spec \
> -	rhel/openvswitch-kmod-rhel6.spec.in \
> -	rhel/openvswitch-kmod.files \
>  	rhel/openvswitch-kmod-fedora.spec \
>  	rhel/openvswitch-kmod-fedora.spec.in \
> -	rhel/openvswitch.spec \
> -	rhel/openvswitch.spec.in \
>  	rhel/openvswitch-fedora.spec \
>  	rhel/openvswitch-fedora.spec.in \
>  	rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
> @@ -48,15 +43,9 @@ update_rhel_spec = \
>  $(srcdir)/rhel/openvswitch-dkms.spec: rhel/openvswitch-dkms.spec.in $(top_builddir)/config.status
>  	$(update_rhel_spec)
>  
> -$(srcdir)/rhel/openvswitch-kmod-rhel6.spec: rhel/openvswitch-kmod-rhel6.spec.in $(top_builddir)/config.status
> -	$(update_rhel_spec)
> -
>  $(srcdir)/rhel/openvswitch-kmod-fedora.spec: rhel/openvswitch-kmod-fedora.spec.in $(top_builddir)/config.status
>  	$(update_rhel_spec)
>  
> -$(srcdir)/rhel/openvswitch.spec: rhel/openvswitch.spec.in $(top_builddir)/config.status
> -	$(update_rhel_spec)
> -
>  $(srcdir)/rhel/openvswitch-fedora.spec: rhel/openvswitch-fedora.spec.in $(top_builddir)/config.status
>  	$(update_rhel_spec)
>  
> diff --git a/rhel/openvswitch-kmod-rhel6.spec.in b/rhel/openvswitch-kmod-rhel6.spec.in
> deleted file mode 100644
> index 8413b254f..000000000
> --- a/rhel/openvswitch-kmod-rhel6.spec.in
> +++ /dev/null
> @@ -1,78 +0,0 @@
> -# Spec file for Open vSwitch kernel modules on Red Hat Enterprise
> -# Linux 6.
> -
> -# Copyright (C) 2011, 2012 Nicira, 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.
> -
> -%define oname openvswitch
> -
> -Name:           %{oname}-kmod
> -Version:        @VERSION@
> -Release:        1%{?dist}
> -Summary:        Open vSwitch kernel module
> -
> -Group:          System/Kernel
> -License:        GPLv2
> -URL:            http://openvswitch.org/
> -Source0:        %{oname}-%{version}.tar.gz
> -Source1:        %{oname}-kmod.files
> -BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
> -BuildRequires:  %kernel_module_package_buildreqs
> -
> -# Without this we get an empty openvswitch-debuginfo package (whose name
> -# conflicts with the openvswitch-debuginfo package for OVS userspace).
> -%undefine _enable_debug_packages
> -
> -# Use -D 'kversion 2.6.32-131.6.1.el6.x86_64' to build package
> -# for specified kernel version.
> -%{?kversion:%define kernel_version %kversion}
> -
> -# Use -D 'kflavors default debug kdump' to build packages for
> -# specified kernel variants.
> -%{!?kflavors:%define kflavors default}
> -
> -%kernel_module_package -n %{oname} -f %{SOURCE1} %kflavors
> -
> -%description
> -Open vSwitch Linux kernel module.
> -
> -%prep
> -
> -%setup -n %{oname}-%{version}
> -
> -%build
> -for flavor in %flavors_to_build; do
> -	mkdir _$flavor
> -	(cd _$flavor && ../configure --with-linux="%{kernel_source $flavor}")
> -	%{__make} -C _$flavor/datapath/linux %{?_smp_mflags}
> -done
> -
> -%install
> -export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
> -export INSTALL_MOD_DIR=extra/%{oname}
> -for flavor in %flavors_to_build ; do
> -         make -C %{kernel_source $flavor} modules_install \
> -                 M="`pwd`"/_$flavor/datapath/linux
> -
> -         # Cleanup unnecessary kernel-generated module dependency files.
> -         find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
> -done
> -install -d %{buildroot}%{_sysconfdir}/depmod.d/
> -for module in %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_DIR/*.ko;
> -do
> -    modname="$(basename ${module})"
> -    echo "override ${modname%.ko} * extra/%{oname}" >> %{oname}.conf
> -    echo "override ${modname%.ko} * weak-updates/%{oname}" >> %{oname}.conf
> -done
> -install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/
> -
> -%files
> -%defattr(644,root,root)
> -/etc/depmod.d/%{oname}.conf
> -
> -%clean
> -rm -rf $RPM_BUILD_ROOT
> diff --git a/rhel/openvswitch-kmod.files b/rhel/openvswitch-kmod.files
> deleted file mode 100644
> index 357c2e8b7..000000000
> --- a/rhel/openvswitch-kmod.files
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -%defattr(644,root,root,755)
> -/lib/modules/%2-%1
> -/etc/depmod.d/openvswitch.conf
> diff --git a/rhel/openvswitch.spec.in b/rhel/openvswitch.spec.in
> deleted file mode 100644
> index e510d351b..000000000
> --- a/rhel/openvswitch.spec.in
> +++ /dev/null
> @@ -1,267 +0,0 @@
> -# Spec file for Open vSwitch on Red Hat Enterprise Linux.
> -
> -# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Nicira, 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/openvswitch.spec
> -#
> -# Support for executing kernel data path tests under rpmbuild is
> -# provided, however this is intended for use only in test environments
> -# and should not be used otherwise (these tests require root privileges).
> -# These tests can be executed, for example, via:
> -#    rpmbuild -rb --with check_datapath_kernel openvswitch.src.rpm
> -#
> -# These tests will use the currently installed OVS kernel modules, when
> -# testing out of tree kernel modules the appropriate openvswitch-kmod
> -# package should be installed first.
> -
> -Name: openvswitch
> -Summary: Open vSwitch daemon/database/utilities
> -Group: System Environment/Daemons
> -URL: http://www.openvswitch.org/
> -Vendor: Nicira, Inc.
> -Version: @VERSION@
> -
> -License: ASL 2.0
> -Release: 1
> -Source: openvswitch-%{version}.tar.gz
> -Buildroot: /tmp/openvswitch-rpm
> -Requires: logrotate, hostname, python >= 2.7, python-six
> -BuildRequires: python-six
> -BuildRequires: openssl-devel
> -BuildRequires: checkpolicy, selinux-policy-devel
> -
> -%bcond_without check
> -%bcond_with check_datapath_kernel
> -
> -%description
> -Open vSwitch provides standard network bridging functions and
> -support for the OpenFlow protocol for remote per-flow control of
> -traffic.
> -
> -%package devel
> -Summary:        Open vSwitch development package
> -Group:          Development/Libraries
> -
> -%description devel
> -This package provides openvswitch headers and libopenvswitch for developers.
> -
> -%package selinux-policy
> -Summary: Open vSwitch SELinux policy
> -License: ASL 2.0
> -BuildArch: noarch
> -Requires: selinux-policy-targeted
> -
> -%description selinux-policy
> -Tailored Open vSwitch SELinux policy
> -
> -%prep
> -%setup -q
> -
> -%build
> -./configure --prefix=/usr --sysconfdir=/etc --localstatedir=%{_localstatedir} \
> -    --libdir=%{_libdir} --enable-ssl --enable-shared
> -make %{_smp_mflags}
> -make selinux/openvswitch-custom.te
> -cd selinux
> -make -f %{_datadir}/selinux/devel/Makefile
> -
> -%install
> -rm -rf $RPM_BUILD_ROOT
> -make install DESTDIR=$RPM_BUILD_ROOT
> -
> -rhel_cp() {
> - base=$1
> - mode=$2
> - dst=$RPM_BUILD_ROOT/$(echo $base | sed 's,_,/,g')
> - install -D -m $mode rhel/$base $dst
> -}
> -rhel_cp etc_init.d_openvswitch 0755
> -rhel_cp etc_logrotate.d_openvswitch 0644
> -rhel_cp etc_sysconfig_network-scripts_ifup-ovs 0755
> -rhel_cp etc_sysconfig_network-scripts_ifdown-ovs 0755
> -rhel_cp usr_share_openvswitch_scripts_sysconfig.template 0644
> -
> -install -p -m 644 -D selinux/openvswitch-custom.pp \
> -    $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
> -
> -# Get rid of stuff we don't want to make RPM happy.
> -rm \
> -    $RPM_BUILD_ROOT/usr/bin/ovs-testcontroller \
> -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-testcontroller.8 \
> -    $RPM_BUILD_ROOT/usr/bin/ovs-test \
> -    $RPM_BUILD_ROOT/usr/bin/ovs-l3ping \
> -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8 \
> -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-l3ping.8 \
> -    $RPM_BUILD_ROOT/usr/sbin/ovs-vlan-bug-workaround \
> -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-vlan-bug-workaround.8 \
> -    $RPM_BUILD_ROOT/usr/bin/ovn-* \
> -    $RPM_BUILD_ROOT/usr/share/man/man?/ovn-* \
> -    $RPM_BUILD_ROOT/usr/share/openvswitch/ovn-* \
> -    $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovn*
> -(cd "$RPM_BUILD_ROOT" && rm -rf usr/%{_lib}/*.la)
> -(cd "$RPM_BUILD_ROOT" && rm -rf usr/include)
> -
> -install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
> -install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch
> -install -d -m 0755 $RPM_BUILD_ROOT/var/lib/openvswitch
> -
> -copy_headers() {
> -    src=$1
> -    dst=$RPM_BUILD_ROOT/$2
> -    install -d -m 0755 $dst
> -    install -m 0644 $src/*.h $dst
> -}
> -copy_headers include %{_includedir}/openvswitch
> -copy_headers include/openflow %{_includedir}/openvswitch/openflow
> -copy_headers include/openvswitch %{_includedir}/openvswitch/openvswitch
> -copy_headers include/sparse %{_includedir}/openvswitch/sparse
> -copy_headers include/sparse/arpa %{_includedir}/openvswitch/sparse/arpa
> -copy_headers include/sparse/netinet %{_includedir}/openvswitch/sparse/netinet
> -copy_headers include/sparse/sys %{_includedir}/openvswitch/sparse/sys
> -copy_headers lib %{_includedir}/openvswitch/lib
> -
> -install -D -m 0644 lib/.libs/libopenvswitch.a \
> -    $RPM_BUILD_ROOT/%{_libdir}/libopenvswitch.a
> -
> -%check
> -%if %{with check}
> -    if make check TESTSUITEFLAGS='%{_smp_mflags}' RECHECK=yes; then :;
> -    else
> -        cat tests/testsuite.log
> -        exit 1
> -    fi
> -%endif
> -%if %{with check_datapath_kernel}
> -    if make check-kernel RECHECK=yes; then :;
> -    else
> -        cat tests/system-kmod-testsuite.log
> -        exit 1
> -    fi
> -%endif
> -
> -%clean
> -rm -rf $RPM_BUILD_ROOT
> -
> -%post
> -# Create default or update existing /etc/sysconfig/openvswitch.
> -SYSCONFIG=/etc/sysconfig/openvswitch
> -TEMPLATE=/usr/share/openvswitch/scripts/sysconfig.template
> -if [ ! -e $SYSCONFIG ]; then
> -    cp $TEMPLATE $SYSCONFIG
> -else
> -    for var in $(awk -F'[ :]' '/^# [_A-Z0-9]+:/{print $2}' $TEMPLATE)
> -    do
> -        if ! grep $var $SYSCONFIG >/dev/null 2>&1; then
> -            echo >> $SYSCONFIG
> -            sed -n "/$var:/,/$var=/p" $TEMPLATE >> $SYSCONFIG
> -        fi
> -    done
> -fi
> -
> -# Ensure all required services are set to run
> -/sbin/chkconfig --add openvswitch
> -/sbin/chkconfig openvswitch on
> -
> -%post selinux-policy
> -/usr/sbin/semodule -i %{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp &> /dev/null || :
> -
> -%preun
> -if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
> -    /sbin/service openvswitch stop
> -    /sbin/chkconfig --del openvswitch
> -fi
> -
> -%postun
> -if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
> -    rm -f /etc/openvswitch/conf.db
> -    rm -f /etc/sysconfig/openvswitch
> -    rm -f /etc/openvswitch/vswitchd.cacert
> -fi
> -
> -%postun selinux-policy
> -if [ $1 -eq 0 ] ; then
> -  /usr/sbin/semodule -r openvswitch-custom &> /dev/null || :
> -fi
> -
> -exit 0
> -
> -%files
> -%defattr(-,root,root)
> -%dir /etc/openvswitch
> -/etc/bash_completion.d/ovs-appctl-bashcomp.bash
> -/etc/bash_completion.d/ovs-vsctl-bashcomp.bash
> -/etc/init.d/openvswitch
> -%config(noreplace) /etc/logrotate.d/openvswitch
> -/etc/sysconfig/network-scripts/ifup-ovs
> -/etc/sysconfig/network-scripts/ifdown-ovs
> -/usr/bin/ovs-appctl
> -/usr/bin/ovs-dpctl
> -/usr/bin/ovs-dpctl-top
> -/usr/bin/ovs-docker
> -/usr/bin/ovs-ofctl
> -/usr/bin/ovs-parse-backtrace
> -/usr/bin/ovs-pcap
> -/usr/bin/ovs-pki
> -/usr/bin/ovs-tcpdump
> -/usr/bin/ovs-tcpundump
> -/usr/bin/ovs-vlan-test
> -/usr/bin/ovs-vsctl
> -/usr/bin/ovsdb-client
> -/usr/bin/ovsdb-tool
> -/usr/bin/vtep-ctl
> -%{_libdir}/lib*.so.*
> -/usr/sbin/ovs-bugtool
> -/usr/sbin/ovs-vswitchd
> -/usr/sbin/ovsdb-server
> -/usr/share/man/man1/ovs-pcap.1.gz
> -/usr/share/man/man1/ovs-tcpundump.1.gz
> -/usr/share/man/man1/ovsdb-client.1.gz
> -/usr/share/man/man1/ovsdb-server.1.gz
> -/usr/share/man/man1/ovsdb-tool.1.gz
> -/usr/share/man/man5/ovs-vswitchd.conf.db.5.gz
> -/usr/share/man/man5/vtep.5.gz
> -/usr/share/man/man7/ovs-fields.7.gz
> -/usr/share/man/man8/ovs-appctl.8.gz
> -/usr/share/man/man8/ovs-bugtool.8.gz
> -/usr/share/man/man8/ovs-ctl.8.gz
> -/usr/share/man/man8/ovs-dpctl.8.gz
> -/usr/share/man/man8/ovs-dpctl-top.8.gz
> -/usr/share/man/man8/ovs-ofctl.8.gz
> -/usr/share/man/man8/ovs-parse-backtrace.8.gz
> -/usr/share/man/man8/ovs-pki.8.gz
> -/usr/share/man/man8/ovs-tcpdump.8.gz
> -/usr/share/man/man8/ovs-vlan-test.8.gz
> -/usr/share/man/man8/ovs-vsctl.8.gz
> -/usr/share/man/man8/ovs-vswitchd.8.gz
> -/usr/share/man/man8/vtep-ctl.8.gz
> -/usr/share/openvswitch/bugtool-plugins/
> -/usr/share/openvswitch/python/
> -/usr/share/openvswitch/scripts/ovs-bugtool-*
> -/usr/share/openvswitch/scripts/ovs-check-dead-ifs
> -/usr/share/openvswitch/scripts/ovs-ctl
> -/usr/share/openvswitch/scripts/ovs-lib
> -/usr/share/openvswitch/scripts/ovs-save
> -/usr/share/openvswitch/scripts/ovs-vtep
> -/usr/share/openvswitch/scripts/sysconfig.template
> -/usr/share/openvswitch/vswitch.ovsschema
> -/usr/share/openvswitch/vtep.ovsschema
> -%doc COPYING NOTICE README.rst NEWS rhel/README.RHEL.rst
> -/var/lib/openvswitch
> -/var/log/openvswitch
> -
> -%files devel
> -%{_libdir}/lib*.so
> -%{_libdir}/lib*.a
> -%{_libdir}/pkgconfig
> -%{_includedir}/openvswitch/*
> -
> -%files selinux-policy
> -%defattr(-,root,root)
> -%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
> -- 
> 2.14.3
> 
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Russell Bryant Jan. 16, 2018, 4:44 p.m. UTC | #2
On Thu, Jan 11, 2018 at 11:36 AM, Timothy Redaelli <tredaelli@redhat.com> wrote:
> RHEL 6 is not supported anymore since it uses Python 2.6 and GCC 4.4.x,
> but Open vSwitch needs, at least, Python 2.7 and GCC 4.6 to build correctly.
>
> http://docs.openvswitch.org/en/latest/intro/install/general/#build-requirements
>
> CC: Gurucharan Shetty <guru@ovn.org>
> Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>

Acked-by: Russell Bryant <russell@ovn.org>

I'm fine with this, but I'll let Guru comment as well before applying anything.

> ---
>
> This is the same, rejected, patch I sent as RFC since I have, in the
> meanwhile, sent another patchset (already merged) to add the requested
> "force-reload-kmod" support on RHEL7 ("ovs-systemd-reload force-reload-kmod").
>
>  Documentation/automake.mk             |   1 -
>  Documentation/howto/docker.rst        |   2 +-
>  Documentation/index.rst               |   1 -
>  Documentation/intro/install/index.rst |   1 -
>  Documentation/intro/install/rhel.rst  | 238 ------------------------------
>  rhel/.gitignore                       |   3 -
>  rhel/automake.mk                      |  11 --
>  rhel/openvswitch-kmod-rhel6.spec.in   |  78 ----------
>  rhel/openvswitch-kmod.files           |   3 -
>  rhel/openvswitch.spec.in              | 267 ----------------------------------
>  10 files changed, 1 insertion(+), 604 deletions(-)
>  delete mode 100644 Documentation/intro/install/rhel.rst
>  delete mode 100644 rhel/openvswitch-kmod-rhel6.spec.in
>  delete mode 100644 rhel/openvswitch-kmod.files
>  delete mode 100644 rhel/openvswitch.spec.in
>
> diff --git a/Documentation/automake.mk b/Documentation/automake.mk
> index 2b202cb2a..e614b9de1 100644
> --- a/Documentation/automake.mk
> +++ b/Documentation/automake.mk
> @@ -18,7 +18,6 @@ DOC_SOURCE = \
>         Documentation/intro/install/general.rst \
>         Documentation/intro/install/netbsd.rst \
>         Documentation/intro/install/ovn-upgrades.rst \
> -       Documentation/intro/install/rhel.rst \
>         Documentation/intro/install/userspace.rst \
>         Documentation/intro/install/windows.rst \
>         Documentation/intro/install/xenserver.rst \
> diff --git a/Documentation/howto/docker.rst b/Documentation/howto/docker.rst
> index ff8b708af..c3d4dbf20 100644
> --- a/Documentation/howto/docker.rst
> +++ b/Documentation/howto/docker.rst
> @@ -296,7 +296,7 @@ The "underlay" mode
>     Depending on your VM, you can make the above step persistent across reboots.
>     For example, if your VM is Debian/Ubuntu-based, read
>     `openvswitch-switch.README.Debian` found in `debian` folder. If your VM is
> -   RHEL-based, refer to :doc:`/intro/install/rhel`.
> +   Fedora/RHEL7/CentOS7-based, refer to :doc:`/intro/install/fedora`.
>
>  3. Start the Open vSwitch network driver
>
> diff --git a/Documentation/index.rst b/Documentation/index.rst
> index ddffa3a62..dac14ba58 100644
> --- a/Documentation/index.rst
> +++ b/Documentation/index.rst
> @@ -86,7 +86,6 @@ Deeper Dive
>  - **Testing** :doc:`topics/testing`
>
>  - **Packaging:** :doc:`intro/install/debian` |
> -  :doc:`intro/install/rhel` |
>    :doc:`intro/install/fedora`
>
>  The Open vSwitch Project
> diff --git a/Documentation/intro/install/index.rst b/Documentation/intro/install/index.rst
> index 3193c736c..626b49f12 100644
> --- a/Documentation/intro/install/index.rst
> +++ b/Documentation/intro/install/index.rst
> @@ -59,7 +59,6 @@ provided below.
>     distributions
>     debian
>     fedora
> -   rhel
>
>  Upgrades
>  --------
> diff --git a/Documentation/intro/install/rhel.rst b/Documentation/intro/install/rhel.rst
> deleted file mode 100644
> index f8b26069f..000000000
> --- a/Documentation/intro/install/rhel.rst
> +++ /dev/null
> @@ -1,238 +0,0 @@
> -..
> -      Licensed under the Apache License, Version 2.0 (the "License"); you may
> -      not use this file except in compliance with the License. You may obtain
> -      a copy of the License at
> -
> -          http://www.apache.org/licenses/LICENSE-2.0
> -
> -      Unless required by applicable law or agreed to in writing, software
> -      distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
> -      WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
> -      License for the specific language governing permissions and limitations
> -      under the License.
> -
> -      Convention for heading levels in Open vSwitch documentation:
> -
> -      =======  Heading 0 (reserved for the title in a document)
> -      -------  Heading 1
> -      ~~~~~~~  Heading 2
> -      +++++++  Heading 3
> -      '''''''  Heading 4
> -
> -      Avoid deeper levels because they do not render well.
> -
> -========================================
> -RHEL 5.6, 6.x Packaging for Open vSwitch
> -========================================
> -
> -This document describes how to build and install Open vSwitch on a Red Hat
> -Enterprise Linux (RHEL) host.  If you want to install Open vSwitch on a generic
> -Linux host, refer to :doc:`general` instead.
> -
> -We have tested these instructions with RHEL 5.6 and RHEL 6.0.
> -
> -For RHEL 7.x (or derivatives, such as CentOS 7.x), you should follow the
> -instructions in the :doc:`fedora`.  The Fedora spec files are used for RHEL
> -7.x.
> -
> -.. _rhel-prerequisites:
> -
> -Prerequisites
> --------------
> -
> -You may build from an Open vSwitch distribution tarball or from an Open vSwitch
> -Git tree.
> -
> -The default RPM build directory, ``_topdir``, has five directories in the
> -top-level.
> -
> -BUILD/
> -  where the software is unpacked and built
> -RPMS/
> -  where the newly created binary package files are written
> -SOURCES/
> -  contains the original sources, patches, and icon files
> -SPECS/
> -  contains the spec files for each package to be built
> -SRPMS/
> -  where the newly created source package files are written
> -
> -Before you begin, note the RPM sources directory on your version of RHEL.  The
> -command ``rpmbuild --showrc`` will show the configuration for each of those
> -directories. Alternatively, the command ``rpm --eval '%{_topdir}'`` shows the
> -current configuration for the top level directory and the command ``rpm --eval
> -'%{_sourcedir}'`` does the same for the sources directory. On RHEL 5, the
> -default RPM ``_topdir`` is ``/usr/src/redhat`` and the default RPM sources
> -directory is ``/usr/src/redhat/SOURCES``. On RHEL 6, the default ``_topdir`` is
> -``$HOME/rpmbuild`` and the default RPM sources directory is
> -``$HOME/rpmbuild/SOURCES``.
> -
> -Build Requirements
> -------------------
> -
> -You will need to install all required packages to build the RPMs.
> -The command below will install RPM tools and generic build dependencies::
> -
> -    $ yum install @'Development Tools' rpm-build yum-utils
> -
> -Then it is necessary to install Open vSwitch specific build dependencies.
> -The dependencies are listed in the SPEC file, but first it is necessary
> -to replace the VERSION tag to be a valid SPEC.
> -
> -The command below will create a temporary SPEC file::
> -
> -    $ sed -e 's/@VERSION@/0.0.1/' rhel/openvswitch.spec.in > /tmp/ovs.spec
> -
> -And to install specific dependencies, use yum-builddep tool::
> -
> -    $ yum-builddep /tmp/ovs.spec
> -
> -Once that is completed, remove the file ``/tmp/ovs.spec``.
> -
> -If python-sphinx package is not available in your version of RHEL, you can
> -install it via pip with 'pip install sphinx'.
> -
> -Open vSwitch requires python 2.7 or newer which is not available in older
> -distributions. In the case of RHEL 6.x and its derivatives, one option is
> -to install python34 and python34-six from `EPEL`_.
> -
> -.. _EPEL: https://fedoraproject.org/wiki/EPEL
> -
> -.. _rhel-bootstrapping:
> -
> -Bootstrapping and Configuring
> ------------------------------
> -
> -If you are building from a distribution tarball, skip to :ref:`rhel-building`.
> -If not, you must be building from an Open vSwitch Git tree.  Determine what
> -version of Autoconf is installed (e.g. run ``autoconf --version``).  If it is
> -not at least version 2.63, then you must upgrade or use another machine to
> -build the packages.
> -
> -Assuming all requirements have been met, build the tarball by running::
> -
> -    $ ./boot.sh
> -    $ ./configure
> -    $ make dist
> -
> -You must run this on a machine that has the tools listed in
> -:ref:`general-build-reqs` as prerequisites for building from a Git tree.
> -Afterward, proceed with the rest of the instructions using the distribution
> -tarball.
> -
> -Now you have a distribution tarball, named something like
> -``openvswitch-x.y.z.tar.gz``.  Copy this file into the RPM sources directory,
> -e.g.::
> -
> -    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
> -
> -Broken ``build`` symlink
> -~~~~~~~~~~~~~~~~~~~~~~~~
> -
> -Some versions of the RHEL 6 kernel-devel package contain a broken ``build``
> -symlink.  If you are using such a version, you must fix the problem before
> -continuing.
> -
> -To find out whether you are affected, run::
> -
> -    $ cd /lib/modules/<version>
> -    $ ls -l build/
> -
> -where ``<version>`` is the version number of the RHEL 6 kernel.
> -
> -.. note::
> -  The trailing slash in the final command is important.  Be sure to include
> -  it.
> -
> -If the ``ls`` command produces a directory listing, your kernel-devel package
> -is OK.  If it produces a ``No such file or directory`` error, your kernel-devel
> -package is buggy.
> -
> -If your kernel-devel package is buggy, then you can fix it with::
> -
> -    $ cd /lib/modules/<version>
> -    $ rm build
> -    $ ln -s /usr/src/kernels/<target> build
> -
> -where ``<target>`` is the name of an existing directory under
> -``/usr/src/kernels``, whose name should be similar to ``<version>`` but may
> -contain some extra parts.  Once you have done this, verify the fix with the
> -same procedure you used above to check for the problem.
> -
> -.. _rhel-building:
> -
> -Building
> ---------
> -
> -You should have a distribution tarball named something like
> -openvswitch-x.y.z.tar.gz.  Copy this file into the RPM sources directory::
> -
> -    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
> -
> -Make another copy of the distribution tarball in a temporary directory.  Then
> -unpack the tarball and ``cd`` into its root::
> -
> -    $ tar xzf openvswitch-x.y.z.tar.gz
> -    $ cd openvswitch-x.y.z
> -
> -Userspace
> -~~~~~~~~~
> -
> -To build Open vSwitch userspace, run::
> -
> -    $ rpmbuild -bb rhel/openvswitch.spec
> -
> -This produces two RPMs: "openvswitch" and "openvswitch-debuginfo".
> -
> -The above command automatically runs the Open vSwitch unit tests.  To disable
> -the unit tests, run::
> -
> -    $ rpmbuild -bb --without check rhel/openvswitch.spec
> -
> -.. note::
> -   If the build fails with ``configure: error: source dir
> -   /lib/modules/2.6.32-279.el6.x86_64/build doesn't exist`` or similar, then
> -   the kernel-devel package is missing or buggy.
> -
> -Kernel Module
> -~~~~~~~~~~~~~
> -
> -On RHEL 6, to build the Open vSwitch kernel module, copy
> -rhel/openvswitch-kmod.files into the RPM sources directory and run::
> -
> -    $ rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec
> -
> -You might have to specify a kernel version and/or variants, e.g.:
> -
> -    $ rpmbuild -bb \
> -        -D "kversion 2.6.32-131.6.1.el6.x86_64" \
> -        -D "kflavors default debug kdump" \
> -        rhel/openvswitch-kmod-rhel6.spec
> -
> -This produces an "kmod-openvswitch" RPM for each kernel variant, in this
> -example: "kmod-openvswitch", "kmod-openvswitch-debug", and
> -"kmod-openvswitch-kdump".
> -
> -.. _rhel-script-integrations:
> -
> -Red Hat Network Scripts Integration
> ------------------------------------
> -
> -A RHEL host has default firewall rules that prevent any Open vSwitch tunnel
> -traffic from passing through. If a user configures Open vSwitch tunnels like
> -Geneve, GRE, VXLAN, LISP etc., they will either have to manually add iptables
> -firewall rules to allow the tunnel traffic or add it through a startup script
> -Refer to the "enable-protocol" command in the ovs-ctl(8) manpage for more
> -information.
> -
> -In addition, simple integration with Red Hat network scripts has been
> -implemented.  Refer to `README.RHEL.rst`__ in the source tree or
> -/usr/share/doc/openvswitch/README.RHEL.rst in the installed openvswitch package
> -for details.
> -
> -__ https://github.com/openvswitch/ovs/blob/master/rhel/README.RHEL.rst
> -
> -Reporting Bugs
> ---------------
> -
> -Report problems to bugs@openvswitch.org.
> diff --git a/rhel/.gitignore b/rhel/.gitignore
> index e584a1ed0..0fbcba69f 100644
> --- a/rhel/.gitignore
> +++ b/rhel/.gitignore
> @@ -1,7 +1,4 @@
>  openvswitch-dkms.spec
> -openvswitch-kmod-rhel5.spec
> -openvswitch-kmod-rhel6.spec
>  openvswitch-kmod-fedora.spec
> -openvswitch.spec
>  openvswitch-fedora.spec
>  usr_lib_systemd_system_ovs-vswitchd.service
> diff --git a/rhel/automake.mk b/rhel/automake.mk
> index 137ff4a39..e8abc0b65 100644
> --- a/rhel/automake.mk
> +++ b/rhel/automake.mk
> @@ -15,13 +15,8 @@ EXTRA_DIST += \
>         rhel/etc_sysconfig_network-scripts_ifup-ovs \
>         rhel/openvswitch-dkms.spec \
>         rhel/openvswitch-dkms.spec.in \
> -       rhel/openvswitch-kmod-rhel6.spec \
> -       rhel/openvswitch-kmod-rhel6.spec.in \
> -       rhel/openvswitch-kmod.files \
>         rhel/openvswitch-kmod-fedora.spec \
>         rhel/openvswitch-kmod-fedora.spec.in \
> -       rhel/openvswitch.spec \
> -       rhel/openvswitch.spec.in \
>         rhel/openvswitch-fedora.spec \
>         rhel/openvswitch-fedora.spec.in \
>         rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
> @@ -48,15 +43,9 @@ update_rhel_spec = \
>  $(srcdir)/rhel/openvswitch-dkms.spec: rhel/openvswitch-dkms.spec.in $(top_builddir)/config.status
>         $(update_rhel_spec)
>
> -$(srcdir)/rhel/openvswitch-kmod-rhel6.spec: rhel/openvswitch-kmod-rhel6.spec.in $(top_builddir)/config.status
> -       $(update_rhel_spec)
> -
>  $(srcdir)/rhel/openvswitch-kmod-fedora.spec: rhel/openvswitch-kmod-fedora.spec.in $(top_builddir)/config.status
>         $(update_rhel_spec)
>
> -$(srcdir)/rhel/openvswitch.spec: rhel/openvswitch.spec.in $(top_builddir)/config.status
> -       $(update_rhel_spec)
> -
>  $(srcdir)/rhel/openvswitch-fedora.spec: rhel/openvswitch-fedora.spec.in $(top_builddir)/config.status
>         $(update_rhel_spec)
>
> diff --git a/rhel/openvswitch-kmod-rhel6.spec.in b/rhel/openvswitch-kmod-rhel6.spec.in
> deleted file mode 100644
> index 8413b254f..000000000
> --- a/rhel/openvswitch-kmod-rhel6.spec.in
> +++ /dev/null
> @@ -1,78 +0,0 @@
> -# Spec file for Open vSwitch kernel modules on Red Hat Enterprise
> -# Linux 6.
> -
> -# Copyright (C) 2011, 2012 Nicira, 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.
> -
> -%define oname openvswitch
> -
> -Name:           %{oname}-kmod
> -Version:        @VERSION@
> -Release:        1%{?dist}
> -Summary:        Open vSwitch kernel module
> -
> -Group:          System/Kernel
> -License:        GPLv2
> -URL:            http://openvswitch.org/
> -Source0:        %{oname}-%{version}.tar.gz
> -Source1:        %{oname}-kmod.files
> -BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
> -BuildRequires:  %kernel_module_package_buildreqs
> -
> -# Without this we get an empty openvswitch-debuginfo package (whose name
> -# conflicts with the openvswitch-debuginfo package for OVS userspace).
> -%undefine _enable_debug_packages
> -
> -# Use -D 'kversion 2.6.32-131.6.1.el6.x86_64' to build package
> -# for specified kernel version.
> -%{?kversion:%define kernel_version %kversion}
> -
> -# Use -D 'kflavors default debug kdump' to build packages for
> -# specified kernel variants.
> -%{!?kflavors:%define kflavors default}
> -
> -%kernel_module_package -n %{oname} -f %{SOURCE1} %kflavors
> -
> -%description
> -Open vSwitch Linux kernel module.
> -
> -%prep
> -
> -%setup -n %{oname}-%{version}
> -
> -%build
> -for flavor in %flavors_to_build; do
> -       mkdir _$flavor
> -       (cd _$flavor && ../configure --with-linux="%{kernel_source $flavor}")
> -       %{__make} -C _$flavor/datapath/linux %{?_smp_mflags}
> -done
> -
> -%install
> -export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
> -export INSTALL_MOD_DIR=extra/%{oname}
> -for flavor in %flavors_to_build ; do
> -         make -C %{kernel_source $flavor} modules_install \
> -                 M="`pwd`"/_$flavor/datapath/linux
> -
> -         # Cleanup unnecessary kernel-generated module dependency files.
> -         find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
> -done
> -install -d %{buildroot}%{_sysconfdir}/depmod.d/
> -for module in %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_DIR/*.ko;
> -do
> -    modname="$(basename ${module})"
> -    echo "override ${modname%.ko} * extra/%{oname}" >> %{oname}.conf
> -    echo "override ${modname%.ko} * weak-updates/%{oname}" >> %{oname}.conf
> -done
> -install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/
> -
> -%files
> -%defattr(644,root,root)
> -/etc/depmod.d/%{oname}.conf
> -
> -%clean
> -rm -rf $RPM_BUILD_ROOT
> diff --git a/rhel/openvswitch-kmod.files b/rhel/openvswitch-kmod.files
> deleted file mode 100644
> index 357c2e8b7..000000000
> --- a/rhel/openvswitch-kmod.files
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -%defattr(644,root,root,755)
> -/lib/modules/%2-%1
> -/etc/depmod.d/openvswitch.conf
> diff --git a/rhel/openvswitch.spec.in b/rhel/openvswitch.spec.in
> deleted file mode 100644
> index e510d351b..000000000
> --- a/rhel/openvswitch.spec.in
> +++ /dev/null
> @@ -1,267 +0,0 @@
> -# Spec file for Open vSwitch on Red Hat Enterprise Linux.
> -
> -# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Nicira, 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/openvswitch.spec
> -#
> -# Support for executing kernel data path tests under rpmbuild is
> -# provided, however this is intended for use only in test environments
> -# and should not be used otherwise (these tests require root privileges).
> -# These tests can be executed, for example, via:
> -#    rpmbuild -rb --with check_datapath_kernel openvswitch.src.rpm
> -#
> -# These tests will use the currently installed OVS kernel modules, when
> -# testing out of tree kernel modules the appropriate openvswitch-kmod
> -# package should be installed first.
> -
> -Name: openvswitch
> -Summary: Open vSwitch daemon/database/utilities
> -Group: System Environment/Daemons
> -URL: http://www.openvswitch.org/
> -Vendor: Nicira, Inc.
> -Version: @VERSION@
> -
> -License: ASL 2.0
> -Release: 1
> -Source: openvswitch-%{version}.tar.gz
> -Buildroot: /tmp/openvswitch-rpm
> -Requires: logrotate, hostname, python >= 2.7, python-six
> -BuildRequires: python-six
> -BuildRequires: openssl-devel
> -BuildRequires: checkpolicy, selinux-policy-devel
> -
> -%bcond_without check
> -%bcond_with check_datapath_kernel
> -
> -%description
> -Open vSwitch provides standard network bridging functions and
> -support for the OpenFlow protocol for remote per-flow control of
> -traffic.
> -
> -%package devel
> -Summary:        Open vSwitch development package
> -Group:          Development/Libraries
> -
> -%description devel
> -This package provides openvswitch headers and libopenvswitch for developers.
> -
> -%package selinux-policy
> -Summary: Open vSwitch SELinux policy
> -License: ASL 2.0
> -BuildArch: noarch
> -Requires: selinux-policy-targeted
> -
> -%description selinux-policy
> -Tailored Open vSwitch SELinux policy
> -
> -%prep
> -%setup -q
> -
> -%build
> -./configure --prefix=/usr --sysconfdir=/etc --localstatedir=%{_localstatedir} \
> -    --libdir=%{_libdir} --enable-ssl --enable-shared
> -make %{_smp_mflags}
> -make selinux/openvswitch-custom.te
> -cd selinux
> -make -f %{_datadir}/selinux/devel/Makefile
> -
> -%install
> -rm -rf $RPM_BUILD_ROOT
> -make install DESTDIR=$RPM_BUILD_ROOT
> -
> -rhel_cp() {
> - base=$1
> - mode=$2
> - dst=$RPM_BUILD_ROOT/$(echo $base | sed 's,_,/,g')
> - install -D -m $mode rhel/$base $dst
> -}
> -rhel_cp etc_init.d_openvswitch 0755
> -rhel_cp etc_logrotate.d_openvswitch 0644
> -rhel_cp etc_sysconfig_network-scripts_ifup-ovs 0755
> -rhel_cp etc_sysconfig_network-scripts_ifdown-ovs 0755
> -rhel_cp usr_share_openvswitch_scripts_sysconfig.template 0644
> -
> -install -p -m 644 -D selinux/openvswitch-custom.pp \
> -    $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
> -
> -# Get rid of stuff we don't want to make RPM happy.
> -rm \
> -    $RPM_BUILD_ROOT/usr/bin/ovs-testcontroller \
> -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-testcontroller.8 \
> -    $RPM_BUILD_ROOT/usr/bin/ovs-test \
> -    $RPM_BUILD_ROOT/usr/bin/ovs-l3ping \
> -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8 \
> -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-l3ping.8 \
> -    $RPM_BUILD_ROOT/usr/sbin/ovs-vlan-bug-workaround \
> -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-vlan-bug-workaround.8 \
> -    $RPM_BUILD_ROOT/usr/bin/ovn-* \
> -    $RPM_BUILD_ROOT/usr/share/man/man?/ovn-* \
> -    $RPM_BUILD_ROOT/usr/share/openvswitch/ovn-* \
> -    $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovn*
> -(cd "$RPM_BUILD_ROOT" && rm -rf usr/%{_lib}/*.la)
> -(cd "$RPM_BUILD_ROOT" && rm -rf usr/include)
> -
> -install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
> -install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch
> -install -d -m 0755 $RPM_BUILD_ROOT/var/lib/openvswitch
> -
> -copy_headers() {
> -    src=$1
> -    dst=$RPM_BUILD_ROOT/$2
> -    install -d -m 0755 $dst
> -    install -m 0644 $src/*.h $dst
> -}
> -copy_headers include %{_includedir}/openvswitch
> -copy_headers include/openflow %{_includedir}/openvswitch/openflow
> -copy_headers include/openvswitch %{_includedir}/openvswitch/openvswitch
> -copy_headers include/sparse %{_includedir}/openvswitch/sparse
> -copy_headers include/sparse/arpa %{_includedir}/openvswitch/sparse/arpa
> -copy_headers include/sparse/netinet %{_includedir}/openvswitch/sparse/netinet
> -copy_headers include/sparse/sys %{_includedir}/openvswitch/sparse/sys
> -copy_headers lib %{_includedir}/openvswitch/lib
> -
> -install -D -m 0644 lib/.libs/libopenvswitch.a \
> -    $RPM_BUILD_ROOT/%{_libdir}/libopenvswitch.a
> -
> -%check
> -%if %{with check}
> -    if make check TESTSUITEFLAGS='%{_smp_mflags}' RECHECK=yes; then :;
> -    else
> -        cat tests/testsuite.log
> -        exit 1
> -    fi
> -%endif
> -%if %{with check_datapath_kernel}
> -    if make check-kernel RECHECK=yes; then :;
> -    else
> -        cat tests/system-kmod-testsuite.log
> -        exit 1
> -    fi
> -%endif
> -
> -%clean
> -rm -rf $RPM_BUILD_ROOT
> -
> -%post
> -# Create default or update existing /etc/sysconfig/openvswitch.
> -SYSCONFIG=/etc/sysconfig/openvswitch
> -TEMPLATE=/usr/share/openvswitch/scripts/sysconfig.template
> -if [ ! -e $SYSCONFIG ]; then
> -    cp $TEMPLATE $SYSCONFIG
> -else
> -    for var in $(awk -F'[ :]' '/^# [_A-Z0-9]+:/{print $2}' $TEMPLATE)
> -    do
> -        if ! grep $var $SYSCONFIG >/dev/null 2>&1; then
> -            echo >> $SYSCONFIG
> -            sed -n "/$var:/,/$var=/p" $TEMPLATE >> $SYSCONFIG
> -        fi
> -    done
> -fi
> -
> -# Ensure all required services are set to run
> -/sbin/chkconfig --add openvswitch
> -/sbin/chkconfig openvswitch on
> -
> -%post selinux-policy
> -/usr/sbin/semodule -i %{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp &> /dev/null || :
> -
> -%preun
> -if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
> -    /sbin/service openvswitch stop
> -    /sbin/chkconfig --del openvswitch
> -fi
> -
> -%postun
> -if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
> -    rm -f /etc/openvswitch/conf.db
> -    rm -f /etc/sysconfig/openvswitch
> -    rm -f /etc/openvswitch/vswitchd.cacert
> -fi
> -
> -%postun selinux-policy
> -if [ $1 -eq 0 ] ; then
> -  /usr/sbin/semodule -r openvswitch-custom &> /dev/null || :
> -fi
> -
> -exit 0
> -
> -%files
> -%defattr(-,root,root)
> -%dir /etc/openvswitch
> -/etc/bash_completion.d/ovs-appctl-bashcomp.bash
> -/etc/bash_completion.d/ovs-vsctl-bashcomp.bash
> -/etc/init.d/openvswitch
> -%config(noreplace) /etc/logrotate.d/openvswitch
> -/etc/sysconfig/network-scripts/ifup-ovs
> -/etc/sysconfig/network-scripts/ifdown-ovs
> -/usr/bin/ovs-appctl
> -/usr/bin/ovs-dpctl
> -/usr/bin/ovs-dpctl-top
> -/usr/bin/ovs-docker
> -/usr/bin/ovs-ofctl
> -/usr/bin/ovs-parse-backtrace
> -/usr/bin/ovs-pcap
> -/usr/bin/ovs-pki
> -/usr/bin/ovs-tcpdump
> -/usr/bin/ovs-tcpundump
> -/usr/bin/ovs-vlan-test
> -/usr/bin/ovs-vsctl
> -/usr/bin/ovsdb-client
> -/usr/bin/ovsdb-tool
> -/usr/bin/vtep-ctl
> -%{_libdir}/lib*.so.*
> -/usr/sbin/ovs-bugtool
> -/usr/sbin/ovs-vswitchd
> -/usr/sbin/ovsdb-server
> -/usr/share/man/man1/ovs-pcap.1.gz
> -/usr/share/man/man1/ovs-tcpundump.1.gz
> -/usr/share/man/man1/ovsdb-client.1.gz
> -/usr/share/man/man1/ovsdb-server.1.gz
> -/usr/share/man/man1/ovsdb-tool.1.gz
> -/usr/share/man/man5/ovs-vswitchd.conf.db.5.gz
> -/usr/share/man/man5/vtep.5.gz
> -/usr/share/man/man7/ovs-fields.7.gz
> -/usr/share/man/man8/ovs-appctl.8.gz
> -/usr/share/man/man8/ovs-bugtool.8.gz
> -/usr/share/man/man8/ovs-ctl.8.gz
> -/usr/share/man/man8/ovs-dpctl.8.gz
> -/usr/share/man/man8/ovs-dpctl-top.8.gz
> -/usr/share/man/man8/ovs-ofctl.8.gz
> -/usr/share/man/man8/ovs-parse-backtrace.8.gz
> -/usr/share/man/man8/ovs-pki.8.gz
> -/usr/share/man/man8/ovs-tcpdump.8.gz
> -/usr/share/man/man8/ovs-vlan-test.8.gz
> -/usr/share/man/man8/ovs-vsctl.8.gz
> -/usr/share/man/man8/ovs-vswitchd.8.gz
> -/usr/share/man/man8/vtep-ctl.8.gz
> -/usr/share/openvswitch/bugtool-plugins/
> -/usr/share/openvswitch/python/
> -/usr/share/openvswitch/scripts/ovs-bugtool-*
> -/usr/share/openvswitch/scripts/ovs-check-dead-ifs
> -/usr/share/openvswitch/scripts/ovs-ctl
> -/usr/share/openvswitch/scripts/ovs-lib
> -/usr/share/openvswitch/scripts/ovs-save
> -/usr/share/openvswitch/scripts/ovs-vtep
> -/usr/share/openvswitch/scripts/sysconfig.template
> -/usr/share/openvswitch/vswitch.ovsschema
> -/usr/share/openvswitch/vtep.ovsschema
> -%doc COPYING NOTICE README.rst NEWS rhel/README.RHEL.rst
> -/var/lib/openvswitch
> -/var/log/openvswitch
> -
> -%files devel
> -%{_libdir}/lib*.so
> -%{_libdir}/lib*.a
> -%{_libdir}/pkgconfig
> -%{_includedir}/openvswitch/*
> -
> -%files selinux-policy
> -%defattr(-,root,root)
> -%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
> --
> 2.14.3
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Gurucharan Shetty Jan. 17, 2018, 4:56 a.m. UTC | #3
We use RHEL6 spec to build rpms for RHEL7 as we still use sysV scripts. We
will need quite a bit of scripting changes, install script changes,
dependencies etc to get ourselves accustomed to systemd. So I would prefer
that we not do this till OVS 2.10 atleast.

On 16 January 2018 at 08:44, Russell Bryant <russell@ovn.org> wrote:

> On Thu, Jan 11, 2018 at 11:36 AM, Timothy Redaelli <tredaelli@redhat.com>
> wrote:
> > RHEL 6 is not supported anymore since it uses Python 2.6 and GCC 4.4.x,
> > but Open vSwitch needs, at least, Python 2.7 and GCC 4.6 to build
> correctly.
> >
> > http://docs.openvswitch.org/en/latest/intro/install/
> general/#build-requirements
> >
> > CC: Gurucharan Shetty <guru@ovn.org>
> > Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
>
> Acked-by: Russell Bryant <russell@ovn.org>
>
> I'm fine with this, but I'll let Guru comment as well before applying
> anything.
>
> > ---
> >
> > This is the same, rejected, patch I sent as RFC since I have, in the
> > meanwhile, sent another patchset (already merged) to add the requested
> > "force-reload-kmod" support on RHEL7 ("ovs-systemd-reload
> force-reload-kmod").
> >
> >  Documentation/automake.mk             |   1 -
> >  Documentation/howto/docker.rst        |   2 +-
> >  Documentation/index.rst               |   1 -
> >  Documentation/intro/install/index.rst |   1 -
> >  Documentation/intro/install/rhel.rst  | 238
> ------------------------------
> >  rhel/.gitignore                       |   3 -
> >  rhel/automake.mk                      |  11 --
> >  rhel/openvswitch-kmod-rhel6.spec.in   |  78 ----------
> >  rhel/openvswitch-kmod.files           |   3 -
> >  rhel/openvswitch.spec.in              | 267
> ----------------------------------
> >  10 files changed, 1 insertion(+), 604 deletions(-)
> >  delete mode 100644 Documentation/intro/install/rhel.rst
> >  delete mode 100644 rhel/openvswitch-kmod-rhel6.spec.in
> >  delete mode 100644 rhel/openvswitch-kmod.files
> >  delete mode 100644 rhel/openvswitch.spec.in
> >
> > diff --git a/Documentation/automake.mk b/Documentation/automake.mk
> > index 2b202cb2a..e614b9de1 100644
> > --- a/Documentation/automake.mk
> > +++ b/Documentation/automake.mk
> > @@ -18,7 +18,6 @@ DOC_SOURCE = \
> >         Documentation/intro/install/general.rst \
> >         Documentation/intro/install/netbsd.rst \
> >         Documentation/intro/install/ovn-upgrades.rst \
> > -       Documentation/intro/install/rhel.rst \
> >         Documentation/intro/install/userspace.rst \
> >         Documentation/intro/install/windows.rst \
> >         Documentation/intro/install/xenserver.rst \
> > diff --git a/Documentation/howto/docker.rst
> b/Documentation/howto/docker.rst
> > index ff8b708af..c3d4dbf20 100644
> > --- a/Documentation/howto/docker.rst
> > +++ b/Documentation/howto/docker.rst
> > @@ -296,7 +296,7 @@ The "underlay" mode
> >     Depending on your VM, you can make the above step persistent across
> reboots.
> >     For example, if your VM is Debian/Ubuntu-based, read
> >     `openvswitch-switch.README.Debian` found in `debian` folder. If
> your VM is
> > -   RHEL-based, refer to :doc:`/intro/install/rhel`.
> > +   Fedora/RHEL7/CentOS7-based, refer to :doc:`/intro/install/fedora`.
> >
> >  3. Start the Open vSwitch network driver
> >
> > diff --git a/Documentation/index.rst b/Documentation/index.rst
> > index ddffa3a62..dac14ba58 100644
> > --- a/Documentation/index.rst
> > +++ b/Documentation/index.rst
> > @@ -86,7 +86,6 @@ Deeper Dive
> >  - **Testing** :doc:`topics/testing`
> >
> >  - **Packaging:** :doc:`intro/install/debian` |
> > -  :doc:`intro/install/rhel` |
> >    :doc:`intro/install/fedora`
> >
> >  The Open vSwitch Project
> > diff --git a/Documentation/intro/install/index.rst
> b/Documentation/intro/install/index.rst
> > index 3193c736c..626b49f12 100644
> > --- a/Documentation/intro/install/index.rst
> > +++ b/Documentation/intro/install/index.rst
> > @@ -59,7 +59,6 @@ provided below.
> >     distributions
> >     debian
> >     fedora
> > -   rhel
> >
> >  Upgrades
> >  --------
> > diff --git a/Documentation/intro/install/rhel.rst
> b/Documentation/intro/install/rhel.rst
> > deleted file mode 100644
> > index f8b26069f..000000000
> > --- a/Documentation/intro/install/rhel.rst
> > +++ /dev/null
> > @@ -1,238 +0,0 @@
> > -..
> > -      Licensed under the Apache License, Version 2.0 (the "License");
> you may
> > -      not use this file except in compliance with the License. You may
> obtain
> > -      a copy of the License at
> > -
> > -          http://www.apache.org/licenses/LICENSE-2.0
> > -
> > -      Unless required by applicable law or agreed to in writing,
> software
> > -      distributed under the License is distributed on an "AS IS" BASIS,
> WITHOUT
> > -      WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> See the
> > -      License for the specific language governing permissions and
> limitations
> > -      under the License.
> > -
> > -      Convention for heading levels in Open vSwitch documentation:
> > -
> > -      =======  Heading 0 (reserved for the title in a document)
> > -      -------  Heading 1
> > -      ~~~~~~~  Heading 2
> > -      +++++++  Heading 3
> > -      '''''''  Heading 4
> > -
> > -      Avoid deeper levels because they do not render well.
> > -
> > -========================================
> > -RHEL 5.6, 6.x Packaging for Open vSwitch
> > -========================================
> > -
> > -This document describes how to build and install Open vSwitch on a Red
> Hat
> > -Enterprise Linux (RHEL) host.  If you want to install Open vSwitch on a
> generic
> > -Linux host, refer to :doc:`general` instead.
> > -
> > -We have tested these instructions with RHEL 5.6 and RHEL 6.0.
> > -
> > -For RHEL 7.x (or derivatives, such as CentOS 7.x), you should follow the
> > -instructions in the :doc:`fedora`.  The Fedora spec files are used for
> RHEL
> > -7.x.
> > -
> > -.. _rhel-prerequisites:
> > -
> > -Prerequisites
> > --------------
> > -
> > -You may build from an Open vSwitch distribution tarball or from an Open
> vSwitch
> > -Git tree.
> > -
> > -The default RPM build directory, ``_topdir``, has five directories in
> the
> > -top-level.
> > -
> > -BUILD/
> > -  where the software is unpacked and built
> > -RPMS/
> > -  where the newly created binary package files are written
> > -SOURCES/
> > -  contains the original sources, patches, and icon files
> > -SPECS/
> > -  contains the spec files for each package to be built
> > -SRPMS/
> > -  where the newly created source package files are written
> > -
> > -Before you begin, note the RPM sources directory on your version of
> RHEL.  The
> > -command ``rpmbuild --showrc`` will show the configuration for each of
> those
> > -directories. Alternatively, the command ``rpm --eval '%{_topdir}'``
> shows the
> > -current configuration for the top level directory and the command ``rpm
> --eval
> > -'%{_sourcedir}'`` does the same for the sources directory. On RHEL 5,
> the
> > -default RPM ``_topdir`` is ``/usr/src/redhat`` and the default RPM
> sources
> > -directory is ``/usr/src/redhat/SOURCES``. On RHEL 6, the default
> ``_topdir`` is
> > -``$HOME/rpmbuild`` and the default RPM sources directory is
> > -``$HOME/rpmbuild/SOURCES``.
> > -
> > -Build Requirements
> > -------------------
> > -
> > -You will need to install all required packages to build the RPMs.
> > -The command below will install RPM tools and generic build
> dependencies::
> > -
> > -    $ yum install @'Development Tools' rpm-build yum-utils
> > -
> > -Then it is necessary to install Open vSwitch specific build
> dependencies.
> > -The dependencies are listed in the SPEC file, but first it is necessary
> > -to replace the VERSION tag to be a valid SPEC.
> > -
> > -The command below will create a temporary SPEC file::
> > -
> > -    $ sed -e 's/@VERSION@/0.0.1/' rhel/openvswitch.spec.in >
> /tmp/ovs.spec
> > -
> > -And to install specific dependencies, use yum-builddep tool::
> > -
> > -    $ yum-builddep /tmp/ovs.spec
> > -
> > -Once that is completed, remove the file ``/tmp/ovs.spec``.
> > -
> > -If python-sphinx package is not available in your version of RHEL, you
> can
> > -install it via pip with 'pip install sphinx'.
> > -
> > -Open vSwitch requires python 2.7 or newer which is not available in
> older
> > -distributions. In the case of RHEL 6.x and its derivatives, one option
> is
> > -to install python34 and python34-six from `EPEL`_.
> > -
> > -.. _EPEL: https://fedoraproject.org/wiki/EPEL
> > -
> > -.. _rhel-bootstrapping:
> > -
> > -Bootstrapping and Configuring
> > ------------------------------
> > -
> > -If you are building from a distribution tarball, skip to
> :ref:`rhel-building`.
> > -If not, you must be building from an Open vSwitch Git tree.  Determine
> what
> > -version of Autoconf is installed (e.g. run ``autoconf --version``).  If
> it is
> > -not at least version 2.63, then you must upgrade or use another machine
> to
> > -build the packages.
> > -
> > -Assuming all requirements have been met, build the tarball by running::
> > -
> > -    $ ./boot.sh
> > -    $ ./configure
> > -    $ make dist
> > -
> > -You must run this on a machine that has the tools listed in
> > -:ref:`general-build-reqs` as prerequisites for building from a Git tree.
> > -Afterward, proceed with the rest of the instructions using the
> distribution
> > -tarball.
> > -
> > -Now you have a distribution tarball, named something like
> > -``openvswitch-x.y.z.tar.gz``.  Copy this file into the RPM sources
> directory,
> > -e.g.::
> > -
> > -    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
> > -
> > -Broken ``build`` symlink
> > -~~~~~~~~~~~~~~~~~~~~~~~~
> > -
> > -Some versions of the RHEL 6 kernel-devel package contain a broken
> ``build``
> > -symlink.  If you are using such a version, you must fix the problem
> before
> > -continuing.
> > -
> > -To find out whether you are affected, run::
> > -
> > -    $ cd /lib/modules/<version>
> > -    $ ls -l build/
> > -
> > -where ``<version>`` is the version number of the RHEL 6 kernel.
> > -
> > -.. note::
> > -  The trailing slash in the final command is important.  Be sure to
> include
> > -  it.
> > -
> > -If the ``ls`` command produces a directory listing, your kernel-devel
> package
> > -is OK.  If it produces a ``No such file or directory`` error, your
> kernel-devel
> > -package is buggy.
> > -
> > -If your kernel-devel package is buggy, then you can fix it with::
> > -
> > -    $ cd /lib/modules/<version>
> > -    $ rm build
> > -    $ ln -s /usr/src/kernels/<target> build
> > -
> > -where ``<target>`` is the name of an existing directory under
> > -``/usr/src/kernels``, whose name should be similar to ``<version>`` but
> may
> > -contain some extra parts.  Once you have done this, verify the fix with
> the
> > -same procedure you used above to check for the problem.
> > -
> > -.. _rhel-building:
> > -
> > -Building
> > ---------
> > -
> > -You should have a distribution tarball named something like
> > -openvswitch-x.y.z.tar.gz.  Copy this file into the RPM sources
> directory::
> > -
> > -    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
> > -
> > -Make another copy of the distribution tarball in a temporary
> directory.  Then
> > -unpack the tarball and ``cd`` into its root::
> > -
> > -    $ tar xzf openvswitch-x.y.z.tar.gz
> > -    $ cd openvswitch-x.y.z
> > -
> > -Userspace
> > -~~~~~~~~~
> > -
> > -To build Open vSwitch userspace, run::
> > -
> > -    $ rpmbuild -bb rhel/openvswitch.spec
> > -
> > -This produces two RPMs: "openvswitch" and "openvswitch-debuginfo".
> > -
> > -The above command automatically runs the Open vSwitch unit tests.  To
> disable
> > -the unit tests, run::
> > -
> > -    $ rpmbuild -bb --without check rhel/openvswitch.spec
> > -
> > -.. note::
> > -   If the build fails with ``configure: error: source dir
> > -   /lib/modules/2.6.32-279.el6.x86_64/build doesn't exist`` or
> similar, then
> > -   the kernel-devel package is missing or buggy.
> > -
> > -Kernel Module
> > -~~~~~~~~~~~~~
> > -
> > -On RHEL 6, to build the Open vSwitch kernel module, copy
> > -rhel/openvswitch-kmod.files into the RPM sources directory and run::
> > -
> > -    $ rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec
> > -
> > -You might have to specify a kernel version and/or variants, e.g.:
> > -
> > -    $ rpmbuild -bb \
> > -        -D "kversion 2.6.32-131.6.1.el6.x86_64" \
> > -        -D "kflavors default debug kdump" \
> > -        rhel/openvswitch-kmod-rhel6.spec
> > -
> > -This produces an "kmod-openvswitch" RPM for each kernel variant, in this
> > -example: "kmod-openvswitch", "kmod-openvswitch-debug", and
> > -"kmod-openvswitch-kdump".
> > -
> > -.. _rhel-script-integrations:
> > -
> > -Red Hat Network Scripts Integration
> > ------------------------------------
> > -
> > -A RHEL host has default firewall rules that prevent any Open vSwitch
> tunnel
> > -traffic from passing through. If a user configures Open vSwitch tunnels
> like
> > -Geneve, GRE, VXLAN, LISP etc., they will either have to manually add
> iptables
> > -firewall rules to allow the tunnel traffic or add it through a startup
> script
> > -Refer to the "enable-protocol" command in the ovs-ctl(8) manpage for
> more
> > -information.
> > -
> > -In addition, simple integration with Red Hat network scripts has been
> > -implemented.  Refer to `README.RHEL.rst`__ in the source tree or
> > -/usr/share/doc/openvswitch/README.RHEL.rst in the installed
> openvswitch package
> > -for details.
> > -
> > -__ https://github.com/openvswitch/ovs/blob/master/rhel/README.RHEL.rst
> > -
> > -Reporting Bugs
> > ---------------
> > -
> > -Report problems to bugs@openvswitch.org.
> > diff --git a/rhel/.gitignore b/rhel/.gitignore
> > index e584a1ed0..0fbcba69f 100644
> > --- a/rhel/.gitignore
> > +++ b/rhel/.gitignore
> > @@ -1,7 +1,4 @@
> >  openvswitch-dkms.spec
> > -openvswitch-kmod-rhel5.spec
> > -openvswitch-kmod-rhel6.spec
> >  openvswitch-kmod-fedora.spec
> > -openvswitch.spec
> >  openvswitch-fedora.spec
> >  usr_lib_systemd_system_ovs-vswitchd.service
> > diff --git a/rhel/automake.mk b/rhel/automake.mk
> > index 137ff4a39..e8abc0b65 100644
> > --- a/rhel/automake.mk
> > +++ b/rhel/automake.mk
> > @@ -15,13 +15,8 @@ EXTRA_DIST += \
> >         rhel/etc_sysconfig_network-scripts_ifup-ovs \
> >         rhel/openvswitch-dkms.spec \
> >         rhel/openvswitch-dkms.spec.in \
> > -       rhel/openvswitch-kmod-rhel6.spec \
> > -       rhel/openvswitch-kmod-rhel6.spec.in \
> > -       rhel/openvswitch-kmod.files \
> >         rhel/openvswitch-kmod-fedora.spec \
> >         rhel/openvswitch-kmod-fedora.spec.in \
> > -       rhel/openvswitch.spec \
> > -       rhel/openvswitch.spec.in \
> >         rhel/openvswitch-fedora.spec \
> >         rhel/openvswitch-fedora.spec.in \
> >         rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
> > @@ -48,15 +43,9 @@ update_rhel_spec = \
> >  $(srcdir)/rhel/openvswitch-dkms.spec: rhel/openvswitch-dkms.spec.in
> $(top_builddir)/config.status
> >         $(update_rhel_spec)
> >
> > -$(srcdir)/rhel/openvswitch-kmod-rhel6.spec: rhel/
> openvswitch-kmod-rhel6.spec.in $(top_builddir)/config.status
> > -       $(update_rhel_spec)
> > -
> >  $(srcdir)/rhel/openvswitch-kmod-fedora.spec: rhel/
> openvswitch-kmod-fedora.spec.in $(top_builddir)/config.status
> >         $(update_rhel_spec)
> >
> > -$(srcdir)/rhel/openvswitch.spec: rhel/openvswitch.spec.in
> $(top_builddir)/config.status
> > -       $(update_rhel_spec)
> > -
> >  $(srcdir)/rhel/openvswitch-fedora.spec: rhel/openvswitch-fedora.spec.in
> $(top_builddir)/config.status
> >         $(update_rhel_spec)
> >
> > diff --git a/rhel/openvswitch-kmod-rhel6.spec.in b/rhel/
> openvswitch-kmod-rhel6.spec.in
> > deleted file mode 100644
> > index 8413b254f..000000000
> > --- a/rhel/openvswitch-kmod-rhel6.spec.in
> > +++ /dev/null
> > @@ -1,78 +0,0 @@
> > -# Spec file for Open vSwitch kernel modules on Red Hat Enterprise
> > -# Linux 6.
> > -
> > -# Copyright (C) 2011, 2012 Nicira, 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.
> > -
> > -%define oname openvswitch
> > -
> > -Name:           %{oname}-kmod
> > -Version:        @VERSION@
> > -Release:        1%{?dist}
> > -Summary:        Open vSwitch kernel module
> > -
> > -Group:          System/Kernel
> > -License:        GPLv2
> > -URL:            http://openvswitch.org/
> > -Source0:        %{oname}-%{version}.tar.gz
> > -Source1:        %{oname}-kmod.files
> > -BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}
> -%{release}-XXXXXX)
> > -BuildRequires:  %kernel_module_package_buildreqs
> > -
> > -# Without this we get an empty openvswitch-debuginfo package (whose name
> > -# conflicts with the openvswitch-debuginfo package for OVS userspace).
> > -%undefine _enable_debug_packages
> > -
> > -# Use -D 'kversion 2.6.32-131.6.1.el6.x86_64' to build package
> > -# for specified kernel version.
> > -%{?kversion:%define kernel_version %kversion}
> > -
> > -# Use -D 'kflavors default debug kdump' to build packages for
> > -# specified kernel variants.
> > -%{!?kflavors:%define kflavors default}
> > -
> > -%kernel_module_package -n %{oname} -f %{SOURCE1} %kflavors
> > -
> > -%description
> > -Open vSwitch Linux kernel module.
> > -
> > -%prep
> > -
> > -%setup -n %{oname}-%{version}
> > -
> > -%build
> > -for flavor in %flavors_to_build; do
> > -       mkdir _$flavor
> > -       (cd _$flavor && ../configure --with-linux="%{kernel_source
> $flavor}")
> > -       %{__make} -C _$flavor/datapath/linux %{?_smp_mflags}
> > -done
> > -
> > -%install
> > -export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
> > -export INSTALL_MOD_DIR=extra/%{oname}
> > -for flavor in %flavors_to_build ; do
> > -         make -C %{kernel_source $flavor} modules_install \
> > -                 M="`pwd`"/_$flavor/datapath/linux
> > -
> > -         # Cleanup unnecessary kernel-generated module dependency files.
> > -         find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm
> {} \;
> > -done
> > -install -d %{buildroot}%{_sysconfdir}/depmod.d/
> > -for module in %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_
> DIR/*.ko;
> > -do
> > -    modname="$(basename ${module})"
> > -    echo "override ${modname%.ko} * extra/%{oname}" >> %{oname}.conf
> > -    echo "override ${modname%.ko} * weak-updates/%{oname}" >>
> %{oname}.conf
> > -done
> > -install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/
> > -
> > -%files
> > -%defattr(644,root,root)
> > -/etc/depmod.d/%{oname}.conf
> > -
> > -%clean
> > -rm -rf $RPM_BUILD_ROOT
> > diff --git a/rhel/openvswitch-kmod.files b/rhel/openvswitch-kmod.files
> > deleted file mode 100644
> > index 357c2e8b7..000000000
> > --- a/rhel/openvswitch-kmod.files
> > +++ /dev/null
> > @@ -1,3 +0,0 @@
> > -%defattr(644,root,root,755)
> > -/lib/modules/%2-%1
> > -/etc/depmod.d/openvswitch.conf
> > diff --git a/rhel/openvswitch.spec.in b/rhel/openvswitch.spec.in
> > deleted file mode 100644
> > index e510d351b..000000000
> > --- a/rhel/openvswitch.spec.in
> > +++ /dev/null
> > @@ -1,267 +0,0 @@
> > -# Spec file for Open vSwitch on Red Hat Enterprise Linux.
> > -
> > -# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Nicira,
> 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/openvswitch.spec
> > -#
> > -# Support for executing kernel data path tests under rpmbuild is
> > -# provided, however this is intended for use only in test environments
> > -# and should not be used otherwise (these tests require root
> privileges).
> > -# These tests can be executed, for example, via:
> > -#    rpmbuild -rb --with check_datapath_kernel openvswitch.src.rpm
> > -#
> > -# These tests will use the currently installed OVS kernel modules, when
> > -# testing out of tree kernel modules the appropriate openvswitch-kmod
> > -# package should be installed first.
> > -
> > -Name: openvswitch
> > -Summary: Open vSwitch daemon/database/utilities
> > -Group: System Environment/Daemons
> > -URL: http://www.openvswitch.org/
> > -Vendor: Nicira, Inc.
> > -Version: @VERSION@
> > -
> > -License: ASL 2.0
> > -Release: 1
> > -Source: openvswitch-%{version}.tar.gz
> > -Buildroot: /tmp/openvswitch-rpm
> > -Requires: logrotate, hostname, python >= 2.7, python-six
> > -BuildRequires: python-six
> > -BuildRequires: openssl-devel
> > -BuildRequires: checkpolicy, selinux-policy-devel
> > -
> > -%bcond_without check
> > -%bcond_with check_datapath_kernel
> > -
> > -%description
> > -Open vSwitch provides standard network bridging functions and
> > -support for the OpenFlow protocol for remote per-flow control of
> > -traffic.
> > -
> > -%package devel
> > -Summary:        Open vSwitch development package
> > -Group:          Development/Libraries
> > -
> > -%description devel
> > -This package provides openvswitch headers and libopenvswitch for
> developers.
> > -
> > -%package selinux-policy
> > -Summary: Open vSwitch SELinux policy
> > -License: ASL 2.0
> > -BuildArch: noarch
> > -Requires: selinux-policy-targeted
> > -
> > -%description selinux-policy
> > -Tailored Open vSwitch SELinux policy
> > -
> > -%prep
> > -%setup -q
> > -
> > -%build
> > -./configure --prefix=/usr --sysconfdir=/etc --localstatedir=%{_localstatedir}
> \
> > -    --libdir=%{_libdir} --enable-ssl --enable-shared
> > -make %{_smp_mflags}
> > -make selinux/openvswitch-custom.te
> > -cd selinux
> > -make -f %{_datadir}/selinux/devel/Makefile
> > -
> > -%install
> > -rm -rf $RPM_BUILD_ROOT
> > -make install DESTDIR=$RPM_BUILD_ROOT
> > -
> > -rhel_cp() {
> > - base=$1
> > - mode=$2
> > - dst=$RPM_BUILD_ROOT/$(echo $base | sed 's,_,/,g')
> > - install -D -m $mode rhel/$base $dst
> > -}
> > -rhel_cp etc_init.d_openvswitch 0755
> > -rhel_cp etc_logrotate.d_openvswitch 0644
> > -rhel_cp etc_sysconfig_network-scripts_ifup-ovs 0755
> > -rhel_cp etc_sysconfig_network-scripts_ifdown-ovs 0755
> > -rhel_cp usr_share_openvswitch_scripts_sysconfig.template 0644
> > -
> > -install -p -m 644 -D selinux/openvswitch-custom.pp \
> > -    $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/
> openvswitch-custom.pp
> > -
> > -# Get rid of stuff we don't want to make RPM happy.
> > -rm \
> > -    $RPM_BUILD_ROOT/usr/bin/ovs-testcontroller \
> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-testcontroller.8 \
> > -    $RPM_BUILD_ROOT/usr/bin/ovs-test \
> > -    $RPM_BUILD_ROOT/usr/bin/ovs-l3ping \
> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8 \
> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-l3ping.8 \
> > -    $RPM_BUILD_ROOT/usr/sbin/ovs-vlan-bug-workaround \
> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-vlan-bug-workaround.8 \
> > -    $RPM_BUILD_ROOT/usr/bin/ovn-* \
> > -    $RPM_BUILD_ROOT/usr/share/man/man?/ovn-* \
> > -    $RPM_BUILD_ROOT/usr/share/openvswitch/ovn-* \
> > -    $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovn*
> > -(cd "$RPM_BUILD_ROOT" && rm -rf usr/%{_lib}/*.la)
> > -(cd "$RPM_BUILD_ROOT" && rm -rf usr/include)
> > -
> > -install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
> > -install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch
> > -install -d -m 0755 $RPM_BUILD_ROOT/var/lib/openvswitch
> > -
> > -copy_headers() {
> > -    src=$1
> > -    dst=$RPM_BUILD_ROOT/$2
> > -    install -d -m 0755 $dst
> > -    install -m 0644 $src/*.h $dst
> > -}
> > -copy_headers include %{_includedir}/openvswitch
> > -copy_headers include/openflow %{_includedir}/openvswitch/openflow
> > -copy_headers include/openvswitch %{_includedir}/openvswitch/openvswitch
> > -copy_headers include/sparse %{_includedir}/openvswitch/sparse
> > -copy_headers include/sparse/arpa %{_includedir}/openvswitch/sparse/arpa
> > -copy_headers include/sparse/netinet %{_includedir}/openvswitch/
> sparse/netinet
> > -copy_headers include/sparse/sys %{_includedir}/openvswitch/sparse/sys
> > -copy_headers lib %{_includedir}/openvswitch/lib
> > -
> > -install -D -m 0644 lib/.libs/libopenvswitch.a \
> > -    $RPM_BUILD_ROOT/%{_libdir}/libopenvswitch.a
> > -
> > -%check
> > -%if %{with check}
> > -    if make check TESTSUITEFLAGS='%{_smp_mflags}' RECHECK=yes; then :;
> > -    else
> > -        cat tests/testsuite.log
> > -        exit 1
> > -    fi
> > -%endif
> > -%if %{with check_datapath_kernel}
> > -    if make check-kernel RECHECK=yes; then :;
> > -    else
> > -        cat tests/system-kmod-testsuite.log
> > -        exit 1
> > -    fi
> > -%endif
> > -
> > -%clean
> > -rm -rf $RPM_BUILD_ROOT
> > -
> > -%post
> > -# Create default or update existing /etc/sysconfig/openvswitch.
> > -SYSCONFIG=/etc/sysconfig/openvswitch
> > -TEMPLATE=/usr/share/openvswitch/scripts/sysconfig.template
> > -if [ ! -e $SYSCONFIG ]; then
> > -    cp $TEMPLATE $SYSCONFIG
> > -else
> > -    for var in $(awk -F'[ :]' '/^# [_A-Z0-9]+:/{print $2}' $TEMPLATE)
> > -    do
> > -        if ! grep $var $SYSCONFIG >/dev/null 2>&1; then
> > -            echo >> $SYSCONFIG
> > -            sed -n "/$var:/,/$var=/p" $TEMPLATE >> $SYSCONFIG
> > -        fi
> > -    done
> > -fi
> > -
> > -# Ensure all required services are set to run
> > -/sbin/chkconfig --add openvswitch
> > -/sbin/chkconfig openvswitch on
> > -
> > -%post selinux-policy
> > -/usr/sbin/semodule -i %{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
> &> /dev/null || :
> > -
> > -%preun
> > -if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
> > -    /sbin/service openvswitch stop
> > -    /sbin/chkconfig --del openvswitch
> > -fi
> > -
> > -%postun
> > -if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
> > -    rm -f /etc/openvswitch/conf.db
> > -    rm -f /etc/sysconfig/openvswitch
> > -    rm -f /etc/openvswitch/vswitchd.cacert
> > -fi
> > -
> > -%postun selinux-policy
> > -if [ $1 -eq 0 ] ; then
> > -  /usr/sbin/semodule -r openvswitch-custom &> /dev/null || :
> > -fi
> > -
> > -exit 0
> > -
> > -%files
> > -%defattr(-,root,root)
> > -%dir /etc/openvswitch
> > -/etc/bash_completion.d/ovs-appctl-bashcomp.bash
> > -/etc/bash_completion.d/ovs-vsctl-bashcomp.bash
> > -/etc/init.d/openvswitch
> > -%config(noreplace) /etc/logrotate.d/openvswitch
> > -/etc/sysconfig/network-scripts/ifup-ovs
> > -/etc/sysconfig/network-scripts/ifdown-ovs
> > -/usr/bin/ovs-appctl
> > -/usr/bin/ovs-dpctl
> > -/usr/bin/ovs-dpctl-top
> > -/usr/bin/ovs-docker
> > -/usr/bin/ovs-ofctl
> > -/usr/bin/ovs-parse-backtrace
> > -/usr/bin/ovs-pcap
> > -/usr/bin/ovs-pki
> > -/usr/bin/ovs-tcpdump
> > -/usr/bin/ovs-tcpundump
> > -/usr/bin/ovs-vlan-test
> > -/usr/bin/ovs-vsctl
> > -/usr/bin/ovsdb-client
> > -/usr/bin/ovsdb-tool
> > -/usr/bin/vtep-ctl
> > -%{_libdir}/lib*.so.*
> > -/usr/sbin/ovs-bugtool
> > -/usr/sbin/ovs-vswitchd
> > -/usr/sbin/ovsdb-server
> > -/usr/share/man/man1/ovs-pcap.1.gz
> > -/usr/share/man/man1/ovs-tcpundump.1.gz
> > -/usr/share/man/man1/ovsdb-client.1.gz
> > -/usr/share/man/man1/ovsdb-server.1.gz
> > -/usr/share/man/man1/ovsdb-tool.1.gz
> > -/usr/share/man/man5/ovs-vswitchd.conf.db.5.gz
> > -/usr/share/man/man5/vtep.5.gz
> > -/usr/share/man/man7/ovs-fields.7.gz
> > -/usr/share/man/man8/ovs-appctl.8.gz
> > -/usr/share/man/man8/ovs-bugtool.8.gz
> > -/usr/share/man/man8/ovs-ctl.8.gz
> > -/usr/share/man/man8/ovs-dpctl.8.gz
> > -/usr/share/man/man8/ovs-dpctl-top.8.gz
> > -/usr/share/man/man8/ovs-ofctl.8.gz
> > -/usr/share/man/man8/ovs-parse-backtrace.8.gz
> > -/usr/share/man/man8/ovs-pki.8.gz
> > -/usr/share/man/man8/ovs-tcpdump.8.gz
> > -/usr/share/man/man8/ovs-vlan-test.8.gz
> > -/usr/share/man/man8/ovs-vsctl.8.gz
> > -/usr/share/man/man8/ovs-vswitchd.8.gz
> > -/usr/share/man/man8/vtep-ctl.8.gz
> > -/usr/share/openvswitch/bugtool-plugins/
> > -/usr/share/openvswitch/python/
> > -/usr/share/openvswitch/scripts/ovs-bugtool-*
> > -/usr/share/openvswitch/scripts/ovs-check-dead-ifs
> > -/usr/share/openvswitch/scripts/ovs-ctl
> > -/usr/share/openvswitch/scripts/ovs-lib
> > -/usr/share/openvswitch/scripts/ovs-save
> > -/usr/share/openvswitch/scripts/ovs-vtep
> > -/usr/share/openvswitch/scripts/sysconfig.template
> > -/usr/share/openvswitch/vswitch.ovsschema
> > -/usr/share/openvswitch/vtep.ovsschema
> > -%doc COPYING NOTICE README.rst NEWS rhel/README.RHEL.rst
> > -/var/lib/openvswitch
> > -/var/log/openvswitch
> > -
> > -%files devel
> > -%{_libdir}/lib*.so
> > -%{_libdir}/lib*.a
> > -%{_libdir}/pkgconfig
> > -%{_includedir}/openvswitch/*
> > -
> > -%files selinux-policy
> > -%defattr(-,root,root)
> > -%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
> > --
> > 2.14.3
> >
> > _______________________________________________
> > dev mailing list
> > dev@openvswitch.org
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
>
> --
> Russell Bryant
>
Russell Bryant Jan. 17, 2018, 1:48 p.m. UTC | #4
OK - fine with me.

So an alternative patch would be to document that this spec is now
just an alternative for RHEL7 vs one for 5 / 6?

On Tue, Jan 16, 2018 at 11:56 PM, Guru Shetty <guru@ovn.org> wrote:
> We use RHEL6 spec to build rpms for RHEL7 as we still use sysV scripts. We
> will need quite a bit of scripting changes, install script changes,
> dependencies etc to get ourselves accustomed to systemd. So I would prefer
> that we not do this till OVS 2.10 atleast.
>
> On 16 January 2018 at 08:44, Russell Bryant <russell@ovn.org> wrote:
>>
>> On Thu, Jan 11, 2018 at 11:36 AM, Timothy Redaelli <tredaelli@redhat.com>
>> wrote:
>> > RHEL 6 is not supported anymore since it uses Python 2.6 and GCC 4.4.x,
>> > but Open vSwitch needs, at least, Python 2.7 and GCC 4.6 to build
>> > correctly.
>> >
>> >
>> > http://docs.openvswitch.org/en/latest/intro/install/general/#build-requirements
>> >
>> > CC: Gurucharan Shetty <guru@ovn.org>
>> > Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
>>
>> Acked-by: Russell Bryant <russell@ovn.org>
>>
>> I'm fine with this, but I'll let Guru comment as well before applying
>> anything.
>>
>> > ---
>> >
>> > This is the same, rejected, patch I sent as RFC since I have, in the
>> > meanwhile, sent another patchset (already merged) to add the requested
>> > "force-reload-kmod" support on RHEL7 ("ovs-systemd-reload
>> > force-reload-kmod").
>> >
>> >  Documentation/automake.mk             |   1 -
>> >  Documentation/howto/docker.rst        |   2 +-
>> >  Documentation/index.rst               |   1 -
>> >  Documentation/intro/install/index.rst |   1 -
>> >  Documentation/intro/install/rhel.rst  | 238
>> > ------------------------------
>> >  rhel/.gitignore                       |   3 -
>> >  rhel/automake.mk                      |  11 --
>> >  rhel/openvswitch-kmod-rhel6.spec.in   |  78 ----------
>> >  rhel/openvswitch-kmod.files           |   3 -
>> >  rhel/openvswitch.spec.in              | 267
>> > ----------------------------------
>> >  10 files changed, 1 insertion(+), 604 deletions(-)
>> >  delete mode 100644 Documentation/intro/install/rhel.rst
>> >  delete mode 100644 rhel/openvswitch-kmod-rhel6.spec.in
>> >  delete mode 100644 rhel/openvswitch-kmod.files
>> >  delete mode 100644 rhel/openvswitch.spec.in
>> >
>> > diff --git a/Documentation/automake.mk b/Documentation/automake.mk
>> > index 2b202cb2a..e614b9de1 100644
>> > --- a/Documentation/automake.mk
>> > +++ b/Documentation/automake.mk
>> > @@ -18,7 +18,6 @@ DOC_SOURCE = \
>> >         Documentation/intro/install/general.rst \
>> >         Documentation/intro/install/netbsd.rst \
>> >         Documentation/intro/install/ovn-upgrades.rst \
>> > -       Documentation/intro/install/rhel.rst \
>> >         Documentation/intro/install/userspace.rst \
>> >         Documentation/intro/install/windows.rst \
>> >         Documentation/intro/install/xenserver.rst \
>> > diff --git a/Documentation/howto/docker.rst
>> > b/Documentation/howto/docker.rst
>> > index ff8b708af..c3d4dbf20 100644
>> > --- a/Documentation/howto/docker.rst
>> > +++ b/Documentation/howto/docker.rst
>> > @@ -296,7 +296,7 @@ The "underlay" mode
>> >     Depending on your VM, you can make the above step persistent across
>> > reboots.
>> >     For example, if your VM is Debian/Ubuntu-based, read
>> >     `openvswitch-switch.README.Debian` found in `debian` folder. If your
>> > VM is
>> > -   RHEL-based, refer to :doc:`/intro/install/rhel`.
>> > +   Fedora/RHEL7/CentOS7-based, refer to :doc:`/intro/install/fedora`.
>> >
>> >  3. Start the Open vSwitch network driver
>> >
>> > diff --git a/Documentation/index.rst b/Documentation/index.rst
>> > index ddffa3a62..dac14ba58 100644
>> > --- a/Documentation/index.rst
>> > +++ b/Documentation/index.rst
>> > @@ -86,7 +86,6 @@ Deeper Dive
>> >  - **Testing** :doc:`topics/testing`
>> >
>> >  - **Packaging:** :doc:`intro/install/debian` |
>> > -  :doc:`intro/install/rhel` |
>> >    :doc:`intro/install/fedora`
>> >
>> >  The Open vSwitch Project
>> > diff --git a/Documentation/intro/install/index.rst
>> > b/Documentation/intro/install/index.rst
>> > index 3193c736c..626b49f12 100644
>> > --- a/Documentation/intro/install/index.rst
>> > +++ b/Documentation/intro/install/index.rst
>> > @@ -59,7 +59,6 @@ provided below.
>> >     distributions
>> >     debian
>> >     fedora
>> > -   rhel
>> >
>> >  Upgrades
>> >  --------
>> > diff --git a/Documentation/intro/install/rhel.rst
>> > b/Documentation/intro/install/rhel.rst
>> > deleted file mode 100644
>> > index f8b26069f..000000000
>> > --- a/Documentation/intro/install/rhel.rst
>> > +++ /dev/null
>> > @@ -1,238 +0,0 @@
>> > -..
>> > -      Licensed under the Apache License, Version 2.0 (the "License");
>> > you may
>> > -      not use this file except in compliance with the License. You may
>> > obtain
>> > -      a copy of the License at
>> > -
>> > -          http://www.apache.org/licenses/LICENSE-2.0
>> > -
>> > -      Unless required by applicable law or agreed to in writing,
>> > software
>> > -      distributed under the License is distributed on an "AS IS" BASIS,
>> > WITHOUT
>> > -      WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>> > See the
>> > -      License for the specific language governing permissions and
>> > limitations
>> > -      under the License.
>> > -
>> > -      Convention for heading levels in Open vSwitch documentation:
>> > -
>> > -      =======  Heading 0 (reserved for the title in a document)
>> > -      -------  Heading 1
>> > -      ~~~~~~~  Heading 2
>> > -      +++++++  Heading 3
>> > -      '''''''  Heading 4
>> > -
>> > -      Avoid deeper levels because they do not render well.
>> > -
>> > -========================================
>> > -RHEL 5.6, 6.x Packaging for Open vSwitch
>> > -========================================
>> > -
>> > -This document describes how to build and install Open vSwitch on a Red
>> > Hat
>> > -Enterprise Linux (RHEL) host.  If you want to install Open vSwitch on a
>> > generic
>> > -Linux host, refer to :doc:`general` instead.
>> > -
>> > -We have tested these instructions with RHEL 5.6 and RHEL 6.0.
>> > -
>> > -For RHEL 7.x (or derivatives, such as CentOS 7.x), you should follow
>> > the
>> > -instructions in the :doc:`fedora`.  The Fedora spec files are used for
>> > RHEL
>> > -7.x.
>> > -
>> > -.. _rhel-prerequisites:
>> > -
>> > -Prerequisites
>> > --------------
>> > -
>> > -You may build from an Open vSwitch distribution tarball or from an Open
>> > vSwitch
>> > -Git tree.
>> > -
>> > -The default RPM build directory, ``_topdir``, has five directories in
>> > the
>> > -top-level.
>> > -
>> > -BUILD/
>> > -  where the software is unpacked and built
>> > -RPMS/
>> > -  where the newly created binary package files are written
>> > -SOURCES/
>> > -  contains the original sources, patches, and icon files
>> > -SPECS/
>> > -  contains the spec files for each package to be built
>> > -SRPMS/
>> > -  where the newly created source package files are written
>> > -
>> > -Before you begin, note the RPM sources directory on your version of
>> > RHEL.  The
>> > -command ``rpmbuild --showrc`` will show the configuration for each of
>> > those
>> > -directories. Alternatively, the command ``rpm --eval '%{_topdir}'``
>> > shows the
>> > -current configuration for the top level directory and the command ``rpm
>> > --eval
>> > -'%{_sourcedir}'`` does the same for the sources directory. On RHEL 5,
>> > the
>> > -default RPM ``_topdir`` is ``/usr/src/redhat`` and the default RPM
>> > sources
>> > -directory is ``/usr/src/redhat/SOURCES``. On RHEL 6, the default
>> > ``_topdir`` is
>> > -``$HOME/rpmbuild`` and the default RPM sources directory is
>> > -``$HOME/rpmbuild/SOURCES``.
>> > -
>> > -Build Requirements
>> > -------------------
>> > -
>> > -You will need to install all required packages to build the RPMs.
>> > -The command below will install RPM tools and generic build
>> > dependencies::
>> > -
>> > -    $ yum install @'Development Tools' rpm-build yum-utils
>> > -
>> > -Then it is necessary to install Open vSwitch specific build
>> > dependencies.
>> > -The dependencies are listed in the SPEC file, but first it is necessary
>> > -to replace the VERSION tag to be a valid SPEC.
>> > -
>> > -The command below will create a temporary SPEC file::
>> > -
>> > -    $ sed -e 's/@VERSION@/0.0.1/' rhel/openvswitch.spec.in >
>> > /tmp/ovs.spec
>> > -
>> > -And to install specific dependencies, use yum-builddep tool::
>> > -
>> > -    $ yum-builddep /tmp/ovs.spec
>> > -
>> > -Once that is completed, remove the file ``/tmp/ovs.spec``.
>> > -
>> > -If python-sphinx package is not available in your version of RHEL, you
>> > can
>> > -install it via pip with 'pip install sphinx'.
>> > -
>> > -Open vSwitch requires python 2.7 or newer which is not available in
>> > older
>> > -distributions. In the case of RHEL 6.x and its derivatives, one option
>> > is
>> > -to install python34 and python34-six from `EPEL`_.
>> > -
>> > -.. _EPEL: https://fedoraproject.org/wiki/EPEL
>> > -
>> > -.. _rhel-bootstrapping:
>> > -
>> > -Bootstrapping and Configuring
>> > ------------------------------
>> > -
>> > -If you are building from a distribution tarball, skip to
>> > :ref:`rhel-building`.
>> > -If not, you must be building from an Open vSwitch Git tree.  Determine
>> > what
>> > -version of Autoconf is installed (e.g. run ``autoconf --version``).  If
>> > it is
>> > -not at least version 2.63, then you must upgrade or use another machine
>> > to
>> > -build the packages.
>> > -
>> > -Assuming all requirements have been met, build the tarball by running::
>> > -
>> > -    $ ./boot.sh
>> > -    $ ./configure
>> > -    $ make dist
>> > -
>> > -You must run this on a machine that has the tools listed in
>> > -:ref:`general-build-reqs` as prerequisites for building from a Git
>> > tree.
>> > -Afterward, proceed with the rest of the instructions using the
>> > distribution
>> > -tarball.
>> > -
>> > -Now you have a distribution tarball, named something like
>> > -``openvswitch-x.y.z.tar.gz``.  Copy this file into the RPM sources
>> > directory,
>> > -e.g.::
>> > -
>> > -    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
>> > -
>> > -Broken ``build`` symlink
>> > -~~~~~~~~~~~~~~~~~~~~~~~~
>> > -
>> > -Some versions of the RHEL 6 kernel-devel package contain a broken
>> > ``build``
>> > -symlink.  If you are using such a version, you must fix the problem
>> > before
>> > -continuing.
>> > -
>> > -To find out whether you are affected, run::
>> > -
>> > -    $ cd /lib/modules/<version>
>> > -    $ ls -l build/
>> > -
>> > -where ``<version>`` is the version number of the RHEL 6 kernel.
>> > -
>> > -.. note::
>> > -  The trailing slash in the final command is important.  Be sure to
>> > include
>> > -  it.
>> > -
>> > -If the ``ls`` command produces a directory listing, your kernel-devel
>> > package
>> > -is OK.  If it produces a ``No such file or directory`` error, your
>> > kernel-devel
>> > -package is buggy.
>> > -
>> > -If your kernel-devel package is buggy, then you can fix it with::
>> > -
>> > -    $ cd /lib/modules/<version>
>> > -    $ rm build
>> > -    $ ln -s /usr/src/kernels/<target> build
>> > -
>> > -where ``<target>`` is the name of an existing directory under
>> > -``/usr/src/kernels``, whose name should be similar to ``<version>`` but
>> > may
>> > -contain some extra parts.  Once you have done this, verify the fix with
>> > the
>> > -same procedure you used above to check for the problem.
>> > -
>> > -.. _rhel-building:
>> > -
>> > -Building
>> > ---------
>> > -
>> > -You should have a distribution tarball named something like
>> > -openvswitch-x.y.z.tar.gz.  Copy this file into the RPM sources
>> > directory::
>> > -
>> > -    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
>> > -
>> > -Make another copy of the distribution tarball in a temporary directory.
>> > Then
>> > -unpack the tarball and ``cd`` into its root::
>> > -
>> > -    $ tar xzf openvswitch-x.y.z.tar.gz
>> > -    $ cd openvswitch-x.y.z
>> > -
>> > -Userspace
>> > -~~~~~~~~~
>> > -
>> > -To build Open vSwitch userspace, run::
>> > -
>> > -    $ rpmbuild -bb rhel/openvswitch.spec
>> > -
>> > -This produces two RPMs: "openvswitch" and "openvswitch-debuginfo".
>> > -
>> > -The above command automatically runs the Open vSwitch unit tests.  To
>> > disable
>> > -the unit tests, run::
>> > -
>> > -    $ rpmbuild -bb --without check rhel/openvswitch.spec
>> > -
>> > -.. note::
>> > -   If the build fails with ``configure: error: source dir
>> > -   /lib/modules/2.6.32-279.el6.x86_64/build doesn't exist`` or similar,
>> > then
>> > -   the kernel-devel package is missing or buggy.
>> > -
>> > -Kernel Module
>> > -~~~~~~~~~~~~~
>> > -
>> > -On RHEL 6, to build the Open vSwitch kernel module, copy
>> > -rhel/openvswitch-kmod.files into the RPM sources directory and run::
>> > -
>> > -    $ rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec
>> > -
>> > -You might have to specify a kernel version and/or variants, e.g.:
>> > -
>> > -    $ rpmbuild -bb \
>> > -        -D "kversion 2.6.32-131.6.1.el6.x86_64" \
>> > -        -D "kflavors default debug kdump" \
>> > -        rhel/openvswitch-kmod-rhel6.spec
>> > -
>> > -This produces an "kmod-openvswitch" RPM for each kernel variant, in
>> > this
>> > -example: "kmod-openvswitch", "kmod-openvswitch-debug", and
>> > -"kmod-openvswitch-kdump".
>> > -
>> > -.. _rhel-script-integrations:
>> > -
>> > -Red Hat Network Scripts Integration
>> > ------------------------------------
>> > -
>> > -A RHEL host has default firewall rules that prevent any Open vSwitch
>> > tunnel
>> > -traffic from passing through. If a user configures Open vSwitch tunnels
>> > like
>> > -Geneve, GRE, VXLAN, LISP etc., they will either have to manually add
>> > iptables
>> > -firewall rules to allow the tunnel traffic or add it through a startup
>> > script
>> > -Refer to the "enable-protocol" command in the ovs-ctl(8) manpage for
>> > more
>> > -information.
>> > -
>> > -In addition, simple integration with Red Hat network scripts has been
>> > -implemented.  Refer to `README.RHEL.rst`__ in the source tree or
>> > -/usr/share/doc/openvswitch/README.RHEL.rst in the installed openvswitch
>> > package
>> > -for details.
>> > -
>> > -__ https://github.com/openvswitch/ovs/blob/master/rhel/README.RHEL.rst
>> > -
>> > -Reporting Bugs
>> > ---------------
>> > -
>> > -Report problems to bugs@openvswitch.org.
>> > diff --git a/rhel/.gitignore b/rhel/.gitignore
>> > index e584a1ed0..0fbcba69f 100644
>> > --- a/rhel/.gitignore
>> > +++ b/rhel/.gitignore
>> > @@ -1,7 +1,4 @@
>> >  openvswitch-dkms.spec
>> > -openvswitch-kmod-rhel5.spec
>> > -openvswitch-kmod-rhel6.spec
>> >  openvswitch-kmod-fedora.spec
>> > -openvswitch.spec
>> >  openvswitch-fedora.spec
>> >  usr_lib_systemd_system_ovs-vswitchd.service
>> > diff --git a/rhel/automake.mk b/rhel/automake.mk
>> > index 137ff4a39..e8abc0b65 100644
>> > --- a/rhel/automake.mk
>> > +++ b/rhel/automake.mk
>> > @@ -15,13 +15,8 @@ EXTRA_DIST += \
>> >         rhel/etc_sysconfig_network-scripts_ifup-ovs \
>> >         rhel/openvswitch-dkms.spec \
>> >         rhel/openvswitch-dkms.spec.in \
>> > -       rhel/openvswitch-kmod-rhel6.spec \
>> > -       rhel/openvswitch-kmod-rhel6.spec.in \
>> > -       rhel/openvswitch-kmod.files \
>> >         rhel/openvswitch-kmod-fedora.spec \
>> >         rhel/openvswitch-kmod-fedora.spec.in \
>> > -       rhel/openvswitch.spec \
>> > -       rhel/openvswitch.spec.in \
>> >         rhel/openvswitch-fedora.spec \
>> >         rhel/openvswitch-fedora.spec.in \
>> >         rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
>> > @@ -48,15 +43,9 @@ update_rhel_spec = \
>> >  $(srcdir)/rhel/openvswitch-dkms.spec: rhel/openvswitch-dkms.spec.in
>> > $(top_builddir)/config.status
>> >         $(update_rhel_spec)
>> >
>> > -$(srcdir)/rhel/openvswitch-kmod-rhel6.spec:
>> > rhel/openvswitch-kmod-rhel6.spec.in $(top_builddir)/config.status
>> > -       $(update_rhel_spec)
>> > -
>> >  $(srcdir)/rhel/openvswitch-kmod-fedora.spec:
>> > rhel/openvswitch-kmod-fedora.spec.in $(top_builddir)/config.status
>> >         $(update_rhel_spec)
>> >
>> > -$(srcdir)/rhel/openvswitch.spec: rhel/openvswitch.spec.in
>> > $(top_builddir)/config.status
>> > -       $(update_rhel_spec)
>> > -
>> >  $(srcdir)/rhel/openvswitch-fedora.spec: rhel/openvswitch-fedora.spec.in
>> > $(top_builddir)/config.status
>> >         $(update_rhel_spec)
>> >
>> > diff --git a/rhel/openvswitch-kmod-rhel6.spec.in
>> > b/rhel/openvswitch-kmod-rhel6.spec.in
>> > deleted file mode 100644
>> > index 8413b254f..000000000
>> > --- a/rhel/openvswitch-kmod-rhel6.spec.in
>> > +++ /dev/null
>> > @@ -1,78 +0,0 @@
>> > -# Spec file for Open vSwitch kernel modules on Red Hat Enterprise
>> > -# Linux 6.
>> > -
>> > -# Copyright (C) 2011, 2012 Nicira, 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.
>> > -
>> > -%define oname openvswitch
>> > -
>> > -Name:           %{oname}-kmod
>> > -Version:        @VERSION@
>> > -Release:        1%{?dist}
>> > -Summary:        Open vSwitch kernel module
>> > -
>> > -Group:          System/Kernel
>> > -License:        GPLv2
>> > -URL:            http://openvswitch.org/
>> > -Source0:        %{oname}-%{version}.tar.gz
>> > -Source1:        %{oname}-kmod.files
>> > -BuildRoot:      %(mktemp -ud
>> > %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
>> > -BuildRequires:  %kernel_module_package_buildreqs
>> > -
>> > -# Without this we get an empty openvswitch-debuginfo package (whose
>> > name
>> > -# conflicts with the openvswitch-debuginfo package for OVS userspace).
>> > -%undefine _enable_debug_packages
>> > -
>> > -# Use -D 'kversion 2.6.32-131.6.1.el6.x86_64' to build package
>> > -# for specified kernel version.
>> > -%{?kversion:%define kernel_version %kversion}
>> > -
>> > -# Use -D 'kflavors default debug kdump' to build packages for
>> > -# specified kernel variants.
>> > -%{!?kflavors:%define kflavors default}
>> > -
>> > -%kernel_module_package -n %{oname} -f %{SOURCE1} %kflavors
>> > -
>> > -%description
>> > -Open vSwitch Linux kernel module.
>> > -
>> > -%prep
>> > -
>> > -%setup -n %{oname}-%{version}
>> > -
>> > -%build
>> > -for flavor in %flavors_to_build; do
>> > -       mkdir _$flavor
>> > -       (cd _$flavor && ../configure --with-linux="%{kernel_source
>> > $flavor}")
>> > -       %{__make} -C _$flavor/datapath/linux %{?_smp_mflags}
>> > -done
>> > -
>> > -%install
>> > -export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
>> > -export INSTALL_MOD_DIR=extra/%{oname}
>> > -for flavor in %flavors_to_build ; do
>> > -         make -C %{kernel_source $flavor} modules_install \
>> > -                 M="`pwd`"/_$flavor/datapath/linux
>> > -
>> > -         # Cleanup unnecessary kernel-generated module dependency
>> > files.
>> > -         find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm
>> > {} \;
>> > -done
>> > -install -d %{buildroot}%{_sysconfdir}/depmod.d/
>> > -for module in
>> > %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_DIR/*.ko;
>> > -do
>> > -    modname="$(basename ${module})"
>> > -    echo "override ${modname%.ko} * extra/%{oname}" >> %{oname}.conf
>> > -    echo "override ${modname%.ko} * weak-updates/%{oname}" >>
>> > %{oname}.conf
>> > -done
>> > -install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/
>> > -
>> > -%files
>> > -%defattr(644,root,root)
>> > -/etc/depmod.d/%{oname}.conf
>> > -
>> > -%clean
>> > -rm -rf $RPM_BUILD_ROOT
>> > diff --git a/rhel/openvswitch-kmod.files b/rhel/openvswitch-kmod.files
>> > deleted file mode 100644
>> > index 357c2e8b7..000000000
>> > --- a/rhel/openvswitch-kmod.files
>> > +++ /dev/null
>> > @@ -1,3 +0,0 @@
>> > -%defattr(644,root,root,755)
>> > -/lib/modules/%2-%1
>> > -/etc/depmod.d/openvswitch.conf
>> > diff --git a/rhel/openvswitch.spec.in b/rhel/openvswitch.spec.in
>> > deleted file mode 100644
>> > index e510d351b..000000000
>> > --- a/rhel/openvswitch.spec.in
>> > +++ /dev/null
>> > @@ -1,267 +0,0 @@
>> > -# Spec file for Open vSwitch on Red Hat Enterprise Linux.
>> > -
>> > -# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Nicira,
>> > 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/openvswitch.spec
>> > -#
>> > -# Support for executing kernel data path tests under rpmbuild is
>> > -# provided, however this is intended for use only in test environments
>> > -# and should not be used otherwise (these tests require root
>> > privileges).
>> > -# These tests can be executed, for example, via:
>> > -#    rpmbuild -rb --with check_datapath_kernel openvswitch.src.rpm
>> > -#
>> > -# These tests will use the currently installed OVS kernel modules, when
>> > -# testing out of tree kernel modules the appropriate openvswitch-kmod
>> > -# package should be installed first.
>> > -
>> > -Name: openvswitch
>> > -Summary: Open vSwitch daemon/database/utilities
>> > -Group: System Environment/Daemons
>> > -URL: http://www.openvswitch.org/
>> > -Vendor: Nicira, Inc.
>> > -Version: @VERSION@
>> > -
>> > -License: ASL 2.0
>> > -Release: 1
>> > -Source: openvswitch-%{version}.tar.gz
>> > -Buildroot: /tmp/openvswitch-rpm
>> > -Requires: logrotate, hostname, python >= 2.7, python-six
>> > -BuildRequires: python-six
>> > -BuildRequires: openssl-devel
>> > -BuildRequires: checkpolicy, selinux-policy-devel
>> > -
>> > -%bcond_without check
>> > -%bcond_with check_datapath_kernel
>> > -
>> > -%description
>> > -Open vSwitch provides standard network bridging functions and
>> > -support for the OpenFlow protocol for remote per-flow control of
>> > -traffic.
>> > -
>> > -%package devel
>> > -Summary:        Open vSwitch development package
>> > -Group:          Development/Libraries
>> > -
>> > -%description devel
>> > -This package provides openvswitch headers and libopenvswitch for
>> > developers.
>> > -
>> > -%package selinux-policy
>> > -Summary: Open vSwitch SELinux policy
>> > -License: ASL 2.0
>> > -BuildArch: noarch
>> > -Requires: selinux-policy-targeted
>> > -
>> > -%description selinux-policy
>> > -Tailored Open vSwitch SELinux policy
>> > -
>> > -%prep
>> > -%setup -q
>> > -
>> > -%build
>> > -./configure --prefix=/usr --sysconfdir=/etc
>> > --localstatedir=%{_localstatedir} \
>> > -    --libdir=%{_libdir} --enable-ssl --enable-shared
>> > -make %{_smp_mflags}
>> > -make selinux/openvswitch-custom.te
>> > -cd selinux
>> > -make -f %{_datadir}/selinux/devel/Makefile
>> > -
>> > -%install
>> > -rm -rf $RPM_BUILD_ROOT
>> > -make install DESTDIR=$RPM_BUILD_ROOT
>> > -
>> > -rhel_cp() {
>> > - base=$1
>> > - mode=$2
>> > - dst=$RPM_BUILD_ROOT/$(echo $base | sed 's,_,/,g')
>> > - install -D -m $mode rhel/$base $dst
>> > -}
>> > -rhel_cp etc_init.d_openvswitch 0755
>> > -rhel_cp etc_logrotate.d_openvswitch 0644
>> > -rhel_cp etc_sysconfig_network-scripts_ifup-ovs 0755
>> > -rhel_cp etc_sysconfig_network-scripts_ifdown-ovs 0755
>> > -rhel_cp usr_share_openvswitch_scripts_sysconfig.template 0644
>> > -
>> > -install -p -m 644 -D selinux/openvswitch-custom.pp \
>> > -
>> > $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
>> > -
>> > -# Get rid of stuff we don't want to make RPM happy.
>> > -rm \
>> > -    $RPM_BUILD_ROOT/usr/bin/ovs-testcontroller \
>> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-testcontroller.8 \
>> > -    $RPM_BUILD_ROOT/usr/bin/ovs-test \
>> > -    $RPM_BUILD_ROOT/usr/bin/ovs-l3ping \
>> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8 \
>> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-l3ping.8 \
>> > -    $RPM_BUILD_ROOT/usr/sbin/ovs-vlan-bug-workaround \
>> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-vlan-bug-workaround.8 \
>> > -    $RPM_BUILD_ROOT/usr/bin/ovn-* \
>> > -    $RPM_BUILD_ROOT/usr/share/man/man?/ovn-* \
>> > -    $RPM_BUILD_ROOT/usr/share/openvswitch/ovn-* \
>> > -    $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovn*
>> > -(cd "$RPM_BUILD_ROOT" && rm -rf usr/%{_lib}/*.la)
>> > -(cd "$RPM_BUILD_ROOT" && rm -rf usr/include)
>> > -
>> > -install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
>> > -install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch
>> > -install -d -m 0755 $RPM_BUILD_ROOT/var/lib/openvswitch
>> > -
>> > -copy_headers() {
>> > -    src=$1
>> > -    dst=$RPM_BUILD_ROOT/$2
>> > -    install -d -m 0755 $dst
>> > -    install -m 0644 $src/*.h $dst
>> > -}
>> > -copy_headers include %{_includedir}/openvswitch
>> > -copy_headers include/openflow %{_includedir}/openvswitch/openflow
>> > -copy_headers include/openvswitch %{_includedir}/openvswitch/openvswitch
>> > -copy_headers include/sparse %{_includedir}/openvswitch/sparse
>> > -copy_headers include/sparse/arpa %{_includedir}/openvswitch/sparse/arpa
>> > -copy_headers include/sparse/netinet
>> > %{_includedir}/openvswitch/sparse/netinet
>> > -copy_headers include/sparse/sys %{_includedir}/openvswitch/sparse/sys
>> > -copy_headers lib %{_includedir}/openvswitch/lib
>> > -
>> > -install -D -m 0644 lib/.libs/libopenvswitch.a \
>> > -    $RPM_BUILD_ROOT/%{_libdir}/libopenvswitch.a
>> > -
>> > -%check
>> > -%if %{with check}
>> > -    if make check TESTSUITEFLAGS='%{_smp_mflags}' RECHECK=yes; then :;
>> > -    else
>> > -        cat tests/testsuite.log
>> > -        exit 1
>> > -    fi
>> > -%endif
>> > -%if %{with check_datapath_kernel}
>> > -    if make check-kernel RECHECK=yes; then :;
>> > -    else
>> > -        cat tests/system-kmod-testsuite.log
>> > -        exit 1
>> > -    fi
>> > -%endif
>> > -
>> > -%clean
>> > -rm -rf $RPM_BUILD_ROOT
>> > -
>> > -%post
>> > -# Create default or update existing /etc/sysconfig/openvswitch.
>> > -SYSCONFIG=/etc/sysconfig/openvswitch
>> > -TEMPLATE=/usr/share/openvswitch/scripts/sysconfig.template
>> > -if [ ! -e $SYSCONFIG ]; then
>> > -    cp $TEMPLATE $SYSCONFIG
>> > -else
>> > -    for var in $(awk -F'[ :]' '/^# [_A-Z0-9]+:/{print $2}' $TEMPLATE)
>> > -    do
>> > -        if ! grep $var $SYSCONFIG >/dev/null 2>&1; then
>> > -            echo >> $SYSCONFIG
>> > -            sed -n "/$var:/,/$var=/p" $TEMPLATE >> $SYSCONFIG
>> > -        fi
>> > -    done
>> > -fi
>> > -
>> > -# Ensure all required services are set to run
>> > -/sbin/chkconfig --add openvswitch
>> > -/sbin/chkconfig openvswitch on
>> > -
>> > -%post selinux-policy
>> > -/usr/sbin/semodule -i
>> > %{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp &> /dev/null || :
>> > -
>> > -%preun
>> > -if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
>> > -    /sbin/service openvswitch stop
>> > -    /sbin/chkconfig --del openvswitch
>> > -fi
>> > -
>> > -%postun
>> > -if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
>> > -    rm -f /etc/openvswitch/conf.db
>> > -    rm -f /etc/sysconfig/openvswitch
>> > -    rm -f /etc/openvswitch/vswitchd.cacert
>> > -fi
>> > -
>> > -%postun selinux-policy
>> > -if [ $1 -eq 0 ] ; then
>> > -  /usr/sbin/semodule -r openvswitch-custom &> /dev/null || :
>> > -fi
>> > -
>> > -exit 0
>> > -
>> > -%files
>> > -%defattr(-,root,root)
>> > -%dir /etc/openvswitch
>> > -/etc/bash_completion.d/ovs-appctl-bashcomp.bash
>> > -/etc/bash_completion.d/ovs-vsctl-bashcomp.bash
>> > -/etc/init.d/openvswitch
>> > -%config(noreplace) /etc/logrotate.d/openvswitch
>> > -/etc/sysconfig/network-scripts/ifup-ovs
>> > -/etc/sysconfig/network-scripts/ifdown-ovs
>> > -/usr/bin/ovs-appctl
>> > -/usr/bin/ovs-dpctl
>> > -/usr/bin/ovs-dpctl-top
>> > -/usr/bin/ovs-docker
>> > -/usr/bin/ovs-ofctl
>> > -/usr/bin/ovs-parse-backtrace
>> > -/usr/bin/ovs-pcap
>> > -/usr/bin/ovs-pki
>> > -/usr/bin/ovs-tcpdump
>> > -/usr/bin/ovs-tcpundump
>> > -/usr/bin/ovs-vlan-test
>> > -/usr/bin/ovs-vsctl
>> > -/usr/bin/ovsdb-client
>> > -/usr/bin/ovsdb-tool
>> > -/usr/bin/vtep-ctl
>> > -%{_libdir}/lib*.so.*
>> > -/usr/sbin/ovs-bugtool
>> > -/usr/sbin/ovs-vswitchd
>> > -/usr/sbin/ovsdb-server
>> > -/usr/share/man/man1/ovs-pcap.1.gz
>> > -/usr/share/man/man1/ovs-tcpundump.1.gz
>> > -/usr/share/man/man1/ovsdb-client.1.gz
>> > -/usr/share/man/man1/ovsdb-server.1.gz
>> > -/usr/share/man/man1/ovsdb-tool.1.gz
>> > -/usr/share/man/man5/ovs-vswitchd.conf.db.5.gz
>> > -/usr/share/man/man5/vtep.5.gz
>> > -/usr/share/man/man7/ovs-fields.7.gz
>> > -/usr/share/man/man8/ovs-appctl.8.gz
>> > -/usr/share/man/man8/ovs-bugtool.8.gz
>> > -/usr/share/man/man8/ovs-ctl.8.gz
>> > -/usr/share/man/man8/ovs-dpctl.8.gz
>> > -/usr/share/man/man8/ovs-dpctl-top.8.gz
>> > -/usr/share/man/man8/ovs-ofctl.8.gz
>> > -/usr/share/man/man8/ovs-parse-backtrace.8.gz
>> > -/usr/share/man/man8/ovs-pki.8.gz
>> > -/usr/share/man/man8/ovs-tcpdump.8.gz
>> > -/usr/share/man/man8/ovs-vlan-test.8.gz
>> > -/usr/share/man/man8/ovs-vsctl.8.gz
>> > -/usr/share/man/man8/ovs-vswitchd.8.gz
>> > -/usr/share/man/man8/vtep-ctl.8.gz
>> > -/usr/share/openvswitch/bugtool-plugins/
>> > -/usr/share/openvswitch/python/
>> > -/usr/share/openvswitch/scripts/ovs-bugtool-*
>> > -/usr/share/openvswitch/scripts/ovs-check-dead-ifs
>> > -/usr/share/openvswitch/scripts/ovs-ctl
>> > -/usr/share/openvswitch/scripts/ovs-lib
>> > -/usr/share/openvswitch/scripts/ovs-save
>> > -/usr/share/openvswitch/scripts/ovs-vtep
>> > -/usr/share/openvswitch/scripts/sysconfig.template
>> > -/usr/share/openvswitch/vswitch.ovsschema
>> > -/usr/share/openvswitch/vtep.ovsschema
>> > -%doc COPYING NOTICE README.rst NEWS rhel/README.RHEL.rst
>> > -/var/lib/openvswitch
>> > -/var/log/openvswitch
>> > -
>> > -%files devel
>> > -%{_libdir}/lib*.so
>> > -%{_libdir}/lib*.a
>> > -%{_libdir}/pkgconfig
>> > -%{_includedir}/openvswitch/*
>> > -
>> > -%files selinux-policy
>> > -%defattr(-,root,root)
>> > -%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
>> > --
>> > 2.14.3
>> >
>> > _______________________________________________
>> > dev mailing list
>> > dev@openvswitch.org
>> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>>
>>
>>
>> --
>> Russell Bryant
>
>
Flavio Leitner Jan. 17, 2018, 3:57 p.m. UTC | #5
Hi,

One of the reasons is to clean up a bit because today it is not
obvious that openvswitch.spec uses initscripts and shouldn't be
used for Fedora or RHEL-7.

Then we have openvswitch-fedora.spec which is not obvious if it
works or not in RHEL-7 too.

We could document that somehow, but it would be more clear if,
for instance, old stuff got renamed to indicate that and
-fedora.spec got renamed be the obvious choice for any recent
distro whether it is Fedora or RHEL.

The other reason is to reduce the amount of code to maintain
but it seems that even with force-reload-kmod implemented,
Guru can't move to use systemd.

fbl


On Wed, Jan 17, 2018 at 08:48:13AM -0500, Russell Bryant wrote:
> OK - fine with me.
> 
> So an alternative patch would be to document that this spec is now
> just an alternative for RHEL7 vs one for 5 / 6?
> 
> On Tue, Jan 16, 2018 at 11:56 PM, Guru Shetty <guru@ovn.org> wrote:
> > We use RHEL6 spec to build rpms for RHEL7 as we still use sysV scripts. We
> > will need quite a bit of scripting changes, install script changes,
> > dependencies etc to get ourselves accustomed to systemd. So I would prefer
> > that we not do this till OVS 2.10 atleast.
> >
> > On 16 January 2018 at 08:44, Russell Bryant <russell@ovn.org> wrote:
> >>
> >> On Thu, Jan 11, 2018 at 11:36 AM, Timothy Redaelli <tredaelli@redhat.com>
> >> wrote:
> >> > RHEL 6 is not supported anymore since it uses Python 2.6 and GCC 4.4.x,
> >> > but Open vSwitch needs, at least, Python 2.7 and GCC 4.6 to build
> >> > correctly.
> >> >
> >> >
> >> > http://docs.openvswitch.org/en/latest/intro/install/general/#build-requirements
> >> >
> >> > CC: Gurucharan Shetty <guru@ovn.org>
> >> > Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
> >>
> >> Acked-by: Russell Bryant <russell@ovn.org>
> >>
> >> I'm fine with this, but I'll let Guru comment as well before applying
> >> anything.
> >>
> >> > ---
> >> >
> >> > This is the same, rejected, patch I sent as RFC since I have, in the
> >> > meanwhile, sent another patchset (already merged) to add the requested
> >> > "force-reload-kmod" support on RHEL7 ("ovs-systemd-reload
> >> > force-reload-kmod").
> >> >
> >> >  Documentation/automake.mk             |   1 -
> >> >  Documentation/howto/docker.rst        |   2 +-
> >> >  Documentation/index.rst               |   1 -
> >> >  Documentation/intro/install/index.rst |   1 -
> >> >  Documentation/intro/install/rhel.rst  | 238
> >> > ------------------------------
> >> >  rhel/.gitignore                       |   3 -
> >> >  rhel/automake.mk                      |  11 --
> >> >  rhel/openvswitch-kmod-rhel6.spec.in   |  78 ----------
> >> >  rhel/openvswitch-kmod.files           |   3 -
> >> >  rhel/openvswitch.spec.in              | 267
> >> > ----------------------------------
> >> >  10 files changed, 1 insertion(+), 604 deletions(-)
> >> >  delete mode 100644 Documentation/intro/install/rhel.rst
> >> >  delete mode 100644 rhel/openvswitch-kmod-rhel6.spec.in
> >> >  delete mode 100644 rhel/openvswitch-kmod.files
> >> >  delete mode 100644 rhel/openvswitch.spec.in
> >> >
> >> > diff --git a/Documentation/automake.mk b/Documentation/automake.mk
> >> > index 2b202cb2a..e614b9de1 100644
> >> > --- a/Documentation/automake.mk
> >> > +++ b/Documentation/automake.mk
> >> > @@ -18,7 +18,6 @@ DOC_SOURCE = \
> >> >         Documentation/intro/install/general.rst \
> >> >         Documentation/intro/install/netbsd.rst \
> >> >         Documentation/intro/install/ovn-upgrades.rst \
> >> > -       Documentation/intro/install/rhel.rst \
> >> >         Documentation/intro/install/userspace.rst \
> >> >         Documentation/intro/install/windows.rst \
> >> >         Documentation/intro/install/xenserver.rst \
> >> > diff --git a/Documentation/howto/docker.rst
> >> > b/Documentation/howto/docker.rst
> >> > index ff8b708af..c3d4dbf20 100644
> >> > --- a/Documentation/howto/docker.rst
> >> > +++ b/Documentation/howto/docker.rst
> >> > @@ -296,7 +296,7 @@ The "underlay" mode
> >> >     Depending on your VM, you can make the above step persistent across
> >> > reboots.
> >> >     For example, if your VM is Debian/Ubuntu-based, read
> >> >     `openvswitch-switch.README.Debian` found in `debian` folder. If your
> >> > VM is
> >> > -   RHEL-based, refer to :doc:`/intro/install/rhel`.
> >> > +   Fedora/RHEL7/CentOS7-based, refer to :doc:`/intro/install/fedora`.
> >> >
> >> >  3. Start the Open vSwitch network driver
> >> >
> >> > diff --git a/Documentation/index.rst b/Documentation/index.rst
> >> > index ddffa3a62..dac14ba58 100644
> >> > --- a/Documentation/index.rst
> >> > +++ b/Documentation/index.rst
> >> > @@ -86,7 +86,6 @@ Deeper Dive
> >> >  - **Testing** :doc:`topics/testing`
> >> >
> >> >  - **Packaging:** :doc:`intro/install/debian` |
> >> > -  :doc:`intro/install/rhel` |
> >> >    :doc:`intro/install/fedora`
> >> >
> >> >  The Open vSwitch Project
> >> > diff --git a/Documentation/intro/install/index.rst
> >> > b/Documentation/intro/install/index.rst
> >> > index 3193c736c..626b49f12 100644
> >> > --- a/Documentation/intro/install/index.rst
> >> > +++ b/Documentation/intro/install/index.rst
> >> > @@ -59,7 +59,6 @@ provided below.
> >> >     distributions
> >> >     debian
> >> >     fedora
> >> > -   rhel
> >> >
> >> >  Upgrades
> >> >  --------
> >> > diff --git a/Documentation/intro/install/rhel.rst
> >> > b/Documentation/intro/install/rhel.rst
> >> > deleted file mode 100644
> >> > index f8b26069f..000000000
> >> > --- a/Documentation/intro/install/rhel.rst
> >> > +++ /dev/null
> >> > @@ -1,238 +0,0 @@
> >> > -..
> >> > -      Licensed under the Apache License, Version 2.0 (the "License");
> >> > you may
> >> > -      not use this file except in compliance with the License. You may
> >> > obtain
> >> > -      a copy of the License at
> >> > -
> >> > -          http://www.apache.org/licenses/LICENSE-2.0
> >> > -
> >> > -      Unless required by applicable law or agreed to in writing,
> >> > software
> >> > -      distributed under the License is distributed on an "AS IS" BASIS,
> >> > WITHOUT
> >> > -      WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> >> > See the
> >> > -      License for the specific language governing permissions and
> >> > limitations
> >> > -      under the License.
> >> > -
> >> > -      Convention for heading levels in Open vSwitch documentation:
> >> > -
> >> > -      =======  Heading 0 (reserved for the title in a document)
> >> > -      -------  Heading 1
> >> > -      ~~~~~~~  Heading 2
> >> > -      +++++++  Heading 3
> >> > -      '''''''  Heading 4
> >> > -
> >> > -      Avoid deeper levels because they do not render well.
> >> > -
> >> > -========================================
> >> > -RHEL 5.6, 6.x Packaging for Open vSwitch
> >> > -========================================
> >> > -
> >> > -This document describes how to build and install Open vSwitch on a Red
> >> > Hat
> >> > -Enterprise Linux (RHEL) host.  If you want to install Open vSwitch on a
> >> > generic
> >> > -Linux host, refer to :doc:`general` instead.
> >> > -
> >> > -We have tested these instructions with RHEL 5.6 and RHEL 6.0.
> >> > -
> >> > -For RHEL 7.x (or derivatives, such as CentOS 7.x), you should follow
> >> > the
> >> > -instructions in the :doc:`fedora`.  The Fedora spec files are used for
> >> > RHEL
> >> > -7.x.
> >> > -
> >> > -.. _rhel-prerequisites:
> >> > -
> >> > -Prerequisites
> >> > --------------
> >> > -
> >> > -You may build from an Open vSwitch distribution tarball or from an Open
> >> > vSwitch
> >> > -Git tree.
> >> > -
> >> > -The default RPM build directory, ``_topdir``, has five directories in
> >> > the
> >> > -top-level.
> >> > -
> >> > -BUILD/
> >> > -  where the software is unpacked and built
> >> > -RPMS/
> >> > -  where the newly created binary package files are written
> >> > -SOURCES/
> >> > -  contains the original sources, patches, and icon files
> >> > -SPECS/
> >> > -  contains the spec files for each package to be built
> >> > -SRPMS/
> >> > -  where the newly created source package files are written
> >> > -
> >> > -Before you begin, note the RPM sources directory on your version of
> >> > RHEL.  The
> >> > -command ``rpmbuild --showrc`` will show the configuration for each of
> >> > those
> >> > -directories. Alternatively, the command ``rpm --eval '%{_topdir}'``
> >> > shows the
> >> > -current configuration for the top level directory and the command ``rpm
> >> > --eval
> >> > -'%{_sourcedir}'`` does the same for the sources directory. On RHEL 5,
> >> > the
> >> > -default RPM ``_topdir`` is ``/usr/src/redhat`` and the default RPM
> >> > sources
> >> > -directory is ``/usr/src/redhat/SOURCES``. On RHEL 6, the default
> >> > ``_topdir`` is
> >> > -``$HOME/rpmbuild`` and the default RPM sources directory is
> >> > -``$HOME/rpmbuild/SOURCES``.
> >> > -
> >> > -Build Requirements
> >> > -------------------
> >> > -
> >> > -You will need to install all required packages to build the RPMs.
> >> > -The command below will install RPM tools and generic build
> >> > dependencies::
> >> > -
> >> > -    $ yum install @'Development Tools' rpm-build yum-utils
> >> > -
> >> > -Then it is necessary to install Open vSwitch specific build
> >> > dependencies.
> >> > -The dependencies are listed in the SPEC file, but first it is necessary
> >> > -to replace the VERSION tag to be a valid SPEC.
> >> > -
> >> > -The command below will create a temporary SPEC file::
> >> > -
> >> > -    $ sed -e 's/@VERSION@/0.0.1/' rhel/openvswitch.spec.in >
> >> > /tmp/ovs.spec
> >> > -
> >> > -And to install specific dependencies, use yum-builddep tool::
> >> > -
> >> > -    $ yum-builddep /tmp/ovs.spec
> >> > -
> >> > -Once that is completed, remove the file ``/tmp/ovs.spec``.
> >> > -
> >> > -If python-sphinx package is not available in your version of RHEL, you
> >> > can
> >> > -install it via pip with 'pip install sphinx'.
> >> > -
> >> > -Open vSwitch requires python 2.7 or newer which is not available in
> >> > older
> >> > -distributions. In the case of RHEL 6.x and its derivatives, one option
> >> > is
> >> > -to install python34 and python34-six from `EPEL`_.
> >> > -
> >> > -.. _EPEL: https://fedoraproject.org/wiki/EPEL
> >> > -
> >> > -.. _rhel-bootstrapping:
> >> > -
> >> > -Bootstrapping and Configuring
> >> > ------------------------------
> >> > -
> >> > -If you are building from a distribution tarball, skip to
> >> > :ref:`rhel-building`.
> >> > -If not, you must be building from an Open vSwitch Git tree.  Determine
> >> > what
> >> > -version of Autoconf is installed (e.g. run ``autoconf --version``).  If
> >> > it is
> >> > -not at least version 2.63, then you must upgrade or use another machine
> >> > to
> >> > -build the packages.
> >> > -
> >> > -Assuming all requirements have been met, build the tarball by running::
> >> > -
> >> > -    $ ./boot.sh
> >> > -    $ ./configure
> >> > -    $ make dist
> >> > -
> >> > -You must run this on a machine that has the tools listed in
> >> > -:ref:`general-build-reqs` as prerequisites for building from a Git
> >> > tree.
> >> > -Afterward, proceed with the rest of the instructions using the
> >> > distribution
> >> > -tarball.
> >> > -
> >> > -Now you have a distribution tarball, named something like
> >> > -``openvswitch-x.y.z.tar.gz``.  Copy this file into the RPM sources
> >> > directory,
> >> > -e.g.::
> >> > -
> >> > -    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
> >> > -
> >> > -Broken ``build`` symlink
> >> > -~~~~~~~~~~~~~~~~~~~~~~~~
> >> > -
> >> > -Some versions of the RHEL 6 kernel-devel package contain a broken
> >> > ``build``
> >> > -symlink.  If you are using such a version, you must fix the problem
> >> > before
> >> > -continuing.
> >> > -
> >> > -To find out whether you are affected, run::
> >> > -
> >> > -    $ cd /lib/modules/<version>
> >> > -    $ ls -l build/
> >> > -
> >> > -where ``<version>`` is the version number of the RHEL 6 kernel.
> >> > -
> >> > -.. note::
> >> > -  The trailing slash in the final command is important.  Be sure to
> >> > include
> >> > -  it.
> >> > -
> >> > -If the ``ls`` command produces a directory listing, your kernel-devel
> >> > package
> >> > -is OK.  If it produces a ``No such file or directory`` error, your
> >> > kernel-devel
> >> > -package is buggy.
> >> > -
> >> > -If your kernel-devel package is buggy, then you can fix it with::
> >> > -
> >> > -    $ cd /lib/modules/<version>
> >> > -    $ rm build
> >> > -    $ ln -s /usr/src/kernels/<target> build
> >> > -
> >> > -where ``<target>`` is the name of an existing directory under
> >> > -``/usr/src/kernels``, whose name should be similar to ``<version>`` but
> >> > may
> >> > -contain some extra parts.  Once you have done this, verify the fix with
> >> > the
> >> > -same procedure you used above to check for the problem.
> >> > -
> >> > -.. _rhel-building:
> >> > -
> >> > -Building
> >> > ---------
> >> > -
> >> > -You should have a distribution tarball named something like
> >> > -openvswitch-x.y.z.tar.gz.  Copy this file into the RPM sources
> >> > directory::
> >> > -
> >> > -    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
> >> > -
> >> > -Make another copy of the distribution tarball in a temporary directory.
> >> > Then
> >> > -unpack the tarball and ``cd`` into its root::
> >> > -
> >> > -    $ tar xzf openvswitch-x.y.z.tar.gz
> >> > -    $ cd openvswitch-x.y.z
> >> > -
> >> > -Userspace
> >> > -~~~~~~~~~
> >> > -
> >> > -To build Open vSwitch userspace, run::
> >> > -
> >> > -    $ rpmbuild -bb rhel/openvswitch.spec
> >> > -
> >> > -This produces two RPMs: "openvswitch" and "openvswitch-debuginfo".
> >> > -
> >> > -The above command automatically runs the Open vSwitch unit tests.  To
> >> > disable
> >> > -the unit tests, run::
> >> > -
> >> > -    $ rpmbuild -bb --without check rhel/openvswitch.spec
> >> > -
> >> > -.. note::
> >> > -   If the build fails with ``configure: error: source dir
> >> > -   /lib/modules/2.6.32-279.el6.x86_64/build doesn't exist`` or similar,
> >> > then
> >> > -   the kernel-devel package is missing or buggy.
> >> > -
> >> > -Kernel Module
> >> > -~~~~~~~~~~~~~
> >> > -
> >> > -On RHEL 6, to build the Open vSwitch kernel module, copy
> >> > -rhel/openvswitch-kmod.files into the RPM sources directory and run::
> >> > -
> >> > -    $ rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec
> >> > -
> >> > -You might have to specify a kernel version and/or variants, e.g.:
> >> > -
> >> > -    $ rpmbuild -bb \
> >> > -        -D "kversion 2.6.32-131.6.1.el6.x86_64" \
> >> > -        -D "kflavors default debug kdump" \
> >> > -        rhel/openvswitch-kmod-rhel6.spec
> >> > -
> >> > -This produces an "kmod-openvswitch" RPM for each kernel variant, in
> >> > this
> >> > -example: "kmod-openvswitch", "kmod-openvswitch-debug", and
> >> > -"kmod-openvswitch-kdump".
> >> > -
> >> > -.. _rhel-script-integrations:
> >> > -
> >> > -Red Hat Network Scripts Integration
> >> > ------------------------------------
> >> > -
> >> > -A RHEL host has default firewall rules that prevent any Open vSwitch
> >> > tunnel
> >> > -traffic from passing through. If a user configures Open vSwitch tunnels
> >> > like
> >> > -Geneve, GRE, VXLAN, LISP etc., they will either have to manually add
> >> > iptables
> >> > -firewall rules to allow the tunnel traffic or add it through a startup
> >> > script
> >> > -Refer to the "enable-protocol" command in the ovs-ctl(8) manpage for
> >> > more
> >> > -information.
> >> > -
> >> > -In addition, simple integration with Red Hat network scripts has been
> >> > -implemented.  Refer to `README.RHEL.rst`__ in the source tree or
> >> > -/usr/share/doc/openvswitch/README.RHEL.rst in the installed openvswitch
> >> > package
> >> > -for details.
> >> > -
> >> > -__ https://github.com/openvswitch/ovs/blob/master/rhel/README.RHEL.rst
> >> > -
> >> > -Reporting Bugs
> >> > ---------------
> >> > -
> >> > -Report problems to bugs@openvswitch.org.
> >> > diff --git a/rhel/.gitignore b/rhel/.gitignore
> >> > index e584a1ed0..0fbcba69f 100644
> >> > --- a/rhel/.gitignore
> >> > +++ b/rhel/.gitignore
> >> > @@ -1,7 +1,4 @@
> >> >  openvswitch-dkms.spec
> >> > -openvswitch-kmod-rhel5.spec
> >> > -openvswitch-kmod-rhel6.spec
> >> >  openvswitch-kmod-fedora.spec
> >> > -openvswitch.spec
> >> >  openvswitch-fedora.spec
> >> >  usr_lib_systemd_system_ovs-vswitchd.service
> >> > diff --git a/rhel/automake.mk b/rhel/automake.mk
> >> > index 137ff4a39..e8abc0b65 100644
> >> > --- a/rhel/automake.mk
> >> > +++ b/rhel/automake.mk
> >> > @@ -15,13 +15,8 @@ EXTRA_DIST += \
> >> >         rhel/etc_sysconfig_network-scripts_ifup-ovs \
> >> >         rhel/openvswitch-dkms.spec \
> >> >         rhel/openvswitch-dkms.spec.in \
> >> > -       rhel/openvswitch-kmod-rhel6.spec \
> >> > -       rhel/openvswitch-kmod-rhel6.spec.in \
> >> > -       rhel/openvswitch-kmod.files \
> >> >         rhel/openvswitch-kmod-fedora.spec \
> >> >         rhel/openvswitch-kmod-fedora.spec.in \
> >> > -       rhel/openvswitch.spec \
> >> > -       rhel/openvswitch.spec.in \
> >> >         rhel/openvswitch-fedora.spec \
> >> >         rhel/openvswitch-fedora.spec.in \
> >> >         rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
> >> > @@ -48,15 +43,9 @@ update_rhel_spec = \
> >> >  $(srcdir)/rhel/openvswitch-dkms.spec: rhel/openvswitch-dkms.spec.in
> >> > $(top_builddir)/config.status
> >> >         $(update_rhel_spec)
> >> >
> >> > -$(srcdir)/rhel/openvswitch-kmod-rhel6.spec:
> >> > rhel/openvswitch-kmod-rhel6.spec.in $(top_builddir)/config.status
> >> > -       $(update_rhel_spec)
> >> > -
> >> >  $(srcdir)/rhel/openvswitch-kmod-fedora.spec:
> >> > rhel/openvswitch-kmod-fedora.spec.in $(top_builddir)/config.status
> >> >         $(update_rhel_spec)
> >> >
> >> > -$(srcdir)/rhel/openvswitch.spec: rhel/openvswitch.spec.in
> >> > $(top_builddir)/config.status
> >> > -       $(update_rhel_spec)
> >> > -
> >> >  $(srcdir)/rhel/openvswitch-fedora.spec: rhel/openvswitch-fedora.spec.in
> >> > $(top_builddir)/config.status
> >> >         $(update_rhel_spec)
> >> >
> >> > diff --git a/rhel/openvswitch-kmod-rhel6.spec.in
> >> > b/rhel/openvswitch-kmod-rhel6.spec.in
> >> > deleted file mode 100644
> >> > index 8413b254f..000000000
> >> > --- a/rhel/openvswitch-kmod-rhel6.spec.in
> >> > +++ /dev/null
> >> > @@ -1,78 +0,0 @@
> >> > -# Spec file for Open vSwitch kernel modules on Red Hat Enterprise
> >> > -# Linux 6.
> >> > -
> >> > -# Copyright (C) 2011, 2012 Nicira, 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.
> >> > -
> >> > -%define oname openvswitch
> >> > -
> >> > -Name:           %{oname}-kmod
> >> > -Version:        @VERSION@
> >> > -Release:        1%{?dist}
> >> > -Summary:        Open vSwitch kernel module
> >> > -
> >> > -Group:          System/Kernel
> >> > -License:        GPLv2
> >> > -URL:            http://openvswitch.org/
> >> > -Source0:        %{oname}-%{version}.tar.gz
> >> > -Source1:        %{oname}-kmod.files
> >> > -BuildRoot:      %(mktemp -ud
> >> > %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
> >> > -BuildRequires:  %kernel_module_package_buildreqs
> >> > -
> >> > -# Without this we get an empty openvswitch-debuginfo package (whose
> >> > name
> >> > -# conflicts with the openvswitch-debuginfo package for OVS userspace).
> >> > -%undefine _enable_debug_packages
> >> > -
> >> > -# Use -D 'kversion 2.6.32-131.6.1.el6.x86_64' to build package
> >> > -# for specified kernel version.
> >> > -%{?kversion:%define kernel_version %kversion}
> >> > -
> >> > -# Use -D 'kflavors default debug kdump' to build packages for
> >> > -# specified kernel variants.
> >> > -%{!?kflavors:%define kflavors default}
> >> > -
> >> > -%kernel_module_package -n %{oname} -f %{SOURCE1} %kflavors
> >> > -
> >> > -%description
> >> > -Open vSwitch Linux kernel module.
> >> > -
> >> > -%prep
> >> > -
> >> > -%setup -n %{oname}-%{version}
> >> > -
> >> > -%build
> >> > -for flavor in %flavors_to_build; do
> >> > -       mkdir _$flavor
> >> > -       (cd _$flavor && ../configure --with-linux="%{kernel_source
> >> > $flavor}")
> >> > -       %{__make} -C _$flavor/datapath/linux %{?_smp_mflags}
> >> > -done
> >> > -
> >> > -%install
> >> > -export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
> >> > -export INSTALL_MOD_DIR=extra/%{oname}
> >> > -for flavor in %flavors_to_build ; do
> >> > -         make -C %{kernel_source $flavor} modules_install \
> >> > -                 M="`pwd`"/_$flavor/datapath/linux
> >> > -
> >> > -         # Cleanup unnecessary kernel-generated module dependency
> >> > files.
> >> > -         find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm
> >> > {} \;
> >> > -done
> >> > -install -d %{buildroot}%{_sysconfdir}/depmod.d/
> >> > -for module in
> >> > %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_DIR/*.ko;
> >> > -do
> >> > -    modname="$(basename ${module})"
> >> > -    echo "override ${modname%.ko} * extra/%{oname}" >> %{oname}.conf
> >> > -    echo "override ${modname%.ko} * weak-updates/%{oname}" >>
> >> > %{oname}.conf
> >> > -done
> >> > -install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/
> >> > -
> >> > -%files
> >> > -%defattr(644,root,root)
> >> > -/etc/depmod.d/%{oname}.conf
> >> > -
> >> > -%clean
> >> > -rm -rf $RPM_BUILD_ROOT
> >> > diff --git a/rhel/openvswitch-kmod.files b/rhel/openvswitch-kmod.files
> >> > deleted file mode 100644
> >> > index 357c2e8b7..000000000
> >> > --- a/rhel/openvswitch-kmod.files
> >> > +++ /dev/null
> >> > @@ -1,3 +0,0 @@
> >> > -%defattr(644,root,root,755)
> >> > -/lib/modules/%2-%1
> >> > -/etc/depmod.d/openvswitch.conf
> >> > diff --git a/rhel/openvswitch.spec.in b/rhel/openvswitch.spec.in
> >> > deleted file mode 100644
> >> > index e510d351b..000000000
> >> > --- a/rhel/openvswitch.spec.in
> >> > +++ /dev/null
> >> > @@ -1,267 +0,0 @@
> >> > -# Spec file for Open vSwitch on Red Hat Enterprise Linux.
> >> > -
> >> > -# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Nicira,
> >> > 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/openvswitch.spec
> >> > -#
> >> > -# Support for executing kernel data path tests under rpmbuild is
> >> > -# provided, however this is intended for use only in test environments
> >> > -# and should not be used otherwise (these tests require root
> >> > privileges).
> >> > -# These tests can be executed, for example, via:
> >> > -#    rpmbuild -rb --with check_datapath_kernel openvswitch.src.rpm
> >> > -#
> >> > -# These tests will use the currently installed OVS kernel modules, when
> >> > -# testing out of tree kernel modules the appropriate openvswitch-kmod
> >> > -# package should be installed first.
> >> > -
> >> > -Name: openvswitch
> >> > -Summary: Open vSwitch daemon/database/utilities
> >> > -Group: System Environment/Daemons
> >> > -URL: http://www.openvswitch.org/
> >> > -Vendor: Nicira, Inc.
> >> > -Version: @VERSION@
> >> > -
> >> > -License: ASL 2.0
> >> > -Release: 1
> >> > -Source: openvswitch-%{version}.tar.gz
> >> > -Buildroot: /tmp/openvswitch-rpm
> >> > -Requires: logrotate, hostname, python >= 2.7, python-six
> >> > -BuildRequires: python-six
> >> > -BuildRequires: openssl-devel
> >> > -BuildRequires: checkpolicy, selinux-policy-devel
> >> > -
> >> > -%bcond_without check
> >> > -%bcond_with check_datapath_kernel
> >> > -
> >> > -%description
> >> > -Open vSwitch provides standard network bridging functions and
> >> > -support for the OpenFlow protocol for remote per-flow control of
> >> > -traffic.
> >> > -
> >> > -%package devel
> >> > -Summary:        Open vSwitch development package
> >> > -Group:          Development/Libraries
> >> > -
> >> > -%description devel
> >> > -This package provides openvswitch headers and libopenvswitch for
> >> > developers.
> >> > -
> >> > -%package selinux-policy
> >> > -Summary: Open vSwitch SELinux policy
> >> > -License: ASL 2.0
> >> > -BuildArch: noarch
> >> > -Requires: selinux-policy-targeted
> >> > -
> >> > -%description selinux-policy
> >> > -Tailored Open vSwitch SELinux policy
> >> > -
> >> > -%prep
> >> > -%setup -q
> >> > -
> >> > -%build
> >> > -./configure --prefix=/usr --sysconfdir=/etc
> >> > --localstatedir=%{_localstatedir} \
> >> > -    --libdir=%{_libdir} --enable-ssl --enable-shared
> >> > -make %{_smp_mflags}
> >> > -make selinux/openvswitch-custom.te
> >> > -cd selinux
> >> > -make -f %{_datadir}/selinux/devel/Makefile
> >> > -
> >> > -%install
> >> > -rm -rf $RPM_BUILD_ROOT
> >> > -make install DESTDIR=$RPM_BUILD_ROOT
> >> > -
> >> > -rhel_cp() {
> >> > - base=$1
> >> > - mode=$2
> >> > - dst=$RPM_BUILD_ROOT/$(echo $base | sed 's,_,/,g')
> >> > - install -D -m $mode rhel/$base $dst
> >> > -}
> >> > -rhel_cp etc_init.d_openvswitch 0755
> >> > -rhel_cp etc_logrotate.d_openvswitch 0644
> >> > -rhel_cp etc_sysconfig_network-scripts_ifup-ovs 0755
> >> > -rhel_cp etc_sysconfig_network-scripts_ifdown-ovs 0755
> >> > -rhel_cp usr_share_openvswitch_scripts_sysconfig.template 0644
> >> > -
> >> > -install -p -m 644 -D selinux/openvswitch-custom.pp \
> >> > -
> >> > $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
> >> > -
> >> > -# Get rid of stuff we don't want to make RPM happy.
> >> > -rm \
> >> > -    $RPM_BUILD_ROOT/usr/bin/ovs-testcontroller \
> >> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-testcontroller.8 \
> >> > -    $RPM_BUILD_ROOT/usr/bin/ovs-test \
> >> > -    $RPM_BUILD_ROOT/usr/bin/ovs-l3ping \
> >> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8 \
> >> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-l3ping.8 \
> >> > -    $RPM_BUILD_ROOT/usr/sbin/ovs-vlan-bug-workaround \
> >> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-vlan-bug-workaround.8 \
> >> > -    $RPM_BUILD_ROOT/usr/bin/ovn-* \
> >> > -    $RPM_BUILD_ROOT/usr/share/man/man?/ovn-* \
> >> > -    $RPM_BUILD_ROOT/usr/share/openvswitch/ovn-* \
> >> > -    $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovn*
> >> > -(cd "$RPM_BUILD_ROOT" && rm -rf usr/%{_lib}/*.la)
> >> > -(cd "$RPM_BUILD_ROOT" && rm -rf usr/include)
> >> > -
> >> > -install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
> >> > -install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch
> >> > -install -d -m 0755 $RPM_BUILD_ROOT/var/lib/openvswitch
> >> > -
> >> > -copy_headers() {
> >> > -    src=$1
> >> > -    dst=$RPM_BUILD_ROOT/$2
> >> > -    install -d -m 0755 $dst
> >> > -    install -m 0644 $src/*.h $dst
> >> > -}
> >> > -copy_headers include %{_includedir}/openvswitch
> >> > -copy_headers include/openflow %{_includedir}/openvswitch/openflow
> >> > -copy_headers include/openvswitch %{_includedir}/openvswitch/openvswitch
> >> > -copy_headers include/sparse %{_includedir}/openvswitch/sparse
> >> > -copy_headers include/sparse/arpa %{_includedir}/openvswitch/sparse/arpa
> >> > -copy_headers include/sparse/netinet
> >> > %{_includedir}/openvswitch/sparse/netinet
> >> > -copy_headers include/sparse/sys %{_includedir}/openvswitch/sparse/sys
> >> > -copy_headers lib %{_includedir}/openvswitch/lib
> >> > -
> >> > -install -D -m 0644 lib/.libs/libopenvswitch.a \
> >> > -    $RPM_BUILD_ROOT/%{_libdir}/libopenvswitch.a
> >> > -
> >> > -%check
> >> > -%if %{with check}
> >> > -    if make check TESTSUITEFLAGS='%{_smp_mflags}' RECHECK=yes; then :;
> >> > -    else
> >> > -        cat tests/testsuite.log
> >> > -        exit 1
> >> > -    fi
> >> > -%endif
> >> > -%if %{with check_datapath_kernel}
> >> > -    if make check-kernel RECHECK=yes; then :;
> >> > -    else
> >> > -        cat tests/system-kmod-testsuite.log
> >> > -        exit 1
> >> > -    fi
> >> > -%endif
> >> > -
> >> > -%clean
> >> > -rm -rf $RPM_BUILD_ROOT
> >> > -
> >> > -%post
> >> > -# Create default or update existing /etc/sysconfig/openvswitch.
> >> > -SYSCONFIG=/etc/sysconfig/openvswitch
> >> > -TEMPLATE=/usr/share/openvswitch/scripts/sysconfig.template
> >> > -if [ ! -e $SYSCONFIG ]; then
> >> > -    cp $TEMPLATE $SYSCONFIG
> >> > -else
> >> > -    for var in $(awk -F'[ :]' '/^# [_A-Z0-9]+:/{print $2}' $TEMPLATE)
> >> > -    do
> >> > -        if ! grep $var $SYSCONFIG >/dev/null 2>&1; then
> >> > -            echo >> $SYSCONFIG
> >> > -            sed -n "/$var:/,/$var=/p" $TEMPLATE >> $SYSCONFIG
> >> > -        fi
> >> > -    done
> >> > -fi
> >> > -
> >> > -# Ensure all required services are set to run
> >> > -/sbin/chkconfig --add openvswitch
> >> > -/sbin/chkconfig openvswitch on
> >> > -
> >> > -%post selinux-policy
> >> > -/usr/sbin/semodule -i
> >> > %{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp &> /dev/null || :
> >> > -
> >> > -%preun
> >> > -if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
> >> > -    /sbin/service openvswitch stop
> >> > -    /sbin/chkconfig --del openvswitch
> >> > -fi
> >> > -
> >> > -%postun
> >> > -if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
> >> > -    rm -f /etc/openvswitch/conf.db
> >> > -    rm -f /etc/sysconfig/openvswitch
> >> > -    rm -f /etc/openvswitch/vswitchd.cacert
> >> > -fi
> >> > -
> >> > -%postun selinux-policy
> >> > -if [ $1 -eq 0 ] ; then
> >> > -  /usr/sbin/semodule -r openvswitch-custom &> /dev/null || :
> >> > -fi
> >> > -
> >> > -exit 0
> >> > -
> >> > -%files
> >> > -%defattr(-,root,root)
> >> > -%dir /etc/openvswitch
> >> > -/etc/bash_completion.d/ovs-appctl-bashcomp.bash
> >> > -/etc/bash_completion.d/ovs-vsctl-bashcomp.bash
> >> > -/etc/init.d/openvswitch
> >> > -%config(noreplace) /etc/logrotate.d/openvswitch
> >> > -/etc/sysconfig/network-scripts/ifup-ovs
> >> > -/etc/sysconfig/network-scripts/ifdown-ovs
> >> > -/usr/bin/ovs-appctl
> >> > -/usr/bin/ovs-dpctl
> >> > -/usr/bin/ovs-dpctl-top
> >> > -/usr/bin/ovs-docker
> >> > -/usr/bin/ovs-ofctl
> >> > -/usr/bin/ovs-parse-backtrace
> >> > -/usr/bin/ovs-pcap
> >> > -/usr/bin/ovs-pki
> >> > -/usr/bin/ovs-tcpdump
> >> > -/usr/bin/ovs-tcpundump
> >> > -/usr/bin/ovs-vlan-test
> >> > -/usr/bin/ovs-vsctl
> >> > -/usr/bin/ovsdb-client
> >> > -/usr/bin/ovsdb-tool
> >> > -/usr/bin/vtep-ctl
> >> > -%{_libdir}/lib*.so.*
> >> > -/usr/sbin/ovs-bugtool
> >> > -/usr/sbin/ovs-vswitchd
> >> > -/usr/sbin/ovsdb-server
> >> > -/usr/share/man/man1/ovs-pcap.1.gz
> >> > -/usr/share/man/man1/ovs-tcpundump.1.gz
> >> > -/usr/share/man/man1/ovsdb-client.1.gz
> >> > -/usr/share/man/man1/ovsdb-server.1.gz
> >> > -/usr/share/man/man1/ovsdb-tool.1.gz
> >> > -/usr/share/man/man5/ovs-vswitchd.conf.db.5.gz
> >> > -/usr/share/man/man5/vtep.5.gz
> >> > -/usr/share/man/man7/ovs-fields.7.gz
> >> > -/usr/share/man/man8/ovs-appctl.8.gz
> >> > -/usr/share/man/man8/ovs-bugtool.8.gz
> >> > -/usr/share/man/man8/ovs-ctl.8.gz
> >> > -/usr/share/man/man8/ovs-dpctl.8.gz
> >> > -/usr/share/man/man8/ovs-dpctl-top.8.gz
> >> > -/usr/share/man/man8/ovs-ofctl.8.gz
> >> > -/usr/share/man/man8/ovs-parse-backtrace.8.gz
> >> > -/usr/share/man/man8/ovs-pki.8.gz
> >> > -/usr/share/man/man8/ovs-tcpdump.8.gz
> >> > -/usr/share/man/man8/ovs-vlan-test.8.gz
> >> > -/usr/share/man/man8/ovs-vsctl.8.gz
> >> > -/usr/share/man/man8/ovs-vswitchd.8.gz
> >> > -/usr/share/man/man8/vtep-ctl.8.gz
> >> > -/usr/share/openvswitch/bugtool-plugins/
> >> > -/usr/share/openvswitch/python/
> >> > -/usr/share/openvswitch/scripts/ovs-bugtool-*
> >> > -/usr/share/openvswitch/scripts/ovs-check-dead-ifs
> >> > -/usr/share/openvswitch/scripts/ovs-ctl
> >> > -/usr/share/openvswitch/scripts/ovs-lib
> >> > -/usr/share/openvswitch/scripts/ovs-save
> >> > -/usr/share/openvswitch/scripts/ovs-vtep
> >> > -/usr/share/openvswitch/scripts/sysconfig.template
> >> > -/usr/share/openvswitch/vswitch.ovsschema
> >> > -/usr/share/openvswitch/vtep.ovsschema
> >> > -%doc COPYING NOTICE README.rst NEWS rhel/README.RHEL.rst
> >> > -/var/lib/openvswitch
> >> > -/var/log/openvswitch
> >> > -
> >> > -%files devel
> >> > -%{_libdir}/lib*.so
> >> > -%{_libdir}/lib*.a
> >> > -%{_libdir}/pkgconfig
> >> > -%{_includedir}/openvswitch/*
> >> > -
> >> > -%files selinux-policy
> >> > -%defattr(-,root,root)
> >> > -%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
> >> > --
> >> > 2.14.3
> >> >
> >> > _______________________________________________
> >> > dev mailing list
> >> > dev@openvswitch.org
> >> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> >>
> >>
> >>
> >> --
> >> Russell Bryant
> >
> >
> 
> 
> 
> -- 
> Russell Bryant
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Gurucharan Shetty Jan. 17, 2018, 5:42 p.m. UTC | #6
On 17 January 2018 at 07:57, Flavio Leitner <fbl@sysclose.org> wrote:

>
> Hi,
>
> One of the reasons is to clean up a bit because today it is not
> obvious that openvswitch.spec uses initscripts and shouldn't be
> used for Fedora or RHEL-7.
>
> Then we have openvswitch-fedora.spec which is not obvious if it
> works or not in RHEL-7 too.
>
> We could document that somehow, but it would be more clear if,
> for instance, old stuff got renamed to indicate that and
> -fedora.spec got renamed be the obvious choice for any recent
> distro whether it is Fedora or RHEL.
>
> The other reason is to reduce the amount of code to maintain
> but it seems that even with force-reload-kmod implemented,
> Guru can't move to use systemd.
>

We would like to move to systemd. But it can't happen with OVS 2.9. I will
bring this up internally and try and get a schedule going to move to
systemd.


>
> fbl
>
>
> On Wed, Jan 17, 2018 at 08:48:13AM -0500, Russell Bryant wrote:
> > OK - fine with me.
> >
> > So an alternative patch would be to document that this spec is now
> > just an alternative for RHEL7 vs one for 5 / 6?
> >
> > On Tue, Jan 16, 2018 at 11:56 PM, Guru Shetty <guru@ovn.org> wrote:
> > > We use RHEL6 spec to build rpms for RHEL7 as we still use sysV
> scripts. We
> > > will need quite a bit of scripting changes, install script changes,
> > > dependencies etc to get ourselves accustomed to systemd. So I would
> prefer
> > > that we not do this till OVS 2.10 atleast.
> > >
> > > On 16 January 2018 at 08:44, Russell Bryant <russell@ovn.org> wrote:
> > >>
> > >> On Thu, Jan 11, 2018 at 11:36 AM, Timothy Redaelli <
> tredaelli@redhat.com>
> > >> wrote:
> > >> > RHEL 6 is not supported anymore since it uses Python 2.6 and GCC
> 4.4.x,
> > >> > but Open vSwitch needs, at least, Python 2.7 and GCC 4.6 to build
> > >> > correctly.
> > >> >
> > >> >
> > >> > http://docs.openvswitch.org/en/latest/intro/install/
> general/#build-requirements
> > >> >
> > >> > CC: Gurucharan Shetty <guru@ovn.org>
> > >> > Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
> > >>
> > >> Acked-by: Russell Bryant <russell@ovn.org>
> > >>
> > >> I'm fine with this, but I'll let Guru comment as well before applying
> > >> anything.
> > >>
> > >> > ---
> > >> >
> > >> > This is the same, rejected, patch I sent as RFC since I have, in the
> > >> > meanwhile, sent another patchset (already merged) to add the
> requested
> > >> > "force-reload-kmod" support on RHEL7 ("ovs-systemd-reload
> > >> > force-reload-kmod").
> > >> >
> > >> >  Documentation/automake.mk             |   1 -
> > >> >  Documentation/howto/docker.rst        |   2 +-
> > >> >  Documentation/index.rst               |   1 -
> > >> >  Documentation/intro/install/index.rst |   1 -
> > >> >  Documentation/intro/install/rhel.rst  | 238
> > >> > ------------------------------
> > >> >  rhel/.gitignore                       |   3 -
> > >> >  rhel/automake.mk                      |  11 --
> > >> >  rhel/openvswitch-kmod-rhel6.spec.in   |  78 ----------
> > >> >  rhel/openvswitch-kmod.files           |   3 -
> > >> >  rhel/openvswitch.spec.in              | 267
> > >> > ----------------------------------
> > >> >  10 files changed, 1 insertion(+), 604 deletions(-)
> > >> >  delete mode 100644 Documentation/intro/install/rhel.rst
> > >> >  delete mode 100644 rhel/openvswitch-kmod-rhel6.spec.in
> > >> >  delete mode 100644 rhel/openvswitch-kmod.files
> > >> >  delete mode 100644 rhel/openvswitch.spec.in
> > >> >
> > >> > diff --git a/Documentation/automake.mk b/Documentation/automake.mk
> > >> > index 2b202cb2a..e614b9de1 100644
> > >> > --- a/Documentation/automake.mk
> > >> > +++ b/Documentation/automake.mk
> > >> > @@ -18,7 +18,6 @@ DOC_SOURCE = \
> > >> >         Documentation/intro/install/general.rst \
> > >> >         Documentation/intro/install/netbsd.rst \
> > >> >         Documentation/intro/install/ovn-upgrades.rst \
> > >> > -       Documentation/intro/install/rhel.rst \
> > >> >         Documentation/intro/install/userspace.rst \
> > >> >         Documentation/intro/install/windows.rst \
> > >> >         Documentation/intro/install/xenserver.rst \
> > >> > diff --git a/Documentation/howto/docker.rst
> > >> > b/Documentation/howto/docker.rst
> > >> > index ff8b708af..c3d4dbf20 100644
> > >> > --- a/Documentation/howto/docker.rst
> > >> > +++ b/Documentation/howto/docker.rst
> > >> > @@ -296,7 +296,7 @@ The "underlay" mode
> > >> >     Depending on your VM, you can make the above step persistent
> across
> > >> > reboots.
> > >> >     For example, if your VM is Debian/Ubuntu-based, read
> > >> >     `openvswitch-switch.README.Debian` found in `debian` folder.
> If your
> > >> > VM is
> > >> > -   RHEL-based, refer to :doc:`/intro/install/rhel`.
> > >> > +   Fedora/RHEL7/CentOS7-based, refer to
> :doc:`/intro/install/fedora`.
> > >> >
> > >> >  3. Start the Open vSwitch network driver
> > >> >
> > >> > diff --git a/Documentation/index.rst b/Documentation/index.rst
> > >> > index ddffa3a62..dac14ba58 100644
> > >> > --- a/Documentation/index.rst
> > >> > +++ b/Documentation/index.rst
> > >> > @@ -86,7 +86,6 @@ Deeper Dive
> > >> >  - **Testing** :doc:`topics/testing`
> > >> >
> > >> >  - **Packaging:** :doc:`intro/install/debian` |
> > >> > -  :doc:`intro/install/rhel` |
> > >> >    :doc:`intro/install/fedora`
> > >> >
> > >> >  The Open vSwitch Project
> > >> > diff --git a/Documentation/intro/install/index.rst
> > >> > b/Documentation/intro/install/index.rst
> > >> > index 3193c736c..626b49f12 100644
> > >> > --- a/Documentation/intro/install/index.rst
> > >> > +++ b/Documentation/intro/install/index.rst
> > >> > @@ -59,7 +59,6 @@ provided below.
> > >> >     distributions
> > >> >     debian
> > >> >     fedora
> > >> > -   rhel
> > >> >
> > >> >  Upgrades
> > >> >  --------
> > >> > diff --git a/Documentation/intro/install/rhel.rst
> > >> > b/Documentation/intro/install/rhel.rst
> > >> > deleted file mode 100644
> > >> > index f8b26069f..000000000
> > >> > --- a/Documentation/intro/install/rhel.rst
> > >> > +++ /dev/null
> > >> > @@ -1,238 +0,0 @@
> > >> > -..
> > >> > -      Licensed under the Apache License, Version 2.0 (the
> "License");
> > >> > you may
> > >> > -      not use this file except in compliance with the License. You
> may
> > >> > obtain
> > >> > -      a copy of the License at
> > >> > -
> > >> > -          http://www.apache.org/licenses/LICENSE-2.0
> > >> > -
> > >> > -      Unless required by applicable law or agreed to in writing,
> > >> > software
> > >> > -      distributed under the License is distributed on an "AS IS"
> BASIS,
> > >> > WITHOUT
> > >> > -      WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> > >> > See the
> > >> > -      License for the specific language governing permissions and
> > >> > limitations
> > >> > -      under the License.
> > >> > -
> > >> > -      Convention for heading levels in Open vSwitch documentation:
> > >> > -
> > >> > -      =======  Heading 0 (reserved for the title in a document)
> > >> > -      -------  Heading 1
> > >> > -      ~~~~~~~  Heading 2
> > >> > -      +++++++  Heading 3
> > >> > -      '''''''  Heading 4
> > >> > -
> > >> > -      Avoid deeper levels because they do not render well.
> > >> > -
> > >> > -========================================
> > >> > -RHEL 5.6, 6.x Packaging for Open vSwitch
> > >> > -========================================
> > >> > -
> > >> > -This document describes how to build and install Open vSwitch on a
> Red
> > >> > Hat
> > >> > -Enterprise Linux (RHEL) host.  If you want to install Open vSwitch
> on a
> > >> > generic
> > >> > -Linux host, refer to :doc:`general` instead.
> > >> > -
> > >> > -We have tested these instructions with RHEL 5.6 and RHEL 6.0.
> > >> > -
> > >> > -For RHEL 7.x (or derivatives, such as CentOS 7.x), you should
> follow
> > >> > the
> > >> > -instructions in the :doc:`fedora`.  The Fedora spec files are used
> for
> > >> > RHEL
> > >> > -7.x.
> > >> > -
> > >> > -.. _rhel-prerequisites:
> > >> > -
> > >> > -Prerequisites
> > >> > --------------
> > >> > -
> > >> > -You may build from an Open vSwitch distribution tarball or from an
> Open
> > >> > vSwitch
> > >> > -Git tree.
> > >> > -
> > >> > -The default RPM build directory, ``_topdir``, has five directories
> in
> > >> > the
> > >> > -top-level.
> > >> > -
> > >> > -BUILD/
> > >> > -  where the software is unpacked and built
> > >> > -RPMS/
> > >> > -  where the newly created binary package files are written
> > >> > -SOURCES/
> > >> > -  contains the original sources, patches, and icon files
> > >> > -SPECS/
> > >> > -  contains the spec files for each package to be built
> > >> > -SRPMS/
> > >> > -  where the newly created source package files are written
> > >> > -
> > >> > -Before you begin, note the RPM sources directory on your version of
> > >> > RHEL.  The
> > >> > -command ``rpmbuild --showrc`` will show the configuration for each
> of
> > >> > those
> > >> > -directories. Alternatively, the command ``rpm --eval '%{_topdir}'``
> > >> > shows the
> > >> > -current configuration for the top level directory and the command
> ``rpm
> > >> > --eval
> > >> > -'%{_sourcedir}'`` does the same for the sources directory. On RHEL
> 5,
> > >> > the
> > >> > -default RPM ``_topdir`` is ``/usr/src/redhat`` and the default RPM
> > >> > sources
> > >> > -directory is ``/usr/src/redhat/SOURCES``. On RHEL 6, the default
> > >> > ``_topdir`` is
> > >> > -``$HOME/rpmbuild`` and the default RPM sources directory is
> > >> > -``$HOME/rpmbuild/SOURCES``.
> > >> > -
> > >> > -Build Requirements
> > >> > -------------------
> > >> > -
> > >> > -You will need to install all required packages to build the RPMs.
> > >> > -The command below will install RPM tools and generic build
> > >> > dependencies::
> > >> > -
> > >> > -    $ yum install @'Development Tools' rpm-build yum-utils
> > >> > -
> > >> > -Then it is necessary to install Open vSwitch specific build
> > >> > dependencies.
> > >> > -The dependencies are listed in the SPEC file, but first it is
> necessary
> > >> > -to replace the VERSION tag to be a valid SPEC.
> > >> > -
> > >> > -The command below will create a temporary SPEC file::
> > >> > -
> > >> > -    $ sed -e 's/@VERSION@/0.0.1/' rhel/openvswitch.spec.in >
> > >> > /tmp/ovs.spec
> > >> > -
> > >> > -And to install specific dependencies, use yum-builddep tool::
> > >> > -
> > >> > -    $ yum-builddep /tmp/ovs.spec
> > >> > -
> > >> > -Once that is completed, remove the file ``/tmp/ovs.spec``.
> > >> > -
> > >> > -If python-sphinx package is not available in your version of RHEL,
> you
> > >> > can
> > >> > -install it via pip with 'pip install sphinx'.
> > >> > -
> > >> > -Open vSwitch requires python 2.7 or newer which is not available in
> > >> > older
> > >> > -distributions. In the case of RHEL 6.x and its derivatives, one
> option
> > >> > is
> > >> > -to install python34 and python34-six from `EPEL`_.
> > >> > -
> > >> > -.. _EPEL: https://fedoraproject.org/wiki/EPEL
> > >> > -
> > >> > -.. _rhel-bootstrapping:
> > >> > -
> > >> > -Bootstrapping and Configuring
> > >> > ------------------------------
> > >> > -
> > >> > -If you are building from a distribution tarball, skip to
> > >> > :ref:`rhel-building`.
> > >> > -If not, you must be building from an Open vSwitch Git tree.
> Determine
> > >> > what
> > >> > -version of Autoconf is installed (e.g. run ``autoconf
> --version``).  If
> > >> > it is
> > >> > -not at least version 2.63, then you must upgrade or use another
> machine
> > >> > to
> > >> > -build the packages.
> > >> > -
> > >> > -Assuming all requirements have been met, build the tarball by
> running::
> > >> > -
> > >> > -    $ ./boot.sh
> > >> > -    $ ./configure
> > >> > -    $ make dist
> > >> > -
> > >> > -You must run this on a machine that has the tools listed in
> > >> > -:ref:`general-build-reqs` as prerequisites for building from a Git
> > >> > tree.
> > >> > -Afterward, proceed with the rest of the instructions using the
> > >> > distribution
> > >> > -tarball.
> > >> > -
> > >> > -Now you have a distribution tarball, named something like
> > >> > -``openvswitch-x.y.z.tar.gz``.  Copy this file into the RPM sources
> > >> > directory,
> > >> > -e.g.::
> > >> > -
> > >> > -    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
> > >> > -
> > >> > -Broken ``build`` symlink
> > >> > -~~~~~~~~~~~~~~~~~~~~~~~~
> > >> > -
> > >> > -Some versions of the RHEL 6 kernel-devel package contain a broken
> > >> > ``build``
> > >> > -symlink.  If you are using such a version, you must fix the problem
> > >> > before
> > >> > -continuing.
> > >> > -
> > >> > -To find out whether you are affected, run::
> > >> > -
> > >> > -    $ cd /lib/modules/<version>
> > >> > -    $ ls -l build/
> > >> > -
> > >> > -where ``<version>`` is the version number of the RHEL 6 kernel.
> > >> > -
> > >> > -.. note::
> > >> > -  The trailing slash in the final command is important.  Be sure to
> > >> > include
> > >> > -  it.
> > >> > -
> > >> > -If the ``ls`` command produces a directory listing, your
> kernel-devel
> > >> > package
> > >> > -is OK.  If it produces a ``No such file or directory`` error, your
> > >> > kernel-devel
> > >> > -package is buggy.
> > >> > -
> > >> > -If your kernel-devel package is buggy, then you can fix it with::
> > >> > -
> > >> > -    $ cd /lib/modules/<version>
> > >> > -    $ rm build
> > >> > -    $ ln -s /usr/src/kernels/<target> build
> > >> > -
> > >> > -where ``<target>`` is the name of an existing directory under
> > >> > -``/usr/src/kernels``, whose name should be similar to
> ``<version>`` but
> > >> > may
> > >> > -contain some extra parts.  Once you have done this, verify the fix
> with
> > >> > the
> > >> > -same procedure you used above to check for the problem.
> > >> > -
> > >> > -.. _rhel-building:
> > >> > -
> > >> > -Building
> > >> > ---------
> > >> > -
> > >> > -You should have a distribution tarball named something like
> > >> > -openvswitch-x.y.z.tar.gz.  Copy this file into the RPM sources
> > >> > directory::
> > >> > -
> > >> > -    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
> > >> > -
> > >> > -Make another copy of the distribution tarball in a temporary
> directory.
> > >> > Then
> > >> > -unpack the tarball and ``cd`` into its root::
> > >> > -
> > >> > -    $ tar xzf openvswitch-x.y.z.tar.gz
> > >> > -    $ cd openvswitch-x.y.z
> > >> > -
> > >> > -Userspace
> > >> > -~~~~~~~~~
> > >> > -
> > >> > -To build Open vSwitch userspace, run::
> > >> > -
> > >> > -    $ rpmbuild -bb rhel/openvswitch.spec
> > >> > -
> > >> > -This produces two RPMs: "openvswitch" and "openvswitch-debuginfo".
> > >> > -
> > >> > -The above command automatically runs the Open vSwitch unit tests.
> To
> > >> > disable
> > >> > -the unit tests, run::
> > >> > -
> > >> > -    $ rpmbuild -bb --without check rhel/openvswitch.spec
> > >> > -
> > >> > -.. note::
> > >> > -   If the build fails with ``configure: error: source dir
> > >> > -   /lib/modules/2.6.32-279.el6.x86_64/build doesn't exist`` or
> similar,
> > >> > then
> > >> > -   the kernel-devel package is missing or buggy.
> > >> > -
> > >> > -Kernel Module
> > >> > -~~~~~~~~~~~~~
> > >> > -
> > >> > -On RHEL 6, to build the Open vSwitch kernel module, copy
> > >> > -rhel/openvswitch-kmod.files into the RPM sources directory and
> run::
> > >> > -
> > >> > -    $ rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec
> > >> > -
> > >> > -You might have to specify a kernel version and/or variants, e.g.:
> > >> > -
> > >> > -    $ rpmbuild -bb \
> > >> > -        -D "kversion 2.6.32-131.6.1.el6.x86_64" \
> > >> > -        -D "kflavors default debug kdump" \
> > >> > -        rhel/openvswitch-kmod-rhel6.spec
> > >> > -
> > >> > -This produces an "kmod-openvswitch" RPM for each kernel variant, in
> > >> > this
> > >> > -example: "kmod-openvswitch", "kmod-openvswitch-debug", and
> > >> > -"kmod-openvswitch-kdump".
> > >> > -
> > >> > -.. _rhel-script-integrations:
> > >> > -
> > >> > -Red Hat Network Scripts Integration
> > >> > ------------------------------------
> > >> > -
> > >> > -A RHEL host has default firewall rules that prevent any Open
> vSwitch
> > >> > tunnel
> > >> > -traffic from passing through. If a user configures Open vSwitch
> tunnels
> > >> > like
> > >> > -Geneve, GRE, VXLAN, LISP etc., they will either have to manually
> add
> > >> > iptables
> > >> > -firewall rules to allow the tunnel traffic or add it through a
> startup
> > >> > script
> > >> > -Refer to the "enable-protocol" command in the ovs-ctl(8) manpage
> for
> > >> > more
> > >> > -information.
> > >> > -
> > >> > -In addition, simple integration with Red Hat network scripts has
> been
> > >> > -implemented.  Refer to `README.RHEL.rst`__ in the source tree or
> > >> > -/usr/share/doc/openvswitch/README.RHEL.rst in the installed
> openvswitch
> > >> > package
> > >> > -for details.
> > >> > -
> > >> > -__ https://github.com/openvswitch/ovs/blob/master/
> rhel/README.RHEL.rst
> > >> > -
> > >> > -Reporting Bugs
> > >> > ---------------
> > >> > -
> > >> > -Report problems to bugs@openvswitch.org.
> > >> > diff --git a/rhel/.gitignore b/rhel/.gitignore
> > >> > index e584a1ed0..0fbcba69f 100644
> > >> > --- a/rhel/.gitignore
> > >> > +++ b/rhel/.gitignore
> > >> > @@ -1,7 +1,4 @@
> > >> >  openvswitch-dkms.spec
> > >> > -openvswitch-kmod-rhel5.spec
> > >> > -openvswitch-kmod-rhel6.spec
> > >> >  openvswitch-kmod-fedora.spec
> > >> > -openvswitch.spec
> > >> >  openvswitch-fedora.spec
> > >> >  usr_lib_systemd_system_ovs-vswitchd.service
> > >> > diff --git a/rhel/automake.mk b/rhel/automake.mk
> > >> > index 137ff4a39..e8abc0b65 100644
> > >> > --- a/rhel/automake.mk
> > >> > +++ b/rhel/automake.mk
> > >> > @@ -15,13 +15,8 @@ EXTRA_DIST += \
> > >> >         rhel/etc_sysconfig_network-scripts_ifup-ovs \
> > >> >         rhel/openvswitch-dkms.spec \
> > >> >         rhel/openvswitch-dkms.spec.in \
> > >> > -       rhel/openvswitch-kmod-rhel6.spec \
> > >> > -       rhel/openvswitch-kmod-rhel6.spec.in \
> > >> > -       rhel/openvswitch-kmod.files \
> > >> >         rhel/openvswitch-kmod-fedora.spec \
> > >> >         rhel/openvswitch-kmod-fedora.spec.in \
> > >> > -       rhel/openvswitch.spec \
> > >> > -       rhel/openvswitch.spec.in \
> > >> >         rhel/openvswitch-fedora.spec \
> > >> >         rhel/openvswitch-fedora.spec.in \
> > >> >         rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
> > >> > @@ -48,15 +43,9 @@ update_rhel_spec = \
> > >> >  $(srcdir)/rhel/openvswitch-dkms.spec: rhel/
> openvswitch-dkms.spec.in
> > >> > $(top_builddir)/config.status
> > >> >         $(update_rhel_spec)
> > >> >
> > >> > -$(srcdir)/rhel/openvswitch-kmod-rhel6.spec:
> > >> > rhel/openvswitch-kmod-rhel6.spec.in $(top_builddir)/config.status
> > >> > -       $(update_rhel_spec)
> > >> > -
> > >> >  $(srcdir)/rhel/openvswitch-kmod-fedora.spec:
> > >> > rhel/openvswitch-kmod-fedora.spec.in $(top_builddir)/config.status
> > >> >         $(update_rhel_spec)
> > >> >
> > >> > -$(srcdir)/rhel/openvswitch.spec: rhel/openvswitch.spec.in
> > >> > $(top_builddir)/config.status
> > >> > -       $(update_rhel_spec)
> > >> > -
> > >> >  $(srcdir)/rhel/openvswitch-fedora.spec: rhel/
> openvswitch-fedora.spec.in
> > >> > $(top_builddir)/config.status
> > >> >         $(update_rhel_spec)
> > >> >
> > >> > diff --git a/rhel/openvswitch-kmod-rhel6.spec.in
> > >> > b/rhel/openvswitch-kmod-rhel6.spec.in
> > >> > deleted file mode 100644
> > >> > index 8413b254f..000000000
> > >> > --- a/rhel/openvswitch-kmod-rhel6.spec.in
> > >> > +++ /dev/null
> > >> > @@ -1,78 +0,0 @@
> > >> > -# Spec file for Open vSwitch kernel modules on Red Hat Enterprise
> > >> > -# Linux 6.
> > >> > -
> > >> > -# Copyright (C) 2011, 2012 Nicira, 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.
> > >> > -
> > >> > -%define oname openvswitch
> > >> > -
> > >> > -Name:           %{oname}-kmod
> > >> > -Version:        @VERSION@
> > >> > -Release:        1%{?dist}
> > >> > -Summary:        Open vSwitch kernel module
> > >> > -
> > >> > -Group:          System/Kernel
> > >> > -License:        GPLv2
> > >> > -URL:            http://openvswitch.org/
> > >> > -Source0:        %{oname}-%{version}.tar.gz
> > >> > -Source1:        %{oname}-kmod.files
> > >> > -BuildRoot:      %(mktemp -ud
> > >> > %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
> > >> > -BuildRequires:  %kernel_module_package_buildreqs
> > >> > -
> > >> > -# Without this we get an empty openvswitch-debuginfo package (whose
> > >> > name
> > >> > -# conflicts with the openvswitch-debuginfo package for OVS
> userspace).
> > >> > -%undefine _enable_debug_packages
> > >> > -
> > >> > -# Use -D 'kversion 2.6.32-131.6.1.el6.x86_64' to build package
> > >> > -# for specified kernel version.
> > >> > -%{?kversion:%define kernel_version %kversion}
> > >> > -
> > >> > -# Use -D 'kflavors default debug kdump' to build packages for
> > >> > -# specified kernel variants.
> > >> > -%{!?kflavors:%define kflavors default}
> > >> > -
> > >> > -%kernel_module_package -n %{oname} -f %{SOURCE1} %kflavors
> > >> > -
> > >> > -%description
> > >> > -Open vSwitch Linux kernel module.
> > >> > -
> > >> > -%prep
> > >> > -
> > >> > -%setup -n %{oname}-%{version}
> > >> > -
> > >> > -%build
> > >> > -for flavor in %flavors_to_build; do
> > >> > -       mkdir _$flavor
> > >> > -       (cd _$flavor && ../configure --with-linux="%{kernel_source
> > >> > $flavor}")
> > >> > -       %{__make} -C _$flavor/datapath/linux %{?_smp_mflags}
> > >> > -done
> > >> > -
> > >> > -%install
> > >> > -export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
> > >> > -export INSTALL_MOD_DIR=extra/%{oname}
> > >> > -for flavor in %flavors_to_build ; do
> > >> > -         make -C %{kernel_source $flavor} modules_install \
> > >> > -                 M="`pwd`"/_$flavor/datapath/linux
> > >> > -
> > >> > -         # Cleanup unnecessary kernel-generated module dependency
> > >> > files.
> > >> > -         find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*'
> -exec rm
> > >> > {} \;
> > >> > -done
> > >> > -install -d %{buildroot}%{_sysconfdir}/depmod.d/
> > >> > -for module in
> > >> > %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_DIR/*.ko;
> > >> > -do
> > >> > -    modname="$(basename ${module})"
> > >> > -    echo "override ${modname%.ko} * extra/%{oname}" >>
> %{oname}.conf
> > >> > -    echo "override ${modname%.ko} * weak-updates/%{oname}" >>
> > >> > %{oname}.conf
> > >> > -done
> > >> > -install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/
> > >> > -
> > >> > -%files
> > >> > -%defattr(644,root,root)
> > >> > -/etc/depmod.d/%{oname}.conf
> > >> > -
> > >> > -%clean
> > >> > -rm -rf $RPM_BUILD_ROOT
> > >> > diff --git a/rhel/openvswitch-kmod.files
> b/rhel/openvswitch-kmod.files
> > >> > deleted file mode 100644
> > >> > index 357c2e8b7..000000000
> > >> > --- a/rhel/openvswitch-kmod.files
> > >> > +++ /dev/null
> > >> > @@ -1,3 +0,0 @@
> > >> > -%defattr(644,root,root,755)
> > >> > -/lib/modules/%2-%1
> > >> > -/etc/depmod.d/openvswitch.conf
> > >> > diff --git a/rhel/openvswitch.spec.in b/rhel/openvswitch.spec.in
> > >> > deleted file mode 100644
> > >> > index e510d351b..000000000
> > >> > --- a/rhel/openvswitch.spec.in
> > >> > +++ /dev/null
> > >> > @@ -1,267 +0,0 @@
> > >> > -# Spec file for Open vSwitch on Red Hat Enterprise Linux.
> > >> > -
> > >> > -# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016
> Nicira,
> > >> > 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/openvswitch.spec
> > >> > -#
> > >> > -# Support for executing kernel data path tests under rpmbuild is
> > >> > -# provided, however this is intended for use only in test
> environments
> > >> > -# and should not be used otherwise (these tests require root
> > >> > privileges).
> > >> > -# These tests can be executed, for example, via:
> > >> > -#    rpmbuild -rb --with check_datapath_kernel openvswitch.src.rpm
> > >> > -#
> > >> > -# These tests will use the currently installed OVS kernel modules,
> when
> > >> > -# testing out of tree kernel modules the appropriate
> openvswitch-kmod
> > >> > -# package should be installed first.
> > >> > -
> > >> > -Name: openvswitch
> > >> > -Summary: Open vSwitch daemon/database/utilities
> > >> > -Group: System Environment/Daemons
> > >> > -URL: http://www.openvswitch.org/
> > >> > -Vendor: Nicira, Inc.
> > >> > -Version: @VERSION@
> > >> > -
> > >> > -License: ASL 2.0
> > >> > -Release: 1
> > >> > -Source: openvswitch-%{version}.tar.gz
> > >> > -Buildroot: /tmp/openvswitch-rpm
> > >> > -Requires: logrotate, hostname, python >= 2.7, python-six
> > >> > -BuildRequires: python-six
> > >> > -BuildRequires: openssl-devel
> > >> > -BuildRequires: checkpolicy, selinux-policy-devel
> > >> > -
> > >> > -%bcond_without check
> > >> > -%bcond_with check_datapath_kernel
> > >> > -
> > >> > -%description
> > >> > -Open vSwitch provides standard network bridging functions and
> > >> > -support for the OpenFlow protocol for remote per-flow control of
> > >> > -traffic.
> > >> > -
> > >> > -%package devel
> > >> > -Summary:        Open vSwitch development package
> > >> > -Group:          Development/Libraries
> > >> > -
> > >> > -%description devel
> > >> > -This package provides openvswitch headers and libopenvswitch for
> > >> > developers.
> > >> > -
> > >> > -%package selinux-policy
> > >> > -Summary: Open vSwitch SELinux policy
> > >> > -License: ASL 2.0
> > >> > -BuildArch: noarch
> > >> > -Requires: selinux-policy-targeted
> > >> > -
> > >> > -%description selinux-policy
> > >> > -Tailored Open vSwitch SELinux policy
> > >> > -
> > >> > -%prep
> > >> > -%setup -q
> > >> > -
> > >> > -%build
> > >> > -./configure --prefix=/usr --sysconfdir=/etc
> > >> > --localstatedir=%{_localstatedir} \
> > >> > -    --libdir=%{_libdir} --enable-ssl --enable-shared
> > >> > -make %{_smp_mflags}
> > >> > -make selinux/openvswitch-custom.te
> > >> > -cd selinux
> > >> > -make -f %{_datadir}/selinux/devel/Makefile
> > >> > -
> > >> > -%install
> > >> > -rm -rf $RPM_BUILD_ROOT
> > >> > -make install DESTDIR=$RPM_BUILD_ROOT
> > >> > -
> > >> > -rhel_cp() {
> > >> > - base=$1
> > >> > - mode=$2
> > >> > - dst=$RPM_BUILD_ROOT/$(echo $base | sed 's,_,/,g')
> > >> > - install -D -m $mode rhel/$base $dst
> > >> > -}
> > >> > -rhel_cp etc_init.d_openvswitch 0755
> > >> > -rhel_cp etc_logrotate.d_openvswitch 0644
> > >> > -rhel_cp etc_sysconfig_network-scripts_ifup-ovs 0755
> > >> > -rhel_cp etc_sysconfig_network-scripts_ifdown-ovs 0755
> > >> > -rhel_cp usr_share_openvswitch_scripts_sysconfig.template 0644
> > >> > -
> > >> > -install -p -m 644 -D selinux/openvswitch-custom.pp \
> > >> > -
> > >> > $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/
> openvswitch-custom.pp
> > >> > -
> > >> > -# Get rid of stuff we don't want to make RPM happy.
> > >> > -rm \
> > >> > -    $RPM_BUILD_ROOT/usr/bin/ovs-testcontroller \
> > >> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-testcontroller.8 \
> > >> > -    $RPM_BUILD_ROOT/usr/bin/ovs-test \
> > >> > -    $RPM_BUILD_ROOT/usr/bin/ovs-l3ping \
> > >> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8 \
> > >> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-l3ping.8 \
> > >> > -    $RPM_BUILD_ROOT/usr/sbin/ovs-vlan-bug-workaround \
> > >> > -    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-vlan-bug-workaround.8 \
> > >> > -    $RPM_BUILD_ROOT/usr/bin/ovn-* \
> > >> > -    $RPM_BUILD_ROOT/usr/share/man/man?/ovn-* \
> > >> > -    $RPM_BUILD_ROOT/usr/share/openvswitch/ovn-* \
> > >> > -    $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovn*
> > >> > -(cd "$RPM_BUILD_ROOT" && rm -rf usr/%{_lib}/*.la)
> > >> > -(cd "$RPM_BUILD_ROOT" && rm -rf usr/include)
> > >> > -
> > >> > -install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
> > >> > -install -d -m 0755 $RPM_BUILD_ROOT%{_
> localstatedir}/log/openvswitch
> > >> > -install -d -m 0755 $RPM_BUILD_ROOT/var/lib/openvswitch
> > >> > -
> > >> > -copy_headers() {
> > >> > -    src=$1
> > >> > -    dst=$RPM_BUILD_ROOT/$2
> > >> > -    install -d -m 0755 $dst
> > >> > -    install -m 0644 $src/*.h $dst
> > >> > -}
> > >> > -copy_headers include %{_includedir}/openvswitch
> > >> > -copy_headers include/openflow %{_includedir}/openvswitch/openflow
> > >> > -copy_headers include/openvswitch %{_includedir}/openvswitch/
> openvswitch
> > >> > -copy_headers include/sparse %{_includedir}/openvswitch/sparse
> > >> > -copy_headers include/sparse/arpa %{_includedir}/openvswitch/
> sparse/arpa
> > >> > -copy_headers include/sparse/netinet
> > >> > %{_includedir}/openvswitch/sparse/netinet
> > >> > -copy_headers include/sparse/sys %{_includedir}/openvswitch/
> sparse/sys
> > >> > -copy_headers lib %{_includedir}/openvswitch/lib
> > >> > -
> > >> > -install -D -m 0644 lib/.libs/libopenvswitch.a \
> > >> > -    $RPM_BUILD_ROOT/%{_libdir}/libopenvswitch.a
> > >> > -
> > >> > -%check
> > >> > -%if %{with check}
> > >> > -    if make check TESTSUITEFLAGS='%{_smp_mflags}' RECHECK=yes;
> then :;
> > >> > -    else
> > >> > -        cat tests/testsuite.log
> > >> > -        exit 1
> > >> > -    fi
> > >> > -%endif
> > >> > -%if %{with check_datapath_kernel}
> > >> > -    if make check-kernel RECHECK=yes; then :;
> > >> > -    else
> > >> > -        cat tests/system-kmod-testsuite.log
> > >> > -        exit 1
> > >> > -    fi
> > >> > -%endif
> > >> > -
> > >> > -%clean
> > >> > -rm -rf $RPM_BUILD_ROOT
> > >> > -
> > >> > -%post
> > >> > -# Create default or update existing /etc/sysconfig/openvswitch.
> > >> > -SYSCONFIG=/etc/sysconfig/openvswitch
> > >> > -TEMPLATE=/usr/share/openvswitch/scripts/sysconfig.template
> > >> > -if [ ! -e $SYSCONFIG ]; then
> > >> > -    cp $TEMPLATE $SYSCONFIG
> > >> > -else
> > >> > -    for var in $(awk -F'[ :]' '/^# [_A-Z0-9]+:/{print $2}'
> $TEMPLATE)
> > >> > -    do
> > >> > -        if ! grep $var $SYSCONFIG >/dev/null 2>&1; then
> > >> > -            echo >> $SYSCONFIG
> > >> > -            sed -n "/$var:/,/$var=/p" $TEMPLATE >> $SYSCONFIG
> > >> > -        fi
> > >> > -    done
> > >> > -fi
> > >> > -
> > >> > -# Ensure all required services are set to run
> > >> > -/sbin/chkconfig --add openvswitch
> > >> > -/sbin/chkconfig openvswitch on
> > >> > -
> > >> > -%post selinux-policy
> > >> > -/usr/sbin/semodule -i
> > >> > %{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp &>
> /dev/null || :
> > >> > -
> > >> > -%preun
> > >> > -if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
> > >> > -    /sbin/service openvswitch stop
> > >> > -    /sbin/chkconfig --del openvswitch
> > >> > -fi
> > >> > -
> > >> > -%postun
> > >> > -if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
> > >> > -    rm -f /etc/openvswitch/conf.db
> > >> > -    rm -f /etc/sysconfig/openvswitch
> > >> > -    rm -f /etc/openvswitch/vswitchd.cacert
> > >> > -fi
> > >> > -
> > >> > -%postun selinux-policy
> > >> > -if [ $1 -eq 0 ] ; then
> > >> > -  /usr/sbin/semodule -r openvswitch-custom &> /dev/null || :
> > >> > -fi
> > >> > -
> > >> > -exit 0
> > >> > -
> > >> > -%files
> > >> > -%defattr(-,root,root)
> > >> > -%dir /etc/openvswitch
> > >> > -/etc/bash_completion.d/ovs-appctl-bashcomp.bash
> > >> > -/etc/bash_completion.d/ovs-vsctl-bashcomp.bash
> > >> > -/etc/init.d/openvswitch
> > >> > -%config(noreplace) /etc/logrotate.d/openvswitch
> > >> > -/etc/sysconfig/network-scripts/ifup-ovs
> > >> > -/etc/sysconfig/network-scripts/ifdown-ovs
> > >> > -/usr/bin/ovs-appctl
> > >> > -/usr/bin/ovs-dpctl
> > >> > -/usr/bin/ovs-dpctl-top
> > >> > -/usr/bin/ovs-docker
> > >> > -/usr/bin/ovs-ofctl
> > >> > -/usr/bin/ovs-parse-backtrace
> > >> > -/usr/bin/ovs-pcap
> > >> > -/usr/bin/ovs-pki
> > >> > -/usr/bin/ovs-tcpdump
> > >> > -/usr/bin/ovs-tcpundump
> > >> > -/usr/bin/ovs-vlan-test
> > >> > -/usr/bin/ovs-vsctl
> > >> > -/usr/bin/ovsdb-client
> > >> > -/usr/bin/ovsdb-tool
> > >> > -/usr/bin/vtep-ctl
> > >> > -%{_libdir}/lib*.so.*
> > >> > -/usr/sbin/ovs-bugtool
> > >> > -/usr/sbin/ovs-vswitchd
> > >> > -/usr/sbin/ovsdb-server
> > >> > -/usr/share/man/man1/ovs-pcap.1.gz
> > >> > -/usr/share/man/man1/ovs-tcpundump.1.gz
> > >> > -/usr/share/man/man1/ovsdb-client.1.gz
> > >> > -/usr/share/man/man1/ovsdb-server.1.gz
> > >> > -/usr/share/man/man1/ovsdb-tool.1.gz
> > >> > -/usr/share/man/man5/ovs-vswitchd.conf.db.5.gz
> > >> > -/usr/share/man/man5/vtep.5.gz
> > >> > -/usr/share/man/man7/ovs-fields.7.gz
> > >> > -/usr/share/man/man8/ovs-appctl.8.gz
> > >> > -/usr/share/man/man8/ovs-bugtool.8.gz
> > >> > -/usr/share/man/man8/ovs-ctl.8.gz
> > >> > -/usr/share/man/man8/ovs-dpctl.8.gz
> > >> > -/usr/share/man/man8/ovs-dpctl-top.8.gz
> > >> > -/usr/share/man/man8/ovs-ofctl.8.gz
> > >> > -/usr/share/man/man8/ovs-parse-backtrace.8.gz
> > >> > -/usr/share/man/man8/ovs-pki.8.gz
> > >> > -/usr/share/man/man8/ovs-tcpdump.8.gz
> > >> > -/usr/share/man/man8/ovs-vlan-test.8.gz
> > >> > -/usr/share/man/man8/ovs-vsctl.8.gz
> > >> > -/usr/share/man/man8/ovs-vswitchd.8.gz
> > >> > -/usr/share/man/man8/vtep-ctl.8.gz
> > >> > -/usr/share/openvswitch/bugtool-plugins/
> > >> > -/usr/share/openvswitch/python/
> > >> > -/usr/share/openvswitch/scripts/ovs-bugtool-*
> > >> > -/usr/share/openvswitch/scripts/ovs-check-dead-ifs
> > >> > -/usr/share/openvswitch/scripts/ovs-ctl
> > >> > -/usr/share/openvswitch/scripts/ovs-lib
> > >> > -/usr/share/openvswitch/scripts/ovs-save
> > >> > -/usr/share/openvswitch/scripts/ovs-vtep
> > >> > -/usr/share/openvswitch/scripts/sysconfig.template
> > >> > -/usr/share/openvswitch/vswitch.ovsschema
> > >> > -/usr/share/openvswitch/vtep.ovsschema
> > >> > -%doc COPYING NOTICE README.rst NEWS rhel/README.RHEL.rst
> > >> > -/var/lib/openvswitch
> > >> > -/var/log/openvswitch
> > >> > -
> > >> > -%files devel
> > >> > -%{_libdir}/lib*.so
> > >> > -%{_libdir}/lib*.a
> > >> > -%{_libdir}/pkgconfig
> > >> > -%{_includedir}/openvswitch/*
> > >> > -
> > >> > -%files selinux-policy
> > >> > -%defattr(-,root,root)
> > >> > -%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
> > >> > --
> > >> > 2.14.3
> > >> >
> > >> > _______________________________________________
> > >> > dev mailing list
> > >> > dev@openvswitch.org
> > >> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> > >>
> > >>
> > >>
> > >> --
> > >> Russell Bryant
> > >
> > >
> >
> >
> >
> > --
> > Russell Bryant
> > _______________________________________________
> > dev mailing list
> > dev@openvswitch.org
> > https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
> --
> Flavio
>
>
Flavio Leitner Jan. 17, 2018, 10:07 p.m. UTC | #7
On Wed, Jan 17, 2018 at 09:42:34AM -0800, Guru Shetty wrote:
> On 17 January 2018 at 07:57, Flavio Leitner <fbl@sysclose.org> wrote:
> 
> >
> > Hi,
> >
> > One of the reasons is to clean up a bit because today it is not
> > obvious that openvswitch.spec uses initscripts and shouldn't be
> > used for Fedora or RHEL-7.
> >
> > Then we have openvswitch-fedora.spec which is not obvious if it
> > works or not in RHEL-7 too.
> >
> > We could document that somehow, but it would be more clear if,
> > for instance, old stuff got renamed to indicate that and
> > -fedora.spec got renamed be the obvious choice for any recent
> > distro whether it is Fedora or RHEL.
> >
> > The other reason is to reduce the amount of code to maintain
> > but it seems that even with force-reload-kmod implemented,
> > Guru can't move to use systemd.
> >
> 
> We would like to move to systemd. But it can't happen with OVS 2.9. I will
> bring this up internally and try and get a schedule going to move to
> systemd.

Sounds good. Do you think it's a good idea to add a note to 2.9
saying that we plan to deprecate RPM based initscripts spec in
a future release?

fbl
diff mbox series

Patch

diff --git a/Documentation/automake.mk b/Documentation/automake.mk
index 2b202cb2a..e614b9de1 100644
--- a/Documentation/automake.mk
+++ b/Documentation/automake.mk
@@ -18,7 +18,6 @@  DOC_SOURCE = \
 	Documentation/intro/install/general.rst \
 	Documentation/intro/install/netbsd.rst \
 	Documentation/intro/install/ovn-upgrades.rst \
-	Documentation/intro/install/rhel.rst \
 	Documentation/intro/install/userspace.rst \
 	Documentation/intro/install/windows.rst \
 	Documentation/intro/install/xenserver.rst \
diff --git a/Documentation/howto/docker.rst b/Documentation/howto/docker.rst
index ff8b708af..c3d4dbf20 100644
--- a/Documentation/howto/docker.rst
+++ b/Documentation/howto/docker.rst
@@ -296,7 +296,7 @@  The "underlay" mode
    Depending on your VM, you can make the above step persistent across reboots.
    For example, if your VM is Debian/Ubuntu-based, read
    `openvswitch-switch.README.Debian` found in `debian` folder. If your VM is
-   RHEL-based, refer to :doc:`/intro/install/rhel`.
+   Fedora/RHEL7/CentOS7-based, refer to :doc:`/intro/install/fedora`.
 
 3. Start the Open vSwitch network driver
 
diff --git a/Documentation/index.rst b/Documentation/index.rst
index ddffa3a62..dac14ba58 100644
--- a/Documentation/index.rst
+++ b/Documentation/index.rst
@@ -86,7 +86,6 @@  Deeper Dive
 - **Testing** :doc:`topics/testing`
 
 - **Packaging:** :doc:`intro/install/debian` |
-  :doc:`intro/install/rhel` |
   :doc:`intro/install/fedora`
 
 The Open vSwitch Project
diff --git a/Documentation/intro/install/index.rst b/Documentation/intro/install/index.rst
index 3193c736c..626b49f12 100644
--- a/Documentation/intro/install/index.rst
+++ b/Documentation/intro/install/index.rst
@@ -59,7 +59,6 @@  provided below.
    distributions
    debian
    fedora
-   rhel
 
 Upgrades
 --------
diff --git a/Documentation/intro/install/rhel.rst b/Documentation/intro/install/rhel.rst
deleted file mode 100644
index f8b26069f..000000000
--- a/Documentation/intro/install/rhel.rst
+++ /dev/null
@@ -1,238 +0,0 @@ 
-..
-      Licensed under the Apache License, Version 2.0 (the "License"); you may
-      not use this file except in compliance with the License. You may obtain
-      a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-      Unless required by applicable law or agreed to in writing, software
-      distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-      WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-      License for the specific language governing permissions and limitations
-      under the License.
-
-      Convention for heading levels in Open vSwitch documentation:
-
-      =======  Heading 0 (reserved for the title in a document)
-      -------  Heading 1
-      ~~~~~~~  Heading 2
-      +++++++  Heading 3
-      '''''''  Heading 4
-
-      Avoid deeper levels because they do not render well.
-
-========================================
-RHEL 5.6, 6.x Packaging for Open vSwitch
-========================================
-
-This document describes how to build and install Open vSwitch on a Red Hat
-Enterprise Linux (RHEL) host.  If you want to install Open vSwitch on a generic
-Linux host, refer to :doc:`general` instead.
-
-We have tested these instructions with RHEL 5.6 and RHEL 6.0.
-
-For RHEL 7.x (or derivatives, such as CentOS 7.x), you should follow the
-instructions in the :doc:`fedora`.  The Fedora spec files are used for RHEL
-7.x.
-
-.. _rhel-prerequisites:
-
-Prerequisites
--------------
-
-You may build from an Open vSwitch distribution tarball or from an Open vSwitch
-Git tree.
-
-The default RPM build directory, ``_topdir``, has five directories in the
-top-level.
-
-BUILD/
-  where the software is unpacked and built
-RPMS/
-  where the newly created binary package files are written
-SOURCES/
-  contains the original sources, patches, and icon files
-SPECS/
-  contains the spec files for each package to be built
-SRPMS/
-  where the newly created source package files are written
-
-Before you begin, note the RPM sources directory on your version of RHEL.  The
-command ``rpmbuild --showrc`` will show the configuration for each of those
-directories. Alternatively, the command ``rpm --eval '%{_topdir}'`` shows the
-current configuration for the top level directory and the command ``rpm --eval
-'%{_sourcedir}'`` does the same for the sources directory. On RHEL 5, the
-default RPM ``_topdir`` is ``/usr/src/redhat`` and the default RPM sources
-directory is ``/usr/src/redhat/SOURCES``. On RHEL 6, the default ``_topdir`` is
-``$HOME/rpmbuild`` and the default RPM sources directory is
-``$HOME/rpmbuild/SOURCES``.
-
-Build Requirements
-------------------
-
-You will need to install all required packages to build the RPMs.
-The command below will install RPM tools and generic build dependencies::
-
-    $ yum install @'Development Tools' rpm-build yum-utils
-
-Then it is necessary to install Open vSwitch specific build dependencies.
-The dependencies are listed in the SPEC file, but first it is necessary
-to replace the VERSION tag to be a valid SPEC.
-
-The command below will create a temporary SPEC file::
-
-    $ sed -e 's/@VERSION@/0.0.1/' rhel/openvswitch.spec.in > /tmp/ovs.spec
-
-And to install specific dependencies, use yum-builddep tool::
-
-    $ yum-builddep /tmp/ovs.spec
-
-Once that is completed, remove the file ``/tmp/ovs.spec``.
-
-If python-sphinx package is not available in your version of RHEL, you can
-install it via pip with 'pip install sphinx'.
-
-Open vSwitch requires python 2.7 or newer which is not available in older
-distributions. In the case of RHEL 6.x and its derivatives, one option is
-to install python34 and python34-six from `EPEL`_.
-
-.. _EPEL: https://fedoraproject.org/wiki/EPEL
-
-.. _rhel-bootstrapping:
-
-Bootstrapping and Configuring
------------------------------
-
-If you are building from a distribution tarball, skip to :ref:`rhel-building`.
-If not, you must be building from an Open vSwitch Git tree.  Determine what
-version of Autoconf is installed (e.g. run ``autoconf --version``).  If it is
-not at least version 2.63, then you must upgrade or use another machine to
-build the packages.
-
-Assuming all requirements have been met, build the tarball by running::
-
-    $ ./boot.sh
-    $ ./configure
-    $ make dist
-
-You must run this on a machine that has the tools listed in
-:ref:`general-build-reqs` as prerequisites for building from a Git tree.
-Afterward, proceed with the rest of the instructions using the distribution
-tarball.
-
-Now you have a distribution tarball, named something like
-``openvswitch-x.y.z.tar.gz``.  Copy this file into the RPM sources directory,
-e.g.::
-
-    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
-
-Broken ``build`` symlink
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Some versions of the RHEL 6 kernel-devel package contain a broken ``build``
-symlink.  If you are using such a version, you must fix the problem before
-continuing.
-
-To find out whether you are affected, run::
-
-    $ cd /lib/modules/<version>
-    $ ls -l build/
-
-where ``<version>`` is the version number of the RHEL 6 kernel.
-
-.. note::
-  The trailing slash in the final command is important.  Be sure to include
-  it.
-
-If the ``ls`` command produces a directory listing, your kernel-devel package
-is OK.  If it produces a ``No such file or directory`` error, your kernel-devel
-package is buggy.
-
-If your kernel-devel package is buggy, then you can fix it with::
-
-    $ cd /lib/modules/<version>
-    $ rm build
-    $ ln -s /usr/src/kernels/<target> build
-
-where ``<target>`` is the name of an existing directory under
-``/usr/src/kernels``, whose name should be similar to ``<version>`` but may
-contain some extra parts.  Once you have done this, verify the fix with the
-same procedure you used above to check for the problem.
-
-.. _rhel-building:
-
-Building
---------
-
-You should have a distribution tarball named something like
-openvswitch-x.y.z.tar.gz.  Copy this file into the RPM sources directory::
-
-    $ cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES
-
-Make another copy of the distribution tarball in a temporary directory.  Then
-unpack the tarball and ``cd`` into its root::
-
-    $ tar xzf openvswitch-x.y.z.tar.gz
-    $ cd openvswitch-x.y.z
-
-Userspace
-~~~~~~~~~
-
-To build Open vSwitch userspace, run::
-
-    $ rpmbuild -bb rhel/openvswitch.spec
-
-This produces two RPMs: "openvswitch" and "openvswitch-debuginfo".
-
-The above command automatically runs the Open vSwitch unit tests.  To disable
-the unit tests, run::
-
-    $ rpmbuild -bb --without check rhel/openvswitch.spec
-
-.. note::
-   If the build fails with ``configure: error: source dir
-   /lib/modules/2.6.32-279.el6.x86_64/build doesn't exist`` or similar, then
-   the kernel-devel package is missing or buggy.
-
-Kernel Module
-~~~~~~~~~~~~~
-
-On RHEL 6, to build the Open vSwitch kernel module, copy
-rhel/openvswitch-kmod.files into the RPM sources directory and run::
-
-    $ rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec
-
-You might have to specify a kernel version and/or variants, e.g.:
-
-    $ rpmbuild -bb \
-        -D "kversion 2.6.32-131.6.1.el6.x86_64" \
-        -D "kflavors default debug kdump" \
-        rhel/openvswitch-kmod-rhel6.spec
-
-This produces an "kmod-openvswitch" RPM for each kernel variant, in this
-example: "kmod-openvswitch", "kmod-openvswitch-debug", and
-"kmod-openvswitch-kdump".
-
-.. _rhel-script-integrations:
-
-Red Hat Network Scripts Integration
------------------------------------
-
-A RHEL host has default firewall rules that prevent any Open vSwitch tunnel
-traffic from passing through. If a user configures Open vSwitch tunnels like
-Geneve, GRE, VXLAN, LISP etc., they will either have to manually add iptables
-firewall rules to allow the tunnel traffic or add it through a startup script
-Refer to the "enable-protocol" command in the ovs-ctl(8) manpage for more
-information.
-
-In addition, simple integration with Red Hat network scripts has been
-implemented.  Refer to `README.RHEL.rst`__ in the source tree or
-/usr/share/doc/openvswitch/README.RHEL.rst in the installed openvswitch package
-for details.
-
-__ https://github.com/openvswitch/ovs/blob/master/rhel/README.RHEL.rst
-
-Reporting Bugs
---------------
-
-Report problems to bugs@openvswitch.org.
diff --git a/rhel/.gitignore b/rhel/.gitignore
index e584a1ed0..0fbcba69f 100644
--- a/rhel/.gitignore
+++ b/rhel/.gitignore
@@ -1,7 +1,4 @@ 
 openvswitch-dkms.spec
-openvswitch-kmod-rhel5.spec
-openvswitch-kmod-rhel6.spec
 openvswitch-kmod-fedora.spec
-openvswitch.spec
 openvswitch-fedora.spec
 usr_lib_systemd_system_ovs-vswitchd.service
diff --git a/rhel/automake.mk b/rhel/automake.mk
index 137ff4a39..e8abc0b65 100644
--- a/rhel/automake.mk
+++ b/rhel/automake.mk
@@ -15,13 +15,8 @@  EXTRA_DIST += \
 	rhel/etc_sysconfig_network-scripts_ifup-ovs \
 	rhel/openvswitch-dkms.spec \
 	rhel/openvswitch-dkms.spec.in \
-	rhel/openvswitch-kmod-rhel6.spec \
-	rhel/openvswitch-kmod-rhel6.spec.in \
-	rhel/openvswitch-kmod.files \
 	rhel/openvswitch-kmod-fedora.spec \
 	rhel/openvswitch-kmod-fedora.spec.in \
-	rhel/openvswitch.spec \
-	rhel/openvswitch.spec.in \
 	rhel/openvswitch-fedora.spec \
 	rhel/openvswitch-fedora.spec.in \
 	rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
@@ -48,15 +43,9 @@  update_rhel_spec = \
 $(srcdir)/rhel/openvswitch-dkms.spec: rhel/openvswitch-dkms.spec.in $(top_builddir)/config.status
 	$(update_rhel_spec)
 
-$(srcdir)/rhel/openvswitch-kmod-rhel6.spec: rhel/openvswitch-kmod-rhel6.spec.in $(top_builddir)/config.status
-	$(update_rhel_spec)
-
 $(srcdir)/rhel/openvswitch-kmod-fedora.spec: rhel/openvswitch-kmod-fedora.spec.in $(top_builddir)/config.status
 	$(update_rhel_spec)
 
-$(srcdir)/rhel/openvswitch.spec: rhel/openvswitch.spec.in $(top_builddir)/config.status
-	$(update_rhel_spec)
-
 $(srcdir)/rhel/openvswitch-fedora.spec: rhel/openvswitch-fedora.spec.in $(top_builddir)/config.status
 	$(update_rhel_spec)
 
diff --git a/rhel/openvswitch-kmod-rhel6.spec.in b/rhel/openvswitch-kmod-rhel6.spec.in
deleted file mode 100644
index 8413b254f..000000000
--- a/rhel/openvswitch-kmod-rhel6.spec.in
+++ /dev/null
@@ -1,78 +0,0 @@ 
-# Spec file for Open vSwitch kernel modules on Red Hat Enterprise
-# Linux 6.
-
-# Copyright (C) 2011, 2012 Nicira, 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.
-
-%define oname openvswitch
-
-Name:           %{oname}-kmod
-Version:        @VERSION@
-Release:        1%{?dist}
-Summary:        Open vSwitch kernel module
-
-Group:          System/Kernel
-License:        GPLv2
-URL:            http://openvswitch.org/
-Source0:        %{oname}-%{version}.tar.gz
-Source1:        %{oname}-kmod.files
-BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
-BuildRequires:  %kernel_module_package_buildreqs
-
-# Without this we get an empty openvswitch-debuginfo package (whose name
-# conflicts with the openvswitch-debuginfo package for OVS userspace).
-%undefine _enable_debug_packages
-
-# Use -D 'kversion 2.6.32-131.6.1.el6.x86_64' to build package
-# for specified kernel version.
-%{?kversion:%define kernel_version %kversion}
-
-# Use -D 'kflavors default debug kdump' to build packages for
-# specified kernel variants.
-%{!?kflavors:%define kflavors default}
-
-%kernel_module_package -n %{oname} -f %{SOURCE1} %kflavors
-
-%description
-Open vSwitch Linux kernel module.
-
-%prep
-
-%setup -n %{oname}-%{version}
-
-%build
-for flavor in %flavors_to_build; do
-	mkdir _$flavor
-	(cd _$flavor && ../configure --with-linux="%{kernel_source $flavor}")
-	%{__make} -C _$flavor/datapath/linux %{?_smp_mflags}
-done
-
-%install
-export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
-export INSTALL_MOD_DIR=extra/%{oname}
-for flavor in %flavors_to_build ; do
-         make -C %{kernel_source $flavor} modules_install \
-                 M="`pwd`"/_$flavor/datapath/linux
-
-         # Cleanup unnecessary kernel-generated module dependency files.
-         find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
-done
-install -d %{buildroot}%{_sysconfdir}/depmod.d/
-for module in %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_DIR/*.ko;
-do
-    modname="$(basename ${module})"
-    echo "override ${modname%.ko} * extra/%{oname}" >> %{oname}.conf
-    echo "override ${modname%.ko} * weak-updates/%{oname}" >> %{oname}.conf
-done
-install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/
-
-%files
-%defattr(644,root,root)
-/etc/depmod.d/%{oname}.conf
-
-%clean
-rm -rf $RPM_BUILD_ROOT
diff --git a/rhel/openvswitch-kmod.files b/rhel/openvswitch-kmod.files
deleted file mode 100644
index 357c2e8b7..000000000
--- a/rhel/openvswitch-kmod.files
+++ /dev/null
@@ -1,3 +0,0 @@ 
-%defattr(644,root,root,755)
-/lib/modules/%2-%1
-/etc/depmod.d/openvswitch.conf
diff --git a/rhel/openvswitch.spec.in b/rhel/openvswitch.spec.in
deleted file mode 100644
index e510d351b..000000000
--- a/rhel/openvswitch.spec.in
+++ /dev/null
@@ -1,267 +0,0 @@ 
-# Spec file for Open vSwitch on Red Hat Enterprise Linux.
-
-# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Nicira, 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/openvswitch.spec
-#
-# Support for executing kernel data path tests under rpmbuild is
-# provided, however this is intended for use only in test environments
-# and should not be used otherwise (these tests require root privileges).
-# These tests can be executed, for example, via:
-#    rpmbuild -rb --with check_datapath_kernel openvswitch.src.rpm
-#
-# These tests will use the currently installed OVS kernel modules, when
-# testing out of tree kernel modules the appropriate openvswitch-kmod
-# package should be installed first.
-
-Name: openvswitch
-Summary: Open vSwitch daemon/database/utilities
-Group: System Environment/Daemons
-URL: http://www.openvswitch.org/
-Vendor: Nicira, Inc.
-Version: @VERSION@
-
-License: ASL 2.0
-Release: 1
-Source: openvswitch-%{version}.tar.gz
-Buildroot: /tmp/openvswitch-rpm
-Requires: logrotate, hostname, python >= 2.7, python-six
-BuildRequires: python-six
-BuildRequires: openssl-devel
-BuildRequires: checkpolicy, selinux-policy-devel
-
-%bcond_without check
-%bcond_with check_datapath_kernel
-
-%description
-Open vSwitch provides standard network bridging functions and
-support for the OpenFlow protocol for remote per-flow control of
-traffic.
-
-%package devel
-Summary:        Open vSwitch development package
-Group:          Development/Libraries
-
-%description devel
-This package provides openvswitch headers and libopenvswitch for developers.
-
-%package selinux-policy
-Summary: Open vSwitch SELinux policy
-License: ASL 2.0
-BuildArch: noarch
-Requires: selinux-policy-targeted
-
-%description selinux-policy
-Tailored Open vSwitch SELinux policy
-
-%prep
-%setup -q
-
-%build
-./configure --prefix=/usr --sysconfdir=/etc --localstatedir=%{_localstatedir} \
-    --libdir=%{_libdir} --enable-ssl --enable-shared
-make %{_smp_mflags}
-make selinux/openvswitch-custom.te
-cd selinux
-make -f %{_datadir}/selinux/devel/Makefile
-
-%install
-rm -rf $RPM_BUILD_ROOT
-make install DESTDIR=$RPM_BUILD_ROOT
-
-rhel_cp() {
- base=$1
- mode=$2
- dst=$RPM_BUILD_ROOT/$(echo $base | sed 's,_,/,g')
- install -D -m $mode rhel/$base $dst
-}
-rhel_cp etc_init.d_openvswitch 0755
-rhel_cp etc_logrotate.d_openvswitch 0644
-rhel_cp etc_sysconfig_network-scripts_ifup-ovs 0755
-rhel_cp etc_sysconfig_network-scripts_ifdown-ovs 0755
-rhel_cp usr_share_openvswitch_scripts_sysconfig.template 0644
-
-install -p -m 644 -D selinux/openvswitch-custom.pp \
-    $RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
-
-# Get rid of stuff we don't want to make RPM happy.
-rm \
-    $RPM_BUILD_ROOT/usr/bin/ovs-testcontroller \
-    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-testcontroller.8 \
-    $RPM_BUILD_ROOT/usr/bin/ovs-test \
-    $RPM_BUILD_ROOT/usr/bin/ovs-l3ping \
-    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-test.8 \
-    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-l3ping.8 \
-    $RPM_BUILD_ROOT/usr/sbin/ovs-vlan-bug-workaround \
-    $RPM_BUILD_ROOT/usr/share/man/man8/ovs-vlan-bug-workaround.8 \
-    $RPM_BUILD_ROOT/usr/bin/ovn-* \
-    $RPM_BUILD_ROOT/usr/share/man/man?/ovn-* \
-    $RPM_BUILD_ROOT/usr/share/openvswitch/ovn-* \
-    $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovn*
-(cd "$RPM_BUILD_ROOT" && rm -rf usr/%{_lib}/*.la)
-(cd "$RPM_BUILD_ROOT" && rm -rf usr/include)
-
-install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/openvswitch
-install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/log/openvswitch
-install -d -m 0755 $RPM_BUILD_ROOT/var/lib/openvswitch
-
-copy_headers() {
-    src=$1
-    dst=$RPM_BUILD_ROOT/$2
-    install -d -m 0755 $dst
-    install -m 0644 $src/*.h $dst
-}
-copy_headers include %{_includedir}/openvswitch
-copy_headers include/openflow %{_includedir}/openvswitch/openflow
-copy_headers include/openvswitch %{_includedir}/openvswitch/openvswitch
-copy_headers include/sparse %{_includedir}/openvswitch/sparse
-copy_headers include/sparse/arpa %{_includedir}/openvswitch/sparse/arpa
-copy_headers include/sparse/netinet %{_includedir}/openvswitch/sparse/netinet
-copy_headers include/sparse/sys %{_includedir}/openvswitch/sparse/sys
-copy_headers lib %{_includedir}/openvswitch/lib
-
-install -D -m 0644 lib/.libs/libopenvswitch.a \
-    $RPM_BUILD_ROOT/%{_libdir}/libopenvswitch.a
-
-%check
-%if %{with check}
-    if make check TESTSUITEFLAGS='%{_smp_mflags}' RECHECK=yes; then :;
-    else
-        cat tests/testsuite.log
-        exit 1
-    fi
-%endif
-%if %{with check_datapath_kernel}
-    if make check-kernel RECHECK=yes; then :;
-    else
-        cat tests/system-kmod-testsuite.log
-        exit 1
-    fi
-%endif
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%post
-# Create default or update existing /etc/sysconfig/openvswitch.
-SYSCONFIG=/etc/sysconfig/openvswitch
-TEMPLATE=/usr/share/openvswitch/scripts/sysconfig.template
-if [ ! -e $SYSCONFIG ]; then
-    cp $TEMPLATE $SYSCONFIG
-else
-    for var in $(awk -F'[ :]' '/^# [_A-Z0-9]+:/{print $2}' $TEMPLATE)
-    do
-        if ! grep $var $SYSCONFIG >/dev/null 2>&1; then
-            echo >> $SYSCONFIG
-            sed -n "/$var:/,/$var=/p" $TEMPLATE >> $SYSCONFIG
-        fi
-    done
-fi
-
-# Ensure all required services are set to run
-/sbin/chkconfig --add openvswitch
-/sbin/chkconfig openvswitch on
-
-%post selinux-policy
-/usr/sbin/semodule -i %{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp &> /dev/null || :
-
-%preun
-if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
-    /sbin/service openvswitch stop
-    /sbin/chkconfig --del openvswitch
-fi
-
-%postun
-if [ "$1" = "0" ]; then     # $1 = 0 for uninstall
-    rm -f /etc/openvswitch/conf.db
-    rm -f /etc/sysconfig/openvswitch
-    rm -f /etc/openvswitch/vswitchd.cacert
-fi
-
-%postun selinux-policy
-if [ $1 -eq 0 ] ; then
-  /usr/sbin/semodule -r openvswitch-custom &> /dev/null || :
-fi
-
-exit 0
-
-%files
-%defattr(-,root,root)
-%dir /etc/openvswitch
-/etc/bash_completion.d/ovs-appctl-bashcomp.bash
-/etc/bash_completion.d/ovs-vsctl-bashcomp.bash
-/etc/init.d/openvswitch
-%config(noreplace) /etc/logrotate.d/openvswitch
-/etc/sysconfig/network-scripts/ifup-ovs
-/etc/sysconfig/network-scripts/ifdown-ovs
-/usr/bin/ovs-appctl
-/usr/bin/ovs-dpctl
-/usr/bin/ovs-dpctl-top
-/usr/bin/ovs-docker
-/usr/bin/ovs-ofctl
-/usr/bin/ovs-parse-backtrace
-/usr/bin/ovs-pcap
-/usr/bin/ovs-pki
-/usr/bin/ovs-tcpdump
-/usr/bin/ovs-tcpundump
-/usr/bin/ovs-vlan-test
-/usr/bin/ovs-vsctl
-/usr/bin/ovsdb-client
-/usr/bin/ovsdb-tool
-/usr/bin/vtep-ctl
-%{_libdir}/lib*.so.*
-/usr/sbin/ovs-bugtool
-/usr/sbin/ovs-vswitchd
-/usr/sbin/ovsdb-server
-/usr/share/man/man1/ovs-pcap.1.gz
-/usr/share/man/man1/ovs-tcpundump.1.gz
-/usr/share/man/man1/ovsdb-client.1.gz
-/usr/share/man/man1/ovsdb-server.1.gz
-/usr/share/man/man1/ovsdb-tool.1.gz
-/usr/share/man/man5/ovs-vswitchd.conf.db.5.gz
-/usr/share/man/man5/vtep.5.gz
-/usr/share/man/man7/ovs-fields.7.gz
-/usr/share/man/man8/ovs-appctl.8.gz
-/usr/share/man/man8/ovs-bugtool.8.gz
-/usr/share/man/man8/ovs-ctl.8.gz
-/usr/share/man/man8/ovs-dpctl.8.gz
-/usr/share/man/man8/ovs-dpctl-top.8.gz
-/usr/share/man/man8/ovs-ofctl.8.gz
-/usr/share/man/man8/ovs-parse-backtrace.8.gz
-/usr/share/man/man8/ovs-pki.8.gz
-/usr/share/man/man8/ovs-tcpdump.8.gz
-/usr/share/man/man8/ovs-vlan-test.8.gz
-/usr/share/man/man8/ovs-vsctl.8.gz
-/usr/share/man/man8/ovs-vswitchd.8.gz
-/usr/share/man/man8/vtep-ctl.8.gz
-/usr/share/openvswitch/bugtool-plugins/
-/usr/share/openvswitch/python/
-/usr/share/openvswitch/scripts/ovs-bugtool-*
-/usr/share/openvswitch/scripts/ovs-check-dead-ifs
-/usr/share/openvswitch/scripts/ovs-ctl
-/usr/share/openvswitch/scripts/ovs-lib
-/usr/share/openvswitch/scripts/ovs-save
-/usr/share/openvswitch/scripts/ovs-vtep
-/usr/share/openvswitch/scripts/sysconfig.template
-/usr/share/openvswitch/vswitch.ovsschema
-/usr/share/openvswitch/vtep.ovsschema
-%doc COPYING NOTICE README.rst NEWS rhel/README.RHEL.rst
-/var/lib/openvswitch
-/var/log/openvswitch
-
-%files devel
-%{_libdir}/lib*.so
-%{_libdir}/lib*.a
-%{_libdir}/pkgconfig
-%{_includedir}/openvswitch/*
-
-%files selinux-policy
-%defattr(-,root,root)
-%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp