From 3ad48f812379ed76239028283752a0836be12e03 Mon Sep 17 00:00:00 2001 From: Prakash Surya Date: Mon, 10 Aug 2026 20:42:13 +0000 Subject: [PATCH] TOOL-30798 track resolute's GA kernel for the generic flavor The generic flavor asked apt for 'linux-image-generic-hwe-26.04' and then looked for an 'Ubuntu-hwe-*' upstream tag. The apt half resolves on resolute, but an 'Ubuntu-hwe-*' tag only exists in the tree of the release receiving a backport, and never for that release's own GA kernel, so the lookup found nothing and died before pushing anything. That is why generic is the one flavor whose upstreams/os-upgrade was never refreshed. Every flavor now tracks the GA kernel of the suite being built. Co-Authored-By: Claude Opus 5 --- default-package-config.sh | 10 +++++++--- lib/common.sh | 13 ++++++------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/default-package-config.sh b/default-package-config.sh index 85759e6..86e2de5 100644 --- a/default-package-config.sh +++ b/default-package-config.sh @@ -327,13 +327,17 @@ function kernel_update_upstream() { # latest upstream tag to sync based on the kernel # version and the ABI num that we got above. # - # Note that "generic" (used mainly ESX) is a special - # case on bionic where we are using the HWE kernel image. + # Note that "generic" (used mainly ESX) carries no flavour + # segment in its tag name, since it is the suite's own + # kernel; e.g. 'Ubuntu-7.0.0-29.29'. An 'Ubuntu-hwe-*' tag + # only exists in the tree of the release receiving a + # backport, and never for that release's own GA kernel, so + # it does not apply while we track the GA kernel. # local tag_prefix_flavour case "${platform}" in generic) - tag_prefix_flavour="Ubuntu-hwe" + tag_prefix_flavour="Ubuntu" ;; aws | azure | gcp | oracle) tag_prefix_flavour="Ubuntu-${platform}" diff --git a/lib/common.sh b/lib/common.sh index bb425d3..2f695d6 100644 --- a/lib/common.sh +++ b/lib/common.sh @@ -1253,17 +1253,16 @@ function get_kernel_version_for_platform_from_apt() { # for kernel version '4.15.0-1027-aws'. We use this dependency to figure # out the default kernel version for a given platform. # - # The "generic" platform is a special case, since we want to use the - # hwe kernel image instead of the regular generic image. + # Every platform, "generic" included, tracks the GA kernel of the suite + # we are building for, rather than that suite's hwe image. At a fresh + # LTS the two resolve to the same kernel anyway, and the hwe git tags + # that update_upstream() needs do not exist in the new suite's tree + # yet; see TOOL-30798. # # Note that while the default kernel is usually also the latest # available, it is not always the case. # - if [[ "$platform" == generic ]]; then - package="linux-image-${platform}-hwe-26.04" - else - package="linux-image-${platform}" - fi + package="linux-image-${platform}" if [[ "$(apt-cache show --no-all-versions "$package" \ 2>/dev/null | grep Depends)" =~ linux-image-([^,]*-${platform}) ]]; then