77 lines
1.9 KiB
Bash
Executable File
77 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
toolName=olivetin
|
|
latestUrl="https://api.github.com/repos/OliveTin/OliveTin/releases/latest"
|
|
latestVersion=
|
|
tempExtract=
|
|
tempInstall=
|
|
|
|
# Get script working directory
|
|
# (when called from a different directory)
|
|
WDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >>/dev/null 2>&1 && pwd)"
|
|
APTOPT=
|
|
CONFIG=0
|
|
SCRIPT_FILE=$(basename -- $0)
|
|
SCRIPT_NAME=${SCRIPT_FILE%%.*}
|
|
CONFIG_FILE_NAME="${SCRIPT_NAME}.cfg"
|
|
CONFIG_FILE_TEMPLATE="$WDIR/${CONFIG_FILE_NAME}.example"
|
|
|
|
step_config() {
|
|
## or to use sequencer api with global config file:
|
|
#initSeqConfig "$CONFIG_FILE_NAME" "$CONFIG_FILE_TEMPLATE"
|
|
|
|
## or to use sequencer api with profile config file support:
|
|
#initSeqConfig -p "$SCRIPT_NAME" "$CONFIG_FILE_TEMPLATE"
|
|
#if [ $? -eq 0 ] ; then
|
|
# CONFIG=1
|
|
#else
|
|
# # End if no configuration file exists
|
|
# [ $DRY -eq 0 ] && return -1
|
|
#fi
|
|
|
|
## Apt cmdline option to suppress user interaction
|
|
[ $QUIET -ne 0 ] && APTOPT="-y"
|
|
|
|
## Return of non zero value will abort the sequence
|
|
return 0
|
|
}
|
|
|
|
step_1_info() { echo "Install $toolName"; }
|
|
step_1_alias() { ALIAS="install"; }
|
|
step_1() {
|
|
downloadLatest
|
|
|
|
if [ -e "$tempInstall" ]; then
|
|
exe dpkg -i "$tempInstall"
|
|
exe systemctl --now enable OliveTin
|
|
fi
|
|
}
|
|
|
|
fetchLatestVersion() {
|
|
if [ ! -z $latestVersion ] ; then
|
|
return 0
|
|
fi
|
|
|
|
latestVersion=$(curl --silent "$latestUrl" | grep -Po '"tag_name": "\K.*(?=")')
|
|
}
|
|
|
|
downloadLatest() {
|
|
fetchLatestVersion
|
|
|
|
local downUrl="https://github.com/OliveTin/OliveTin/releases/download/${latestVersion}/OliveTin_${latestVersion}_linux_armv7.deb"
|
|
|
|
if [ ! -e "$tempInstall" ] ; then
|
|
exe mkdir -p "$tempDown"
|
|
exe wget -O "$tempInstall" $downUrl
|
|
endReturn -o $? "Download failed: $downUrl"
|
|
else
|
|
echo " [I] Found existing download: $tempInstall"
|
|
fi
|
|
}
|
|
tempDown="/tmp/olivetin"
|
|
tempInstall="$tempDown/olivetin.deb"
|
|
|
|
|
|
VERSION_SEQREV=13
|
|
. /usr/local/bin/sequencer.sh
|