From 5b562b67612744a57711e517ab43bfcb2f392d1e Mon Sep 17 00:00:00 2001 From: Anton Georgiev Date: Tue, 1 Sep 2026 15:15:38 -0400 Subject: [PATCH 1/2] 4.0: install Node 24 from NodeSource Companion to the bigbluebutton 40-nodejs-24 branch, whose debs will require nodejs (>= 24) (<< 25). Node 22 leaves maintenance 2027-04-30, mid-4.0 lifetime; Node 24 is Active LTS (maintained until 2028-04-30). Must ship together with packages built against Node 24 - old debs (nodejs << 23) are not installable once this repo change is in place. --- bbb-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bbb-install.sh b/bbb-install.sh index d6d135a..6bb8a4c 100644 --- a/bbb-install.sh +++ b/bbb-install.sh @@ -315,7 +315,7 @@ main() { rm /etc/apt/keyrings/nodesource.gpg fi curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg - NODE_MAJOR=22 + NODE_MAJOR=24 echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list fi From bdf775fb71f959a8a20dbb654523a9710b14b8d9 Mon Sep 17 00:00:00 2001 From: Anton Georgiev Date: Wed, 2 Sep 2026 10:50:26 -0400 Subject: [PATCH 2/2] Rewrite the NodeSource repo on major mismatch, not only when absent The nodesource.list setup was guarded by a file-existence check, so on an existing server (installed with Node 22 or earlier) the block was skipped entirely: the repo stayed on node_22.x, dist-upgrade kept nodejs at 22, and installing the new packages that require nodejs (>= 24) failed with unmet dependencies. Fresh installs were unaffected, which is why CI (always a clean runner) could not catch it. Key the guard on the repo line content instead: rewrite whenever the list does not already point at node_$NODE_MAJOR.x (grep -qs also treats a missing file as a mismatch). The subsequent apt-get update + dist-upgrade then moves nodejs across the major cleanly, and the block stays idempotent on re-runs. --- bbb-install.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bbb-install.sh b/bbb-install.sh index 6bb8a4c..63b5589 100644 --- a/bbb-install.sh +++ b/bbb-install.sh @@ -309,13 +309,15 @@ main() { need_pkg wget curl gpg-agent dirmngr apparmor-utils ca-certificates ruby apt-transport-https haveged openjdk-21-jre dnsutils bbb-yq-go - if [ ! -f /etc/apt/sources.list.d/nodesource.list ]; then + NODE_MAJOR=24 + # Rewrite the NodeSource repo whenever it points at any other Node major (upgrade + # path from servers installed with Node <= 22), not only when it is absent. + if ! grep -qs "deb.nodesource.com/node_$NODE_MAJOR.x" /etc/apt/sources.list.d/nodesource.list; then sudo mkdir -p /etc/apt/keyrings if [ -f /etc/apt/keyrings/nodesource.gpg ]; then rm /etc/apt/keyrings/nodesource.gpg fi curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg - NODE_MAJOR=24 echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list fi