Added missing deps Removed Thumbleweed support Changed python2 to python3 Added Dockerfile for suse-leap build Type: make Change-Id: Ie73d2382a73ebc9d4475ace1a8f818fe38cf40c0 Signed-off-by: Laszlo Kiraly <laszlo.kiraly@est.tech>
2.3 KiB
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