No description
Find a file
Christian Kellner d9168ee625 buildroot: continuously stream log data to monitor
All runners stopped calling `api.setup_stdio` (commit c40b414), and
thus all output of runners and also modules is now redirected to a
pipe (created via Popen and subprocess.PIPE for stdout).
Text was read from that pipe via `stdout.read(4096)`, which means
that it is now buffered in chunks of 4096, where it previously was
line buffered in the case that osbuild was run in the terminal and
--json was not specified. This is very annoying for anyone wanting
to follow osbuild's output in real-time.
Restore the previous behavior by using `os.read`, which should be
a small wrapper around read(3), which does not block until all the
requested data is available but returns early (short reads). This
means, new text will be forwarded as soon is it is available in the
pipe. Increase the read buffer to 32768 while at it, which is what
Popen is using in Python 3.9.
2020-10-28 14:28:07 +01:00
.github/workflows ci: check spelling via codespell 2020-10-06 14:41:00 +02:00
assemblers assemblers/tar: use osbuild.api.arguments 2020-08-31 15:06:36 +02:00
docs cli: drop --build-env argument 2020-05-07 19:52:33 +02:00
osbuild buildroot: continuously stream log data to monitor 2020-10-28 14:28:07 +01:00
runners runner: use osbuild.api.exception_handler 2020-10-09 10:47:44 +02:00
samples stages/noop: fix the schema to allow any props 2020-07-16 19:02:25 +02:00
schemas schema/osbuild1.json: convert to draft4 standard 2020-05-12 22:00:38 +02:00
schutzbot schutzbot: drop collecting AVC logs 2020-10-27 21:37:33 +01:00
selinux selinux: allow nnp and nosuid transitions 2020-08-10 14:05:24 +02:00
sources osbuild: fix spelling mistakes found by codespell 2020-10-06 14:41:00 +02:00
stages stages/rpm: document returned metadata 2020-10-22 22:47:22 +01:00
test test: add test for osbuild executable 2020-10-27 22:04:09 +01:00
tools tools/mpp-depsolve: make use of dnf's per-user cache 2020-10-19 17:37:46 +01:00
.editorconfig editorconfig: include markdown specifications 2020-10-23 16:29:50 +02:00
.gitignore test: add coverity targets to the Makefile 2020-06-24 10:01:24 +02:00
.pylintrc pylint: increase max attributes to 10 2020-07-21 13:25:04 +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 Makefile: also convert %.mpp.json in stage tests 2020-10-19 17:37:46 +01:00
NEWS.md NEWS.md: update for osbuild version 23 2020-10-23 16:29:50 +02:00
osbuild.spec 23 2020-10-23 16:29:50 +02:00
README.md buildroot: use bwrap to contain stages 2020-07-21 14:20:32 +02:00
requirements.txt osbuild: add meta module for metadata information 2020-05-06 15:42:23 +02:00
setup.py 23 2020-10-23 16:29:50 +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:

  • bubblewrap >= 0.4.0
  • python >= 3.7

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.