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. |
||
|---|---|---|
| .. | ||
| manifests | ||
| os-release | ||
| README.md | ||
OSBuild Test Data
This directory contains data used by the osbuild test-suite. Since many formats do not allow comments, this file shortly describes their purpose.
Directories
-
./os-release/: This directory is consumed by the unit-tests of theos-releaseparser. The directory contains example os-release files (seeos-release(5)). Their directory name is the expected output of the parser. -
./manifests/: This directory contains osbuild manifests used throughout the test-suite.Manifests prefixed with
f30,f31, etc. are manifests that produce fedora images. If they havebaseas part of their name, they include a base set of packages which we very loosely define as@coreplus the packages our test-suite needs. If they havebuildas part of their name, they have a very restricted package set which includes just what is needed in a build-root for osbuild.The
rhelprefix is used for Red Hat Enterprise Linux images. Since they are not available publicly, the test-suite usually skips them.Manifests prefixed with
mpp-*are fed through the ManifestPreProcessors and then stored in the same directory with thempp-*prefix dropped. The generated files are committed to the repository. Nevertheless, if you need to regenerate them, usemake test-data.