manifestgen: pass missing repoConfig to preManifest.Serialize() #50
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When depsolve is run it returns a list of packageSpecs and the matching repository config. This repo config is different/distinct from the repository config that is passed into depsolve via the package sets or the repositories that are loaded via the reporegistry and needs to be passed into
manifest.Serialize()
.The key different is that the depsovle
repoConfig
contains the repo.Id that match the packageSpec.RepoId. With those two matching IDs we can use librepo (see osbuild PR#1974) to infere what mirror to use for what package.This commit now passes the correct repoConfig into preManifest.Serialize() now.
No test (sorry!) as this is really hard to test in isolation, there is nothing observable today from repoConfig and it is impossible to add a "witness" pipelien that could check that the right argument is passed in
pipeline.serializeStart()
. So until we refactor images you will have to take my word for this (sorry again).Alternatively we could only merge once librepo is available, then the issue becomes apparent as nothing will work without this (i.e. there it will be tested implicitly)