#! /bin/bash
MNT_DIR="/mnt/"
MNT_DEV="$(ls /mnt/ | grep USB*)"
WORK_DIR="/mnt/data/"
TARGET_DIR="new_package"
APP_PACKAGE="package.zip"
CONFIG_NAME="config.json"
APP="/mnt/data/package/default.lua"
do_restart=0

is_content_different() {
	echo $( cmp -s $1 $2 && echo "1" || echo "0" )
}


create_directory() {
	# check if directory doesn't exist before creating
	if [ ! -d $1$2 ]
	then
		mkdir "$1$2"
	fi
}


for i in $MNT_DEV	
do                                   
        count=`ls -1 "$MNT_DIR$i"/*.json 2>/dev/null | wc -l`      
                                                    
        if [ $count != 0 ]                                         
        then                                                       
                                                                   
                CONFIG_FILES=$( ls "$MNT_DIR$i"/*.json )           
                logger $"config file: $CONFIG_FILES"                 
                                                                   
                                                                   
                for j in $CONFIG_FILES                             
                do                                           
			# kill `pidof "lua5.1"`
			# is_equal=$( cmp -s "$WORK_DIR$CONFIG_NAME" $j && echo "1" || echo "0" )
			is_equal=$( is_content_different "$WORK_DIR$CONFIG_NAME"  "$j" ) 
			if [ $is_equal = 0 ]
			then		
		                
				create_directory $WORK_DIR $TARGET_DIR          
		                cp $j $WORK_DIR$TARGET_DIR
				do_restart=1                    
			fi 
                done                                                     
        fi   		
			
	if [ -f $MNT_DIR$i/$APP_PACKAGE ]; 
	then
		logger "copying application from USB drive"
		create_directory $WORK_DIR $TARGET_DIR
		
		MD5SUMNEW=($( md5sum $MNT_DIR$i/$APP_PACKAGE ))		
		if [ -f "$WORK_DIR"package.zip ];
		then
			MD5SUMOLD=($( md5sum "$WORK_DIR"package.zip )) 
		else
			MD5SUMOLD=0
		fi	

		if [ $MD5SUMNEW != $MD5SUMOLD ];
		then
			cp -rf "$MNT_DIR$i"/$APP_PACKAGE $WORK_DIR$TARGET_DIR 
		# /etc/init.d/audioplex restart
			do_restart=1
		fi 
	else
		logger "no application package found on USB drive"
	fi
	umount $MNT_DIR$i                            
	rm -rf $MNT_DIR$i

	if [ $do_restart == 1 ]; then
		/etc/init.d/flexa-daemon start
	fi
	
done

	
