diff mbox series

[ovs-dev] RPM: Improve doc to use builddep tool.

Message ID 20171114222355.20627-1-fbl@sysclose.org
State Accepted
Headers show
Series [ovs-dev] RPM: Improve doc to use builddep tool. | expand

Commit Message

Flavio Leitner Nov. 14, 2017, 10:23 p.m. UTC
Instead of listing all the dependencies, use the RPM group
'Development Tools' and the builddep tool to find specific
ones.

Signed-off-by: Flavio Leitner <fbl@sysclose.org>
---
 Documentation/intro/install/fedora.rst | 54 +++++++++++++++++++++++-----------
 Documentation/intro/install/rhel.rst   | 34 +++++++++++++++------
 2 files changed, 62 insertions(+), 26 deletions(-)

Comments

Aaron Conole Nov. 15, 2017, 7:20 a.m. UTC | #1
Flavio Leitner <fbl@sysclose.org> writes:

> Instead of listing all the dependencies, use the RPM group
> 'Development Tools' and the builddep tool to find specific
> ones.
>
> Signed-off-by: Flavio Leitner <fbl@sysclose.org>
> ---
>  Documentation/intro/install/fedora.rst | 54 +++++++++++++++++++++++-----------
>  Documentation/intro/install/rhel.rst   | 34 +++++++++++++++------
>  2 files changed, 62 insertions(+), 26 deletions(-)
>
> diff --git a/Documentation/intro/install/fedora.rst
> b/Documentation/intro/install/fedora.rst
> index 3119bd9aa..70cebfb16 100644
> --- a/Documentation/intro/install/fedora.rst
> +++ b/Documentation/intro/install/fedora.rst
> @@ -36,23 +36,43 @@ RHEL 7.x and its derivatives, including CentOS 7.x
> and Scientific Linux 7.x.
>  Build Requirements
>  ------------------
>  
> -To build packages for a Fedora Linux host, you will need the packages described
> -in the :doc:`general`. Specific packages (by package name) include:
> -
> -- rpm-build
> -- autoconf automake libtool
> -- systemd-units openssl openssl-devel
> -- python2-devel python3-devel
> -- python2 python2-twisted python2-zope-interface python2-six python2-sphinx
> -- desktop-file-utils
> -- groff graphviz
> -- procps-ng
> -- checkpolicy selinux-policy-devel
> -
> -And (optionally):
> -
> -- libcap-ng libcap-ng-devel
> -- dpdk-devel
> +You will need to install all required packages to build the RPMs.
> +Newer distributions use ``dnf`` but if it's not available, then use
> +``yum`` instructions.
> +
> +The command below will install RPM tools and generic build dependencies.
> +And (optionally) include these packages: libcap-ng libcap-ng-devel dpdk-devel.
> +
> +DNF:
> +::
> +
> +    $ dnf install @'Development Tools' rpm-build dnf-plugins-core
> +
> +YUM:
> +::
> +
> +    $ 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-fedora.spec.in \
> +      > /tmp/ovs.spec
> +
> +And to install specific dependencies, use the corresponding tool below.

Is there any reason we can't `make rhel/openvswitch-fedora.spec` for
this?  I think ./boot && ./configure would work with Development Tools
installed, and then the only thing left is let the make system create
just that file?

