Files
scylladb/docs/building-packages.md
Pekka Enberg 7d4bf10d87 docs/building-packages.md: Document how to build Scylla packages
This documents the steps needed to build Scylla's Linux packages with
the relocatable package infrastructure we use today.

Message-Id: <20190807134017.4275-1-penberg@scylladb.com>
2019-08-08 14:11:35 +03:00

2.8 KiB

Building Scylla Packages

This document describes how to build Scylla's packages for supported Linux distributions.

The build system generates relocatable packages, which means that the packages contain all the dependencies they need, and you can, therefore, install and run the same binaries on all Linux distributions. The packages are built using Scylla's dbuild tool, which builds the packages in a Docker containers.

Scylla Server

To build a tarball, which contains the full Scylla server, run (remember to substitute <mode> with, for example, release):

./tools/toolchain/dbuild ./reloc/build_reloc.sh --mode <mode>

This step generates the following tarball:

build/<mode>/scylla-package.tar.gz

You can then generate RPM packages with:

./tools/toolchain/dbuild ./reloc/build_rpm.sh --reloc-pkg build/<mode>/scylla-package.tar.gz

This step generates the following RPM packages:

build/redhat/RPMS/x86_64/scylla-666.development-0.20190807.7d0c99e268.el7.x86_64.rpm
build/redhat/RPMS/x86_64/scylla-server-666.development-0.20190807.7d0c99e268.el7.x86_64.rpm
build/redhat/RPMS/x86_64/scylla-debuginfo-666.development-0.20190807.7d0c99e268.el7.x86_64.rpm
build/redhat/RPMS/x86_64/scylla-conf-666.development-0.20190807.7d0c99e268.el7.x86_64.rpm
build/redhat/RPMS/x86_64/scylla-kernel-conf-666.development-0.20190807.7d0c99e268.el7.x86_64.rpm

You can also generate deb packages with:

./tools/toolchain/dbuild ./reloc/build_deb.sh --reloc-pkg build/debug/scylla-package.tar.gz

This step generates the following deb packages:

build/debian/scylla-server-dbg_666.development-0.20190807.7d0c99e268-1_amd64.deb
build/debian/scylla-conf_666.development-0.20190807.7d0c99e268-1_amd64.deb
build/debian/scylla-kernel-conf_666.development-0.20190807.7d0c99e268-1_amd64.deb
build/debian/scylla-server_666.development-0.20190807.7d0c99e268-1_amd64.deb
build/debian/scylla_666.development-0.20190807.7d0c99e268-1_amd64.deb

Python interpreter

To build a tarball, which contains a portable Python interpreter, run:

./tools/toolchain/dbuild ./reloc/python3/build_reloc.sh

This step generates the following tarball:

build/release/scylla-python3-package.tar.gz

You can then generate a RPM package:

./tools/toolchain/dbuild ./reloc/python3/build_rpm.sh                       

This step generates the following RPM package:

build/redhat/RPMS/x86_64/scylla-python3-3.7.2-0.20190807.689fc72bab.el7.x86_64.rpm

You can also generate a deb package with:

./tools/toolchain/dbuild ./reloc/python3/build_deb.sh                       

This step generates the following deb package:

build/debian/scylla-python3_3.7.2-0.20190807.689fc72bab-1_amd64.deb