No description
Find a file
David Rheinsberg 43ddcf895d pipeline: drop output_id and pull in output-directory
Now that no caller requires the "output_id" anymore, drop it from our
results-dictionary. Instead, pass the output-directory through and copy
outputs where we produce / fetch them.

This still uses `objectstore.resolve_ref()`, since we do not have the
outputs pinned at the places where we want to copy. This needs a little
bit more rework, but we might just delay that until we have the cache
rework landed.

This already simplifies the output-directory path and drops the slight
hack which checked very late for produced outputs.

Note that we must be careful not to copy things too early, because we
do not want remnants in the output-directory if we return failure.
Hence, keep the copy-operation close to the commit-operation on the
store.
2020-05-28 11:16:15 +02:00
.github/workflows Remove RPM builds in GitHub Workflows 2020-05-22 09:00:01 -05:00
assemblers assemblers: add new org.osbuild.oci-archive 2020-05-20 20:05:22 +02:00
docs cli: drop --build-env argument 2020-05-07 19:52:33 +02:00
osbuild pipeline: drop output_id and pull in output-directory 2020-05-28 11:16:15 +02:00
runners modules: drop osbuild symlink 2020-05-04 12:32:25 +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 CI: Use RHEL 8 CDN image 2020-05-28 07:00:00 +02:00
sources sources: keep try-except block small 2020-05-28 11:06:05 +02:00
stages stages: add org.osbuild.copy stage 2020-05-28 10:42:18 +02:00
test test: enable pylint warnings 2020-05-28 11:06:05 +02:00
tools test: add F32 manifests and a manifest-preprocessor 2020-05-20 18:54:38 +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 test: add F32 manifests and a manifest-preprocessor 2020-05-20 18:54:38 +02:00
NEWS.md 15 2020-05-20 21:44:58 +02:00
osbuild.spec 15 2020-05-20 21:44:58 +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 15 2020-05-20 21:44:58 +02: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.