-
Notifications
You must be signed in to change notification settings - Fork 333
/
Copy pathconfig.sh
executable file
·44 lines (38 loc) · 1.28 KB
/
config.sh
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/env sh
# © Broadcom. All Rights Reserved.
# The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
# SPDX-License-Identifier: BSD-2-Clause
set -e
follow_link() {
FILE="${1}"
while [ -h "${FILE}" ]; do
# On macOS, readlink -f doesn't work.
FILE="$(readlink "${FILE}")"
done
echo "${FILE}"
}
# Define the script and config paths
follow_link_result=$(follow_link "$0")
if ! SCRIPT_PATH=$(realpath "$(dirname "${follow_link_result}")"); then
echo "Error: follow_link or realpath failed"
exit 1
fi
CONFIG_PATH=${1:-${SCRIPT_PATH}/config}
mkdir -p "${CONFIG_PATH}"
### Copy the example input variables.
echo
echo "> Copying the example input variables..."
cp -av "${SCRIPT_PATH}"/builds/*.pkrvars.hcl.example "${CONFIG_PATH}"
find "${SCRIPT_PATH}"/builds/*/ -type f -name "*.pkrvars.hcl.example" | while IFS= read -r srcfile; do
srcdir=$(dirname "${srcfile}" | tr -s /)
dstfile=$(echo "${srcdir#"${SCRIPT_PATH}"/builds/}" | tr '/' '-')
cp -av "${srcfile}" "${CONFIG_PATH}/${dstfile}.pkrvars.hcl.example"
done
### Rename the example input variables.
echo
echo "> Renaming the example input variables..."
for file in "${CONFIG_PATH}"/*.pkrvars.hcl.example; do
mv -i -- "${file}" "${file%.example}"
done
echo
echo "> Done."