The `org.osbuild.chrony` stage currently supports only a single option 'timeservers' which does not allow specifying additional options for the configured timeservers. The option can not be easily extended to allow specifying additional options and at the same time keep the backward compatibility with old manifests. The need for a lower-level stage option allowing to configure additional options of the 'server' directive is required by RHEL AMI images, which use 'maxpoll', 'minpoll' and 'prefered' options. Extend the `org.osbuild.chrony` stage with two additional options. The 'servers' option accepts a list of dictionaries specifying timeservers to be configured using the 'server' directive, including a subset of the directive options. The 'servers' option can not be used at the same time in the stage options as the 'timeservers' option. The second added option is 'leapsectz' corresponding with a directive of the same name. The value of the option is a string. If the provided string is empty, then all occurrences of the 'leapsectz' directive are removed from the `chrony.conf`. Otherwise, the 'leapsectz' directive is added to the `chrony.conf` with the provided value, while all original occurrences of the option are removed. Add a new stage test case under `test/data/stages/chrony-servers` to test the new variant of the stage options. The reason is that the 'timeservers' option conflicts with 'servers' option, which makes it impossible to test both of them in the same test case. Signed-off-by: Tomas Hozza <thozza@redhat.com> |
||
|---|---|---|
| .devcontainer | ||
| .github | ||
| assemblers | ||
| devices | ||
| docs | ||
| inputs | ||
| mounts | ||
| osbuild | ||
| runners | ||
| samples | ||
| schemas | ||
| schutzbot | ||
| selinux | ||
| sources | ||
| stages | ||
| test | ||
| tools | ||
| .editorconfig | ||
| .gitignore | ||
| .packit.yaml | ||
| .travis.yml | ||
| LICENSE | ||
| Makefile | ||
| NEWS.md | ||
| osbuild.spec | ||
| README.md | ||
| requirements.txt | ||
| setup.cfg | ||
| setup.py | ||
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
- IRC: #osbuild on Libera.Chat
Requirements
The requirements for this project are:
bubblewrap >= 0.4.0python >= 3.7
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
Testing requires additional software:
pytest
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.