Uh oh!
There was an error while loading. Please reload this page.
feat(kernel, kernel-headers): bump to 6.18.39.1 and enable TCP BBR3 - #18536
feat(kernel, kernel-headers): bump to 6.18.39.1 and enable TCP BBR3#18536Rachel Menge (rlmenge) wants to merge 3 commits into
Conversation
…l spec
Migrate kernel-headers from the azldev overlay-on-Fedora approach to a
maintained local spec, mirroring base/comps/kernel.
The overlay burden had grown to the point where the effective spec was
no longer recognizably Fedora's: overlays swapped Source0 to the AZL
kernel tarball, rewrote %build to generate headers via headers_install
(Fedora's spec expects a pre-built headers tarball), redefined
%{specrelease} with kextraversion+azl_pkgrelease, and replaced
%autochangelog with a static block. A local spec is easier to reason
about and to keep in lockstep with the kernel spec.
NEVRA is unchanged from the pre-fork render: kernel-headers-6.18.31-1.1.azl4
(specversion=6.18.31, kextraversion=1, azl_pkgrelease=1). The five overlays
and the auto-generated kernel-headers.azl.macros are removed.Bump the AZL kernel source tarball to rolling-lts/azl4/6.18.39.1 and update kernel + kernel-headers specs/configs to match. NEVRA: kernel-6.18.39-1.1.azl4, kernel-headers-6.18.39-1.1.azl4 (specversion=6.18.39, kextraversion=1, azl_pkgrelease=1).
Rachel Menge (rlmenge)
commented
Aug 20, 2026
/azp run |
|
Azure Pipelines: 2 pipeline(s) were filtered out due to trigger conditions. |
There was a problem hiding this comment.
Pull request overview
Updates the kernel stack to 6.18.39.1, enables BBR3, and converts kernel-headers to a local component spec.
Changes:
- Bumps kernel and kernel-headers sources to 6.18.39.1.
- Enables BBR3 as a module on x86_64 and ARM64.
- Replaces kernel-headers overlays with a local spec.
Reviewed changes
Copilot reviewed 20 out of 22 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
specs/k/kernel/sources | Updates rendered kernel source checksum. |
specs/k/kernel/kernel.spec | Updates rendered version, release, and changelog. |
specs/k/kernel/6.18-x86_64-azl.config | Enables BBR3 on x86_64. |
specs/k/kernel/6.18-aarch64-azl.config | Refreshes ARM64 configuration and enables BBR3. |
specs/k/kernel-headers/sources | Replaces headers archive with kernel source. |
specs/k/kernel-headers/kernel-headers.spec | Renders the new local headers spec. |
specs/k/kernel-headers/kernel-headers.azl.macros | Removes obsolete generated macros. |
scripts/ci/kernel/kernel-config-checker/kernel_config_checker/kernel_configs_json/azl4-os-required-kernel-configs.json | Requires BBR3 modules on both architectures. |
locks/kernel.lock | Refreshes the kernel input fingerprint. |
locks/kernel-headers.lock | Converts the lock to local-spec inputs. |
base/comps/kernel/sources | Pins the updated kernel archive. |
base/comps/kernel/kernel.spec | Bumps the kernel version and release. |
base/comps/kernel/kernel.comp.toml | Updates the kernel source declaration. |
base/comps/kernel/6.18-x86_64-azl.config | Enables BBR3 on x86_64. |
base/comps/kernel/6.18-aarch64-azl.config | Refreshes ARM64 configuration and enables BBR3. |
base/comps/kernel-headers/overlays/0005-build-generate-native-cross.overlay.toml | Removes migrated build/install overlays. |
base/comps/kernel-headers/overlays/0004-use-azl-kernel-tarball-source.overlay.toml | Removes the migrated source overlay. |
base/comps/kernel-headers/overlays/0003-add-make-build-dependency.overlay.toml | Removes migrated dependency overlays. |
base/comps/kernel-headers/overlays/0002-set-specrelease-kextraversion-pkgrelease.overlay.toml | Removes the migrated release overlay. |
base/comps/kernel-headers/overlays/0001-set-specversion-3-part.overlay.toml | Removes migrated version overlays. |
base/comps/kernel-headers/kernel-headers.spec | Adds the maintained local headers spec. |
base/comps/kernel-headers/kernel-headers.comp.toml | Switches kernel-headers to the local spec. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Uh oh!
There was an error while loading. Please reload this page.
Dan Streetman (ddstreetmicrosoft)
left a comment
There was a problem hiding this comment.
a couple minor suggestions but overall LGTM
| # into Version:, Release:, and the extracted source tree name. | ||
| %define kextraversion 1 | ||
| # define buildid .local |
There was a problem hiding this comment.
suggestion(non-blocking):
upstream's specrelease is (e.g.) 100%{?buildid}%{?dist}. The %buildid is clearly intended to be used by uncommenting this macro define, and I don't think there's any reason that we should diverge from upstream on this - what do you think about adding %{?buildid} back into our specrelease macro (here and in the kernel spec)?
| @@ -15,13 +15,13 @@ | |||
| # AZL: RPM release counter. Bump for rebuilds without a version change. | |||
| %define azl_pkgrelease 1 | |||
There was a problem hiding this comment.
suggestion(non-blocking):
if i'm reading both this and the kernel spec files correctly, this is identical to upstream's pkgrelease macro (and in the kernel spec, pkgrelease is simply set to %{azl_pkgrelease}).
To clarify this (and in the kernel spec), can you add a sentence to this macro's comment saying something like "This corresponds to upstream's %{pkgrelease} macro, and we use it in the %{specrelease} macro instead of a hardcoded value".
Or if you changed our macro to simply be pkgrelease then it would be easy to just state "we use this in the %{specrelease} macro instead of a hardcoded value"
also, another minor suggestion, i feel like the ordering of this macro and %kextraversion macro should be swapped, because %kextraversion is the "more significant" digit in the %specrelease macro. What do you think about moving the %azl_pkgrelease define to below the %kextraversion define?
| # AZL: 4th version component from the AZL kernel source (6.18.31.1). Flows | ||
| # AZL: 4th version component from the AZL kernel source (6.18.39.1). Flows | ||
| # into Version:, Release:, and the extracted source tree name. | ||
| %define kextraversion 1 |
There was a problem hiding this comment.
suggestion(non-blocking):
The comment is confusing here, as well as having a redundant explicit version number. What do you think of this text instead:
Our kernel source comes to us with a non-standard 4-digit version number (e.g. A.B.C.D), so we remove the 4th number (e.g. D) and use the standard 3-digit version (e.g. A.B.C), and place the 4th number into the leading (dot-separated) position of our release value, in the %specrelease macro below. For example, if kernel source is version "A.B.C.D", our rpm (and uname -r) V-R would start with "A.B.C-D." plus the remaining release macro/arch values.
Summary
Bumps the Azure Linux kernel to 6.18.39.1 (from 6.18.31.1) and updates kernel-headers to match. BBR3 was added in this source update. Additionally, fork the kernel-headers to resolve the changelog and awkward overlays
Changes
kernel-headers forked to a local spec
Kernel source bump — 6.18.31.1 → 6.18.39.1
TCP BBR3 enabled as a module