Files

To Build Your Own Packages With Docker

Building Debian/Ubuntu Packages

Run ./packaging/build_packages.sh -h and follow the instructions. E.g. to build for Debian 12 and PostgreSQL 16 for 0.102.0~ferretdb~2.0.0~rc.2 version, run:

./packaging/build_packages.sh --os deb12 --pg 16 --version 0.102.0~ferretdb~2.0.0~rc.2

Building RPM Packages

For Red Hat-based distributions, you can build RPM packages:

./packaging/build_packages.sh --os rhel8 --pg 17

Supported RPM distributions:

  • rhel8 (Red Hat Enterprise Linux 8 compatible)
  • rhel9 (Red Hat Enterprise Linux 9 compatible)

Supported PG versions: 16, 17

RPM Build Prerequisites

[Optional] Before building RPM packages, you can validate your environment:

./packaging/validate_rpm_build.sh

This script checks:

  • Docker installation and availability
  • Network connectivity for package repositories
  • Access to required base images

Example RPM Build Commands

# Build for RHEL 9 with PostgreSQL 16
./packaging/build_packages.sh --os rhel9 --pg 16

# Build with testing enabled
./packaging/build_packages.sh --os rhel8 --pg 17 --test-clean-install

Output

Packages can be found at the packages directory by default, but it can be configured with the --output-dir option.

Note: The packages do not include pg_documentdb_distributed in the internal directory.