2020-04-26 15:39:10 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# load raspiblitz config data
|
|
|
|
source /home/admin/raspiblitz.info
|
|
|
|
source /mnt/hdd/raspiblitz.conf
|
|
|
|
source /home/admin/_version.info
|
|
|
|
|
|
|
|
clear
|
|
|
|
|
|
|
|
# Basic Options
|
|
|
|
OPTIONS=(RELEASE "RaspiBlitz Release Update/Recovery" \
|
|
|
|
PATCH "Patch RaspiBlitz v${codeVersion}" \
|
|
|
|
LND "Update LND Release Options"
|
|
|
|
)
|
|
|
|
|
2020-04-26 17:56:32 +02:00
|
|
|
CHOICE=$(whiptail --clear --title "Update Options" --menu "" 10 55 3 "${OPTIONS[@]}" 2>&1 >/dev/tty)
|
2020-04-26 15:39:10 +02:00
|
|
|
|
|
|
|
release()
|
|
|
|
{
|
|
|
|
whiptail --title "Update Instructions" --yes-button "Not Now" --no-button "Start Update" --yesno "To update your RaspiBlitz to a new version:
|
|
|
|
|
|
|
|
- Download the new SD card image to your laptop:
|
|
|
|
https://github.com/rootzoll/raspiblitz
|
|
|
|
- Flash that SD card image to a new SD card
|
|
|
|
- Choose 'Start Update' below.
|
|
|
|
|
|
|
|
No need to close channels or download blockchain again.
|
|
|
|
|
|
|
|
Do you want to start the Update now?
|
|
|
|
" 16 62
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
whiptail --title "LND Data Backup" --yes-button "Download Backup" --no-button "Skip" --yesno "
|
|
|
|
Before we start the RaspiBlitz Update process,
|
|
|
|
its recommended to make a backup of all your LND Data
|
|
|
|
and download that file to your laptop.
|
|
|
|
|
|
|
|
Do you want to download LND Data Backup now?
|
|
|
|
" 12 58
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
clear
|
|
|
|
echo "*************************************"
|
|
|
|
echo "* PREPARING LND BACKUP DOWNLOAD"
|
|
|
|
echo "*************************************"
|
|
|
|
echo "please wait .."
|
|
|
|
sleep 2
|
|
|
|
/home/admin/config.scripts/lnd.rescue.sh backup
|
|
|
|
echo
|
|
|
|
echo "PRESS ENTER to continue once your done downloading."
|
|
|
|
read key
|
|
|
|
else
|
|
|
|
clear
|
|
|
|
echo "*************************************"
|
|
|
|
echo "* JUST MAKING BACKUP TO OLD SD CARD"
|
|
|
|
echo "*************************************"
|
|
|
|
echo "please wait .."
|
|
|
|
sleep 2
|
|
|
|
/home/admin/config.scripts/lnd.rescue.sh backup no-download
|
|
|
|
fi
|
|
|
|
|
|
|
|
whiptail --title "READY TO UPDATE?" --yes-button "START UPDATE" --no-button "Cancel" --yesno "If you start the update: The RaspiBlitz will power down.
|
|
|
|
Once the LCD is white and no LEDs are blicking anymore:
|
|
|
|
|
|
|
|
- Remove the Power from RaspiBlitz
|
|
|
|
- Exchange the old with the new SD card
|
|
|
|
- Connect Power back to the RaspiBlitz
|
|
|
|
- Follow the instructions on the LCD
|
|
|
|
|
|
|
|
Do you have the SD card with the new version image ready
|
|
|
|
and do you WANT TO START UPDATE NOW?
|
|
|
|
" 16 62
|
|
|
|
|
|
|
|
if [ $? -eq 1 ]; then
|
|
|
|
dialog --title " Update Canceled " --msgbox "
|
|
|
|
OK. RaspiBlitz will NOT update now.
|
|
|
|
" 7 39
|
|
|
|
sudo systemctl start lnd
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
clear
|
|
|
|
sudo shutdown now
|
|
|
|
}
|
|
|
|
|
2020-04-26 17:56:32 +02:00
|
|
|
patchNotice()
|
2020-04-26 15:39:10 +02:00
|
|
|
{
|
|
|
|
whiptail --title "Patching Notice" --yes-button "Dont Patch" --no-button "Start Patch" --yesno "This is the possibility to patch your RaspiBlitz:
|
|
|
|
It means it will sync the program code with the
|
|
|
|
the GitHub repo for your version branch v${codeVersion}.
|
|
|
|
|
|
|
|
This can be usefull if there are important updates
|
|
|
|
inbetween releases to fix severe bugs. It can also
|
|
|
|
be used to sync your own code with your RaspiBlitz
|
|
|
|
if you are developing on your own GitHub Repo.
|
|
|
|
|
|
|
|
BUT BEWARE: This means RaspiBlitz will contact GitHub,
|
|
|
|
hotfix the code and might compromise your security.
|
|
|
|
|
|
|
|
Do you want to Patch your RaspiBlitz now?
|
2020-04-26 15:44:42 +02:00
|
|
|
" 18 58
|
2020-04-26 15:39:10 +02:00
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
exit 1
|
|
|
|
fi
|
2020-04-26 17:56:32 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
patch()
|
|
|
|
{
|
2020-04-26 15:39:10 +02:00
|
|
|
|
|
|
|
# get sync info
|
|
|
|
source <(sudo /home/admin/XXsyncScripts.sh info)
|
|
|
|
|
|
|
|
# Patch Options
|
2020-04-26 15:43:06 +02:00
|
|
|
OPTIONS=(PATCH "Patch/Sync RaspiBlitz with GitHub Repo" \
|
2020-04-26 15:39:10 +02:00
|
|
|
REPO "Change GitHub Repo to sync with" \
|
2020-04-26 17:56:32 +02:00
|
|
|
BRANCH "Change GitHub Branch to sync with"
|
2020-04-26 15:39:10 +02:00
|
|
|
)
|
|
|
|
|
2020-04-26 15:44:42 +02:00
|
|
|
CHOICE=$(whiptail --clear --title "GitHub-User: ${activeGitHubUser} Branch: ${activeBranch}" --menu "" 10 55 3 "${OPTIONS[@]}" 2>&1 >/dev/tty)
|
2020-04-26 15:39:10 +02:00
|
|
|
|
|
|
|
clear
|
|
|
|
case $CHOICE in
|
|
|
|
PATCH)
|
|
|
|
sudo -u admin /home/admin/XXsyncScripts.sh
|
2020-04-26 18:17:06 +02:00
|
|
|
sleep 4
|
|
|
|
whiptail --title " Patching/Syncing " --yes-button "Reboot" --no-button "Skip Rebbot" --yesno " OK patching/syncing done.
|
|
|
|
|
|
|
|
By default a reboot is advised.
|
|
|
|
Only skip reboot if you know
|
|
|
|
it will work without restart.
|
|
|
|
" 11 40
|
|
|
|
clear
|
|
|
|
if [ $? -eq 0 ]; then
|
2020-04-26 18:27:02 +02:00
|
|
|
echo "REBOOT .."
|
|
|
|
/home/admin/XXshutdown.sh reboot
|
|
|
|
sleep 8
|
2020-04-26 18:17:06 +02:00
|
|
|
else
|
2020-04-26 18:27:02 +02:00
|
|
|
echo "SKIP REBOOT .."
|
2020-04-26 18:17:06 +02:00
|
|
|
fi
|
|
|
|
exit 1
|
2020-04-26 15:39:10 +02:00
|
|
|
;;
|
|
|
|
REPO)
|
|
|
|
echo "TODO"
|
|
|
|
echo "PRESS ENTER to return to PATCH MENU."
|
|
|
|
read key
|
|
|
|
patch
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
BRANCH)
|
|
|
|
echo "TODO"
|
|
|
|
echo "PRESS ENTER to return to PATCH MENU."
|
|
|
|
read key
|
|
|
|
patch
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
lnd()
|
|
|
|
{
|
|
|
|
echo "TODO"
|
|
|
|
echo "PRESS ENTER to return to MAIN MENU."
|
|
|
|
read key
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
clear
|
|
|
|
case $CHOICE in
|
|
|
|
RELEASE)
|
|
|
|
release
|
|
|
|
;;
|
|
|
|
PATCH)
|
2020-04-26 17:56:32 +02:00
|
|
|
patchNotice
|
2020-04-26 15:39:10 +02:00
|
|
|
patch
|
|
|
|
;;
|
|
|
|
LND)
|
|
|
|
lnd
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
|
|
|
# get latest release version from GitHub
|
|
|
|
sudo curl -s -X GET https://raw.githubusercontent.com/rootzoll/raspiblitz/master/home.admin/_version.info > /home/admin/.version.tmp
|
|
|
|
gitHubVersionMain=$(cut -d"=" -f2 /home/admin/.version.tmp | cut -d'"' -f2 | cut -d"." -f1 | egrep "^[0-9]")
|
|
|
|
gitHubVersionSub=$(cut -d"=" -f2 /home/admin/.version.tmp | cut -d'"' -f2 | cut -d"." -f2 | egrep "^[0-9]")
|
|
|
|
sudo shred /home/admin/.version.tmp
|
|
|
|
sudo rm /home/admin/.version.tmp 2>/dev/null
|
|
|
|
|
|
|
|
# check valid version info
|
|
|
|
if [ ${#gitHubVersionMain} -eq 0 ] || [ ${#gitHubVersionSub} -eq 0 ]; then
|
|
|
|
echo "FAIL: Was not able to get latest release Version from GitHub."
|
|
|
|
echo "PRESS ENTER to continue."
|
|
|
|
read key
|
|
|
|
exit 1
|
|
|
|
fi
|