Skip to content
Snippets Groups Projects
Commit 34e59ae0 authored by Bob Mottram's avatar Bob Mottram
Browse files

Tidying config utils

parent 229a9c30
No related branches found
No related tags found
No related merge requests found
......@@ -106,10 +106,10 @@ function get_completion_param {
param_name="$1"
if [ ${#param_name} -gt 0 ]; then
if [ $COMPLETION_FILE ]; then
if [ -f $COMPLETION_FILE ]; then
if grep -q "${param_name}:" $COMPLETION_FILE; then
param_value=$(cat $COMPLETION_FILE | grep "${param_name}:" | head -n 1 | awk -F ':' '{print $2}')
if [ "$COMPLETION_FILE" ]; then
if [ -f "$COMPLETION_FILE" ]; then
if grep -q "${param_name}:" "$COMPLETION_FILE"; then
param_value=$(grep "${param_name}:" "$COMPLETION_FILE" | head -n 1 | awk -F ':' '{print $2}')
echo "$param_value"
return
fi
......@@ -123,7 +123,7 @@ function set_completion_param {
param_name="$1"
param_value="$2"
if [ ! $COMPLETION_FILE ]; then
if [ ! "$COMPLETION_FILE" ]; then
COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
fi
if [ ${#COMPLETION_FILE} -eq 0 ]; then
......@@ -132,14 +132,14 @@ function set_completion_param {
if [ ${#param_name} -gt 0 ]; then
if [ ${#param_value} -gt 0 ]; then
if [ -f $COMPLETION_FILE ]; then
if grep -q "${param_name}:" $COMPLETION_FILE; then
sed -i "s|${param_name}:.*|${param_name}:${param_value}|g" $COMPLETION_FILE
if [ -f "$COMPLETION_FILE" ]; then
if grep -q "${param_name}:" "$COMPLETION_FILE"; then
sed -i "s|${param_name}:.*|${param_name}:${param_value}|g" "$COMPLETION_FILE"
else
echo "${param_name}:${param_value}" >> $COMPLETION_FILE
echo "${param_name}:${param_value}" >> "$COMPLETION_FILE"
fi
else
echo "${param_name}:${param_value}" > $COMPLETION_FILE
echo "${param_name}:${param_value}" > "$COMPLETION_FILE"
fi
fi
fi
......@@ -148,7 +148,7 @@ function set_completion_param {
function mark_completed {
param_name="$1"
if [ ! $COMPLETION_FILE ]; then
if [ ! "$COMPLETION_FILE" ]; then
COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
fi
if [ ${#COMPLETION_FILE} -eq 0 ]; then
......@@ -156,12 +156,12 @@ function mark_completed {
fi
if [ ${#param_name} -gt 0 ]; then
if [ -f $COMPLETION_FILE ]; then
if ! grep -Fxq "${param_name}" $COMPLETION_FILE; then
echo "${param_name}" >> $COMPLETION_FILE
if [ -f "$COMPLETION_FILE" ]; then
if ! grep -Fxq "${param_name}" "$COMPLETION_FILE"; then
echo "${param_name}" >> "$COMPLETION_FILE"
fi
else
echo "${param_name}" > $COMPLETION_FILE
echo "${param_name}" > "$COMPLETION_FILE"
fi
fi
}
......@@ -169,16 +169,16 @@ function mark_completed {
function is_completed {
param_name="$1"
if [ ! $COMPLETION_FILE ]; then
COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
if [ ! "$COMPLETION_FILE" ]; then
COMPLETION_FILE="$HOME/${PROJECT_NAME}-completed.txt"
fi
if [ ${#COMPLETION_FILE} -eq 0 ]; then
COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
COMPLETION_FILE="$HOME/${PROJECT_NAME}-completed.txt"
fi
if [ ${#param_name} -gt 0 ]; then
if [ -f $COMPLETION_FILE ]; then
if grep -Fxq "${param_name}" $COMPLETION_FILE; then
if [ -f "$COMPLETION_FILE" ]; then
if grep -Fxq "${param_name}" "$COMPLETION_FILE"; then
echo "1"
return
fi
......@@ -191,15 +191,11 @@ function read_config_param {
param_name="$1"
if [ ${#param_name} -gt 0 ]; then
if [ $CONFIGURATION_FILE ]; then
if [ -f $CONFIGURATION_FILE ]; then
if grep -q "${param_name}=" $CONFIGURATION_FILE; then
param_value=$(cat $CONFIGURATION_FILE | grep "${param_name}=" | head -n 1 | awk -F '=' '{print $2}')
if [[ "${param_value}" != *" "* ]]; then
export ${param_name}=${param_value}
else
export ${param_name}="${param_value}"
fi
if [ "$CONFIGURATION_FILE" ]; then
if [ -f "$CONFIGURATION_FILE" ]; then
if grep -q "${param_name}=" "$CONFIGURATION_FILE"; then
param_value=$(grep "${param_name}=" "$CONFIGURATION_FILE" | head -n 1 | awk -F '=' '{print $2}')
export "${param_name}"="${param_value}"
fi
fi
fi
......@@ -210,10 +206,10 @@ function config_param_exists {
param_name="$1"
if [ ${#param_name} -gt 0 ]; then
if [ $CONFIGURATION_FILE ]; then
if [ -f $CONFIGURATION_FILE ]; then
if grep -q "${param_name}=" $CONFIGURATION_FILE; then
param_value=$(cat $CONFIGURATION_FILE | grep "${param_name}=" | head -n 1 | awk -F '=' '{print $2}')
if [ "$CONFIGURATION_FILE" ]; then
if [ -f "$CONFIGURATION_FILE" ]; then
if grep -q "${param_name}=" "$CONFIGURATION_FILE"; then
param_value=$(grep "${param_name}=" "$CONFIGURATION_FILE" | head -n 1 | awk -F '=' '{print $2}')
if [ ${#param_value} -gt 0 ]; then
echo "1"
return
......@@ -229,7 +225,7 @@ function write_config_param {
param_name="$1"
param_value="$2"
if [ ! $CONFIGURATION_FILE ]; then
if [ ! "$CONFIGURATION_FILE" ]; then
CONFIGURATION_FILE=$HOME/${PROJECT_NAME}.cfg
fi
if [ ${#CONFIGURATION_FILE} -eq 0 ]; then
......@@ -238,14 +234,14 @@ function write_config_param {
if [ ${#param_name} -gt 0 ]; then
if [ ${#param_value} -gt 0 ]; then
if [ -f $CONFIGURATION_FILE ]; then
if grep -q "${param_name}=" $CONFIGURATION_FILE; then
sed -i "s|${param_name}=.*|${param_name}=${param_value}|g" $CONFIGURATION_FILE
if [ -f "$CONFIGURATION_FILE" ]; then
if grep -q "${param_name}=" "$CONFIGURATION_FILE"; then
sed -i "s|${param_name}=.*|${param_name}=${param_value}|g" "$CONFIGURATION_FILE"
else
echo "${param_name}=${param_value}" >> $CONFIGURATION_FILE
echo "${param_name}=${param_value}" >> "$CONFIGURATION_FILE"
fi
else
echo "${param_name}=${param_value}" > $CONFIGURATION_FILE
echo "${param_name}=${param_value}" > "$CONFIGURATION_FILE"
fi
fi
fi
......@@ -255,10 +251,10 @@ function remove_config_param {
param_name="$1"
if [ ${#param_name} -gt 0 ]; then
if [ $CONFIGURATION_FILE ]; then
if [ -f $CONFIGURATION_FILE ]; then
if grep -q "${param_name}=" $CONFIGURATION_FILE; then
sed -i "/${param_name}=/d" $CONFIGURATION_FILE
if [ "$CONFIGURATION_FILE" ]; then
if [ -f "$CONFIGURATION_FILE" ]; then
if grep -q "${param_name}=" "$CONFIGURATION_FILE"; then
sed -i "/${param_name}=/d" "$CONFIGURATION_FILE"
fi
fi
fi
......@@ -269,13 +265,13 @@ function remove_completion_param {
param_name="$1"
if [ ${#param_name} -gt 0 ]; then
if [ $COMPLETION_FILE ]; then
if [ -f $COMPLETION_FILE ]; then
if grep -Fxq "${param_name}" $COMPLETION_FILE; then
sed -i "/${param_name}/d" $COMPLETION_FILE
if [ "$COMPLETION_FILE" ]; then
if [ -f "$COMPLETION_FILE" ]; then
if grep -Fxq "${param_name}" "$COMPLETION_FILE"; then
sed -i "/${param_name}/d" "$COMPLETION_FILE"
fi
if grep -q "${param_name}:" $COMPLETION_FILE; then
sed -i "/${param_name}:/d" $COMPLETION_FILE
if grep -q "${param_name}:" "$COMPLETION_FILE"; then
sed -i "/${param_name}:/d" "$COMPLETION_FILE"
fi
fi
fi
......@@ -291,16 +287,16 @@ function save_configuration_values {
function read_configuration_values {
# if not installing on a Beaglebone then use sdb as the USB drive by default
if [ ! $INSTALLING_ON_BBB ]; then
if [ ! "$INSTALLING_ON_BBB" ]; then
if [[ $USB_DRIVE == /dev/sda1 ]]; then
USB_DRIVE=/dev/sdb1
fi
fi
if [ -f $CONFIGURATION_FILE ]; then
if [ -f "$CONFIGURATION_FILE" ]; then
# Ensure that a copy of the config exists for upgrade purposes
if [[ $CONFIGURATION_FILE != "/root/${PROJECT_NAME}.cfg" ]]; then
cp $CONFIGURATION_FILE /root/${PROJECT_NAME}.cfg
cp "$CONFIGURATION_FILE" "/root/${PROJECT_NAME}.cfg"
fi
for v in "${configuration_variables[@]}"
......@@ -308,8 +304,9 @@ function read_configuration_values {
read_config_param "$v"
done
if grep -q "DEBIAN_REPO" $CONFIGURATION_FILE; then
if grep -q "DEBIAN_REPO" "$CONFIGURATION_FILE"; then
read_config_param "DEBIAN_REPO"
# shellcheck disable=SC2034
CHECK_MESSAGE=$"Check your internet connection, /etc/network/interfaces and /etc/resolvconf/resolv.conf.d/head, then delete $COMPLETION_FILE, run 'rm -fR /var/lib/apt/lists/* && apt-get update --fix-missing' and run this script again. If hash sum mismatches persist then try setting $DEBIAN_REPO to a different mirror and also change /etc/apt/sources.list."
fi
fi
......@@ -317,7 +314,7 @@ function read_configuration_values {
function read_configuration {
if [[ $INSTALLING_FROM_CONFIGURATION_FILE == "yes" ]]; then
if [ ! -f $CONFIGURATION_FILE ]; then
if [ ! -f "$CONFIGURATION_FILE" ]; then
echo $"The configuration file $CONFIGURATION_FILE was not found"
exit 8935
fi
......@@ -336,8 +333,8 @@ function check_system_type {
# check that domain names are valid and that they are unique for each app
function check_domains {
specified_domains=$(cat $CONFIGURATION_FILE | grep "_DOMAIN_NAME" | uniq)
domains_array=($specified_domains)
specified_domains=$(grep "_DOMAIN_NAME" "$CONFIGURATION_FILE" | uniq)
domains_array=("$specified_domains")
checked_domains=()
for d in "${domains_array[@]}"
......@@ -346,8 +343,7 @@ function check_domains {
if [[ "$domain_param" != "DEFAULT_DOMAIN_NAME" ]]; then
domain_value=$(echo "$d" | awk -F '=' '{print $2}')
if [[ "$domain_value" != "${LOCAL_NAME}.local" ]]; then
item_in_array "${domain_value}" "${checked_domains[@]}"
if [[ $? != 0 ]]; then
if ! item_in_array "${domain_value}" "${checked_domains[@]}"; then
# test that this is a valid domain name
function_check test_domain_name
test_domain_name "$domain_value"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment