#!/usr/bin/env bash set -euo pipefail IFS=$'\n\t' 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" mv "$mirror_pacnew" "$mirror_orig" fi if [ ! -f "$mirror_orig" ]; then echo "$mirror_orig: file not found" >&2 exit 1 fi 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