Explorar o código

Code shuffle and update

Shuffled code to match update_ts3.sh also updated messages to reflect
recent updates to update_ts3.sh
Daniel Gibbs %!s(int64=9) %!d(string=hai) anos
pai
achega
2127a7eaa4
Modificáronse 1 ficheiros con 120 adicións e 135 borrados
  1. 120 135
      lgsm/functions/update_mumble.sh

+ 120 - 135
lgsm/functions/update_mumble.sh

@@ -9,162 +9,147 @@ local commandname="UPDATE"
 local commandaction="Update"
 local function_selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
 
-fn_update_mumble_arch(){
-# Mumble is x86 only for now
-mumblearch="x86"
-}
-
-fn_update_mumble_availablebuild(){
-# Gets latest build info.
-fn_print_info_nl "Checking latest build from github.com"
-fn_script_log "Checking latest build from github.com"
-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 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_dl(){
+	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"
+	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}"
+	cp -R "${lgsmdir}/tmp/murmur-static_${mumblearch}-${availablebuild}/"* "${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_currentbuild(){
-# Gets current build info
-fn_print_info "Checking installed server build"
-sleep 1
-# Checks if current build info is available. If it fails, then a server restart will be forced to generate logs.
-if [ ! -f "${consolelogdir}/${servicename}-console.log" ]; then
-	fn_print_info_nl "No current log found, can't retrieve current server build"
-	fn_script_log_info "No current log found, can't retrieve current server build"
-	sleep 1
-	fn_print_info_nl "Forcing server restart"
-	fn_script_log_info "Forcing server restart"
-	sleep 1
-	check_status.sh
-	if [ "${status}" != "0" ]; then
+	# Gets current build info
+	# Checks if current build info is available. If it fails, then a server restart will be forced to generate logs.
+	if [ ! -f "${consolelogdir}/${servicename}-console.log" ]; then
+		fn_print_error "Checking for update: GitHub"
+		sleep 1
+		fn_print_error_nl "Checking for update: GitHub: No logs with server version found"
+		fn_script_log_error "Checking for update: GitHub: No logs with server version 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"
+		sleep 1
 		exitbypass=1
 		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
-	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
-	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
+	# 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
-		fn_print_fail_nl "Sorry, current build version still not found"
-		fn_script_log_fatal "Sorry, current build version still not found"
+		fn_print_error_nl "Checking for update: GitHub: Current build version 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
+	else
+		fn_print_ok_nl "Checking for update: GitHub"
+		fn_script_log_pass "Checking for update: GitHub"
+		sleep 1
 	fi
-fi
 }
 
 fn_update_mumble_compare(){
-# Removes dots so if can compare version numbers
-currentbuilddigit=$(echo "${currentbuild}"|tr -cd '[:digit:]')
-availablebuilddigit=$(echo "${availablebuild}"|tr -cd '[:digit:]')
+	# Removes dots so if can compare version numbers
+	currentbuilddigit=$(echo "${currentbuild}"|tr -cd '[:digit:]')
+	availablebuilddigit=$(echo "${availablebuild}"|tr -cd '[:digit:]')
 
-if [ "${currentbuilddigit}" -ne "${availablebuilddigit}" ]; then
-	echo -e "\n"
-	echo -e "Update available:"
-	sleep 1
-	echo -e "	Current build: ${red}${currentbuild} ${mumblearch}${default}"
-	echo -e "	Available build: ${green}${availablebuild} ${mumblearch}${default}"
-	echo -e ""
-	sleep 1
-	echo ""
-	echo -en "Applying update.\r"
-	sleep 1
-	echo -en "Applying update..\r"
-	sleep 1
-	echo -en "Applying update...\r"
-	sleep 1
-	echo -en "\n"
-	fn_script_log "Update available"
-	fn_script_log "Current build: ${currentbuild}"
-	fn_script_log "Available build: ${availablebuild}"
-	fn_script_log "${currentbuild} > ${availablebuild}"
+	if [ "${currentbuilddigit}" -ne "${availablebuilddigit}" ]; then
+		echo -e "\n"
+		echo -e "Update available:"
+		sleep 1
+		echo -e "	Current build: ${red}${currentbuild} ${mumblearch}${default}"
+		echo -e "	Available build: ${green}${availablebuild} ${mumblearch}${default}"
+		echo -e ""
+		sleep 1
+		echo ""
+		echo -en "Applying update.\r"
+		sleep 1
+		echo -en "Applying update..\r"
+		sleep 1
+		echo -en "Applying update...\r"
+		sleep 1
+		echo -en "\n"
+		fn_script_log "Update available"
+		fn_script_log "Current build: ${currentbuild}"
+		fn_script_log "Available build: ${availablebuild}"
+		fn_script_log "${currentbuild} > ${availablebuild}"
 
-	unset updateonstart
+		unset updateonstart
 
-	check_status.sh
-	if [ "${status}" == "0" ]; then
-		fn_update_mumble_dl
-		exitbypass=1
-		command_start.sh
-		exitbypass=1
-		command_stop.sh
+		check_status.sh
+		if [ "${status}" == "0" ]; then
+			fn_update_mumble_dl
+			exitbypass=1
+			command_start.sh
+			exitbypass=1
+			command_stop.sh
+		else
+			exitbypass=1
+			command_stop.sh
+			fn_update_mumble_dl
+			exitbypass=1
+			command_start.sh
+		fi
+		alert="update"
+		alert.sh
 	else
-		exitbypass=1
-		command_stop.sh
-		fn_update_mumble_dl
-		exitbypass=1
-		command_start.sh
+		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
-	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
 if [ "${installer}" == "1" ]; then