https://github.com/opensuse/obs-build
OBS build script, can be used with OBS or stand alone
https://github.com/opensuse/obs-build
perl shell
Last synced: 8 months ago
JSON representation
OBS build script, can be used with OBS or stand alone
- Host: GitHub
- URL: https://github.com/opensuse/obs-build
- Owner: openSUSE
- License: gpl-2.0
- Created: 2011-10-19T13:30:10.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2025-10-29T14:12:42.000Z (8 months ago)
- Last Synced: 2025-10-29T14:41:01.807Z (8 months ago)
- Topics: perl, shell
- Language: Perl
- Homepage:
- Size: 5.68 MB
- Stars: 142
- Watchers: 33
- Forks: 199
- Open Issues: 185
-
Metadata Files:
- Readme: README.md
- Changelog: changelog2spec
- License: COPYING
Awesome Lists containing this project
README
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](http://openbuildservice.org) (OBS).
Latest packages for `obs-build` are available from
[openSUSE:Tools downloads](https://software.opensuse.org/download/package?package=obs-build&project=openSUSE%3ATools).
[Documentation is available here](http://opensuse.github.io/obs-build/pbuild.html)
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](http://openstack.org)
- [Amazon EC2](http://ec2.amazon.com)
For hardware emulation there are
---
- `qemu`,
which runs a `QEMU` 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` to `rpm`, e.g. [SUSE](http://suse.com), [Fedora](http://getfedora.org), [RedHat](http://redhat.com),
[CentOS](http://centos.org), [Mandriva](http://mageia.org)
- `dsc` to `deb`, e.g. [Debian](http://debian.org), [Ubuntu](http://ubuntu.com)
- `PKGBUILD` to `pkg`, e.g. [Arch Linux](http://archlinux.org)
Image formats
---
- `Dockerfile`—[Docker](http://docker.com) container via `docker` or `podman` tooling)
- kiwi appliances—This includes a [long list of formats](http://documentation.suse.com/kiwi/9/html/kiwi/image-types.html)
supported by the kiwi tool
From live USB stick images, network deployment images, VM images
to docker containers
- SUSE Product—[SUSE](http://suse.com) product media builds
- *SimpleImage*—`chroot` `tar` ball based on `rpm` spec file syntax
- [Debian](http://debian.org) *Livebuild*
- *Preinstallimages*—for speeding up builds esp. inside of [OBS](http://openbuildservice.org/)
- OBS Product Builds, to generate rpm-md trees and installable images.
Desktop Image formats
---
- *AppImage*
- *FlatPak*
- *Snapcraft*
Special modes and formats
---
- `debbuild`: build [debian](http://debian.org) `deb`s from `rpm` spec files
- `debbootstrap`: [debian](http://debian.org) builds using `debootstrap` as the engine
- `mock`: `rpm` spec file build using [`mock`](https://github.com/rpm-software-management/mock)
- `collax`: [debian](http://debian.org) package variation
- `fissile`: `docker` images based on `BOSH` dev releases
- `helm`: `helm` charts
- `modulemd`: `modulemd` rpm-md extensions
Use the `--help` option for more information.