aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-04-24 09:59:54 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-04-24 10:32:40 -0400
commit51f95d4e6496d299d4852d7659213fdcd8e131bc (patch)
tree8c8b16d435315a4447c08c2ca283d6091f884381
parent533359cea8fcc305e288ef67be5fa6362e8100e3 (diff)
downloadguix-51f95d4e6496d299d4852d7659213fdcd8e131bc.tar
guix-51f95d4e6496d299d4852d7659213fdcd8e131bc.tar.gz
guix-install.sh: Allow overriding the Guix binary source.
This is useful for example for testing release candidates not yet uploaded to the FTP, or for testing manually downloaded images from the CI. * etc/guix-install.sh (main)[GUIX_BINARY_FILE_NAME]: When this variable is defined, use it as the file name of a Guix binary, instead of automatically retrieving the latest archive from the FTP.
-rwxr-xr-xetc/guix-install.sh14
1 files changed, 11 insertions, 3 deletions
diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index 949ef7719f..168bf7234e 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -554,10 +554,18 @@ main()
umask 0022
tmp_path="$(mktemp -t -d guix.XXX)"
- guix_get_bin_list "${GNU_URL}"
- guix_get_bin "${GNU_URL}" "${BIN_VER}" "$tmp_path"
+ if [ -z "${GUIX_BINARY_FILE_NAME}" ]; then
+ guix_get_bin_list "${GNU_URL}"
+ guix_get_bin "${GNU_URL}" "${BIN_VER}" "$tmp_path"
+ GUIX_BINARY_FILE_NAME=${BIN_VER}.tar.xz
+ else
+ if ! [[ $GUIX_BINARY_FILE_NAME =~ $ARCH_OS ]]; then
+ _err "$ARCH_OS not in ${GUIX_BINARY_FILE_NAME}; aborting"
+ fi
+ _msg "Using manually provided binary ${GUIX_BINARY_FILE_NAME}"
+ fi
- sys_create_store "${BIN_VER}.tar.xz" "${tmp_path}"
+ sys_create_store "${GUIX_BINARY_FILE_NAME}" "${tmp_path}"
sys_create_build_user
sys_enable_guix_daemon
sys_authorize_build_farms