Skip to content

Upgrade OS --> 26.04#2818

Open
enoch85 wants to merge 1 commit intomainfrom
upgrade-os-26.04
Open

Upgrade OS --> 26.04#2818
enoch85 wants to merge 1 commit intomainfrom
upgrade-os-26.04

Conversation

@enoch85
Copy link
Copy Markdown
Member

@enoch85 enoch85 commented May 5, 2026

Summary

  • Bump supported Ubuntu range to 24.04 β†’ 26.04 LTS (Resolute Raccoon)
  • Update defaults: PHP 8.5, PostgreSQL 18, kernel 7.0
  • Centralize all OS-version checks in lib.sh (SUPPORTED_VERSION_MIN/MAX, LATEST_VERSION derived, SUPPORTED_CODENAMES) so the next bump is a 3-line edit
  • Make check_php() fully dynamic (regex on php -v, /etc/php fallback)
  • Replace hardcoded stop_if_installed lists with brace-expansion loops
  • Drop python2 from apps/webmin.sh (no install candidate on 26.04, no longer required by Webmin)

External source / dependency audit

Source Where Behavior on 26.04 Action
Webmin apps/webmin.sh Uses sarge contrib suite β€” codename-independent. Works on any Debian/Ubuntu βœ… none
morph027/coturn apps/talk.sh:137 Gated to ${CODENAME} == "jammy" only β€” already no-op on noble/resolute. coturn is then installed from Ubuntu's own repo βœ… none (same as 24.04 PR)
morph027/janus apps/talk.sh:351 Case-gated to bionic|focal β€” no-op on resolute. janus from Ubuntu's own repo βœ… none (same as 24.04 PR)
morph027/nats-server apps/talk.sh:301 Suite nats main β€” codename-agnostic ⚠️ relies on upstream supporting resolute; verify on first Talk install
morph027/spreed-signaling apps/talk.sh:374 Suite signaling main β€” codename-agnostic ⚠️ same caveat
PostgreSQL PGDG migrate/docker/migrate.sh:56 Uses $(lsb_release -cs)-pgdg β€” auto-picks resolute-pgdg ⚠️ works only once PGDG publishes a resolute distro (typically within weeks of LTS release). Only used by the docker-migration helper, low traffic
MaxMind PPA network/geoblock.sh:88 PPAs are per-codename ⚠️ works if Canonical/MaxMind rebuilt for resolute
Docker CE lib.sh:1902 (get.docker.com) Universal install script β€” Docker tracks new LTS quickly βœ… none
Netdata apps/netdata.sh:66 (get.netdata.cloud) Universal install script βœ… none
MaxMind mod_maxminddb network/geoblock.sh:107 Pinned tarball v1.2.0 built from source βœ… none
Snap (certbot, bpytop) lib.sh, apps/bpytop.sh Snaps are distro-agnostic βœ… none
Webmin .deb fallback apps/webmin.sh:85 Pinned webmin_2.010_all.deb (sourceforge) β€” distro-agnostic βœ… none
python2 apps/webmin.sh:55 Not installable on 26.04 πŸ› οΈ removed
ImageMagick 6 apps/imaginary.sh:82 IM6 packages removed from 26.04 β€” but only used in is_this_installed removal guard, skipped on fresh installs βœ… none
PostgreSQL 18 default apt postgresql meta-package Confirmed shipping on 26.04 βœ… matches README bump
Redis 8.0 default apt redis-server New major (was 7.x on 24.04) β€” config syntax compatible with our requirepass + unix socket setup βœ… none
ZFS 2.4 default apt zfsutils-linux New minor (was 2.2 on 24.04) β€” backward compatible βœ… none

Test plan

  • bash -n on all 17 modified scripts
  • shellcheck (repo CI flags) β€” zero warnings
  • Sourced lib.sh in real Ubuntu 26.04 container β€” variables resolve, version()/check_distro_version()/check_php() pass positive and negative tests
  • Confirmed PG 18, PHP 8.5, Redis 8.0 are the defaults on 26.04
  • Confirmed python2 not installable on 26.04 β†’ fix included
  • Full install run on a fresh 26.04 VM
  • Talk install end-to-end (verifies morph027 nats-server + spreed-signaling upstream availability)
  • GeoBlock install (verifies MaxMind PPA on resolute)

@enoch85 enoch85 force-pushed the upgrade-os-26.04 branch 6 times, most recently from 5d576f8 to e2dca8b Compare May 5, 2026 22:08
Comment thread .github/workflows/install-smoke-test.yml Fixed
@enoch85 enoch85 force-pushed the upgrade-os-26.04 branch 13 times, most recently from a6d8a67 to 8bc0fb6 Compare May 5, 2026 22:37
- Bump supported Ubuntu range to 24.04 - 26.04 (Resolute Raccoon)
- PHP 8.3 -> 8.5, PostgreSQL 16 -> 18 (defaults on 26.04)
- Centralize version checks in lib.sh: SUPPORTED_VERSION_MIN/MAX,
  LATEST_VERSION (derived), SUPPORTED_CODENAMES β€” single source of truth
- Make check_php() fully dynamic (regex on `php -v`, /etc/php fallback)
- Replace hardcoded stop_if_installed lists with brace-expansion loops
  covering php7.0-7.9, php8.0-8.9 and postgresql-9.x through postgresql-30

Signed-off-by: enoch85 <[email protected]>
@enoch85 enoch85 force-pushed the upgrade-os-26.04 branch from 8bc0fb6 to 4f833b5 Compare May 5, 2026 22:54
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