Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite depsolve external #203

Merged
merged 7 commits into from
Sep 17, 2024
Merged

Rewrite depsolve external #203

merged 7 commits into from
Sep 17, 2024

Conversation

mvo5
Copy link
Contributor

@mvo5 mvo5 commented Sep 17, 2024

This PR is a split of of #202 which is getting a bit long. Here the new externals are added with their unit tests. They do the resolving now but are not yet concerned with special handling for the kernel or similar.

One merge we can do a PR that uses them in the centos example otk files and after that we can look into the "fishing out" of extra information like kernel version (or expose general details of packages, this is something to discuss :)

See the individual commits for details.

Note that this will require to rename "packages" -> "packagesets" (plural) for the curl external and "packages" to "packageset" (singular) for the rpm stage in #202 but that should be the only change here.

supakeen and others added 7 commits September 17, 2024 08:07
Remove unused subcommands of the `osbuild_external`.

Signed-off-by: Simon de Vlieger <[email protected]>
This splits out the depsolve external along the lines of the previously
written partition externals. Using the external is now a two-step
process where you run one external in a define and then use its output
to generate stages and sources.

Signed-off-by: Simon de Vlieger <[email protected]>
In `images` we mock depsolves so we can run them very fast under test.
This introduces the same functionality to the depsolve external.

Signed-off-by: Simon de Vlieger <[email protected]>
Use a `const.internal` subkey for the dnf4 depsolving external. This
follows the ideas set forth in the partition tables. `.const` means that
the format can be considered un-changing and `.internal` means that this
shouldn't be used directly but only through other externals in the same
group.

Signed-off-by: Simon de Vlieger <[email protected]>
This commit adds unit tests for the `gen_depsolve_dnf4` external
to ensure we have the input data in our tests for reference and
to also regression test that neither input or output changes
accidentally.
This commit adds a minimal test to the code in the
`make_depsolve_dnf4_curl_source` external.

While writing this it also tweaks the input name to make it more
clear that its a list of resolved package sets that is expected.
This commit adds a minimal test to the code in the
`make_depsolve_dnf4_make_rpm` external.

While writing this it also tweaks the input name to `packageset` to
make it consistent with new input name of the
`osbuild-make-dnf4-curl-source` external.
@supakeen supakeen added this pull request to the merge queue Sep 17, 2024
Merged via the queue into osbuild:main with commit 4148399 Sep 17, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants