No description
Find a file
David Rheinsberg bc88508487 build: improve make man
This improves `make man` in the following ways:

  * The recently added `osbuild-manifest.5` man-page is now generated
    as well.

  * The target now honors `SRCDIR` and `BUILDDIR` variables.

  * Any newly added man-page is now automatically picked up and
    generated as well.

  * The output directory structure now mirrors the input directory
    structure.
2020-03-09 13:20:42 +01:00
.github/workflows 📦 Use new 'make rpm' in GitHub Actions 2020-03-05 22:32:01 +01:00
assemblers assembler/qemu: schema: 'dos' option for 'pttype' 2020-01-29 18:03:24 +01:00
docs docs: provide a separate manifest description 2020-03-07 13:43:24 +01:00
osbuild pipeline: short-circuit if final object exists 2020-03-07 17:13:21 +01:00
runners runners: add runner for Arch Linux 2020-02-29 18:34:00 +01:00
samples samples: bring base-rpm-qcow2.json up-to-date 2020-03-07 13:43:24 +01:00
schemas schema: add json-schema describing our manifest 2020-03-07 13:43:24 +01:00
sources fixup: files 2020-02-06 19:01:12 +01:00
stages dnf: enable fastestmirror by default 2020-02-22 02:01:17 +01:00
test objectstore: add HostTree class to access host fs 2020-03-07 17:13:21 +01:00
.editorconfig editorconfig: add one matching current style 2019-12-13 18:15:08 +01:00
.gitignore .gitignore: remove old ignored directory 2020-03-06 11:57:17 +01:00
.packit.yaml Update packit.yaml for f31 2019-10-15 14:04:57 +02:00
.pylintrc pylint: disable too-many-arguments rule 2019-07-24 12:55:48 +02:00
.travis.yml build-env: drop unnccessary ubuntu build env 2020-03-03 00:05:26 +01:00
LICENSE Revert "Fill in the license template" 2019-11-18 12:23:10 +01:00
Makefile build: improve make man 2020-03-09 13:20:42 +01:00
osbuild.spec spec: build and install man page 2020-03-06 14:47:19 +01:00
README.md docs: refactor README 2020-03-02 21:34:09 +01:00
RELEASE.md RELEASE.md: update to mention 'v' tag prefix 2020-03-05 12:39:46 +01:00
setup.py setup.py: remove unused import 2020-03-07 13:42:36 +01:00
tree-diff tools/tree-diff: strip NULL character from selinux xattr 2019-10-08 21:39:35 +02:00

OSBuild

Build-Pipelines for Operating System Artifacts

OSBuild is a pipeline-based build system for operating system artifacts. It defines a universal pipeline description and a build system to execute them, producing artifacts like operating system images, working towards an image build pipeline that is more comprehensible, reproducible, and extendable.

See the osbuild(1) man-page for details on how to run osbuild, the definition of the pipeline description, and more.

Project

Requirements

The requirements for this project are:

  • python >= 3.7
  • systemd-nspawn >= 244

Additionally, the built-in stages require:

  • bash >= 5.0
  • coreutils >= 8.31
  • curl >= 7.68
  • qemu-img >= 4.2.0
  • rpm >= 4.15
  • tar >= 1.32
  • util-linux >= 235

At build-time, the following software is required:

  • python-docutils >= 0.13
  • pkg-config >= 0.29

Build

The standard python package system is used. Consult upstream documentation for detailed help. In most situations the following commands are sufficient to build and install from source:

python setup.py build
python setup.py install --skip-build --root=/

The man-pages require python-docutils and can be built via:

rst2man docs/<input-file>.rst <output-file>

Repository:

License:

  • Apache-2.0
  • See LICENSE file for details.