xref: /spdk/doc/rpm.md (revision 47c4304d83bea9b122aa659aede1407492bd8564)
1# RPMs {#rpms}
2
3# In this document {#rpms_toc}
4
5* @ref building_rpms
6
7# Building SPDK RPMs {#building_rpms}
8
9To build basic set of RPM packages out of the SPDK repo simply run:
10
11~~~{.sh}
12# rpmbuild/rpm.sh
13~~~
14
15Additional configuration options can be passed directly as arguments:
16
17~~~{.sh}
18# rpmbuild/rpm.sh --with-shared --with-dpdk=/path/to/dpdk/build
19~~~
20
21There are several options that may be passed via environment as well:
22
23- DEPS          - Install all needed dependencies for building RPM packages.
24                Default: "yes"
25- MAKEFLAGS     - Flags passed to make
26- RPM_RELEASE   - Target release version of the RPM packages. Default: 1
27- REQUIREMENTS  - Extra set of RPM dependencies if deemed as needed
28- SPDK_VERSION  - SPDK version. Default: currently checked out tag
29
30~~~{.sh}
31# DEPS=no MAKEFLAGS="-d -j1" rpmbuild/rpm.sh --with-shared
32~~~
33
34By default, all RPM packages should be created under $HOME directory of the
35target user:
36
37~~~{.sh}
38# printf '%s\n' /root/rpmbuild/RPMS/x86_64/*
39/root/rpmbuild/RPMS/x86_64/spdk-devel-v21.01-1.x86_64.rpm
40/root/rpmbuild/RPMS/x86_64/spdk-dpdk-libs-v21.01-1.x86_64.rpm
41/root/rpmbuild/RPMS/x86_64/spdk-libs-v21.01-1.x86_64.rpm
42/root/rpmbuild/RPMS/x86_64/spdk-v21.01-1.x86_64.rpm
43#
44~~~
45
46- spdk            - provides all the binaries, common tooling, etc.
47- spdk-devel      - provides development files
48- spdk-libs       - provides target lib, .pc files (--with-shared)
49- spdk-dpdk-libs  - provides dpdk lib files (--with-shared|--with-dpdk)
50