This adds F32 manifests in ./test/data/. To avoid magically deducing the package list out of the void, this adds a ManifestPreProcessor (MPP) called `./tools/mpp-depsolve.py`. What this does is it takes a manifest on stdin, modifies it, and produces a manifest on stdout. The `mpp-depsolve.py` preprocessor takes a manifest and modifies all the `org.osbuild.rpm` stages. It parses a new option to that stage called `mpp-depsolve`, which contains a package-list, a repo-list, and dnf metadata. It then drops this `mpp-depsolve` option (since it would be an invalid manifest otherwise), depsolves the packages, inserts a proper "packages" option as well as appends the correct paths to the sources entry. With this in place, this adds `mpp-f32-base.json` and `mpp-f32-build.json` in ./test/data/manifests/. These will then be used as base F32 manifests for our test-suite. Lastly, this adds `./test/data/README.md` as a place to document the files we place in `./test/data/`, since most of the files do not allow for comments. |
||
|---|---|---|
| .github/workflows | ||
| assemblers | ||
| docs | ||
| osbuild | ||
| runners | ||
| samples | ||
| schemas | ||
| schutzbot | ||
| sources | ||
| stages | ||
| test | ||
| tools | ||
| .editorconfig | ||
| .gitignore | ||
| .pylintrc | ||
| .travis.yml | ||
| LICENSE | ||
| Makefile | ||
| NEWS.md | ||
| osbuild.spec | ||
| README.md | ||
| requirements.txt | ||
| setup.py | ||
| tree-diff | ||
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
- Website: https://www.osbuild.org
- Bug Tracker: https://github.com/osbuild/osbuild/issues
Requirements
The requirements for this project are:
python >= 3.7systemd-nspawn >= 244
Additionally, the built-in stages require:
bash >= 5.0coreutils >= 8.31curl >= 7.68qemu-img >= 4.2.0rpm >= 4.15tar >= 1.32util-linux >= 235
At build-time, the following software is required:
python-docutils >= 0.13pkg-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:
- web: https://github.com/osbuild/osbuild
- https:
https://github.com/osbuild/osbuild.git - ssh:
git@github.com:osbuild/osbuild.git
License:
- Apache-2.0
- See LICENSE file for details.