7 test -n "$DEBUG" && echo "$@" >&2
10 # Check mirror's integrity
14 for packdir in dists/trusty-updates/main/binary-amd64 \
15 dists/trusty-updates/restricted/binary-amd64 \
16 dists/trusty-updates/universe/binary-amd64 \
17 dists/trusty-updates/multiverse/binary-amd64 \
18 dists/trusty-security/main/binary-amd64 \
19 dists/trusty-security/restricted/binary-amd64 \
20 dists/trusty-security/universe/binary-amd64 \
21 dists/trusty-security/multiverse/binary-amd64 \
22 dists/trusty-proposed/main/binary-amd64 \
23 dists/trusty-proposed/restricted/binary-amd64 \
24 dists/trusty-proposed/universe/binary-amd64 \
25 dists/trusty-proposed/multiverse/binary-amd64 \
26 dists/trusty/main/binary-amd64 \
27 dists/trusty/restricted/binary-amd64 \
28 dists/trusty/universe/binary-amd64 \
29 dists/trusty/multiverse/binary-amd64 \
30 dists/trusty-backports/main/binary-amd64 \
31 dists/trusty-backports/restricted/binary-amd64 \
32 dists/trusty-backports/universe/binary-amd64 \
33 dists/trusty-backports/multiverse/binary-amd64
35 for packfile in Release Packages.gz
37 if [ $status -ne 1 ]; then
38 curl --output /dev/null --silent --head --fail \
39 $mirror/$packdir/$packfile
41 debugmsg "$mirror: Faulty (at least missing $packdir/$packfile)"
50 if [ "$1" == "-d" ]; then
54 # Hardcode for testing purposes
57 TMPFILE=$(mktemp /tmp/mirrorsXXXXX)A
60 # Generated a list of mirrors considered as "up"
61 curl -s https://launchpad.net/ubuntu/+archivemirrors | \
62 grep -P -B8 "statusUP|statusSIX" | \
63 grep -o -P "(f|ht)tp.*\"" | \
64 sed 's/"$//' | sort | uniq > $TMPFILE
66 # Iterate over "close" mirror, check that they are considered up
68 for url in $(curl -s http://mirrors.ubuntu.com/mirrors.txt)
70 grep -q $url $TMPFILE || debugmsg "$url Faulty (detected by Ubuntu)"
71 if [ -z $BESTURL ]; then
72 if grep -q $url $TMPFILE && check_mirror $url; then
73 debugmsg "$url: OK (setting as primary URL)"
75 test -z "$DEBUG" && break
78 grep -q $url $TMPFILE && check_mirror $url && debugmsg "$url: OK"