summaryrefslogtreecommitdiffstats
path: root/extras/rpm/opensuse/README.md
blob: 6f3cadfc70e1fa8981f8ece1aa47d661c28fe26c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# 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:

```bash
# 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:

```bash
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:

```bash
# 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.

```bash
make install-dep
```

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

```bash
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:

```bash
make pkg-rpm
```

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

```bash
# ls *.rpm
```

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

```bash
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
```