1
0
mirror of https://github.com/deajan/obackup.git synced 2024-11-15 04:03:41 +01:00
This commit is contained in:
deajan 2018-10-02 21:19:52 +02:00
parent 19ee83bb52
commit 0b4a2543d4

View File

@ -1,10 +1,13 @@
#!/usr/bin/env bash
## MERGE 2018062501
## MERGE 2018100204
## Merges ofunctions.sh and n_program.sh into program.sh
## Adds installer
PROGRAM=merge
INSTANCE_ID=dev
function Usage {
echo "Merges ofunctions.sh and n_program.sh into debug_program.sh and ../program.sh"
echo "Usage"
@ -12,30 +15,24 @@ function Usage {
}
function __PREPROCESSOR_Merge {
local PROGRAM="$1"
local nPROGRAM="$1"
VERSION=$(grep "PROGRAM_VERSION=" n_$PROGRAM.sh)
if [ -f "$nPROGRAM" ]; then
Logger "$nPROGRAM is not found in local path." "CRITICAL"
exit 1
fi
VERSION=$(grep "PROGRAM_VERSION=" n_$nPROGRAM.sh)
VERSION=${VERSION#*=}
__PREPROCESSOR_Constants
source "ofunctions.sh"
if [ $? != 0 ]; then
echo "Please run $0 in dev directory with ofunctions.sh"
exit 1
fi
__PREPROCESSOR_Unexpand "n_$PROGRAM.sh" "debug_$PROGRAM.sh"
__PREPROCESSOR_Unexpand "n_$nPROGRAM.sh" "debug_$nPROGRAM.sh"
for subset in "${__PREPROCESSOR_SUBSETS[@]}"; do
__PREPROCESSOR_MergeSubset "$subset" "${subset//SUBSET/SUBSET END}" "ofunctions.sh" "debug_$PROGRAM.sh"
__PREPROCESSOR_MergeSubset "$subset" "${subset//SUBSET/SUBSET END}" "ofunctions.sh" "debug_$nPROGRAM.sh"
done
__PREPROCESSOR_CleanDebug "$PROGRAM"
rm -f tmp_$PROGRAM.sh
if [ $? != 0 ]; then
Logger "Cannot remove tmp_$PROGRAM.sh" "SIMPLE"
exit 1
fi
__PREPROCESSOR_CleanDebug "debug_$nPROGRAM.sh" "../$nPROGRAM.sh"
}
function __PREPROCESSOR_Constants {
@ -46,6 +43,8 @@ function __PREPROCESSOR_Constants {
__PREPROCESSOR_SUBSETS=(
'#### OFUNCTIONS FULL SUBSET ####'
'#### OFUNCTIONS MINI SUBSET ####'
'#### OFUNCTIONS MICRO SUBSET ####'
'#### PoorMansRandomGenerator SUBSET ####'
'#### _OFUNCTIONS_BOOTSTRAP SUBSET ####'
'#### DEBUG SUBSET ####'
'#### TrapError SUBSET ####'
@ -60,6 +59,7 @@ function __PREPROCESSOR_Constants {
'#### GetConfFileValue SUBSET ####'
'#### SetConfFileValue SUBSET ####'
'#### CheckRFC822 SUBSET ####'
'#### CleanUp SUBSET ####'
)
}
@ -110,34 +110,45 @@ function __PREPROCESSOR_MergeSubset {
}
function __PREPROCESSOR_CleanDebug {
local PROGRAM="$1"
local source="${1}"
local destination="${2:-$source}"
sed '/'$PARANOIA_DEBUG_BEGIN'/,/'$PARANOIA_DEBUG_END'/d' debug_$PROGRAM.sh | grep -v "$PARANOIA_DEBUG_LINE" > ../$PROGRAM.sh
sed '/'$PARANOIA_DEBUG_BEGIN'/,/'$PARANOIA_DEBUG_END'/d' "$source" | grep -v "$PARANOIA_DEBUG_LINE" > "$destination.tmp"
if [ $? != 0 ]; then
Logger "Cannot remove PARANOIA_DEBUG code from standard build." "SIMPLE"
exit 1
else
mv -f "$destination.tmp" "$destination"
if [ $? -ne 0 ]; then
Logger "Cannot move [$destination.tmp] to [$destination]." "SIMPLE"
exit 1
fi
fi
chmod +x "debug_$PROGRAM.sh"
chmod +x "$source"
if [ $? != 0 ]; then
Logger "Cannot chmod debug_$PROGRAM.sh" "SIMPLE"
Logger "Cannot chmod [$source]." "SIMPLE"
exit 1
else
Logger "Prepared ./debug_$PROGRAM.sh" "SIMPLE"
Logger "Prepared [$source]." "SIMPLE"
fi
chmod +x "../$PROGRAM.sh"
if [ "$source" != "$destination" ]; then
chmod +x "$destination"
if [ $? != 0 ]; then
Logger "Cannot chmod $PROGRAM.sh" "SIMPLE"
Logger "Cannot chmod [$destination]." "SIMPLE"
exit 1
else
Logger "Prepared ../$PROGRAM.sh" "SIMPLE"
Logger "Prepared [$destination]." "SIMPLE"
fi
fi
}
function __PREPROCESSOR_CopyCommons {
local PROGRAM="$1"
local nPROGRAM="$1"
sed "s/\[prgname\]/$PROGRAM/g" common_install.sh > ../install.sh
sed "s/\[prgname\]/$nPROGRAM/g" common_install.sh > ../install.sh
if [ $? != 0 ]; then
Logger "Cannot assemble install." "SIMPLE"
exit 1
@ -147,45 +158,34 @@ function __PREPROCESSOR_CopyCommons {
__PREPROCESSOR_MergeSubset "$subset" "${subset//SUBSET/SUBSET END}" "ofunctions.sh" "../install.sh"
done
#sed "s/\[version\]/$VERSION/g" ../tmp_install.sh > ../install.sh
#if [ $? != 0 ]; then
# Logger "Cannot change install version." "SIMPLE"
# exit 1
#fi
__PREPROCESSOR_CleanDebug "../install.sh"
if [ -f "common_batch.sh" ]; then
sed "s/\[prgname\]/$PROGRAM/g" common_batch.sh > ../$PROGRAM-batch.sh
sed "s/\[prgname\]/$nPROGRAM/g" common_batch.sh > ../$nPROGRAM-batch.sh
if [ $? != 0 ]; then
Logger "Cannot assemble batch runner." "SIMPLE"
exit 1
fi
chmod +x ../$PROGRAM-batch.sh
if [ $? != 0 ]; then
Logger "Cannot chmod $PROGRAM-batch.sh" "SIMPLE"
exit 1
else
Logger "Prepared ../$PROGRAM-batch.sh" "SIMPLE"
fi
fi
chmod +x ../install.sh
if [ $? != 0 ]; then
Logger "Cannot chmod install.sh" "SIMPLE"
exit 1
else
Logger "Prepared ../install.sh" "SIMPLE"
fi
rm -f ../tmp_install.sh
if [ $? != 0 ]; then
Logger "Cannot chmod $PROGRAM.sh" "SIMPLE"
exit 1
for subset in "${__PREPROCESSOR_SUBSETS[@]}"; do
__PREPROCESSOR_MergeSubset "$subset" "${subset//SUBSET/SUBSET END}" "ofunctions.sh" "../$nPROGRAM-batch.sh"
done
__PREPROCESSOR_CleanDebug "../$nPROGRAM-batch.sh"
fi
}
# If sourced don't do anything
if [ "$(basename $0)" == "merge.sh" ]; then
if [ "$1" == "osync" ]; then
source "./ofunctions.sh"
if [ $? != 0 ]; then
echo "Please run $0 in dev directory with ofunctions.sh"
exit 1
fi
trap GenericTrapQuit TERM EXIT HUP QUIT
if [ "$1" == "osync" ]; then
__PREPROCESSOR_Merge osync
__PREPROCESSOR_Merge osync_target_helper
__PREPROCESSOR_CopyCommons osync
elif [ "$1" == "obackup" ]; then
__PREPROCESSOR_Merge obackup