Improved config file upgrade script
This commit is contained in:
parent
e64ec1232e
commit
26b661396a
|
@ -7,7 +7,7 @@ CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
||||||
OLD_PROGRAM_VERSION="v1.0x-v1.2x"
|
OLD_PROGRAM_VERSION="v1.0x-v1.2x"
|
||||||
NEW_PROGRAM_VERSION="v1.3x"
|
NEW_PROGRAM_VERSION="v1.3x"
|
||||||
CONFIG_FILE_REVISION=1.3.0
|
CONFIG_FILE_REVISION=1.3.0
|
||||||
PROGRAM_BUILD=2016121101
|
PROGRAM_BUILD=2019051801
|
||||||
|
|
||||||
## type -p does not work on platforms other than linux (bash). If if does not work, always assume output is not a zero exitcode
|
## type -p does not work on platforms other than linux (bash). If if does not work, always assume output is not a zero exitcode
|
||||||
if ! type "$BASH" > /dev/null; then
|
if ! type "$BASH" > /dev/null; then
|
||||||
|
@ -515,15 +515,15 @@ function AddMissingConfigOptionsAndFixBooleans {
|
||||||
echo "Added missing ${KEYWORDS[$counter]} config option with default option [${VALUES[$counter]}]"
|
echo "Added missing ${KEYWORDS[$counter]} config option with default option [${VALUES[$counter]}]"
|
||||||
else
|
else
|
||||||
# Not the most elegant but the quickest way :)
|
# Not the most elegant but the quickest way :)
|
||||||
if [ "${VALUES[$counter]}" == true ]; then
|
if grep "^{$KEYWORDS[$counter]}=yes" > /dev/null "$config_file"; then
|
||||||
sed -i'.tmp' 's/^'${KEYWORDS[$counter]}'=.*/'${KEYWORDS[$counter]}'=true/g' "$config_file"
|
sed -i'.tmp' 's/^'${KEYWORDS[$counter]}'=.*/'${KEYWORDS[$counter]}'=true/g' "$config_file"
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "Cannot rewrite ${[KEYWORDS[$counter]} boolean to true."
|
echo "Cannot rewrite ${[KEYWORDS[$counter]} boolean to true."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
elif [ "${VALUES[$counter]}" == false ]; then
|
elif grep "^{$KEYWORDS[$counter]}=no" > /dev/null "$config_file"; then
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "Cannot ${[KEYWORDS[$counter]} boolean to false."
|
echo "Cannot rewrite ${[KEYWORDS[$counter]} boolean to false."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
sed -i'.tmp' 's/^'${KEYWORDS[$counter]}'=.*/'${KEYWORDS[$counter]}'=false/g' "$config_file"
|
sed -i'.tmp' 's/^'${KEYWORDS[$counter]}'=.*/'${KEYWORDS[$counter]}'=false/g' "$config_file"
|
||||||
|
@ -550,10 +550,12 @@ function RewriteSections {
|
||||||
function UpdateConfigHeader {
|
function UpdateConfigHeader {
|
||||||
local config_file="${1}"
|
local config_file="${1}"
|
||||||
|
|
||||||
# "onfig file rev" to deal with earlier variants of the file where c was lower or uppercase
|
if ! grep "^CONFIG_FILE_REVISION=" > /dev/null "$config_file"; then
|
||||||
sed -i'.tmp' 's/.*onfig file rev.*//' "$config_file"
|
# "onfig file rev" to deal with earlier variants of the file where c was lower or uppercase
|
||||||
sed -i'.tmp' '/^\[GENERAL\]$/a\'$'\n'CONFIG_FILE_REVISION=$CONFIG_FILE_REVISION$'\n''' "$config_file"
|
sed -i'.tmp' 's/.*onfig file rev.*//' "$config_file"
|
||||||
rm -f "$config_file.tmp"
|
sed -i'.tmp' '/^\[GENERAL\]$/a\'$'\n'CONFIG_FILE_REVISION=$CONFIG_FILE_REVISION$'\n''' "$config_file"
|
||||||
|
rm -f "$config_file.tmp"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
_QUICK_SYNC=0
|
_QUICK_SYNC=0
|
||||||
|
|
Loading…
Reference in New Issue