aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatMoul <13386289+MatMoul@users.noreply.github.com>2019-12-14 23:56:18 +0100
committerGitHub <noreply@github.com>2019-12-14 23:56:18 +0100
commit3c0bffdcd0573182ea395f10aebf9d109ab4828a (patch)
tree8a35af6d6a480cffc9c5cffe029f7a1250b394a8
parentc2ee2dea2beeff069e7adf9afa8ca102a9b1fe48 (diff)
parent47a734cb2facb7949e70b789efe28bf9adbd3c09 (diff)
downloadhyperfi-3c0bffdcd0573182ea395f10aebf9d109ab4828a.tar.lz
hyperfi-3c0bffdcd0573182ea395f10aebf9d109ab4828a.tar.xz
hyperfi-3c0bffdcd0573182ea395f10aebf9d109ab4828a.zip
Merge pull request #86 from mipimipi/src
Select mirrors by country
-rw-r--r--archfi26
1 files changed, 26 insertions, 0 deletions
diff --git a/archfi b/archfi
index 7bf0b84..d34a86e 100644
--- a/archfi
+++ b/archfi
@@ -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"