Laszlo Kiraly 987318e0d1 build: Cleanup python2 from suse build and uplift opensuse version
- default to opensuse-leap 15.4, no python2 support in this version
 - deprecate version openSUSE 15.0, openSUSE 15.3 still supported

Type: make

Signed-off-by: Laszlo Kiraly <laszlo.kiraly@est.tech>
Change-Id: Ic7178ff5238e2669bc45166c1f13d3f077f6069b
Signed-off-by: Laszlo Kiraly <laszlo.kiraly@est.tech>
2022-09-07 13:04:14 +00:00
..

Build RPM for openSUSE

Introduction

This is to describe how to compile and create installable RPM packages for openSUSE leap. In general you should visit [Pulling, Building, Running, Hacking, Pushing](https://wiki.fd.io/view/VPP/Pulling,_Building,_Run ning,_Hacking_and_Pushing_VPP_Code) which provides full description for other type of system (Ubuntu,Centos or Redhat).

Get the VPP Sources

To get the VPP sources that are used to create the build, run the following commands:

# git clone https://gerrit.fd.io/r/vpp
# cd vpp

There are two ways to continue:

  • Build by docker
  • Build on your own openSUSE system

Build by Docker

Run the following docker command:

docker build -f extras/rpm/opensuse/Dockerfile .

The packages now can be copied from the docker image and can be installed on openSUSE. An example how to extend the Dockerfile to install vpp:

'''dockerfile FROM opensuse/leap:${SUSE_VERSION} as vppinstall COPY --from=vppbuild /vpp/build-root/rpm /rpms/ RUN VPP_INSTALL_SKIP_SYSCTL=false zypper install --allow-unsigned-rpm -y --no-recommends /rpms/.rpm;
... '''

Build on openSUSE

Build VPP Dependencies

Before building a VPP image, make sure there are no FD.io VPP or DPDK packages installed, by entering the following commands:

# rpm -ql vpp
package vpp is not installed
# rpm -ql dpdk
package dpdk is not installed

Run the following make command to install the dependencies for FD.io VPP.

make install-dep

Run the following make command to install the external dependencies for FD.io VPP.

ln -s /usr/bin/cmake /usr/bin/cmake3 # some thirdparty checking for cmake3 binary
make install-ext-dep

Build RPM Packages

Create packages for openSUSE by running:

make pkg-rpm

Once the packages are built they can be found in the build-root directory.

# ls *.rpm

If the packages are built correctly, then this should be the corresponding output:

build-root/libvpp0-21.10-rc0~200_gb89ae9670.x86_64.rpm	    build-root/vpp-api-python-21.10-rc0~200_gb89ae9670.x86_64.rpm
build-root/vpp-21.10-rc0~200_gb89ae9670.x86_64.rpm	    build-root/vpp-devel-21.10-rc0~200_gb89ae9670.x86_64.rpm
build-root/vpp-api-lua-21.10-rc0~200_gb89ae9670.x86_64.rpm  build-root/vpp-plugins-21.10-rc0~200_gb89ae9670.x86_64.rpm