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."