This repository provides the build tool to build binary packages in a
a safe and reproducible way. It can be used standalone or within the
Open Build Service (OBS).
Latest packages for obs-build are available from
openSUSE:Tools downloads.
Documentation is available here
Supported build environments
Unsecure
chrootLXC
Secure but with limited reproducibility
dockernspawn
Secure and with full reproducibility
KVMXENZVM(S390)
Experimental support
In addition, there is currently experimental support for
UMLPVM(PowerPC)- OpenStack
- Amazon EC2
For hardware emulation there are
qemu, which runs aQEMUsystem emulator inside ofKVM. This can be considered also secure and reproducible.- The "emulator" VM can be used to run builds using any other emulator via a wrapper script.
- A
QEMUuser land emulation is also possible. This would give higher speed, but requires a preparation inside of the base distribution for this mode.
Supported build formats
Major distribution package formats
spectorpm, e.g. SUSE, Fedora, RedHat, CentOS, Mandrivadsctodeb, e.g. Debian, UbuntuPKGBUILDtopkg, e.g. Arch Linux
Image formats
Dockerfile—Docker container viadockerorpodmantooling)- kiwi appliances—This includes a long list of formats supported by the kiwi tool From live USB stick images, network deployment images, VM images to docker containers
- SUSE Product—SUSE product media builds
- SimpleImage—
chroottarball based onrpmspec file syntax - Debian Livebuild
- Preinstallimages—for speeding up builds esp. inside of OBS
Desktop Image formats
- AppImage
- FlatPak
- Snapcraft
Special modes and formats
debbuild: build debiandebs fromrpmspec filesdebbootstrap: debian builds usingdebootstrapas the enginemock:rpmspec file build usingmockcollax: debian package variationfissile:dockerimages based onBOSHdev releaseshelm:helmchartsmodulemd:modulemdrpm-md extensions
Use the --help option for more information.