No description
Find a file
Christian Kellner cb265e8b58 runners: use platform-python on RHEL
Runner are invoked to prepare the execution of stages and assemblers
inside the container. The setup tasks are specific to the distribution
and maybe the version of it, therefore specific runners are used for
each distribution+version combination.
The build the first (most nested) build root, `/usr` is taken from the
host to bootstrap the container. On RHEL, the python interpreter to be
used for software that belongs to the platform is platform-python, as
it provides a stable API. Therefore the RHEL runners should use that
instead of relying on the presence of /usr/bin/python3.6, which might
not be installed and is indeed not installed by default.
2020-06-19 08:07:07 +02:00
.github/workflows ghci: merge unittest invocations 2020-06-05 09:27:40 +02:00
assemblers assemblers/ostree.commit: set inputhash metadata 2020-06-10 15:08:49 +02:00
docs cli: drop --build-env argument 2020-05-07 19:52:33 +02:00
osbuild util/selinux: add gefilecon helper 2020-06-15 20:36:48 +02:00
runners runners: use platform-python on RHEL 2020-06-19 08:07:07 +02:00
samples assemblers/ostree.commit: support archiving 2020-05-20 14:47:40 +02:00
schemas schema/osbuild1.json: convert to draft4 standard 2020-05-12 22:00:38 +02:00
schutzbot Run image tests in PSI only 2020-06-05 13:14:30 -05:00
selinux selinux: Allow unconfined_service_t → osbuild_t 2020-06-10 01:35:05 +02:00
sources sources/files: reduce the concurrent curl processes 2020-06-10 14:42:10 +02:00
stages stages/selinux: support label overwrites 2020-06-15 20:36:48 +02:00
test test/stage/selinux: add check for new label option 2020-06-15 20:36:48 +02:00
tools tools/mpp-depsolve: support excluding packages 2020-06-15 13:44:01 +02: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 ci: move test_boot to github-actions 2020-05-13 22:00:27 +02:00
LICENSE Revert "Fill in the license template" 2019-11-18 12:23:10 +01:00
Makefile build: align makefile targets with test-targets 2020-06-05 09:27:40 +02:00
NEWS.md NEWS.md: update for osbuild version 17 2020-06-10 15:43:24 +02:00
osbuild.spec 17 2020-06-10 15:43:24 +02:00
README.md docs: refactor README 2020-03-02 21:34:09 +01:00
requirements.txt osbuild: add meta module for metadata information 2020-05-06 15:42:23 +02:00
setup.py 17 2020-06-10 15:43:24 +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.