| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #!/bin/bash
- # LGSM check_deps.sh function
- # Author: Daniel Gibbs
- # Website: http://gameservermanagers.com
- lgsm_version="170116"
- # Description: Checks that the require dependencies are installed for LGSM
- fn_deps_detector(){
- # Checks is dependency is missing
- if [ -n "$(command -v dpkg-query)" ]; then
- dpkg-query -W -f='${Status}' ${deptocheck} | grep -q -P '^install ok installed$'
- depstatus=$?
- if [ "${depstatus}" == "0" ]; then
- missingdep=0
- echo -en " \e[0;32m${deptocheck}\e[0m"
- else
- # if missing dependency is flagged
- missingdep=1
- echo -en " \e[0;31m${deptocheck}\e[0m"
- fi
- sleep 0.5
- fi
- # Add missing dependencies are added to array_deps_missing array
- if [ "${missingdep}" == "1" ]; then
- array_deps_missing+=("${deptocheck}")
- fi
- }
- fn_deps_email(){
- # Adds postfix to required dependencies if email notification is enabled
- if [ "${emailnotification}" == "on" ]; then
- array_deps_required+=("mailutils postfix")
- fi
- }
- cd "${executabledir}"
- # Generate array of missing deps
- array_deps_missing=()
- fn_printdots "Checking for missing dependencies:"
- if [ "${executable}" == "./srcds_run" ]||[ "${executable}" == "./dabds.sh" ]||[ "${executable}" == "./srcds_run.sh" ]||[ "${executable}" == "./Jcmp-Server" ] ; then
- local array_deps_required=( tmux curl lib32gcc1 libstdc++6:i386 )
- fn_deps_email
- elif
- else
- fn_printfail "Unknown executable"
- exit
- fi
- # Loop though required depenencies
- for deptocheck in "${array_deps_required[@]}"
- do
- fn_deps_detector
- done
- if [ "${#array_deps_missing[@]}" != "0" ]; then
- fn_printwarnnl "Dependency Missing: \e[0;31m${array_deps_missing[@]}\e[0m"
- sleep 2
- sudo -n true
- if [ $? -eq 0 ]; then
- fn_printinfonl "Attempting to install missing dependencies automatically"
- echo -en ".\r"
- sleep 1
- echo -en "..\r"
- sleep 1
- echo -en "...\r"
- sleep 1
- echo -en " \r"
- sudo apt-get install ${array_deps_missing[@]}
- else
- echo "sudo apt-get install ${array_deps_missing[@]}"
- fi
- else
- fn_printoknl "Checking for missing dependencies"
- fi
|