Skip to content

Add support for Ubuntu 26.04 (liblttng-ust1t64, libicu77-80)#4394

Open
dvaldivia wants to merge 1 commit intoactions:mainfrom
dvaldivia:support-ubuntu-26.04
Open

Add support for Ubuntu 26.04 (liblttng-ust1t64, libicu77-80)#4394
dvaldivia wants to merge 1 commit intoactions:mainfrom
dvaldivia:support-ubuntu-26.04

Conversation

@dvaldivia
Copy link
Copy Markdown

Summary

Ubuntu 26.04 LTS (VERSION_CODENAME=resolute, "Resolute Raccoon") completes the time_t 64-bit transition for liblttng-ust and ships a newer libicu. On a fresh 26.04 install the existing apt_get_with_fallbacks chains cannot resolve either dependency, so ./bin/installdependencies.sh aborts with Can't install dotnet core dependencies. before the runner can configure.

This PR extends both fallback chains so the script keeps working on 26.04 while remaining a no-op on older releases (the helper silently skips packages that aren't in the apt index).

What changed

src/Misc/layoutbin/installdependencies.sh

Chain Before After
LTTng liblttng-ust1 liblttng-ust0 liblttng-ust1t64 liblttng-ust1 liblttng-ust0
ICU libicu76 ... libicu52 libicu80 libicu79 libicu78 libicu77 libicu76 ... libicu52

docs/start/envlinux.md — matching dependency list.

Why these specific names

Verified directly inside ubuntu:26.04:

$ apt-cache search '^liblttng-ust' | grep -E 'liblttng-ust[0-9]'
liblttng-ust1t64 - LTTng 2.0 Userspace Tracer (tracing libraries)

$ apt-cache search '^libicu[0-9]+$'
libicu78 - International Components for Unicode

Adding libicu77/79/80 gives runway in case 26.04's archive ICU version changes before GA, and matches the existing pattern of listing several adjacent versions.

Test plan

  • Ran the patched script inside ubuntu:26.04 on linux/arm64 — exits with Finish Install Dependencies, installs liblttng-ust1t64 2.14.0-1.1 and libicu78 78.2-2ubuntu1
  • Same run on linux/amd64 (via buildx + QEMU) — same result, installs liblttng-ust1t64:amd64 and libicu78:amd64
  • Verified the additions are no-ops on older Ubuntu releases — fallbacks fall through harmlessly to the existing liblttng-ust1 / libicu74 etc.

Notes

The libssl3t64 chain already covers 26.04 (also ships libssl3t64). libkrb5-3 and zlib1g package names are unchanged on 26.04. No other changes needed.

🤖 Generated with Claude Code

Ubuntu 26.04 LTS ("Resolute Raccoon") completes the time_t 64-bit
transition for liblttng-ust and bumps ICU. On a fresh 26.04 install
the previous fallback list cannot resolve either package:

  - liblttng-ust1 / liblttng-ust0  -> only liblttng-ust1t64 is available
  - libicu76..libicu52             -> only libicu78 is available

Extend both fallback chains so the script keeps working on 26.04
while remaining a no-op on older releases (the apt-get fallback
helper just skips packages that aren't in the index).

Verified on `ubuntu:26.04` (`VERSION_CODENAME=resolute`) on linux/arm64
and linux/amd64: the script exits with "Finish Install Dependencies"
and installs liblttng-ust1t64 2.14.0-1.1 and libicu78 78.2-2ubuntu1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 29, 2026 20:07
@dvaldivia dvaldivia requested a review from a team as a code owner April 29, 2026 20:07
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Extends the Debian/Ubuntu dependency fallback lists used by the self-hosted runner’s installdependencies.sh script to support Ubuntu 26.04’s time_t transition package naming (liblttng-ust1t64) and newer ICU versions, and updates the Linux prerequisites documentation to match.

Changes:

  • Add liblttng-ust1t64 to the LTTng apt fallback chain.
  • Add libicu77libicu80 to the ICU apt fallback chain.
  • Update docs/start/envlinux.md dependency list accordingly.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
src/Misc/layoutbin/installdependencies.sh Extends apt fallback chains for LTTng and ICU to cover Ubuntu 26.04 package names/versions.
docs/start/envlinux.md Updates documented Debian/Ubuntu dependency list to match the script changes.

Comment thread docs/start/envlinux.md
Debian based OS (Debian, Ubuntu, Linux Mint)

- liblttng-ust1 or liblttng-ust0
- liblttng-ust1t64, liblttng-ust1 or liblttng-ust0
Copy link

Copilot AI Apr 29, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The punctuation here is a bit ambiguous: using a comma before “liblttng-ust1” can read like multiple packages are required. Consider rephrasing to make the alternation explicit (e.g., “liblttng-ust1t64, liblttng-ust1, or liblttng-ust0” or “liblttng-ust1t64 or liblttng-ust1 or liblttng-ust0”).

Suggested change
- liblttng-ust1t64, liblttng-ust1 or liblttng-ust0
- liblttng-ust1t64 or liblttng-ust1 or liblttng-ust0

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants