diff --git a/install1.sh b/install1.sh index 169cae5..f0ac0a1 100644 --- a/install1.sh +++ b/install1.sh @@ -81,9 +81,17 @@ cat > /etc/pacman.d/mirrorlist << 'EOF' ## Generated on install ## EOF -if ! reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist || ! grep -q "^Server" /etc/pacman.d/mirrorlist; then - echo "Warning: reflector failed or produced empty mirrorlist, restoring backup mirrorlist" +if reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist 2>/dev/null; then + sed -i -e '/^\[/d' -e '/^#/!{/^Server/!d}' /etc/pacman.d/mirrorlist + if ! grep -q "^Server" /etc/pacman.d/mirrorlist; then + echo "Warning: reflector produced invalid mirrorlist, restoring backup" + cp /etc/pacman.d/mirrorlist.backup /etc/pacman.d/mirrorlist + sed -i -e '/^\[/d' -e '/^#/!{/^Server/!d}' /etc/pacman.d/mirrorlist + fi +else + echo "Warning: reflector failed, restoring backup mirrorlist" cp /etc/pacman.d/mirrorlist.backup /etc/pacman.d/mirrorlist + sed -i -e '/^\[/d' -e '/^#/!{/^Server/!d}' /etc/pacman.d/mirrorlist fi # install arch diff --git a/install2.sh b/install2.sh index e883106..865a043 100644 --- a/install2.sh +++ b/install2.sh @@ -32,7 +32,18 @@ cat > /etc/pacman.d/mirrorlist << 'EOF' ## Generated on install ## EOF -reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist +if reflector -a 48 -c "US" -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist 2>/dev/null; then + sed -i -e '/^\[/d' -e '/^#/!{/^Server/!d}' /etc/pacman.d/mirrorlist + if ! grep -q "^Server" /etc/pacman.d/mirrorlist; then + echo "Warning: reflector produced invalid mirrorlist, restoring backup" + cp /etc/pacman.d/mirrorlist.backup /etc/pacman.d/mirrorlist + sed -i -e '/^\[/d' -e '/^#/!{/^Server/!d}' /etc/pacman.d/mirrorlist + fi +else + echo "Warning: reflector failed, restoring backup mirrorlist" + cp /etc/pacman.d/mirrorlist.backup /etc/pacman.d/mirrorlist + sed -i -e '/^\[/d' -e '/^#/!{/^Server/!d}' /etc/pacman.d/mirrorlist +fi sed -i 's/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen locale-gen