#!/bin/sh

mkdir -p ipkg-dir

if [ -d ipkg-dir ] ; then
    PF_INSTPFX="${PWD}/ipkg-dir${LNX_PREFIX}"
else
    PF_INSTPFX="${LNXDESTPFX}"
fi

CONFIG_DIR="$PF_INSTPFX/app/config"
GLOBAL_DIR="$PF_INSTPFX/app/global"
ALARM_DIR="$PF_INSTPFX/app/global/alarminfo"

update_mo(){
	# 多语言文件编译, 放在这里比较合适，每次编译proto_forward时都会更新
	PO_PATH=../translation
	po_files=`ls ${PO_PATH}/*.po`
    for po_file in "${po_files[@]}"
    do
        mo_file="${po_file%.*}.mo"
        msgfmt -o "$mo_file" "$po_file"
    done
	# 把文件名后缀去掉
	po_names=$(echo "$po_files" | sed 's/.*\///; s/\.po//')
	for po_name in $po_names; do
        LANGUAGE_DIR="$PF_INSTPFX/app/global/language/$po_name/LC_MESSAGES"
		mkdir -p  $LANGUAGE_DIR
		cp -rvf ${PO_PATH}/${po_name}.mo $LANGUAGE_DIR/language.mo
	done
	rm -f ${PO_PATH}/*.mo
}


hw_copy_file() {
    echo "LNX_TARGET_DEV:$1"
    #
    case "$1" in
    iMX6ULL)
        cp ../config/hw_cfg/imx6ull/* "$CONFIG_DIR" -rfv
        mv "$CONFIG_DIR/emsd_notaosd.service" "$PF_INSTPFX/platspec/emsd.service" -vf
        ;;
    BAU-B30-003)
        cp ../config/hw_cfg/bau3.0/* "$CONFIG_DIR" -rfv
        ;;
    RK3568)
        ;;
    ECU1170)
        cp ../config/hw_cfg/ecu1170/* "$CONFIG_DIR" -rfv
        ;;
    *) ;;
    esac
}


mainfunc() {
    chmod a+x *.sh
    chmod a+x scripts/*
    chmod +x ./inits/*.sh

    mkdir -p "$PF_INSTPFX"
    mkdir -p "$PF_INSTPFX/bin"
    mkdir -p "$PF_INSTPFX/bin/inits/"
    mkdir -p "$PF_INSTPFX/platspec"
    mkdir -p "$GLOBAL_DIR/template"
    mkdir -p "$ALARM_DIR"

    cp proto_forward "$PF_INSTPFX/bin" -rf
    cp em*d_startup.sh "$PF_INSTPFX/bin" -rf
    cp ../files/*.service "$PF_INSTPFX/platspec" -rf
    cp  ../cert "$PF_INSTPFX/app/" -rf
    mv version.log $PF_INSTPFX

    rsync -a --exclude='hw_cfg' ../config "$PF_INSTPFX/app"
    rsync -a --exclude='.git' --exclude='.gitlab-ci.yml' ../template "$GLOBAL_DIR"
    sshpass -p lnxall123 scp -oConnectTimeout=5 -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null -q -r lnxall@192.168.22.227:/home/lnxall/ems_alarm/alarminfo/* "$ALARM_DIR"

    update_mo

    # 初始化脚本
    rsync -a --exclude='__pycache__' ./scripts/* "$PF_INSTPFX/bin"
    cp ./inits/* "$PF_INSTPFX/bin/inits/" -rf
    chmod a+x $PF_INSTPFX/bin/*

    # 硬件相关的配置拷贝
    hw_copy_file $LNX_TARGET_DEV
    chmod a+x ${PF_INSTPFX}/bin/*
    return $?
}

mainfunc
