mynode/rootfs/standard/usr/bin/mynode_upgrade.sh

55 lines
1.5 KiB
Bash
Raw Normal View History

2019-06-15 23:02:44 +00:00
#!/bin/bash
set -x
#set -e
source /usr/share/mynode/mynode_config.sh
# Setup
rm -rf /tmp/mynode_release_latest.tar.gz
rm -rf /tmp/mynode_release.pub
rm -rf /tmp/upgrade/
mkdir -p /tmp/upgrade/
2019-11-05 02:16:55 +00:00
mkdir -p /home/admin/upgrade_logs/
2019-06-15 23:02:44 +00:00
# Download Latest
wget $UPGRADE_DOWNLOAD_URL -O /tmp/mynode_release_latest.tar.gz
wget $UPGRADE_DOWNLOAD_SIGNATURE_URL -O /tmp/mynode_release_latest.sha256
wget $UPGRADE_PUBKEY_URL -O /tmp/mynode_release.pub
openssl dgst -sha256 -verify /tmp/mynode_release.pub -signature /tmp/mynode_release_latest.sha256 /tmp/mynode_release_latest.tar.gz
if [ $? -ne 0 ]; then
echo "UPGRADE FAILED! Hash did not match!" >> /var/log/upgrade.log
exit 1
fi
# Extract to temp location
tar -xvf /tmp/mynode_release_latest.tar.gz -C /tmp/upgrade/
# Install files
2019-11-09 15:34:55 +00:00
VERSION=$(cat /tmp/upgrade/out/rootfs_*/usr/share/mynode/version)
rsync -r -K /tmp/upgrade/out/rootfs_${DEVICE_TYPE}/* / 2>&1
#if [ $IS_X86 = 1 ]; then
# rsync -r -K /tmp/upgrade/out/rootfs_${DEVICE_TYPE}/* / 2>&1
#else
# cp -rf /tmp/upgrade/out/rootfs_${DEVICE_TYPE}/* / > 2>&1
#fi
2019-06-15 23:02:44 +00:00
sleep 1
sync
sleep 1
# Run post upgrade script
VERSION=$(cat /usr/share/mynode/version)
2019-11-16 20:46:00 +00:00
touch $UPGRADE_ERROR_FILE
for i in {1..5}
do
/bin/bash /usr/bin/mynode_post_upgrade.sh > /home/admin/upgrade_logs/upgrade_log_${VERSION}_post_${i}.txt 2>&1
RC=$?
if [ "${RC}" -eq "0" ]; then
2019-11-16 20:46:00 +00:00
rm -f $UPGRADE_ERROR_FILE
break
fi
sleep 10s
done
2019-11-16 20:46:00 +00:00
chown -R admin:admin /home/admin/upgrade_logs
sync