112 lines
4.1 KiB
Bash
Executable File
112 lines
4.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# MediaManager Loader
|
|
|
|
source /opt/idssys/defaults/colors.inc
|
|
source /opt/idssys/defaults/default.inc
|
|
source /opt/idssys/mediamanager/defaults.inc
|
|
source ${MMFOLDER}/settings.conf
|
|
[ "${GITBRANCH}" != "" ] && GBRANCH="${GITBRANCH}" || GBRANCH="master"
|
|
|
|
|
|
if [ "${2}" == "q" ]; then
|
|
unset idsCL idsBG idsST
|
|
idsCL=('')
|
|
idsBG=('')
|
|
idsST=('')
|
|
[ "${1}" == "update" ] && echo -e "\n\n$(date) - Starting log #############################\n" >> ${outputlogfile}
|
|
fi
|
|
|
|
if ([ "${1}" == "check" ] && [ "$(date +%M)" == "15" ]) || [ "${1}" == "" ]; then
|
|
MMUPDATECHECK
|
|
fi
|
|
|
|
if ([ "${1}" == "update" ] && [ -z ${2+x} ]) || [ "${1}" == "setup" ]; then
|
|
if curl -m 5 -s --head --request GET https://git.schroedercity.com | grep "HTTP/2 200" > /dev/null; then
|
|
if [ "${2}" != "qq" ]; then
|
|
echo -en "${idsCL[LightCyan]}Checking for updates...${idsCL[Default]}"
|
|
echo ""
|
|
fi
|
|
cd /opt/idssys/defaults
|
|
if [ "`git log --pretty=%H ...refs/heads/master^ | head -n 1`" != "`git ls-remote origin -h refs/heads/master |cut -f1`" ]; then
|
|
if [ "${2}" != "q" ]; then
|
|
echo -en "\e[1A";
|
|
echo -e "\e[0K\r ${idsCL[LightCyan]}Updating iDSSYS-Defaults...${idsCL[Default]}"
|
|
else
|
|
echo -e "${idsCL[LightCyan]}Updating iDSSYS-Defaults...${idsCL[Default]}"
|
|
fi
|
|
git fetch origin master >/dev/null 2>&1
|
|
git reset --hard origin/master >/dev/null 2>&1
|
|
git reflog expire --expire=now --all >/dev/null 2>&1
|
|
git repack -ad >/dev/null 2>&1
|
|
git prune >/dev/null 2>&1
|
|
git pull >/dev/null 2>&1
|
|
git submodule update --remote >/dev/null 2>&1
|
|
fi
|
|
|
|
cd ${MMFOLDER}
|
|
if [ "`git log --pretty=%H ...refs/heads/${GBRANCH}^ | head -n 1`" != "`git ls-remote origin -h refs/heads/${GBRANCH} |cut -f1`" ]; then
|
|
if [ "${2}" != "q" ]; then
|
|
echo -en "\e[1A";
|
|
echo -e "\e[0K\r ${idsCL[LightCyan]}Installing mediamanager updates...${idsCL[Default]}"
|
|
else
|
|
echo -e "${idsCL[LightCyan]}Installing mediamanager updates...${idsCL[Default]}"
|
|
fi
|
|
git fetch origin ${GBRANCH} >/dev/null 2>&1
|
|
git reset --hard origin/${GBRANCH} >/dev/null 2>&1
|
|
git reflog expire --expire=now --all >/dev/null 2>&1
|
|
git repack -ad >/dev/null 2>&1
|
|
git prune >/dev/null 2>&1
|
|
git pull >/dev/null 2>&1
|
|
git submodule update --remote >/dev/null 2>&1
|
|
/bin/chmod +x ${MMFOLDER}/mm-scripts.sh 2>&1
|
|
source ${MMFOLDER}/defaults.inc
|
|
if [ "${2}" != "q" ]; then
|
|
echo -en "\e[1A";
|
|
echo -e "\e[0K\r ${idsCL[Green]}Update to v${VERS} complete${idsCL[Default]}"
|
|
else
|
|
echo -e "${idsCL[Green]}Update to v${VERS} complete${idsCL[Default]}"
|
|
fi
|
|
elif [ "${2}" != "q" ]; then
|
|
echo -en "\e[1A";
|
|
echo -e "\e[0K\r ${idsCL[LightCyan]}No Updates Available${idsCL[Default]}"
|
|
else
|
|
echo -e "${idsCL[LightCyan]}No Updates Available${idsCL[Default]}"
|
|
fi
|
|
/bin/rm -f ${TMPFOLDER}/update.available
|
|
|
|
else
|
|
echo -e "${idsCL[Red]}Could not connect to 'git.schroedercity.com' for updates${idsCL[Default]}"
|
|
|
|
fi
|
|
fi
|
|
|
|
if [ "${1}" == "clear" ]; then
|
|
[ ! -f ${TMPFOLDER}/mm.stop ] && rm -f ${TMPFOLDER}/mm.* || rm -f ${TMPFOLDER}/mm.*; touch ${TMPFOLDER}/mm.stop
|
|
fi
|
|
if [ -f ${TMPFOLDER}/mm.stop.checking ]; then
|
|
#fd=$(expr $(date +%s) - $(stat -L --format %Y ${TMPFOLDER}/mm.stop.checking))
|
|
if [ $(expr $(date +%s) - $(stat -L --format %Y ${TMPFOLDER}/mm.stop.checking)) -gt 900 ]; then
|
|
rm -f ${TMPFOLDER}/mm.stop*
|
|
elif [ "${1}" = "check" ] && [ "$(ip link | grep "${VPN_INTERFACE}")" = "" ] && [ ! -f ${TMPFOLDER}/mm.vpn* ] && [ $(uptime_minutes) -lt 3 ]; then
|
|
rm -f ${TMPFOLDER}/mm.stop*
|
|
|
|
elif [ "${1}" != "status" ] && [ "${1}" != "update-service" ] && [ "${1}" != "update-allservices" ] && [ "${1}" != "stop" ] && [ "${1}" != "" ]; then
|
|
echo -e "${idsCL[LightCyan]}Try again later, 'mm' program currently in use...${idsCL[Default]}"
|
|
fi
|
|
fi
|
|
|
|
if [ ! -f ${TMPFOLDER}/mm.stop.checking ] || [ "${1}" == "status" ] || [ "${1}" == "update-service" ] || [ "${1}" == "update-allservices" ] || [ "${1}" == "stop" ] || [ "${1}" == "" ]; then
|
|
[ "${1}" == "start" ] && rm -f ${TMPFOLDER}/mm.stop
|
|
${MMFOLDER}/mm-scripts.sh ${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9} ${10} ${11} ${12} ${13} ${14}
|
|
fi
|
|
|
|
echo
|
|
exit 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|