#!/bin/bash

get_value()
{
    cat $1 | grep -m 1 ${2}= | awk -F = '{print $NF}' | awk -F \" '{print $2}'
}

init_bottle()
{
    RUN_FILE=$1

    if [ ! -f "$RUN_FILE" ];then
        echo "$RUN_FILE 未安装"
        return
    fi

    DEB_PACKAGE_NAME="$(get_value $RUN_FILE DEB_PACKAGE_NAME)"
    BOTTLENAME="$(get_value $RUN_FILE BOTTLENAME)"
    APPRUN_CMD="$(get_value $RUN_FILE APPRUN_CMD)"
    BOTTLEPATH="$HOME/.deepinwine/$BOTTLENAME"

    if [ $2 ]&&[ $2 == "-c" ];then
	$RUN_FILE -c
    fi

#    KILL="/opt/deepinwine/tools/kill.bak"
#    if [ -f $KILL ];then
#	$KILL "$BOTTLENAME"
#    fi

    if [ -d "$BOTTLEPATH" ];then
        APPRUN_CMD=${APPRUN_CMD/\$HOME/$HOME}

        if [ ! -f "$APPRUN_CMD" ];then
            export WINEDLLPATH=/opt/$APPRUN_CMD/lib:/opt/$APPRUN_CMD/lib64
        fi

        ARCHIVE_FILE_DIR="/opt/apps/$DEB_PACKAGE_NAME/files"
        export WINEPREDLL="$ARCHIVE_FILE_DIR/dlls"

	WINEPREFIX="$BOTTLEPATH" $APPRUN_CMD /opt/deepinwine/tools/startbottle.exe &
    fi
}

AUTOSTART="/opt/deepinwine/tools/autostart"
if [ -f "$AUTOSTART.all" ];then
	find /opt/apps -name run.sh | while read package;do
	    init_bottle $package "$@"
	done
elif [ -f $AUTOSTART ];then
	debs=`cat $AUTOSTART`
	for deb in $debs
	do
		debname=`echo $deb | sed -e 's/\s//g'`
		init_bottle "/opt/apps/$debname/files/run.sh" "$@"
	done
fi