#!/usr/bin/env bash ## Merges ofunctions.sh and $PROGRAM PROGRAM=osync VERSION=$(grep "PROGRAM_VERSION=" n_$PROGRAM.sh) VERSION=${VERSION#*=} FUNC_PATH=/home/git/common PARANOIA_DEBUG_LINE="#__WITH_PARANOIA_DEBUG" PARANOIA_DEBUG_BEGIN="#__BEGIN_WITH_PARANOIA_DEBUG" PARANOIA_DEBUG_END="#__END_WITH_PARANOIA_DEBUG" function Unexpand { unexpand n_$PROGRAM.sh > tmp_$PROGRAM.sh } function Merge { sed "/source \"\.\/ofunctions.sh\"/r /home/git/common/ofunctions.sh" tmp_$PROGRAM.sh | grep -v 'source "./ofunctions.sh"' > debug_$PROGRAM.sh chmod +x debug_$PROGRAM.sh } function CleanDebug { # sed explanation #/pattern1/{ # if pattern1 is found # p # print it # :a # loop # N # and accumulate lines # /pattern2/!ba # until pattern2 is found # s/.*\n// # delete the part before pattern2 #} #p sed -n '/'$PARANOIA_DEBUG_BEGIN'/{p; :a; N; /'$PARANOIA_DEBUG_END'/!ba; s/.*\n//}; p' debug_$PROGRAM.sh | grep -v "$PARANOIA_DEBUG_LINE" > ../$PROGRAM.sh chmod +x ../$PROGRAM.sh } function CopyCommons { sed "s/\[prgname\]/$PROGRAM/g" /home/git/common/common_install.sh > ../tmp_install.sh sed "s/\[version\]/$VERSION/g" ../tmp_install.sh > ../install.sh sed "s/\[prgname\]/$PROGRAM/g" /home/git/common/common_batch.sh > ../$PROGRAM-batch.sh chmod +x ../install.sh chmod +x ../$PROGRAM-batch.sh } Unexpand Merge CleanDebug rm -f tmp_$PROGRAM.sh rm -f ../tmp_install.sh CopyCommons