No description
Find a file
David Rheinsberg 22eeb9a095 build: extend release information and layout
This extends on our model how we do releases. It introduces `NEWS.md`
as the authoritative source of our release-notes. It is pre-populated
with the release-notes from the previous 'v9' release, and contains a
suggestion for the upcoming 'v10'.

Furthermore, this adds `make release` as a simple checklist target that
contains instructions how to create a new release. Note that it is a
passive make-target which has no side-effects at all. It only prints
release information.

With this in place, we can drop `RELEASE.md`, as all information is now
combined in `make release`.
2020-03-18 11:21:40 +01:00
.github/workflows ci: add job for documentation build and test 2020-03-09 13:20:42 +01:00
assemblers assembler/qemu: schema: 'dos' option for 'pttype' 2020-01-29 18:03:24 +01:00
docs docs: fix incorrect option-list formatting 2020-03-18 09:34:40 +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 sources/files: time-out curl 2020-03-15 17:07:01 +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
.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: extend release information and layout 2020-03-18 11:21:40 +01:00
NEWS.md build: extend release information and layout 2020-03-18 11:21:40 +01:00
osbuild.spec spec: use make man and copy all man-pages 2020-03-09 13:20:42 +01:00
README.md docs: refactor README 2020-03-02 21:34:09 +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.