2 General Requirements

This chapter describes the required steps for building both modular and standard source packages. Preparing a system as a build server requires that you enable developer repositories which contain unsupported software. You must ensure that your system is current with the latest updates and you must install the required build packages and dependencies .

If you are building modular packages, several additional setup steps are required. For instance you are also required to either host source content yourself either on a remote Git service or locally within your own Git repositories. Modular package repositories must be populated with source code and the Module Build Service must be configured appropriately. Furthermore, you must configure the Module Build Service and related tools so that modular RPMs can be generated. Information on this is provided in more detail in Building Modules.

Enable Required Developer Repositories

Important:

Enabling the following repositories can result in a system running unsupported packages. A system that is used for the purpose of building modular RPM packages from source is, by nature, an unsupported system. If you proceed with these instructions, use a dedicated system for which you do not intend to obtain direct support from Oracle.

Many of the development tools, libraries and dependencies required to build the source available for Oracle Linux 8 are hosted in unsupported developer repositories. Before proceeding make sure that your system is up to date so that you have the most recent version of any of the release packages installed:

sudo dnf update

Install the oracle-epel-release-el8 package if it is not already installed and enable all of the required developer repositories:

sudo dnf install oracle-epel-release-el8
sudo dnf config-manager --enable ol8_codeready_builder
sudo dnf config-manager --enable ol8_developer_EPEL
sudo dnf config-manager --enable ol8_distro_builder

Install Packaging Tools and the Module Build Service

Install the tools and utilities required to build a RPM binaries from a source tar files and a SPEC file, along with MBS:

sudo dnf install -y rpm-build yum-utils mock module-build-service oracle-mbs-tools

You may need to install some additional dependencies before you are able to start building all of your source packages and to meet any of your own build requirements. Typically, build teams additionally install the following:

sudo dnf install -y gcc python3-service-identity

Optionally, if you use Git Large File Storage (LFS) to store RPM sources, install the git-lfs package:

sudo dnf install git-lfs