diff options
Diffstat (limited to 'configs/releng/airootfs/usr/local/bin/choose-mirror')
-rwxr-xr-x | configs/releng/airootfs/usr/local/bin/choose-mirror | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/configs/releng/airootfs/usr/local/bin/choose-mirror b/configs/releng/airootfs/usr/local/bin/choose-mirror new file mode 100755 index 0000000..2f881e4 --- /dev/null +++ b/configs/releng/airootfs/usr/local/bin/choose-mirror @@ -0,0 +1,29 @@ +#!/bin/bash +# +# SPDX-License-Identifier: GPL-3.0-or-later + +get_cmdline() { + local param + for param in $(</proc/cmdline); do + case "${param}" in + "${1}="*) + echo "${param##*=}" + return 0 + ;; + esac + done +} + +mirror="$(get_cmdline mirror)" +[[ "$mirror" == 'auto' ]] && mirror="$(get_cmdline parabolaiso_http_srv)" +[[ -n "$mirror" ]] || exit 0 + +mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig +cat >/etc/pacman.d/mirrorlist <<EOF +# +# Parabola GNU/Linux-libre repository mirrorlist +# Generated by parabolaiso +# + +Server = ${mirror%%/}/\$repo/os/\$arch +EOF |