releng/docker/build-init.sh: make it easier to customize kernel versions #676
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.
This is an alternative to #675 that refactors some of the update flow:
-u
options no longer trigger special behavior. It always makes sense to skip kernel and ZFS upgrades with-u
, because we don't have the headers available to rebuild kmods in either case.update_xbps
can be run multiple times without re-fetching the package index or trying to updatexbps
.-k
argument allows simple specification of a single kernel series for use in the image:dkms
, the kernel package and its headersconfig.yaml
is created to match the specified series (this is added to the YAML overrides first, so users can explicitly override it again)-z
argument will trigger a ZFS update iff a kernel series is specified.I can't really test some of the update logic because this change requires a new container, and that container is necessarily up to date. However, I did test with
-k 6.6
and-k 5.10
(leaving 5.10 out of the container image) and have confirmed that the module builds appropriately, a ZFS update will be attempted if-z
is provided, and the output images seem to use the specified kernel.After merging this, I'll build a
:development
container image that people can use until we tag a new release.