← Back to issue list

Add the ability to launch/update on an EOL base

View original Github issue

Metadata

Project
craft-providers
Number
#771
Type
issue
State
closed
Author
lengau
Labels
—
Created
Updated
Closed

Current evaluation

EOL base support shipped in PR #772 (commit bef0f12): provider now checks Ubuntu EOL dates and rewrites apt sources to old-releases.ubuntu.com via craft_providers/util/sources.sh. Later PR #926 added CRAFT_PROVIDERS_DISABLE_EOL_SOURCES_CHECK.

Resolution: closed resolved

Reason: Merged PR #772 (commit bef0f12, "feat: update sources for EOL bases") implemented the requested logic in craft_providers/bases/ubuntu.py — checking the EOL date, verifying availability on old-releases.ubuntu.com, and rewriting /etc/apt/sources.list(.d) via craft_providers/util/sources.sh — closing the issue. Follow-up PR #926 later added an opt-out env var for the network check.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done We need to be able to launch on an EOL base. Most notably, this means we need to change `/etc/apt/sources.list` or `/etc/apt/sources.list.d/ubuntu.sources` to point to `old-releases.ubuntu.com`. Probably the way to do this is a standalone script we can run inside the provider that: 1. Checks whether the base is EOL (compare to date in `/usr/share/distro-info/ubuntu.csv` using `/etc/os-release` 2. If so, checks if the release is available on `old-releases.ubuntu.com` 3. If yes, changes over the files. This bash script may be sufficient for Ubuntu: ```bash #!/bin/bash set -e function is_eol(){ eol=$(grep -e "^$1" /usr/share/distro-info/ubuntu.csv | awk -F ',' '{print $NF}') if [[ $(date -I) > "${eol}" ]]; then return 0 else return 1 fi } function is_on_old_releases(){ curl -I https://old-releases.ubuntu.com/ubuntu/dists/$1/ | grep -q 200 } function replace_sources(){ for file in /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu.sources; do sed -i -e s/security.ubuntu.com/old-releases.ubuntu.com/ -e s/archive.ubuntu.com/old-releases.ubuntu.com/ "${file}" done } if is_eol $1 && is_on_old_releases $2; then echo replace_sources fi ``` ### Why it needs to get done Support for EOL bases in Rockcraft

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved EOL base support shipped in PR #772 (commit bef0f12): provider now checks Ubuntu EOL dates and rewrites apt sources to old-releases.ubuntu.com via craft_providers/util/sources.sh. Later PR #926 added CRAFT_PROVIDERS_DISABLE_EOL_SOURCES_CHECK.
qwen/qwen3.6-35b-a3b — closed resolved Fixed in craft-providers#772 by adding support for EOL bases, updating apt sources to use old-releases.ubuntu.com

Update history

Date Change
created

Related work

  • Likely Fixed By: canonical/craft-providers#772 (confidence 97%)

    Merged PR titled 'feat: update sources for EOL bases'; commit bef0f12 adds EOL/old-releases handling and sources.sh.

  • Related To: canonical/craft-providers#926 (confidence 85%)

    Merged follow-up adding CRAFT_PROVIDERS_DISABLE_EOL_SOURCES_CHECK to skip the old-releases network probe; resolved #924.

Related issues

Issue Project State Summary Similarity
#924 Option to skip updating sources for EOL bases / disable EOL support craft-providers closed Implemented in PR #926 (commit ae95427) by FinnRG, adding CRAFT_PROVIDERS_DISABLE_EOL_SOURCES_CHECK to skip the old-releases.ubuntu.com check in UbuntuBaseConfiguration._update_eol_sources. Shipped in craft-providers 3.5.0 (2026-03-12).
84%
#772 feat: update sources for EOL bases craft-providers merged Merged PR #772 updated EOL Ubuntu base package sources to old-releases.ubuntu.com, fixing #771; merged as commit bef0f12.
74%