> +DNF:
> +::
> +    $ dnf builddep /tmp/ovs.spec
> +
> +YUM:
> +::
> +    $ yum-builddep /tmp/ovs.spec
> +
> +Once that is completed, remove the file ``/tmp/ovs.spec``.
>  
>  Bootstraping
>  ------------
> diff --git a/Documentation/intro/install/rhel.rst
> b/Documentation/intro/install/rhel.rst
> index 0ef6f55a3..184089e89 100644
> --- a/Documentation/intro/install/rhel.rst
> +++ b/Documentation/intro/install/rhel.rst
> @@ -70,17 +70,33 @@ directory is ``/usr/src/redhat/SOURCES``. On RHEL
> 6, the default ``_topdir`` is
>  Build Requirements
>  ------------------
>  
> -To compile the RPMs, you will need to install the packages described in the
> -:doc:`general` along with some additional packages. These can be installed with
> -the below command::
> +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
>  
> -    $ yum install gcc make python-devel openssl-devel kernel-devel graphviz \
> -        kernel-debug-devel autoconf automake rpm-build redhat-rpm-config \
> -        libtool checkpolicy selinux-policy-devel python-sphinx
> +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.
>  
> -.. note::
> -  If python-sphinx package is not available in your version of RHEL, you can
> -  install it via pip with 'pip install sphinx'.
> +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:
Flavio Leitner Nov. 15, 2017, 11:17 a.m. UTC | #2
On Wed, 15 Nov 2017 02:20:16 -0500
Aaron Conole <aconole@redhat.com> wrote:

> Flavio Leitner <fbl@sysclose.org> writes:
> 
> > Instead of listing all the dependencies, use the RPM group
> > 'Development Tools' and the builddep tool to find specific
> > ones.
> >
> > Signed-off-by: Flavio Leitner <fbl@sysclose.org>
> > ---
> >  Documentation/intro/install/fedora.rst | 54 +++++++++++++++++++++++-----------
> >  Documentation/intro/install/rhel.rst   | 34 +++++++++++++++------
> >  2 files changed, 62 insertions(+), 26 deletions(-)
> >
> > diff --git a/Documentation/intro/install/fedora.rst
> > b/Documentation/intro/install/fedora.rst
> > index 3119bd9aa..70cebfb16 100644
> > --- a/Documentation/intro/install/fedora.rst
> > +++ b/Documentation/intro/install/fedora.rst
> > @@ -36,23 +36,43 @@ RHEL 7.x and its derivatives, including CentOS 7.x
> > and Scientific Linux 7.x.
> >  Build Requirements
> >  ------------------
> >  
> > -To build packages for a Fedora Linux host, you will need the packages described
> > -in the :doc:`general`. Specific packages (by package name) include:
> > -
> > -- rpm-build
> > -- autoconf automake libtool
> > -- systemd-units openssl openssl-devel
> > -- python2-devel python3-devel
> > -- python2 python2-twisted python2-zope-interface python2-six python2-sphinx
> > -- desktop-file-utils
> > -- groff graphviz
> > -- procps-ng
> > -- checkpolicy selinux-policy-devel
> > -
> > -And (optionally):
> > -
> > -- libcap-ng libcap-ng-devel
> > -- dpdk-devel
> > +You will need to install all required packages to build the RPMs.
> > +Newer distributions use ``dnf`` but if it's not available, then use
> > +``yum`` instructions.
> > +
> > +The command below will install RPM tools and generic build dependencies.
> > +And (optionally) include these packages: libcap-ng libcap-ng-devel dpdk-devel.
> > +
> > +DNF:
> > +::
> > +
> > +    $ dnf install @'Development Tools' rpm-build dnf-plugins-core
> > +
> > +YUM:
> > +::
> > +
> > +    $ 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-fedora.spec.in \
> > +      > /tmp/ovs.spec
> > +
> > +And to install specific dependencies, use the corresponding tool below.  
> 
> Is there any reason we can't `make rhel/openvswitch-fedora.spec` for
> this?  I think ./boot && ./configure would work with Development Tools
> installed, and then the only thing left is let the make system create
> just that file?

It doesn't work due to missing dependencies, like libssl-devel.

I thought about having the minimum set of dependencies listed
in the documentation and then do:
$ ./boot
$ ./configure
$ make rpm

which would prep the spec and run builddep and then run rpmbuild,
but then we are back to maintain the list of packages in the doc
and it is not that different from the steps in this patch and it
requires root.

And the other option is to provide a rhel/ script to do what this
patch is explaining to do, but obviously it would require root too.

fbl
 
> > +DNF:
> > +::
> > +    $ dnf builddep /tmp/ovs.spec
> > +
> > +YUM:
> > +::
> > +    $ yum-builddep /tmp/ovs.spec
> > +
> > +Once that is completed, remove the file ``/tmp/ovs.spec``.
> >  
> >  Bootstraping
> >  ------------
> > diff --git a/Documentation/intro/install/rhel.rst
> > b/Documentation/intro/install/rhel.rst
> > index 0ef6f55a3..184089e89 100644
> > --- a/Documentation/intro/install/rhel.rst
> > +++ b/Documentation/intro/install/rhel.rst
> > @@ -70,17 +70,33 @@ directory is ``/usr/src/redhat/SOURCES``. On RHEL
> > 6, the default ``_topdir`` is
> >  Build Requirements
> >  ------------------
> >  
> > -To compile the RPMs, you will need to install the packages described in the
> > -:doc:`general` along with some additional packages. These can be installed with
> > -the below command::
> > +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
> >  
> > -    $ yum install gcc make python-devel openssl-devel kernel-devel graphviz \
> > -        kernel-debug-devel autoconf automake rpm-build redhat-rpm-config \
> > -        libtool checkpolicy selinux-policy-devel python-sphinx
> > +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.
> >  
> > -.. note::
> > -  If python-sphinx package is not available in your version of RHEL, you can
> > -  install it via pip with 'pip install sphinx'.
> > +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:
Aaron Conole Nov. 15, 2017, 4:17 p.m. UTC | #3
Flavio Leitner <fbl@sysclose.org> writes:

> On Wed, 15 Nov 2017 02:20:16 -0500
> Aaron Conole <aconole@redhat.com> wrote:
>
>> Flavio Leitner <fbl@sysclose.org> writes:
>> 
>> > Instead of listing all the dependencies, use the RPM group
>> > 'Development Tools' and the builddep tool to find specific
>> > ones.
>> >
>> > Signed-off-by: Flavio Leitner <fbl@sysclose.org>
>> > ---
>> >  Documentation/intro/install/fedora.rst | 54
>> > +++++++++++++++++++++++-----------
>> >  Documentation/intro/install/rhel.rst   | 34 +++++++++++++++------
>> >  2 files changed, 62 insertions(+), 26 deletions(-)
>> >
>> > diff --git a/Documentation/intro/install/fedora.rst
>> > b/Documentation/intro/install/fedora.rst
>> > index 3119bd9aa..70cebfb16 100644
>> > --- a/Documentation/intro/install/fedora.rst
>> > +++ b/Documentation/intro/install/fedora.rst
>> > @@ -36,23 +36,43 @@ RHEL 7.x and its derivatives, including CentOS 7.x
>> > and Scientific Linux 7.x.
>> >  Build Requirements
>> >  ------------------
>> >  
>> > -To build packages for a Fedora Linux host, you will need the
>> > packages described
>> > -in the :doc:`general`. Specific packages (by package name) include:
>> > -
>> > -- rpm-build
>> > -- autoconf automake libtool
>> > -- systemd-units openssl openssl-devel
>> > -- python2-devel python3-devel
>> > -- python2 python2-twisted python2-zope-interface python2-six python2-sphinx
>> > -- desktop-file-utils
>> > -- groff graphviz
>> > -- procps-ng
>> > -- checkpolicy selinux-policy-devel
>> > -
>> > -And (optionally):
>> > -
>> > -- libcap-ng libcap-ng-devel
>> > -- dpdk-devel
>> > +You will need to install all required packages to build the RPMs.
>> > +Newer distributions use ``dnf`` but if it's not available, then use
>> > +``yum`` instructions.
>> > +
>> > +The command below will install RPM tools and generic build dependencies.
>> > +And (optionally) include these packages: libcap-ng
>> > libcap-ng-devel dpdk-devel.
>> > +
>> > +DNF:
>> > +::
>> > +
>> > +    $ dnf install @'Development Tools' rpm-build dnf-plugins-core
>> > +
>> > +YUM:
>> > +::
>> > +
>> > +    $ 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-fedora.spec.in \
>> > +      > /tmp/ovs.spec
>> > +
>> > +And to install specific dependencies, use the corresponding tool below.  
>> 
>> Is there any reason we can't `make rhel/openvswitch-fedora.spec` for
>> this?  I think ./boot && ./configure would work with Development Tools
>> installed, and then the only thing left is let the make system create
>> just that file?
>
> It doesn't work due to missing dependencies, like libssl-devel.
>
> I thought about having the minimum set of dependencies listed
> in the documentation and then do:
> $ ./boot
> $ ./configure
> $ make rpm
>
> which would prep the spec and run builddep and then run rpmbuild,
> but then we are back to maintain the list of packages in the doc
> and it is not that different from the steps in this patch and it
> requires root.
>
> And the other option is to provide a rhel/ script to do what this
> patch is explaining to do, but obviously it would require root too.

