From da535e0f5c60be3905e820219d7819bdb4dfb051 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 02:48:12 +0000 Subject: [PATCH 2/6] Fix docker-compose command not found by creating wrapper for docker-compose-plugin Co-authored-by: ShaYmez <76499782+ShaYmez@users.noreply.github.com> --- hblink3-docker-install.sh | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/hblink3-docker-install.sh b/hblink3-docker-install.sh index 98c9deb..1548c5e 100755 --- a/hblink3-docker-install.sh +++ b/hblink3-docker-install.sh @@ -97,14 +97,27 @@ install_docker_and_dependencies() { if [ $version -ge 12 ]; then # For Debian 12+ use docker-compose-plugin or install from GitHub # Note: We prefer docker-compose-plugin from apt repos when available for security - apt-get install -y docker-compose-plugin 2>/dev/null || { + if apt-get install -y docker-compose-plugin 2>/dev/null; then + echo "docker-compose-plugin installed successfully" + # Create wrapper script for docker-compose command compatibility + # docker-compose-plugin provides 'docker compose' but scripts use 'docker-compose' + if [ ! -f /usr/local/bin/docker-compose ]; then + echo "Creating docker-compose wrapper script..." + cat > /usr/local/bin/docker-compose << 'EOF' +#!/bin/sh +# Wrapper script to provide docker-compose command using docker compose plugin +exec docker compose "$@" +EOF + chmod +x /usr/local/bin/docker-compose + fi + else echo "Installing docker-compose from GitHub releases..." # Fallback to GitHub releases for official Docker Compose binary # Downloaded from official Docker GitHub repository over HTTPS curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m) -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose 2>/dev/null || true - } + fi else # For Debian 10-11 use apt package apt-get install -y docker-compose From 1cca6057c48b2c6c76a778fb9ac020b99004f5c2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 02:49:34 +0000 Subject: [PATCH 3/6] Add error handling for docker-compose wrapper creation Co-authored-by: ShaYmez <76499782+ShaYmez@users.noreply.github.com> --- hblink3-docker-install.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hblink3-docker-install.sh b/hblink3-docker-install.sh index 1548c5e..2550b72 100755 --- a/hblink3-docker-install.sh +++ b/hblink3-docker-install.sh @@ -108,7 +108,13 @@ install_docker_and_dependencies() { # Wrapper script to provide docker-compose command using docker compose plugin exec docker compose "$@" EOF - chmod +x /usr/local/bin/docker-compose + if [ $? -eq 0 ] && [ -f /usr/local/bin/docker-compose ]; then + chmod +x /usr/local/bin/docker-compose + echo "docker-compose wrapper created successfully" + else + echo "ERROR: Failed to create docker-compose wrapper script" + exit 1 + fi fi else echo "Installing docker-compose from GitHub releases..." From 7235442b54a8e7a1f60e70b34ffc7964dfe27e3d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 02:51:58 +0000 Subject: [PATCH 4/6] Simplify error check for wrapper creation to only use file existence test Co-authored-by: ShaYmez <76499782+ShaYmez@users.noreply.github.com> --- hblink3-docker-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hblink3-docker-install.sh b/hblink3-docker-install.sh index 2550b72..297fc3a 100755 --- a/hblink3-docker-install.sh +++ b/hblink3-docker-install.sh @@ -108,7 +108,7 @@ install_docker_and_dependencies() { # Wrapper script to provide docker-compose command using docker compose plugin exec docker compose "$@" EOF - if [ $? -eq 0 ] && [ -f /usr/local/bin/docker-compose ]; then + if [ -f /usr/local/bin/docker-compose ]; then chmod +x /usr/local/bin/docker-compose echo "docker-compose wrapper created successfully" else From 1424e5e8f03c4f523ea37bd583a8bcbffd88bb8d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 02:54:25 +0000 Subject: [PATCH 5/6] Improve wrapper creation: check cat exit status directly and add skip message Co-authored-by: ShaYmez <76499782+ShaYmez@users.noreply.github.com> --- hblink3-docker-install.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hblink3-docker-install.sh b/hblink3-docker-install.sh index 297fc3a..25fb403 100755 --- a/hblink3-docker-install.sh +++ b/hblink3-docker-install.sh @@ -103,18 +103,20 @@ install_docker_and_dependencies() { # docker-compose-plugin provides 'docker compose' but scripts use 'docker-compose' if [ ! -f /usr/local/bin/docker-compose ]; then echo "Creating docker-compose wrapper script..." - cat > /usr/local/bin/docker-compose << 'EOF' + if cat > /usr/local/bin/docker-compose << 'EOF' #!/bin/sh # Wrapper script to provide docker-compose command using docker compose plugin exec docker compose "$@" EOF - if [ -f /usr/local/bin/docker-compose ]; then + then chmod +x /usr/local/bin/docker-compose echo "docker-compose wrapper created successfully" else echo "ERROR: Failed to create docker-compose wrapper script" exit 1 fi + else + echo "docker-compose command already exists, skipping wrapper creation" fi else echo "Installing docker-compose from GitHub releases..." From 41540e3d9ef92690bcf29e4ca65af3dacbb877f0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Dec 2025 02:56:24 +0000 Subject: [PATCH 6/6] Add clarifying comments to address code review feedback Co-authored-by: ShaYmez <76499782+ShaYmez@users.noreply.github.com> --- hblink3-docker-install.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hblink3-docker-install.sh b/hblink3-docker-install.sh index 25fb403..73304e3 100755 --- a/hblink3-docker-install.sh +++ b/hblink3-docker-install.sh @@ -101,8 +101,11 @@ install_docker_and_dependencies() { echo "docker-compose-plugin installed successfully" # Create wrapper script for docker-compose command compatibility # docker-compose-plugin provides 'docker compose' but scripts use 'docker-compose' + # Note: Using single quotes in heredoc ('EOF') prevents variable expansion for robustness if [ ! -f /usr/local/bin/docker-compose ]; then echo "Creating docker-compose wrapper script..." + # Create wrapper that forwards all commands to 'docker compose' + # Exit on failure is intentional - without this wrapper, all control scripts will fail if cat > /usr/local/bin/docker-compose << 'EOF' #!/bin/sh # Wrapper script to provide docker-compose command using docker compose plugin @@ -116,6 +119,8 @@ EOF exit 1 fi else + # Skip wrapper creation if docker-compose already exists + # This preserves existing installations (from apt or manual install) echo "docker-compose command already exists, skipping wrapper creation" fi else