Version 5.1.1 is a new minor release; it upgrades Python to 3.11.4.

The xPack Build Box (XBB) is a build environment intended for reproducible builds.

Version 5.1.1 is a new release in the 5.x self-sustained family, which allows to build new binary xPacks using previous xPacks, and does not require any custom Docker images, or other compiled tools.

Tools versions

Starting with version 5.0.0, the main tools are no longer part of the core XBB, but are installed as binary xPacks, so each project can have its own selection of tools from the wide range of available binary xPacks.

Supported platforms

XBB supports building binaries for the following platforms:

  • GNU/Linux Intel 64-bit
  • GNU/Linux Arm 64/32-bit
  • macOS Intel 64-bit
  • Windows Intel 64-bit

Windows binaries are built on GNU/Linux, using mingw-w64-gcc.

Compatibility

To allow the resulting binaries to run on as many existing systems as possible, the XBB build environments are on purpose based on older GNU/Linux and macOS releases:

  • GNU/Linux Intel & Arm: Ubuntu 12.04 with GLIBC 2.27; this should provide compatibility with:
    • Ubuntu 18 or later
    • Debian 10 or later
    • RedHat 8 later
    • Fedora 29 or later
    • any other distributions using GLIBC 2.15 or higher
  • Windows Intel: Windows 7 with the new Universal C Runtime (UCRT)
  • macOS Intel: 10.13; this should provide compatibility with macOS 10.13 or later
  • macOS Apple Silicon 11.6; this should provide compatibility with macOS 11.6 or later

GLIBC version

To find out the GLIBC version on a given GNU/Linux distribution, use:

ldd --version

Linux Docker images

On GNU/Linux, the production XBB consists of several Docker images.

The images are published on Docker Hub (pulling can be done anonymously, pushing requires login).

Intel GNU/Linux:

  • ilegeul/ubuntu:amd64-18.04-xbb-v5.1.1
$ docker images
REPOSITORY            TAG                         IMAGE ID       CREATED         SIZE
ilegeul/ubuntu        amd64-18.04-xbb-v5.1.1      19690b6c1041   3 minutes ago   1.21GB

The images were created on a Debian 10 running on an GIGABYTE B550M DS3H with AMD Ryzen 5 5600G.

Arm GNU/Linux:

  • ilegeul/ubuntu:arm64v8-18.04-xbb-v5.1.1
  • ilegeul/ubuntu:arm32v7-18.04-xbb-v5.1.1
REPOSITORY            TAG                           IMAGE ID       CREATED         SIZE
ilegeul/ubuntu        arm64v8-18.04-xbb-v5.1.1      29d8d82a475d   4 hours ago     1.19GB
ilegeul/ubuntu        arm32v7-18.04-xbb-v5.1.1      6c31512719d1   3 hours ago     892MB

The arm64v8 image was created on a Raspberry Pi4 OS 64-bit running on a RPi4 with 8 GB RAM. The arm32v7 image was created on a Raspberry Pi OS 32-bit with running on a RPi4 with 4 GB RAM.

macOS

When running on macOS, the build scripts cannot use Docker, since there are no macOS Docker images; instead, a standard system and the Command Line Tools are required.

Command Line Tools

As usual with macOS, the compiler and other development tools are not packed in the base system and need to be installed separately as part of the Command Line Tools package, available from Apple.

The XBB binaries expect the CLT binary tools to be present in a fixed location, which is:

  • /Library/Developer/CommandLineTools/usr/bin

TeX

The dependency to TeX was removed.

Pre-deprecation notice for Ubuntu 18.04

Ubuntu 18.04 LTS Bionic Beaver reached the end of the standard five-year maintenance window for Long-Term Support (LTS) release on 31 May 2023.

As a courtesy, the xPack GNU/Linux releases will continue to be based on Ubuntu 18.04 for another year.

From mid-2024 onwards, the GNU/Linux binaries will be built on Debian 10, (GLIBC 2.28), and are also expected to run on RedHat 8.

Users are urged to update their build and test infrastructure to ensure a smooth transition to the next xPack releases.