X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=build%2Ff_isoroot%2Ff_repobuild%2Fselect_ubuntu_repo.sh;h=540f7ebce1e49a343be7ace797da49826648f8e6;hb=093786068023914a3df555ded133abf8871c6d09;hp=cb05fe136168ab8ea6bfa4d04f43ce34e2475ad8;hpb=ce32b60906075b9471e9ebdb035998fd20afacc6;p=fuel.git diff --git a/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh b/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh index cb05fe136..540f7ebce 100755 --- a/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh +++ b/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh @@ -1,5 +1,12 @@ #!/bin/bash - +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# mskalski@mirantis.com +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## RSYNC="rsync -4 --contimeout 5 --no-motd --list-only" # try to choose close ubuntu mirror which support rsync protocol @@ -11,23 +18,50 @@ RSYNC="rsync -4 --contimeout 5 --no-motd --list-only" # local mirror can be found after four attempts, the default archive # is returned instead. +# Some Ubuntu mirrors seem less reliable for this type of mirroring - +# as they are discoved they can be added to the blacklist below in order +# for them not to be considered. +BLACKLIST="mirrors.se.eu.kernel.org" + +return_url=0 + +while [ "$1" != "" ]; do + case $1 in + -u | --url ) shift + return_url=1 + ;; + # Shift all the parameters down by one + esac + shift +done + cnt=0 while [ $cnt -lt 4 ] do for url in $(curl -s http://mirrors.ubuntu.com/mirrors.txt) do host=$(echo $url | cut -d'/' -f3) + echo ${BLACKLIST} | grep -q ${host} && continue if $RSYNC "${host}::ubuntu/." &> /dev/null then if ! $RSYNC "${host}::ubuntu/Archive-Update-in-Progress*" &> /dev/null then - echo "$host" - exit 0 + if [ "$return_url" = "1" ]; then + echo "$url" + exit 0 + else + echo "$host" + exit 0 + fi fi fi done cnt=$[cnt + 1] sleep 15 done -echo "archive.ubuntu.com" +if [ "$return_url" = "1" ]; then + echo "http://archive.ubuntu.com/ubuntu/" +else + echo "archive.ubuntu.com" +fi