summaryrefslogtreecommitdiffstats
path: root/builder/modules.d/conf-tgz/hooks/fetch-config-tgz.sh
blob: 1c8ace612ead9b221a7d69478342711f1e745569 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env bash
# -*- coding: utf-8 -*-

type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh


	slx_server="$(getarg slxsrv=)"
	slx_server_base="$(getarg slxbase=)"

	if [ -z "$SLX_NO_CONFIG_TGZ" ]; then
		# build config.tgz url
		conftgz_url="http://${slx_server#@}/${slx_server_base}/config.tgz"

		# check if system's uuid was set
		if [ -s "/run/system-uuid" ]; then
			uuid="$(cat /run/system-uuid)"
			if [ -n "$uuid" ]; then
				conftgz_url="${conftgz_url}?uuid=${uuid}"
			fi
		fi
		info "Download config.tgz from '$conftgz_url'..."
		slx-tools download_retry -s "${conftgz_url}" > "/etc/config.tgz"

		if [[ ! -s "/etc/config.tgz" ]]; then
			warn \
				"Downloading 'config.tgz' from '${slx_server}' failed with: $return_code"
			# TODO handle error
		fi
	fi