Environment Variables
BinaryBuilder.jl supports multiple environment variables to modify its behavior globally:
BINARYBUILDER_AUTOMATIC_APPLE: when set totrue, this automatically agrees to the Apple macOS SDK license agreement, enabling the building of binary objects for macOS systems.BINARYBUILDER_USE_SQUASHFS: when set totrue, this uses.squashfsimages instead of tarballs to download cross-compiler shards. This consumes significantly less space on-disk and boasts a modest reduction in download size as well, but requiressudoon the local machine to mount the.squashfsimages. This is used by default on Travis, as the disk space requirements are tight. This is always used on OSX, as the QEMU runner always usessquashfsimages.BINARYBUILDER_DOWNLOADS_CACHE: When set to a path, cross-compiler shards will be downloaded to this location, instead of the default location of<binarybuilder_root>/deps/downloads.BINARYBUILDER_ROOTFS_DIR: When set to a path, the base root FS will be unpacked/mounted to this location, instead of the default location of<binarybuilder_root>/deps/root. Shards will be bind-mounted into this root directory, depending on the runner used.BINARYBUILDER_SHARDS_DIR: When set to a path, cross-compiler shards will be unpacked to this location, instead of the default location of<binarybuilder_root>/deps/shards.BINARYBUILDER_QEMU_DIR: When set to a path, qemu/the linux kernel will be installed here (if using theQemuRunner) instead of the default location of<binarybuilder_root>/deps/qemuBINARYBUILDER_RUNNER: When set to a runner string, alters the execution engine thatBinaryBuilder.jlwill use to wrap the build process in a sandbox. Valid values are one of"userns","privileged"and"qemu". If not given,BinaryBuilder.jlwill do its best to guess.BINARYBUILDER_ALLOW_ECRYPTFS: When set totrue, this allows the mounting of rootfs/shard/workspace directories from within encrypted mounts. This is disabled by default, as at the time of writing, this triggers kernel bugs. To avoid these kernel bugs on a system where e.g. the home directory has been encrypted, set theBINARYBUILDER_ROOTFS_DIRandBINARYBUILDER_SHARDS_DIRenvironment variables to a path outside of the encrypted home directory.BINARYBUILDER_USE_CCACHE: When set totrue, this causes a/root/.ccachevolume to be mounted within the build environment, and for theCC,CXXandFCenvironment variables to haveccacheprepended to them. This can significantly accelerate rebuilds of the same package on the same host. Note thatccachewill, by default, store 5G of cached data.BINARYBUILDER_SANDBOX_PATH: When set to a valid executable path, overrides the user namespace runner's choice ofsandboxexecutable. This is mostly useful for developing newsandboxexecutables.