lixonet-ee/run.sh
Manevolent 929f22d0d3
Make daemon work!
Signed-off-by: Manevolent <manevolent@team.lixo>
2021-09-21 12:37:42 -06:00

56 lines
1.5 KiB
Bash

#!/bin/bash
delay=900
version_file=/etc/lixonet/version
log=/app/log/lixonet.log
mkdir /app/log
while true
do
(
set +e
current_version=`cat $version_file || echo 0`
gpg --import <trusted_signers >> $log 2>&1
(echo 5; echo y; echo save) | gpg --command-fd 0 --no-tty --no-greeting -q --edit-key "$(gpg --list-packets <trusted_signers | awk '$1=="keyid:"{print$2;exit}')" trust >> $log 2>&1
if [ $? -ne 0 ]; then
echo "GPG import from trusted_signers failed. For more details, see $log"
sleep $delay
continue
fi
git fetch $GIT_URL >> $log 2>&1
if [ $? -ne 0 ]; then
echo "Git fetch from $GIT_URL failed. For more details, see $log"
sleep $delay
continue
fi
latest_commit=`git log "--format=%G? %H" | grep ^G | head -n 1 | cut -d' ' -f2`
if test -z $latest_commit; then
sleep $delay
continue
fi
git checkout $latest_commit >> $log 2>&1
if [ $? -ne 0 ]; then
echo "Git checkout failed. For more details, see $log"
sleep $delay
continue
fi
checkout_version=`cat version`
if [ "$checkout_version" -gt "$current_version" ]; then
echo "Updating to version $checkout_version..."
chmod +x build.sh && ./build.sh >> $log 2>&1
if [ $? -eq 0 ]; then
echo "Update completed successfully."
echo $checkout_version > $version_file
else
echo "Update failed; version was not updated. Trying again in $delay seconds. For more details, see $log"
continue
fi
fi
)
sleep $delay
done