buildscripts/mongo_gpg_builds/README.md
This directory contains a script to produce portable gpg binaries for all our supported linux platforms:
manylinux2014 glibc 2.17 baseline): x86_64, aarch64, s390x, ppc64leIn particular, it builds gnupg-2.5.16 from source.
This script is used to generate the binaries that we use bring into bazel as a dependency to sign test extensions.
All artifacts are placed in the dist/ directory.
| Script | Platform | Output |
|---|---|---|
build_gpg_manylinux.sh | Linux (x86_64, aarch64, s390x, ppc64le) | dist/gpg-manylinux-<arch> |
Requirements: Docker.
To cross-build using QEMU (for aarch64/s390x/ppc64le), enable binfmt once:
docker run --privileged --rm tonistiigi/binfmt --install all
./build_gpg_manylinux.sh
ARCH=x86_64 PLATFORM=linux/amd64 ./build_gpg_manylinux.sh
ARCH=aarch64 PLATFORM=linux/arm64 ./build_gpg_manylinux.sh
ARCH=s390x PLATFORM=linux/s390x ./build_gpg_manylinux.sh
ARCH=ppc64le PLATFORM=linux/ppc64le ./build_gpg_manylinux.sh
| Variable | Purpose | Default |
|---|---|---|
OUT_DIR | Output directory | ./dist |
ARCH | Linux target arch | uname -m |
PLATFORM | Docker platform | auto |
These scripts build gpg and its required dependencies from sources originally obtained from: š https://www.gnupg.org/ftp/gcrypt/gnupg/ and https://gnupg.org/download/index.html
The exact sources can be obtained at the following URLs: