From 9e1c46489b4e433a3af8e3346607a2a6fc5c5a7c Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 18 May 2026 21:00:15 +0000
Subject: [PATCH] fix: address review feedback on prepare.sh verification and
README codename
Agent-Logs-Url: https://github.com/phusion/baseimage-docker/sessions/f25d0dfd-2691-466f-8dcc-1075a4824daf
Co-authored-by: Theaxiom <57013+Theaxiom@users.noreply.github.com>
---
README.md | 4 ++--
image/prepare.sh | 12 ++++++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 07fcaed..bdf4901 100644
--- a/README.md
+++ b/README.md
@@ -640,7 +640,7 @@ Then you can proceed with `make build` command.
### Ubuntu 26.04 LTS: Rust Coreutils and sudo-rs
-Ubuntu 26.04 LTS "Resolute Ringtail" introduced two significant changes compared to earlier Ubuntu releases:
+Ubuntu 26.04 LTS introduced two significant changes compared to earlier Ubuntu releases:
1. **Rust Coreutils (`uutils-coreutils`)** — Ubuntu 26.04 ships [uutils-coreutils](https://github.com/uutils/coreutils), a Rust-based reimplementation of the GNU Core Utilities (`ls`, `cp`, `mv`, `cat`, etc.), as the default `coreutils` package. This replaces the traditional [GNU Coreutils](https://www.gnu.org/software/coreutils/).
@@ -682,7 +682,7 @@ docker build --build-arg BASE_IMAGE=ubuntu:26.04 --build-arg INSTALL_GNU_COREUTI
Alternatively, you can install GNU Coreutils in your own Dockerfile that derives from a 26.04-based baseimage:
```Dockerfile
-FROM phusion/baseimage:resolute-1.0.0
+FROM phusion/baseimage:
# Replace uutils-coreutils with GNU Coreutils and sudo-rs with traditional sudo.
RUN apt-get update && \
diff --git a/image/prepare.sh b/image/prepare.sh
index 7af12a0..966b7c3 100755
--- a/image/prepare.sh
+++ b/image/prepare.sh
@@ -91,6 +91,18 @@ if grep -E '^ID=' /etc/os-release | grep -q ubuntu; then
fi
exit 1
fi
+ # Verify that GNU coreutils are now the active implementation on PATH.
+ # Some packages may install binaries under a non-default path and rely on
+ # update-alternatives; if so the replacement has not taken effect.
+ if ! ls --version 2>&1 | grep -qi 'gnu coreutils'; then
+ echo "*** ERROR: coreutils-gnu was installed but GNU coreutils are not active on PATH." >&2
+ echo "*** 'ls --version' does not report 'GNU coreutils'." >&2
+ echo "*** The package may place binaries outside the default PATH or require" >&2
+ echo "*** manual update-alternatives configuration. Check Ubuntu 26.04 packaging." >&2
+ exit 1
+ fi
+ LS_VER=$(ls --version | head -1)
+ echo "*** GNU Coreutils are active ($LS_VER)."
else
echo "*** Ubuntu 26.04 detected: using default uutils-coreutils (Rust) and sudo-rs (Rust)."
echo "*** Set INSTALL_GNU_COREUTILS=1 at build time to use GNU Coreutils and traditional sudo instead."