diff options
Diffstat (limited to 'build')
-rwxr-xr-x | build/f_isoroot/f_repobuild/select_ubuntu_repo.sh | 26 |
1 files changed, 23 insertions, 3 deletions
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 |