diff options
author | MatMoul <13386289+MatMoul@users.noreply.github.com> | 2019-12-14 23:56:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-14 23:56:18 +0100 |
commit | 3c0bffdcd0573182ea395f10aebf9d109ab4828a (patch) | |
tree | 8a35af6d6a480cffc9c5cffe029f7a1250b394a8 | |
parent | c2ee2dea2beeff069e7adf9afa8ca102a9b1fe48 (diff) | |
parent | 47a734cb2facb7949e70b789efe28bf9adbd3c09 (diff) | |
download | hyperfi-3c0bffdcd0573182ea395f10aebf9d109ab4828a.tar.lz hyperfi-3c0bffdcd0573182ea395f10aebf9d109ab4828a.tar.xz hyperfi-3c0bffdcd0573182ea395f10aebf9d109ab4828a.zip |
Merge pull request #86 from mipimipi/src
Select mirrors by country
-rw-r--r-- | archfi | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -725,6 +725,7 @@ installmenu(){ nextitem=${1} fi options=() + options+=("${txtselectmirrorsbycountry}" "(${txtoptional})") options+=("${txteditmirrorlist}" "(${txtoptional})") options+=("${txtinstallarchlinux}" "pacstrap base kernel") options+=("${txtinstallfirmware}" "(${txtoptional}) pacstrap linux-firmware") @@ -734,6 +735,10 @@ installmenu(){ 3>&1 1>&2 2>&3) if [ "$?" = "0" ]; then case ${sel} in + "${txtselectmirrorsbycountry}") + selectmirrorsbycountry + nextitem="${txtinstallarchlinux}" + ;; "${txteditmirrorlist}") ${EDITOR} /etc/pacman.d/mirrorlist nextitem="${txtinstallarchlinux}" @@ -758,6 +763,25 @@ installmenu(){ fi } +selectmirrorsbycountry() { + if [[ ! -f /etc/pacman.d/mirrorlist.backup ]]; then + cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup + fi + items=$( sed -n "/^##.*/N; {s/^## \(.*\)\nServer.*/\1/p}" < /etc/pacman.d/mirrorlist.backup | sort -u ) + options=() + IFS_ORIG=$IFS + IFS=$'\n' + for item in ${items}; do + options+=("${item}" "") + done + IFS=$IFS_ORIG + country=$(whiptail --backtitle "${APPTITLE}" --title "${txtselectcountry}" --menu "" 0 0 0 "${options[@]}" 3>&1 1>&2 2>&3) + if [ "$?" != "0" ]; then + return 1 + fi + sed "s/^\(Server .*\)/\#\1/;/^## $country/N; {s/^\(## .*\n\)\#Server \(.*\)/\1Server \2/}" < /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist +} + installbase(){ clear pkgs="base" @@ -1746,6 +1770,8 @@ loadstrings(){ txtarchinstallmenu="Arch Install Menu" + txtselectmirrorsbycountry="Select mirrors by country" + txtselectcountry="Select country" txteditmirrorlist="Edit mirrorlist" txtinstallarchlinux="Install Arch Linux" txtinstallfirmware="Install Firmware" |