coreos / rpm-ostree

⚛📦 Hybrid image/package system with atomic upgrades and package layering
https://coreos.github.io/rpm-ostree
Other
839 stars 192 forks source link

Kernel change detection excludes "boutique" kernels #4981

Open jeamland opened 1 month ago

jeamland commented 1 month ago

In certain circumstances (e.g. rpm-ostree compose, upgrades) rpm-ostree attempts to detect if the kernel has changed. This happens in rpmostree_context_assemble by way of rpmte_is_kernel which uses a hard-coded set of "Provides" entries to test if a package is sufficiently kernel:

https://github.com/coreos/rpm-ostree/blob/366cb8739cbed0f432068518bf63958d5b713273/src/libpriv/rpmostree-core.cxx#L3821-L3836

For an internal use-case we're using Oracle Linux's UEK kernel which is installed via the kernel-uek or kernel-uek-core package and has the relevant "Provides" entries of kernel-uek and kernel-uek-core but lacks any of the entries in the list built in to rpmte_is_kernel. This results in upgrades not creating new boot entries.

Would it be possible to either add kernel-uek and/or kernel-uek-core to this list, or to make the list configurable in some way?

cgwalters commented 1 month ago

This relates to https://github.com/coreos/rpm-ostree/issues/4726 - I think we can in theory do things consistently that way.