From 7d655d9f2d554d39dbff915382d271530f2f4ee5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 18 May 2026 09:04:48 +0000 Subject: [PATCH 1/3] Initial plan From 50b53cc585681949acae1e6af730d5c726da718b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 18 May 2026 09:07:06 +0000 Subject: [PATCH 2/3] fix: make bubblewrap conditionally installed on RedHat-based systems bubblewrap is not available in UBI repositories, causing common-utils installation to fail on UBI base images. This change checks package availability before adding bubblewrap to the install list, following the same pattern used for compat-openssl10 and redhat-lsb-core. Also adds a test scenario for UBI 8 image. --- src/common-utils/main.sh | 6 +++++- test/common-utils/scenarios.json | 7 +++++++ test/common-utils/ubi-8.sh | 16 ++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 test/common-utils/ubi-8.sh diff --git a/src/common-utils/main.sh b/src/common-utils/main.sh index eab75ced3..5e5487aa2 100644 --- a/src/common-utils/main.sh +++ b/src/common-utils/main.sh @@ -216,9 +216,13 @@ install_redhat_packages() { which \ man-db \ strace \ - bubblewrap \ socat" + # Install bubblewrap if available (not present in UBI repositories) + if ${install_cmd} -q list bubblewrap >/dev/null 2>&1; then + package_list="${package_list} bubblewrap" + fi + # rockylinux:9 installs 'curl-minimal' which clashes with 'curl' # Install 'curl' for every OS except this rockylinux:9 if [[ "${ID}" = "rocky" ]] && [[ "${VERSION}" != *"9."* ]]; then diff --git a/test/common-utils/scenarios.json b/test/common-utils/scenarios.json index ee138ca22..c70c574a7 100644 --- a/test/common-utils/scenarios.json +++ b/test/common-utils/scenarios.json @@ -284,5 +284,12 @@ "features": { "common-utils": {} } + }, + "ubi-8": { + "image": "registry.access.redhat.com/ubi8/ubi:8.10", + "remoteUser": "devcontainer", + "features": { + "common-utils": {} + } } } \ No newline at end of file diff --git a/test/common-utils/ubi-8.sh b/test/common-utils/ubi-8.sh new file mode 100644 index 000000000..d97e614a7 --- /dev/null +++ b/test/common-utils/ubi-8.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -e + +# Optional: Import test library +source dev-container-features-test-lib + +# Definition specific tests +. /etc/os-release +check "non-root user" test "$(whoami)" = "devcontainer" +check "distro" test "${PLATFORM_ID}" = "platform:el8" +check "curl" curl --version +check "jq" jq --version + +# Report result +reportResults From 57051721daf020abac5e91e7ef351fabfac653f5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 18 May 2026 09:09:48 +0000 Subject: [PATCH 3/3] chore: bump common-utils version to 2.5.9 --- src/common-utils/devcontainer-feature.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common-utils/devcontainer-feature.json b/src/common-utils/devcontainer-feature.json index 92d47fc3c..5b56f6184 100644 --- a/src/common-utils/devcontainer-feature.json +++ b/src/common-utils/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "common-utils", - "version": "2.5.8", + "version": "2.5.9", "name": "Common Utilities", "documentationURL": "https://github.com/devcontainers/features/tree/main/src/common-utils", "description": "Installs a set of common command line utilities, Oh My Zsh!, and sets up a non-root user.",