Right.  Well, I'm okay with either approach: the tmp file as documented
or a script.  If you decide to change it, no problems.  Otherwise:

Acked-by: Aaron Conole <aconole@redhat.com>

> fbl
>  
>> > +DNF:
>> > +::
>> > +    $ dnf builddep /tmp/ovs.spec
>> > +
>> > +YUM:
>> > +::
>> > +    $ yum-builddep /tmp/ovs.spec
>> > +
>> > +Once that is completed, remove the file ``/tmp/ovs.spec``.
>> >  
>> >  Bootstraping
>> >  ------------
>> > diff --git a/Documentation/intro/install/rhel.rst
>> > b/Documentation/intro/install/rhel.rst
>> > index 0ef6f55a3..184089e89 100644
>> > --- a/Documentation/intro/install/rhel.rst
>> > +++ b/Documentation/intro/install/rhel.rst
>> > @@ -70,17 +70,33 @@ directory is ``/usr/src/redhat/SOURCES``. On RHEL
>> > 6, the default ``_topdir`` is
>> >  Build Requirements
>> >  ------------------
>> >  
>> > -To compile the RPMs, you will need to install the packages described in the
>> > -:doc:`general` along with some additional packages. These can be
>> > installed with
>> > -the below command::
>> > +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
>> >  
>> > - $ yum install gcc make python-devel openssl-devel kernel-devel
>> > graphviz \
>> > -        kernel-debug-devel autoconf automake rpm-build redhat-rpm-config \
>> > -        libtool checkpolicy selinux-policy-devel python-sphinx
>> > +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.
>> >  
>> > -.. note::
>> > - If python-sphinx package is not available in your version of
>> > RHEL, you can
>> > -  install it via pip with 'pip install sphinx'.
>> > +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:
Flavio Leitner Nov. 15, 2017, 9:02 p.m. UTC | #4
On Wed, 15 Nov 2017 11:17:42 -0500
Aaron Conole <aconole@redhat.com> wrote:

