This document describes the configuration files used by the build system to support multiple Ubuntu/Debian distributions and architectures.
The conf-files directory is organized by distribution, version, and architecture:
conf-files/
├── ubuntu-jammy-amd64/
├── ubuntu-bionic-amd64/
├── ubuntu-bionic-i386/
├── ubuntu-trusty-amd64/
...
├── raspbian-buster-armhf/
├── raspbian-jessie-armhf/
...
Some directories are symlinks to their full-name counterparts:
bionic-amd64→ubuntu-bionic-amd64xenial-amd64→ubuntu-xenial-amd64- etc.
Each distribution directory typically contains:
The main configuration file that defines:
- Build environment variables
- Directory paths
- Repository URLs
- Database credentials
- Email notifications
- Package repositories
Example (simplified):
PACKAGE_REPOSITORY_HOST="repo.example.com"
PACKAGE_REPOSITORY_DIR="/var/www/repository"
BUILD_AREA="/usr/local/lmce-build/build"
...Distribution-specific configuration:
- Distribution codename
- Version numbers
- Compilation flags
- Architecture-specific parameters
List of packages required for building the system, often one package per line.
Older release directories may also contain:
cd1-packages: Packages to include on first CD/DVDcd1-packages-blacklist: Packages to exclude from first CD/DVDcd2-packages: Packages for second CD/DVDcdK-packages: Additional packages for other media
builder.key/builder.key.pub: SSH keys for remote buildingbuilder.custom.conf: Optional custom overrides for builder.conf
These configuration files are used by the build scripts to:
- Set up the appropriate build environment for each distribution
- Determine which packages to build and include
- Configure repository locations and credentials
- Set compilation parameters specific to each architecture
The configuration system enables reproducible builds across different Ubuntu/Debian versions while maintaining consistency in the build process.