From 32160e9a615bd8c5024e0732da11bd9fa6c78504 Mon Sep 17 00:00:00 2001 From: "Stefan K. Berg" Date: Tue, 11 Oct 2016 12:33:08 +0200 Subject: Re-introduce mirror blacklisting Some mirrors are misbehaving, for instance due to flood protection, which makes them unreliable. This change re-introduces the possibility to blacklist them locally. Change-Id: I7840ac0a622f2997395e54911685f9eea393dee4 Signed-off-by: Stefan K. Berg --- build/f_isoroot/f_repobuild/select_ubuntu_repo.sh | 26 ++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'build/f_isoroot/f_repobuild/select_ubuntu_repo.sh') diff --git a/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh b/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh index 10a841171..24bd42234 100755 --- a/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh +++ b/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh @@ -1,4 +1,8 @@ #!/bin/bash + +BLACKLIST="http://mirrors.se.eu.kernel.org/ubuntu/" +#BLACKLIST+=" http://foo.bar" + cleanup() { rm -f $TMPFILE } @@ -7,6 +11,19 @@ debugmsg() { test -n "$DEBUG" && echo "$@" >&2 } + +# Check if url is blacklisted in this script +blacklisted () { + for blackurl in $BLACKLIST + do + if [ "$1" == "$blackurl" ]; then + return 0 + fi + done + return 1 +} + + # Check mirror's integrity check_mirror () { mirror=$1 @@ -57,7 +74,7 @@ DEBUG=1 TMPFILE=$(mktemp /tmp/mirrorsXXXXX)A trap cleanup exit -# Generated a list of mirrors considered as "up" +# Generate a list of mirrors considered as "up" curl -s https://launchpad.net/ubuntu/+archivemirrors | \ grep -P -B8 "statusUP|statusSIX" | \ grep -o -P "(f|ht)tp.*\"" | \ @@ -67,8 +84,11 @@ curl -s https://launchpad.net/ubuntu/+archivemirrors | \ # and sane. for url in $(curl -s http://mirrors.ubuntu.com/mirrors.txt) do - grep -q $url $TMPFILE || debugmsg "$url Faulty (detected by Ubuntu)" - if [ -z $BESTURL ]; then + if ! grep -q $url $TMPFILE; then + debugmsg "$url Faulty (detected by Ubuntu)" + elif blacklisted $url; then + debugmsg "$url blacklisted" + elif [ -z $BESTURL ]; then if grep -q $url $TMPFILE && check_mirror $url; then debugmsg "$url: OK (setting as primary URL)" BESTURL=$url -- cgit 1.2.3-korg