The utility for building of AlmaLinux distributions (repos, ISO images).
If there is an exception in the code, the cli_main function captures it, saves the traceback and exits the process. With the original tracing span, the instrumentation never saw the actual exception, only SystemExit. This meant the span was not recorded as failed. (Technically python-opentelemetry 1.31.0 does record it, but that change was reverted in 1.32.0.) It is somewhat tricky to structure the code so that the exception is recorded implicitly. The status update to DOOMED must happen inside the span (in order to propagate it to the trace). Thus a new function is exported from the tracing module to record the exception explicitly before it gets discarded and replaced with the exit. Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com> (cherry picked from commit d3630bfa6f8dc5ccf3dcef9cb4a947d82d7f09b8) |
||
---|---|---|
contrib | ||
doc | ||
pungi | ||
pungi_utils | ||
share | ||
tests | ||
.gitignore | ||
1860.patch | ||
AUTHORS | ||
COPYING | ||
git-changelog | ||
GPL | ||
Makefile | ||
MANIFEST.in | ||
pungi.spec | ||
README.md | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
sources | ||
test-requirements.txt | ||
TODO | ||
tox.ini |
Pungi
Pungi is a distribution compose tool.
Composes are release snapshots that contain release deliverables such as:
- installation trees
- RPMs
- repodata
- comps
- (bootable) ISOs
- kickstart trees
- anaconda images
- images for PXE boot
Tool overview
Pungi consists of multiple separate executables backed by a common library.
The main entry-point is the pungi-koji
script. It loads the compose
configuration and kicks off the process. Composing itself is done in phases.
Each phase is responsible for generating some artifacts on disk and updating
the compose
object that is threaded through all the phases.
Pungi itself does not actually do that much. Most of the actual work is delegated to separate executables. Pungi just makes sure that all the commands are invoked in the appropriate order and with correct arguments. It also moves the artifacts to correct locations.
Links
- Documentation: https://docs.pagure.org/pungi/
- Upstream GIT: https://pagure.io/pungi/
- Issue tracker: https://pagure.io/pungi/issues
- Questions can be asked in the #fedora-releng IRC channel on irc.libera.chat
or in the matrix room
#releng:fedoraproject.org