raspiblitz/home.admin/_bootstrap.migration.sh

95 lines
2.4 KiB
Bash
Raw Normal View History

#!/bin/bash
2018-12-06 17:39:06 +01:00
# LOGFILE - store debug logs of bootstrap
logFile="/home/admin/raspiblitz.log"
# INFOFILE - state data from bootstrap
infoFile="/home/admin/raspiblitz.info"
2018-12-06 14:36:02 +01:00
2018-12-06 17:39:06 +01:00
# CONFIGFILE - configuration of RaspiBlitz
2018-12-06 14:36:02 +01:00
configFile="/mnt/hdd/raspiblitz.conf"
2018-12-06 17:39:06 +01:00
# debug info
echo "STARTED Migration/Init --> see logs in ${logFile}"
echo "STARTED Migration/Init" >> ${logFile}
2018-12-06 18:28:20 +01:00
sudo sed -i "s/^message=.*/message='Running Data Migration'/g" ${infoFile}
2018-12-06 17:39:06 +01:00
# LOAD DATA & PRECHECK
2018-12-06 14:36:02 +01:00
# check if there is a config file
configExists=$(ls ${configFile} 2>/dev/null | grep -c '.conf')
if [ ${configExists} -eq 0 ]; then
2018-12-06 17:39:06 +01:00
echo "FAIL see ${logFile}"
echo "FAIL: no config file (${configFile}) found to init or upgrade!" >> ${logFile}
2018-12-06 14:36:02 +01:00
exit 1
fi
# load old or init raspiblitz config
source ${configFile}
# check if config files contains basic: hostname
if [ ${#hostname} -eq 0 ]; then
2018-12-06 17:39:06 +01:00
echo "FAIL see ${logFile}"
echo "FAIL: missing hostname in (${configFile})!" >> ${logFile}
2018-12-06 14:36:02 +01:00
exit 1
fi
# load codeVersion
2018-12-06 14:36:02 +01:00
source /home/admin/_version.info
# check if code version was loaded
if [ ${#codeVersion} -eq 0 ]; then
2018-12-06 17:39:06 +01:00
echo "FAIL see ${logFile}"
echo "FAIL: no code version (/home/admin/_version.info) found!" >> ${logFile}
2018-12-06 14:36:02 +01:00
exit 1
fi
2018-12-06 17:39:06 +01:00
echo "prechecks OK" >> ${logFile}
2018-12-06 14:36:02 +01:00
2018-12-06 17:39:06 +01:00
# DEFAULT VALUES - MISSING data fields on init or upadte
2018-12-06 14:36:02 +01:00
# AUTOPILOT
# autoPilot=off|on
if [ ${#autoPilot} -eq 0 ]; then
echo "autoPilot=off" >> $configFile
fi
# AUTO NAT DISCOVERY
# autoNatDiscovery=off|on
if [ ${#autoNatDiscovery} -eq 0 ]; then
echo "autoNatDiscovery=off" >> $configFile
fi
2018-12-06 14:36:02 +01:00
# TOR
# runBehindTor=off|on
if [ ${#runBehindTor} -eq 0 ]; then
echo "runBehindTor=off" >> $configFile
fi
# RideTheLightning RTL
# rtlWebinterface=off|on
if [ ${#rtlWebinterface} -eq 0 ]; then
echo "rtlWebinterface=off" >> $configFile
fi
2018-12-06 17:39:06 +01:00
echo "default values OK" >> ${logFile}
2018-12-06 14:36:02 +01:00
# MIGRATION - DATA CONVERSION when updating config
# this is the place if on a future version change
# a conversion of config data or app data is needed
2018-12-06 17:39:06 +01:00
echo "Version Code: ${codeVersion}" >> ${logFile}
echo "Version Data: ${raspiBlitzVersion}" >> ${logFile}
2018-12-06 14:36:02 +01:00
if [ "${raspiBlitzVersion}" != "${codeVersion}" ]; then
2018-12-06 17:39:06 +01:00
echo "detected version change ... starting migration script" >> ${logFile}
echo "TODO: Update Migration check ... only needed after version 1.0" >> ${logFile}
2018-12-06 14:36:02 +01:00
else
2018-12-06 17:39:06 +01:00
echo "OK - version of config data is up to date" >> ${logFile}
2018-12-06 14:36:02 +01:00
fi
2018-12-06 17:39:06 +01:00
echo "END Migration/Init" >> ${logFile}
2018-12-06 14:36:02 +01:00
exit 0