country code error
testing i found the script breaks when using the following command:
bash -x refremir -fc -m 25
appears that if you attempt to designate a country but don't there's no default entered and it bonks.
happens only if you set the -f flag for reflector usage. the below command doesnt error:
bash -x refremir -c m 25
maybe set the -c to whatever the geo kde finds unless otherwise designated?
think thats what's happening if you do set -fc but no country??
bash -x refremir -fc -m 25 3m26s
+ set -eu
+ _scName=refremir
+ _refremir_version='Version 0.1a GPLv3'
++ cat
+ _refremir_help=$' refremir\n\n A script to source and sort mirrors for pacman distros\n\n Usage: refremir [OPTIONS]\n\n Options:\n -h --help\t\tDisplay this help message\n -p --print\t\tPrint output without applying\n -c --countries\t\tSet countries for initial tests\n -d --delay\t\tSet maximum hours of sync delay\n -f --reflector\t\tUse reflector backend\n -m --maxout\t\tSet maximum number of mirrors to output\n -n --nossl\t\tOnly include HTTP (non-ssl) mirrors\n -r --rate-mirrors\tUse rate-mirrors backend\n -s --ssl\t\tOnly include HTTPS/SSL mirrors\n -t --timeout\t\tSet maximum seconds before connection times out\n -v --verbose\t\tMore verbose output includes comments\n -V --version\t\tDisplay version information\n\n Examples:\n refremir\n refremir -p\n refremir -rsv\n refremir -r -m 20\n refremir --ssl --verbose\n refremir --help'
+ [[ -t 2 ]]
+ _refremir_clr_on
+ tput setaf 0
++ tput sgr0
+ ALL_OFF=$'\E(B\E[m'
++ tput bold
+ BOLD=$'\E[1m'
++ tput setaf 1
+ RED=$'\E[1m\E[31m'
++ tput setaf 2
+ GREEN=$'\E[1m\E[32m'
++ tput setaf 3
+ YELLOW=$'\E[1m\E[33m'
++ tput setaf 4
+ BLUE=$'\E[1m\E[34m'
+ readonly ALL_OFF BOLD BLUE GREEN RED YELLOW
+ declare -r MIRRORS_DEFAULT_DIR=/etc/pacman.d
+ _refremir_ranker=('rate-mirrors')
+ declare -a _refremir_ranker
+ _refremir_tmpfiles=()
+ declare -a _refremir_tmpfiles
+ trap _refremir_cleantrap EXIT
+ export RATE_MIRRORS_ALLOW_ROOT=true
+ RATE_MIRRORS_ALLOW_ROOT=true
+ export RATE_MIRRORS_DISABLE_COMMENTS=true
+ RATE_MIRRORS_DISABLE_COMMENTS=true
+ export RATE_MIRRORS_FETCH_MIRRORS_TIMEOUT=30000
+ RATE_MIRRORS_FETCH_MIRRORS_TIMEOUT=30000
+ export RATE_MIRRORS_MAX_DELAY=10000
+ RATE_MIRRORS_MAX_DELAY=10000
+ export _refremir_envprint=0
+ _refremir_envprint=0
+ export _refremir_envcount=0
+ _refremir_envcount=0
+ '[' 3 -gt 0 ']'
++ getopt -n refremir -o Vphc:d:fm:nrst:v --long version,print,help,countries:,delay:,reflector,maxout:,nossl,rate-mirrors,ssl,timeout:,verbose -- -fc -m 25
+ _refremir_getopt=' -f -c '\''-m'\'' -- '\''25'\'''
+ eval set -- ' -f -c '\''-m'\'' -- '\''25'\'''
++ set -- -f -c -m -- 25
+ true
+ case "$1" in
+ _refremir_ranker=("reflector")
+ shift
+ true
+ case "$1" in
+ _refremir_envcount=1
+ export RATE_MIRRORS_COUNTRY_TEST_MIRRORS_PER_COUNTRY=50
+ RATE_MIRRORS_COUNTRY_TEST_MIRRORS_PER_COUNTRY=50
+ export RATE_MIRRORS_COUNTRY_NEIGHBORS_PER_COUNTRY=0
+ RATE_MIRRORS_COUNTRY_NEIGHBORS_PER_COUNTRY=0
+ export RATE_MIRRORS_ENTRY_COUNTRY=-m
+ RATE_MIRRORS_ENTRY_COUNTRY=-m
+ [[ reflector == reflector ]]
+ _refremir_ranker+=("--country" "$2")
+ shift 2
+ true
+ case "$1" in
+ shift
+ break
+ [[ 1 != 1 ]]
+ _refremir_rank arch /etc/pacman.d/mirrorlist
+ local repo=arch
+ local path=/etc/pacman.d/mirrorlist
+ local TMPFILE=
+ _refremir_info 'Ranking mirrors for arch repository in /etc/pacman.d/mirrorlist...'
+ local 'mesg=Ranking mirrors for arch repository in /etc/pacman.d/mirrorlist...'
+ shift
+ printf $'\E[1m\E[33m -->\E(B\E[m\E[1m Ranking mirrors for arch repository in /etc/pacman.d/mirrorlist...\E(B\E[m\\n'
--> Ranking mirrors for arch repository in /etc/pacman.d/mirrorlist...
+ [[ 0 != 1 ]]
++ mktemp
+ TMPFILE=/tmp/tmp.L1JEeyHmZH
+ _refremir_tmpfiles+=("$TMPFILE")
+ _refremir_ranker+=("--save" "$TMPFILE")
+ [[ reflector == rate\-mirrors ]]
+ reflector --country -m --save /tmp/tmp.L1JEeyHmZH
usage: reflector [-h] [--connection-timeout n] [--download-timeout n] [--list-countries] [--cache-timeout n]
[--url URL] [--save <filepath>] [--sort {age,rate,country,score,delay}] [--threads n]
[--verbose] [--info] [-a n] [--delay n] [-c <country name or code>] [-f n] [-i <regex>]
[-x <regex>] [-l n] [--score n] [-n n] [-p <protocol>] [--completion-percent [0-100]] [--isos]
[--ipv4] [--ipv6]
reflector: error: argument -c/--country: expected one argument
+ _refremir_die 'rate-mirrors failed [errcode=2].'
+ (( 1 ))
+ _refremir_error 'rate-mirrors failed [errcode=2].'
+ local 'mesg=rate-mirrors failed [errcode=2].'
+ shift
+ printf $'\E[1m\E[31m==> ERROR:\E(B\E[m\E[1m rate-mirrors failed [errcode=2].\E(B\E[m\\n'
==> ERROR: rate-mirrors failed [errcode=2].
+ exit 1
+ _refremir_cleantrap
+ local tmpfile
+ for tmpfile in "${_refremir_tmpfiles[@]}"
+ rm -f -- /tmp/tmp.L1JEeyHmZH
[ble: exit 1]
Edited by destratified