This moves the dnf and dnf5 code into a new osbuild module called solver. The dnf specific code is in dnf.py and dnf5 is in dnf5.py At runtime the osbuild-depsolve-dnf script reads a config file from /usr/lib/osbuild/solver.json and imports the selected solver. This currently just contains a 'use_dnf5' bool but can be extended to support other configuration options or depsolvers. At build time a config file is selected from tools/solver-dnf.json or tools/solver-dnf5.json and installed. Currently dnf5 is not installed, it will be added when dnf5 5.2.1.0 becomes available in rawhide (Fedora 41). The error messages have been normalized since the top level functions in osbuild-depsolve-dnf do not know which version of dnf is being used. |
||
|---|---|---|
| .. | ||
| test | ||
| check-runners | ||
| check-snapshots | ||
| gen-stage-test-diff | ||
| inline-source.py | ||
| lorax-template-pkgs.py | ||
| osbuild | ||
| osbuild-depsolve-dnf | ||
| osbuild-dev | ||
| osbuild-json-seq-progress-example-renderer | ||
| osbuild-mpp | ||
| set-env-variables.sh | ||
| solver-dnf.json | ||
| solver-dnf5.json | ||
| tree-diff | ||