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
chroot
LXC
Secure but with limited reproducibility
docker
nspawn
Secure and with full reproducibility
KVM
XEN
ZVM
(S390)
Experimental support
In addition, there is currently experimental support for
UML
PVM
(PowerPC)- OpenStack
- Amazon EC2
For hardware emulation there are
qemu
, which runs aQEMU
system emulator. This can be considered also secure and reproducible. It requires a kernel image as part of the build config.- The "emulator" VM can be used to run builds using any other emulator via a wrapper script.
- A
QEMU
user 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
spec
torpm
, e.g. SUSE, Fedora, RedHat, CentOS, Mandrivadsc
todeb
, e.g. Debian, UbuntuPKGBUILD
topkg
, e.g. Arch Linux
Image formats
Dockerfile
—Docker container viadocker
orpodman
tooling)- 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—
chroot
tar
ball based onrpm
spec file syntax - Debian Livebuild
- Preinstallimages—for speeding up builds esp. inside of OBS
- OBS Product Builds, to generate rpm-md trees and installable images.
Desktop Image formats
- AppImage
- FlatPak
- Snapcraft
Special modes and formats
debbuild
: build debiandeb
s fromrpm
spec filesdebbootstrap
: debian builds usingdebootstrap
as the enginemock
:rpm
spec file build usingmock
collax
: debian package variationfissile
:docker
images based onBOSH
dev releaseshelm
:helm
chartsmodulemd
:modulemd
rpm-md extensions
Use the --help
option for more information.