Browse Source

Code shuffle and update

Shuffled code to match update_ts3.sh also updated messages to reflect
recent updates to update_ts3.sh
pull/947/head
Daniel Gibbs 9 years ago
parent
commit
2127a7eaa4
  1. 255
      lgsm/functions/update_mumble.sh

255
lgsm/functions/update_mumble.sh

@ -9,162 +9,147 @@ local commandname="UPDATE"
local commandaction="Update" local commandaction="Update"
local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
fn_update_mumble_arch(){ fn_update_mumble_dl(){
# Mumble is x86 only for now fn_fetch_file "https://github.com/mumble-voip/mumble/releases/download/${availablebuild}/murmur-static_${mumblearch}-${availablebuild}.tar.bz2" "${lgsmdir}/tmp" "murmur-static_${mumblearch}-${availablebuild}.tar.bz2"
mumblearch="x86" fn_dl_extract "${lgsmdir}/tmp" "murmur-static_${mumblearch}-${availablebuild}.tar.bz2" "${lgsmdir}/tmp"
} echo -e "copying to ${filesdir}...\c"
fn_script_log "Copying to ${filesdir}"
fn_update_mumble_availablebuild(){ cp -R "${lgsmdir}/tmp/murmur-static_${mumblearch}-${availablebuild}/"* "${filesdir}"
# Gets latest build info. rm -R "${lgsmdir}/tmp"
fn_print_info_nl "Checking latest build from github.com" local exitcode=$?
fn_script_log "Checking latest build from github.com" if [ ${exitcode} -eq 0 ]; then
availablebuild=$(curl -s https://api.github.com/repos/mumble-voip/mumble/releases/latest | grep 'murmur-static_x86.*\.bz2"' | tail -1 | awk -F"/" '{ print $8 }') fn_print_ok_eol_nl
sleep 1 else
fn_print_fail_eol_nl
# Checks if availablebuild variable has been set fi
if [ -z "${availablebuild}" ]; then
fn_print_fail "Checking latest build from github.com"
sleep 1
fn_print_fail "Checking latest build from github.com: Not returning version info"
fn_script_log_fatal "Checking latest build from github.com: Not returning version info"
core_exit.sh
else
fn_print_ok_nl "Checked latest build from github.com"
fn_script_log_pass "Checked latest build from github.com"
sleep 1
fi
} }
fn_update_mumble_currentbuild(){ fn_update_mumble_currentbuild(){
# Gets current build info # Gets current build info
fn_print_info "Checking installed server build" # Checks if current build info is available. If it fails, then a server restart will be forced to generate logs.
sleep 1 if [ ! -f "${consolelogdir}/${servicename}-console.log" ]; then
# Checks if current build info is available. If it fails, then a server restart will be forced to generate logs. fn_print_error "Checking for update: GitHub"
if [ ! -f "${consolelogdir}/${servicename}-console.log" ]; then sleep 1
fn_print_info_nl "No current log found, can't retrieve current server build" fn_print_error_nl "Checking for update: GitHub: No logs with server version found"
fn_script_log_info "No current log found, can't retrieve current server build" fn_script_log_error "Checking for update: GitHub: No logs with server version found"
sleep 1 sleep 1
fn_print_info_nl "Forcing server restart" fn_print_info_nl "Checking for update: GitHub: Forcing server restart"
fn_script_log_info "Forcing server restart" fn_script_log_info "Checking for update: GitHub: Forcing server restart"
sleep 1 sleep 1
check_status.sh
if [ "${status}" != "0" ]; then
exitbypass=1 exitbypass=1
command_stop.sh command_stop.sh
exitbypass=1
command_start.sh
sleep 1
# Check again and exit on failure.
if [ ! -f "${consolelogdir}/${servicename}-console.log" ]; then
fn_print_fail_nl "Checking for update: GitHub: Still No logs with server version found"
fn_script_log_fatal "Checking for update: GitHub: Still No logs with server version found"
core_exit.sh
fi
fi fi
exitbypass=1
command_start.sh
exitbypass=1
command_stopt.sh
sleep 1
# Check again and exit on failure.
if [ ! -f "${consolelogdir}/${servicename}-console.log" ]; then
fn_print_fail_nl "Still no logs found, cannot retrieve server version"
fn_script_log_fatal "Still no logs found, cannot retrieve server version"
core_exit.sh
else
fn_print_ok_nl "Logs found"
fn_script_log "Logs found"
sleep 1
fi
fi
# Get current build from logs
currentbuild=$(cat "${consolelogdir}"/"${servicename}"-console.log 2> /dev/null | sort | egrep 'Murmur ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}' | awk '{print $4}')
if [ -z "${currentbuild}" ]; then # Get current build from logs
fn_print_info_nl "Can't find current build version in logs"
fn_script_log_error "Can't find current build version in logs"
sleep 1
fn_print_info_nl "Forcing server restart"
fn_script_log_info "Forcing server restart"
exitbypass=1
command_stop.sh
exitbypass=1
command_start.sh
currentbuild=$(cat "${consolelogdir}"/"${servicename}"-console.log 2> /dev/null | sort | egrep 'Murmur ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}' | awk '{print $4}') currentbuild=$(cat "${consolelogdir}"/"${servicename}"-console.log 2> /dev/null | sort | egrep 'Murmur ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}' | awk '{print $4}')
if [ -z "${currentbuild}" ]; then if [ -z "${currentbuild}" ]; then
fn_print_fail_nl "Sorry, current build version still not found" fn_print_error_nl "Checking for update: GitHub: Current build version not found"
fn_script_log_fatal "Sorry, current build version still not found" fn_script_log_error "Checking for update: GitHub: Current build version not found"
sleep 1
fn_print_info_nl "Checking for update: GitHub: Forcing server restart"
fn_script_log_info "Checking for update: GitHub: Forcing server restart"
exitbypass=1
command_stop.sh
exitbypass=1
command_start.sh
currentbuild=$(cat "${consolelogdir}"/"${servicename}"-console.log 2> /dev/null | sort | egrep 'Murmur ((\.)?[0-9]{1,3}){1,3}\.[0-9]{1,3}' | awk '{print $4}')
if [ -z "${currentbuild}" ]; then
fn_print_fail_nl "Checking for update: GitHub: Current build version still not found"
fn_script_log_fatal "Checking for update: GitHub: Current build version still not found"
core_exit.sh
fi
fi
}
fn_update_mumble_arch(){
# Mumble is x86 only for now
mumblearch="x86"
}
fn_update_mumble_availablebuild(){
# Gets latest build info.
availablebuild=$(curl -s https://api.github.com/repos/mumble-voip/mumble/releases/latest | grep 'murmur-static_x86.*\.bz2"' | tail -1 | awk -F"/" '{ print $8 }')
sleep 1
# Checks if availablebuild variable has been set
if [ -z "${availablebuild}" ]; then
fn_print_fail "Checking for update: GitHub"
sleep 1
fn_print_fail "Checking for update: GitHub: Not returning version info"
fn_script_log_fatal "Failure! Checking for update: GitHub: Not returning version info"
core_exit.sh core_exit.sh
else
fn_print_ok_nl "Checking for update: GitHub"
fn_script_log_pass "Checking for update: GitHub"
sleep 1
fi fi
fi
} }
fn_update_mumble_compare(){ fn_update_mumble_compare(){
# Removes dots so if can compare version numbers # Removes dots so if can compare version numbers
currentbuilddigit=$(echo "${currentbuild}"|tr -cd '[:digit:]') currentbuilddigit=$(echo "${currentbuild}"|tr -cd '[:digit:]')
availablebuilddigit=$(echo "${availablebuild}"|tr -cd '[:digit:]') availablebuilddigit=$(echo "${availablebuild}"|tr -cd '[:digit:]')
if [ "${currentbuilddigit}" -ne "${availablebuilddigit}" ]; then if [ "${currentbuilddigit}" -ne "${availablebuilddigit}" ]; then
echo -e "\n" echo -e "\n"
echo -e "Update available:" echo -e "Update available:"
sleep 1 sleep 1
echo -e " Current build: ${red}${currentbuild} ${mumblearch}${default}" echo -e " Current build: ${red}${currentbuild} ${mumblearch}${default}"
echo -e " Available build: ${green}${availablebuild} ${mumblearch}${default}" echo -e " Available build: ${green}${availablebuild} ${mumblearch}${default}"
echo -e "" echo -e ""
sleep 1 sleep 1
echo "" echo ""
echo -en "Applying update.\r" echo -en "Applying update.\r"
sleep 1 sleep 1
echo -en "Applying update..\r" echo -en "Applying update..\r"
sleep 1 sleep 1
echo -en "Applying update...\r" echo -en "Applying update...\r"
sleep 1 sleep 1
echo -en "\n" echo -en "\n"
fn_script_log "Update available" fn_script_log "Update available"
fn_script_log "Current build: ${currentbuild}" fn_script_log "Current build: ${currentbuild}"
fn_script_log "Available build: ${availablebuild}" fn_script_log "Available build: ${availablebuild}"
fn_script_log "${currentbuild} > ${availablebuild}" fn_script_log "${currentbuild} > ${availablebuild}"
unset updateonstart unset updateonstart
check_status.sh check_status.sh
if [ "${status}" == "0" ]; then if [ "${status}" == "0" ]; then
fn_update_mumble_dl fn_update_mumble_dl
exitbypass=1 exitbypass=1
command_start.sh command_start.sh
exitbypass=1 exitbypass=1
command_stop.sh command_stop.sh
else
exitbypass=1
command_stop.sh
fn_update_mumble_dl
exitbypass=1
command_start.sh
fi
alert="update"
alert.sh
else else
exitbypass=1 echo -e "\n"
command_stop.sh echo -e "No update available:"
fn_update_mumble_dl echo -e " Current version: ${green}${currentbuild}${default}"
exitbypass=1 echo -e " Available version: ${green}${availablebuild}${default}"
command_start.sh echo -e ""
fn_print_ok_nl "No update available"
fn_script_log_info "Current build: ${currentbuild}"
fn_script_log_info "Available build: ${availablebuild}"
fi fi
alert="update"
alert.sh
else
echo -e "\n"
echo -e "No update available:"
echo -e " Current version: ${green}${currentbuild}${default}"
echo -e " Available version: ${green}${availablebuild}${default}"
echo -e ""
fn_print_ok_nl "No update available"
fn_script_log_info "Current build: ${currentbuild}"
fn_script_log_info "Available build: ${availablebuild}"
fi
} }
fn_update_mumble_dl(){
mumblebuildname="murmur-static_${mumblearch}-${availablebuild}"
if [ ! -d "${lgsmdir}/tmp" ]; then
mkdir "${lgsmdir}/tmp"
fi
fn_fetch_file "https://github.com/mumble-voip/mumble/releases/download/${availablebuild}/${mumblebuildname}.tar.bz2" "${lgsmdir}/tmp" "${mumblebuildname}.tar.bz2"
fn_dl_extract "${lgsmdir}/tmp" "${mumblebuildname}.tar.bz2" "${lgsmdir}/tmp"
echo -e "copying to ${filesdir}...\c"
fn_script_log "Copying to ${filesdir}"
cp -R "${lgsmdir}/tmp/${mumblebuildname}/"* "${filesdir}"
rm -R "${lgsmdir}/tmp"
local exitcode=$?
if [ ${exitcode} -eq 0 ]; then
fn_print_ok_eol_nl
else
fn_print_fail_eol_nl
fi
}
fn_update_mumble_arch fn_update_mumble_arch
if [ "${installer}" == "1" ]; then if [ "${installer}" == "1" ]; then

Loading…
Cancel
Save