diff --git a/bin/update_mirrorlist b/bin/update_mirrorlist index d1f489c..7318d1f 100755 --- a/bin/update_mirrorlist +++ b/bin/update_mirrorlist @@ -1,24 +1,15 @@ -#!/bin/sh -# Copyright (c) 2015, Rodolphe Breard -# Author: Rodolphe Breard -# -# Permission to use, copy, modify, and/or distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - pacman_dir="/etc/pacman.d" mirror_file="${pacman_dir}/mirrorlist" mirror_pacnew="${mirror_file}.pacnew" mirror_orig="${mirror_file}.orig" mirror_tmp="/tmp/mirrorlist.tmp" +rank_util="rankmirrors" + +if ! hash "$rank_util" 2>/dev/null; then + echo "$rank_util: command not found" >&2 + echo "You may need to install the 'pacman-contrib' package." >&2 + exit 1 +fi if [ -f "$mirror_pacnew" ]; then echo "Using $mirror_pacnew" @@ -30,7 +21,7 @@ if [ ! -f "$mirror_orig" ]; then exit 1 fi -grep 'Server' "$mirror_orig" | tr -d "#" > "$mirror_tmp" -rankmirrors -n 6 "$mirror_tmp" > "$mirror_file" +awk '/^## France$/{f=1}f==0{next}/^$/{exit}{print substr($0, 2)}' "$mirror_orig" >"$mirror_tmp" +"$rank_util" -n 6 "$mirror_tmp" >"$mirror_file" rm -f "$mirror_tmp" pacman -Syy