30 lines
910 B
Bash
30 lines
910 B
Bash
#!/bin/ash
|
|
delay=900
|
|
version_file=/etc/lixonet/version
|
|
while true
|
|
do
|
|
(
|
|
set -e
|
|
current_version=`cat $version_file || echo 0`
|
|
|
|
gpg --import <trusted_signers
|
|
(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
|
|
|
|
git fetch $GIT_URL
|
|
latest_commit=`git log "--format=%G? %H" | grep ^G | head -n 1 | cut -d' ' -f2`
|
|
if test -z $latest_commit; then
|
|
echo "No trusted commits found! Re-checking in 60 seconds..."
|
|
sleep 60
|
|
continue
|
|
fi
|
|
git checkout $latest_commit
|
|
checkout_version=`cat version`
|
|
if [ "$checkout_version" -gt "$current_version" ]; then
|
|
echo "Updating to version $checkout_version..."
|
|
chmod +x build.sh && ./build.sh
|
|
echo "Updated to version $checkout_version."
|
|
echo $checkout_version > $version_file
|
|
fi
|
|
)
|
|
sleep $delay
|
|
done |