> Flavio Leitner <fbl@sysclose.org> writes:
> 
> > On Wed, 15 Nov 2017 02:20:16 -0500
> > Aaron Conole <aconole@redhat.com> wrote:
> >  
> >> Flavio Leitner <fbl@sysclose.org> writes:
> >>   
> >> > Instead of listing all the dependencies, use the RPM group
> >> > 'Development Tools' and the builddep tool to find specific
> >> > ones.
> >> >
> >> > Signed-off-by: Flavio Leitner <fbl@sysclose.org>
> >> > ---
> >> >  Documentation/intro/install/fedora.rst | 54
> >> > +++++++++++++++++++++++-----------
> >> >  Documentation/intro/install/rhel.rst   | 34 +++++++++++++++------
> >> >  2 files changed, 62 insertions(+), 26 deletions(-)
> >> >
> >> > diff --git a/Documentation/intro/install/fedora.rst
> >> > b/Documentation/intro/install/fedora.rst
> >> > index 3119bd9aa..70cebfb16 100644
> >> > --- a/Documentation/intro/install/fedora.rst
> >> > +++ b/Documentation/intro/install/fedora.rst
> >> > @@ -36,23 +36,43 @@ RHEL 7.x and its derivatives, including CentOS 7.x
> >> > and Scientific Linux 7.x.
> >> >  Build Requirements
> >> >  ------------------
> >> >  
> >> > -To build packages for a Fedora Linux host, you will need the
> >> > packages described
> >> > -in the :doc:`general`. Specific packages (by package name) include:
> >> > -
> >> > -- rpm-build
> >> > -- autoconf automake libtool
> >> > -- systemd-units openssl openssl-devel
> >> > -- python2-devel python3-devel
> >> > -- python2 python2-twisted python2-zope-interface python2-six python2-sphinx
> >> > -- desktop-file-utils
> >> > -- groff graphviz
> >> > -- procps-ng
> >> > -- checkpolicy selinux-policy-devel
> >> > -
> >> > -And (optionally):
> >> > -
> >> > -- libcap-ng libcap-ng-devel
> >> > -- dpdk-devel
> >> > +You will need to install all required packages to build the RPMs.
> >> > +Newer distributions use ``dnf`` but if it's not available, then use
> >> > +``yum`` instructions.
> >> > +
> >> > +The command below will install RPM tools and generic build dependencies.
> >> > +And (optionally) include these packages: libcap-ng
> >> > libcap-ng-devel dpdk-devel.
> >> > +
> >> > +DNF:
> >> > +::
> >> > +
> >> > +    $ dnf install @'Development Tools' rpm-build dnf-plugins-core
> >> > +
> >> > +YUM:
> >> > +::
> >> > +
> >> > +    $ 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-fedora.spec.in \
> >> > +      > /tmp/ovs.spec
> >> > +
> >> > +And to install specific dependencies, use the corresponding tool below.    
> >> 
> >> Is there any reason we can't `make rhel/openvswitch-fedora.spec` for
> >> this?  I think ./boot && ./configure would work with Development Tools
> >> installed, and then the only thing left is let the make system create
> >> just that file?  
> >
> > It doesn't work due to missing dependencies, like libssl-devel.
> >
> > I thought about having the minimum set of dependencies listed
> > in the documentation and then do:
> > $ ./boot
> > $ ./configure
> > $ make rpm
> >
> > which would prep the spec and run builddep and then run rpmbuild,
> > but then we are back to maintain the list of packages in the doc
> > and it is not that different from the steps in this patch and it
> > requires root.
> >
> > And the other option is to provide a rhel/ script to do what this
> > patch is explaining to do, but obviously it would require root too.  
> 
> Right.  Well, I'm okay with either approach: the tmp file as documented
> or a script.  If you decide to change it, no problems.  Otherwise:
> 
> Acked-by: Aaron Conole <aconole@redhat.com>

I will leave as is.
Thanks for reviewing it!
fbl

