From f975a12c3127ef066867fa8fffe6800ffa1ccb7a Mon Sep 17 00:00:00 2001 From: root Date: Sun, 3 May 2026 10:25:17 +0000 Subject: [PATCH] Repair broken Ubuntu apt mirrors in build menu --- contrib/agrarian-build-menu.sh | 62 ++++++++++++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 2 deletions(-) diff --git a/contrib/agrarian-build-menu.sh b/contrib/agrarian-build-menu.sh index 4ff8e679..fc1da2ee 100755 --- a/contrib/agrarian-build-menu.sh +++ b/contrib/agrarian-build-menu.sh @@ -404,6 +404,64 @@ EOF echo "Added $source_file" } +disable_known_bad_ubuntu_mirrors() { + local files=() + local file backup temp_file + + [[ -e /etc/apt/sources.list ]] && files+=("/etc/apt/sources.list") + for file in /etc/apt/sources.list.d/*.list /etc/apt/sources.list.d/*.sources; do + [[ -e "$file" ]] && files+=("$file") + done + + for file in "${files[@]}"; do + if grep -q 'asi-fs-w\.contabo\.net/ubuntu' "$file" 2>/dev/null; then + backup="$file.agrarian-disabled" + temp_file="$(mktemp)" + if [[ "$file" == *.sources ]]; then + cat > "$temp_file" < "$temp_file" + fi + sudo_cmd cp "$file" "$backup" + sudo_cmd install -m 0644 "$temp_file" "$file" + rm -f "$temp_file" + echo "Disabled broken Ubuntu mirror in $file" + fi + done +} + +repair_ubuntu_apt_on_failure() { + local reason="$1" + + cat >&2 <&2 <