From e9683c7ef6717ab0634cc5f58f609bbb3e74f85d Mon Sep 17 00:00:00 2001 From: Attila Gombos Date: Sat, 21 Mar 2026 15:37:10 +0100 Subject: [PATCH 1/4] Run apt_check by dpkgdeps before apt_update --- build_tools/dpkgdeps_src/dpkgdeps/dpkgdeps.py | 1 + 1 file changed, 1 insertion(+) diff --git a/build_tools/dpkgdeps_src/dpkgdeps/dpkgdeps.py b/build_tools/dpkgdeps_src/dpkgdeps/dpkgdeps.py index 59997e2..784a358 100755 --- a/build_tools/dpkgdeps_src/dpkgdeps/dpkgdeps.py +++ b/build_tools/dpkgdeps_src/dpkgdeps/dpkgdeps.py @@ -247,6 +247,7 @@ def _persistor(): def install_in_root(arch: str, runner, allDeps, **kwargs): pkgs = [d.specStr() for d in allDeps] + runner(arch, "apt_check") runner( arch, "retry", "apt_update", condition=check_install_manifest(pkgs, **kwargs) ) From 2c259bb9cdb57f37de9aade7aa6a8f11f187ca89 Mon Sep 17 00:00:00 2001 From: Attila Gombos Date: Sat, 21 Mar 2026 16:31:16 +0100 Subject: [PATCH 2/4] Run apt_check by dpkgdeps before apt_update --- Dockerfile | 2 +- Dockerfile-cross | 2 +- apt_check | 51 +++++++++++++++++++++++++++++++++++------------- 3 files changed, 39 insertions(+), 16 deletions(-) diff --git a/Dockerfile b/Dockerfile index 77a2f00..6e91704 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ COPY --chmod=0755 retry /usr/local/bin/retry COPY --chmod=0755 apt_check /usr/local/bin/apt_check COPY --chmod=0755 apt_update /usr/local/bin/apt_update COPY --chmod=0755 apt_install /usr/local/bin/apt_install -RUN apt_update && apt_install -y wget iproute2 && apt_check +RUN apt_update && apt_install -y curl wget iproute2 netcat-openbsd && apt_check # Checks if the 'crossbuilder' user exists. RUN if ! id crossbuilder 2>/dev/null;then \ diff --git a/Dockerfile-cross b/Dockerfile-cross index 8713140..630ed61 100644 --- a/Dockerfile-cross +++ b/Dockerfile-cross @@ -15,7 +15,7 @@ COPY --chmod=0755 retry /usr/local/bin/retry COPY --chmod=0755 apt_check /usr/local/bin/apt_check COPY --chmod=0755 apt_update /usr/local/bin/apt_update COPY --chmod=0755 apt_install /usr/local/bin/apt_install -RUN apt_update && apt_install -y wget iproute2 && apt_check +RUN apt_update && apt_install -y curl wget iproute2 netcat-openbsd && apt_check RUN groupadd -g $BUILD_GID crossbuilder RUN useradd -d /home/crossbuilder -m -g $BUILD_GID -u $BUILD_UID -s /bin/bash crossbuilder diff --git a/apt_check b/apt_check index f20d7ba..b2b0d86 100755 --- a/apt_check +++ b/apt_check @@ -1,36 +1,59 @@ #!/bin/bash -set -e - REPO_HOST="aptrepo.effective-range.com" +echo -n "ℹ️ Runner public IP: " +curl -s https://api.ipify.org +echo + +echo + +echo "ℹ️ Checking DNS resolution for $REPO_HOST..." DNS_RESULT=$(getent hosts "$REPO_HOST") +echo "$DNS_RESULT" if [ -z "$DNS_RESULT" ]; then - echo "[ERROR] DNS resolution failed for $REPO_HOST" >&2 + echo "❌ DNS resolution failed for $REPO_HOST" >&2 exit 1 else - echo "[INFO] DNS resolution for $REPO_HOST: $DNS_RESULT" + echo "✅ DNS resolution successful for $REPO_HOST" REPO_IP=$(echo "$DNS_RESULT" | awk '{print $1}') fi +echo + +echo "ℹ️ Checking route to host $REPO_HOST..." ROUTE_RESULT=$(ip route get "$REPO_IP" 2>&1) if [ $? -ne 0 ]; then - echo "[ERROR] No route to host $REPO_HOST ($REPO_IP)" >&2 - echo "$ROUTE_RESULT" + echo "$ROUTE_RESULT" | head -n 1 + echo "❌ No route to host $REPO_HOST ($REPO_IP)" >&2 exit 2 else - echo "[INFO] Route to $REPO_HOST ($REPO_IP):" - echo "$ROUTE_RESULT" + echo "$ROUTE_RESULT" | head -n 1 + echo "✅ Found route to host $REPO_HOST ($REPO_IP)" fi -KEY_URL="http://$REPO_HOST/effectiverange.gpg.key" -echo "[INFO] Checking HTTP connectivity to $KEY_URL..." -if ! wget --spider --timeout=10 --tries=2 "$KEY_URL"; then - echo "[ERROR] Failed to fetch $KEY_URL" >&2 +echo + +echo "ℹ️ Checking TCP connectivity to $REPO_HOST..." +if ! nc -vz -w 5 "$REPO_IP" 80; then + echo "❌ TCP connectivity to $REPO_HOST ($REPO_IP) on port 80 failed" >&2 exit 3 else - echo "[INFO] Successfully fetched $KEY_URL" + echo "✅ TCP connectivity to $REPO_HOST ($REPO_IP) on port 80 is successful" fi -echo "[INFO] All connectivity checks passed for $REPO_HOST" +echo + +KEY_URL="http://$REPO_HOST/effectiverange.gpg.key" +echo "ℹ️ Checking HTTP connectivity to $KEY_URL..." +if ! wget -nv --spider --timeout=10 --tries=2 "$KEY_URL"; then + echo "❌ Failed to fetch $KEY_URL" >&2 + exit 4 +else + echo "✅ Successfully fetched $KEY_URL" +fi + +echo + +echo "✅ All connectivity checks passed for $REPO_HOST" exit 0 From 7a165d2848194f44b215e45f38f38d0a3900335c Mon Sep 17 00:00:00 2001 From: Attila Gombos Date: Sat, 21 Mar 2026 17:30:37 +0100 Subject: [PATCH 3/4] Run apt_check by dpkgdeps before apt_update --- scripts/build_steps_arm64/00-debootstrap_cross | 2 ++ scripts/build_steps_armhf/00-debootstrap_cross | 2 ++ 2 files changed, 4 insertions(+) diff --git a/scripts/build_steps_arm64/00-debootstrap_cross b/scripts/build_steps_arm64/00-debootstrap_cross index 2220bb1..7049ccf 100755 --- a/scripts/build_steps_arm64/00-debootstrap_cross +++ b/scripts/build_steps_arm64/00-debootstrap_cross @@ -22,8 +22,10 @@ fi cp /usr/local/bin/retry /var/chroot/buildroot/usr/local/bin/retry +cp /usr/local/bin/apt_check /var/chroot/buildroot/usr/local/bin/apt_check cp /usr/local/bin/apt_update /var/chroot/buildroot/usr/local/bin/apt_update cp /usr/local/bin/apt_install /var/chroot/buildroot/usr/local/bin/apt_install chmod 0755 /var/chroot/buildroot/usr/local/bin/retry +chmod 0755 /var/chroot/buildroot/usr/local/bin/apt_check chmod 0755 /var/chroot/buildroot/usr/local/bin/apt_update chmod 0755 /var/chroot/buildroot/usr/local/bin/apt_install diff --git a/scripts/build_steps_armhf/00-debootstrap_cross b/scripts/build_steps_armhf/00-debootstrap_cross index bd07949..53abe9e 100755 --- a/scripts/build_steps_armhf/00-debootstrap_cross +++ b/scripts/build_steps_armhf/00-debootstrap_cross @@ -44,8 +44,10 @@ fi chroot /var/chroot/buildroot /debootstrap/debootstrap --second-stage cp /usr/local/bin/retry /var/chroot/buildroot/usr/local/bin/retry +cp /usr/local/bin/apt_check /var/chroot/buildroot/usr/local/bin/apt_check cp /usr/local/bin/apt_update /var/chroot/buildroot/usr/local/bin/apt_update cp /usr/local/bin/apt_install /var/chroot/buildroot/usr/local/bin/apt_install chmod 0755 /var/chroot/buildroot/usr/local/bin/retry +chmod 0755 /var/chroot/buildroot/usr/local/bin/apt_check chmod 0755 /var/chroot/buildroot/usr/local/bin/apt_update chmod 0755 /var/chroot/buildroot/usr/local/bin/apt_install From 8ec124d1f93f42ffacca44be10e8c1b21d969697 Mon Sep 17 00:00:00 2001 From: Attila Gombos Date: Sat, 21 Mar 2026 17:57:02 +0100 Subject: [PATCH 4/4] Avoid running check in buildroot --- build_tools/dpkgdeps_src/dpkgdeps/dpkgdeps.py | 2 +- scripts/build_steps_arm64/00-debootstrap_cross | 2 -- scripts/build_steps_armhf/00-debootstrap_cross | 2 -- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/build_tools/dpkgdeps_src/dpkgdeps/dpkgdeps.py b/build_tools/dpkgdeps_src/dpkgdeps/dpkgdeps.py index 784a358..c3a3e77 100755 --- a/build_tools/dpkgdeps_src/dpkgdeps/dpkgdeps.py +++ b/build_tools/dpkgdeps_src/dpkgdeps/dpkgdeps.py @@ -247,7 +247,6 @@ def _persistor(): def install_in_root(arch: str, runner, allDeps, **kwargs): pkgs = [d.specStr() for d in allDeps] - runner(arch, "apt_check") runner( arch, "retry", "apt_update", condition=check_install_manifest(pkgs, **kwargs) ) @@ -267,6 +266,7 @@ def install_in_buildroot(args, allDeps): def install_in_hostroot(args, allDeps): + run_in_hostroot_with_lock(build_arch, "apt_check") install_in_root(build_arch, run_in_hostroot_with_lock, allDeps, side="host") diff --git a/scripts/build_steps_arm64/00-debootstrap_cross b/scripts/build_steps_arm64/00-debootstrap_cross index 7049ccf..2220bb1 100755 --- a/scripts/build_steps_arm64/00-debootstrap_cross +++ b/scripts/build_steps_arm64/00-debootstrap_cross @@ -22,10 +22,8 @@ fi cp /usr/local/bin/retry /var/chroot/buildroot/usr/local/bin/retry -cp /usr/local/bin/apt_check /var/chroot/buildroot/usr/local/bin/apt_check cp /usr/local/bin/apt_update /var/chroot/buildroot/usr/local/bin/apt_update cp /usr/local/bin/apt_install /var/chroot/buildroot/usr/local/bin/apt_install chmod 0755 /var/chroot/buildroot/usr/local/bin/retry -chmod 0755 /var/chroot/buildroot/usr/local/bin/apt_check chmod 0755 /var/chroot/buildroot/usr/local/bin/apt_update chmod 0755 /var/chroot/buildroot/usr/local/bin/apt_install diff --git a/scripts/build_steps_armhf/00-debootstrap_cross b/scripts/build_steps_armhf/00-debootstrap_cross index 53abe9e..bd07949 100755 --- a/scripts/build_steps_armhf/00-debootstrap_cross +++ b/scripts/build_steps_armhf/00-debootstrap_cross @@ -44,10 +44,8 @@ fi chroot /var/chroot/buildroot /debootstrap/debootstrap --second-stage cp /usr/local/bin/retry /var/chroot/buildroot/usr/local/bin/retry -cp /usr/local/bin/apt_check /var/chroot/buildroot/usr/local/bin/apt_check cp /usr/local/bin/apt_update /var/chroot/buildroot/usr/local/bin/apt_update cp /usr/local/bin/apt_install /var/chroot/buildroot/usr/local/bin/apt_install chmod 0755 /var/chroot/buildroot/usr/local/bin/retry -chmod 0755 /var/chroot/buildroot/usr/local/bin/apt_check chmod 0755 /var/chroot/buildroot/usr/local/bin/apt_update chmod 0755 /var/chroot/buildroot/usr/local/bin/apt_install