summaryrefslogtreecommitdiff
path: root/configs/releng/airootfs/usr/local/bin/choose-mirror
diff options
context:
space:
mode:
Diffstat (limited to 'configs/releng/airootfs/usr/local/bin/choose-mirror')
-rwxr-xr-xconfigs/releng/airootfs/usr/local/bin/choose-mirror29
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