#!/bin/sh

# Created by hongbo.he@lnxall.com
# 20260701

if [ -d '/opt/lnxall_app/bin' ] ; then
	export PATH=/opt/lnxall_app/bin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin
else
	export PATH=/lib/dyiot/bin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin
fi

BO_GWSN="$1"
GWSN="$(factory get 2>/dev/null | awk -F= '/SN=/{print $2}')"
[ -z "${BO_GWSN}" ] && BO_GWSN="${GWSN}"
THIS_SCRIPT="$(readlink -f $0)"
[ -z "${THIS_SCRIPT}" ] && THIS_SCRIPT="$0"

extract_to_tmp() {
	local tdir="$1"
	[ -z "${tdir}" ] && tdir=/tmp

	local line_no=$(cat -n "${THIS_SCRIPT}" | grep -a -E -e '#\s+RAW_DATA_BEGIN' | awk '{print $1}')
	if [ -z "${line_no}" ] ; then
		echo "Error, failed to get raw data line NO. => ${BO_GWSN}"
		return 1
	fi
	line_no=$((line_no + 1))

	tail -n "+${line_no}" "${THIS_SCRIPT}" | bzip2 -d -c | tar -x -f - -C "${tdir}"
	[ $? -eq 0 ] && return 0

	echo "Error, failed to extract file '${THIS_SCRIPT}' to ${tdir}"
	return 2
}

install_stat_monitor() {
	if [ ! -d /opt/lnxall_app/bin ] ; then
		mkdir -p /opt/lnxall_app/bin
	fi

	mv -v -f ./stat-monitor.lua /opt/lnxall_app/bin/stat-monitor.lua
	mv -v -f ./logctl.lua /opt/lnxall_app/share/lua/logctl.lua
	mv -v -f ./ovo.lua /opt/lnxall_app/share/lua/ovo.lua
	mv -v -f ./statmon_config.json /app/config/statmon_config.json
	chmod +x /opt/lnxall_app/bin/stat-monitor.lua /opt/lnxall_app/share/lua/logctl.lua /opt/lnxall_app/share/lua/ovo.lua

	mv -v -f ./stat-monitor.service /lib/systemd/system/stat-monitor.service
	systemctl daemon-reload
	systemctl enable stat-monitor
	systemctl restart stat-monitor
}

if [ ! -f "${THIS_SCRIPT}" ] ; then
	echo "Error, THIS SCRIPT not found: ${BO_GWSN}"
	exit 1
fi

rm -rf /tmp/stat-monitor-files
extract_to_tmp
if [ $? -eq 0 ] ; then
	cd /tmp/stat-monitor-files || exit 1
	install_stat_monitor
fi

cd /tmp && rm -rf ./stat-monitor-files
sync
exit 0
#  RAW_DATA_BEGIN #####################
BZh91AY&SY ߐ~  `zn{ٷݟo4mC*51dS#"FTMS@!ię4L*zjx$zzFGh  =@)DG=SF44d@  0I	I=S1644A@ 4BML4 h = A   I &IM0IDhb  _?T)\fK^U
<AeuoV20 Ջ796(em@:!дFH,b
,D"<+]9^1dDF(YFDXUX`0D k<[֮#k>jpu_A'=E5yUljVm]q.}ϮudE.zHƱ(GD :UQEn
Q&؊%AAmhDٙsO2Tyv|'K>hGKi]\lVfT')UE0<,>cW+I7")TD*ZVkZr?"u2Q.V^-hu'0G.h[n(.06%,Vof_hh%0|0ZO,}n٩9SrVK״t1
Q(6Ӝtjg۩PiqiJ5ǐ<v]mI
 a5W@ZoJG%LGSQt='`+*,u-c Rq^6Wȭ<|*pTNSґ֒_,R܇J%$^ʍu" Y#IȀ!՝%ԫ[OF)%paQO}pN)m Gyz3ӓD[`_?x~}.k8{<E{숂0۟TN}2Eb\xTaJQopeo6wxn	bYaeY3jz`[f.A]S!ixlYc#	zG<5EˎHb*RvZZK=NB DN+
l1cۛ6uU͡*	Ww &('=dz T2@rH.?n>~P\%jԺTV%? 6 Bä;FpDjr_hTg~q7<slJQg39l;=l	*h:jlӐmq-p#O3Rp~T@99 L얭))U3R#ׇZՖoY^h4^se.S'!{qt1nMl6`(`("kМU4ǻO><g'VA(I
}rIʄ!=->冸-ޏ8n>,_2Y|e٢YKx#ӱg6ɗjYe>f綇دӬnRG|'VI`
EN>q>|?P|ĦRJBJDtE`wT-*T4d`^U+VvMFF&20 QѲ<ݡ<ށl@(-}; /{Pڀjm|`T"L'$x0dhTպറaA&=l u|vM<b ctlL}(}}Ӷ<*9C7-(VRNt,&˶[x;3M˂mtt3<Hpҿᇼ1ǧ,EDbpR8jr;DN>4z9&Țeh!nQЈ^bK=	^.x(	g``&_:ʯT;\u*Unڪ5L-7BPОq☡ܘI7R052b#mT`ĦM(кr!M1q^7m!(H{8o+}YfCt ^4T@ܧb
7N;G"0ޗ@6ICaסuBf`ko%tabT*;|$,/ƷͦhD*JkiA3)qu9$$QRDb
_Epnv^՞77Y:6;dLyf[c
b(hNͥǴDϋY7¹T	,uaqLmjNf xvToUȪ`-Baf
JӲgX0YwfMᳫu@:70{ +Kf}C]uK0.}_[UbUP^7_lW%xBT\KNy32/|<r`V?L9&olPCkâ9hsJ;bͦRk~\5d.x
1'J;B-kqHHh%R,-$;yNldӀh{$8N-$@v)C<21?SCq%5Z%ewZ֑uuTڲoDtfe=:68F!v~>Dc65<AC37S{uc7%XuGeIj"XJՇ
1"ip8ޗsf.OOGGK̏SDdv0F'ҫ,pew*Qy_v-dI1}ra4%U-/IjOmMEN=Mɟ\]RwEA
$o.1Z-إxH@lHkzf#TLRрQ9;O[|$A'ac	lIޣӍ]wO:a%heMlVY-G*'m_ʳOx9<?ܑN$$