> 
> > fbl
> >    
> >> > +DNF:
> >> > +::
> >> > +    $ dnf builddep /tmp/ovs.spec
> >> > +
> >> > +YUM:
> >> > +::
> >> > +    $ yum-builddep /tmp/ovs.spec
> >> > +
> >> > +Once that is completed, remove the file ``/tmp/ovs.spec``.
> >> >  
> >> >  Bootstraping
> >> >  ------------
> >> > diff --git a/Documentation/intro/install/rhel.rst
> >> > b/Documentation/intro/install/rhel.rst
> >> > index 0ef6f55a3..184089e89 100644
> >> > --- a/Documentation/intro/install/rhel.rst
> >> > +++ b/Documentation/intro/install/rhel.rst
> >> > @@ -70,17 +70,33 @@ directory is ``/usr/src/redhat/SOURCES``. On RHEL
> >> > 6, the default ``_topdir`` is
> >> >  Build Requirements
> >> >  ------------------
> >> >  
> >> > -To compile the RPMs, you will need to install the packages described in the
> >> > -:doc:`general` along with some additional packages. These can be
> >> > installed with
> >> > -the below command::
> >> > +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
> >> >  
> >> > - $ yum install gcc make python-devel openssl-devel kernel-devel
> >> > graphviz \
> >> > -        kernel-debug-devel autoconf automake rpm-build redhat-rpm-config \
> >> > -        libtool checkpolicy selinux-policy-devel python-sphinx
> >> > +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.
> >> >  
> >> > -.. note::
> >> > - If python-sphinx package is not available in your version of
> >> > RHEL, you can
> >> > -  install it via pip with 'pip install sphinx'.
> >> > +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:
Ben Pfaff Dec. 1, 2017, 7:44 p.m. UTC | #5
On Tue, Nov 14, 2017 at 08:23:55PM -0200, Flavio Leitner wrote:
> Instead of listing all the dependencies, use the RPM group
> 'Development Tools' and the builddep tool to find specific
> ones.
> 
> Signed-off-by: Flavio Leitner <fbl@sysclose.org>

I applied this to master.  Thank you!
diff mbox series

Patch

diff --git a/Documentation/intro/install/fedora.rst b/Documentation/intro/install/fedora.rst
index 3119bd9aa..70cebfb16 100644
--- a/Documentation/intro/install/fedora.rst
+++ b/Documentation/intro/install/fedora.rst
@@ -36,23 +36,43 @@  RHEL 7.x and its derivatives, including CentOS 7.x and Scientific Linux 7.x.
 Build Requirements
 ------------------
 
-To build packages for a Fedora Linux host, you will need the packages described
-in the :doc:`general`. Specific packages (by package name) include:
-
-- rpm-build
-- autoconf automake libtool
-- systemd-units openssl openssl-devel
-- python2-devel python3-devel
-- python2 python2-twisted python2-zope-interface python2-six python2-sphinx
-- desktop-file-utils
-- groff graphviz
-- procps-ng
-- checkpolicy selinux-policy-devel
-
-And (optionally):
-
-- libcap-ng libcap-ng-devel
-- dpdk-devel
+You will need to install all required packages to build the RPMs.
+Newer distributions use ``dnf`` but if it's not available, then use
+``yum`` instructions.
+
+The command below will install RPM tools and generic build dependencies.
+And (optionally) include these packages: libcap-ng libcap-ng-devel dpdk-devel.
+
+DNF:
+::
+
+    $ dnf install @'Development Tools' rpm-build dnf-plugins-core
+
+YUM:
+::
+
+    $ 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-fedora.spec.in \
+      > /tmp/ovs.spec
+
+And to install specific dependencies, use the corresponding tool below.
+
+DNF:
+::
+    $ dnf builddep /tmp/ovs.spec
+
+YUM:
+::
+    $ yum-builddep /tmp/ovs.spec
+
+Once that is completed, remove the file ``/tmp/ovs.spec``.
 
 Bootstraping
 ------------
diff --git a/Documentation/intro/install/rhel.rst b/Documentation/intro/install/rhel.rst
index 0ef6f55a3..184089e89 100644
--- a/Documentation/intro/install/rhel.rst
+++ b/Documentation/intro/install/rhel.rst
@@ -70,17 +70,33 @@  directory is ``/usr/src/redhat/SOURCES``. On RHEL 6, the default ``_topdir`` is
 Build Requirements
 ------------------
 
-To compile the RPMs, you will need to install the packages described in the
-:doc:`general` along with some additional packages. These can be installed with
-the below command::
+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
 
-    $ yum install gcc make python-devel openssl-devel kernel-devel graphviz \
-        kernel-debug-devel autoconf automake rpm-build redhat-rpm-config \
-        libtool checkpolicy selinux-policy-devel python-sphinx
+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.
 
-.. note::
-  If python-sphinx package is not available in your version of RHEL, you can
-  install it via pip with 'pip install sphinx'.
+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: