#!/bin/sh

USER=root
PASS=root
REMOTE_IP=172.20.0.2
TEMP_DIR=/tmp/diso
ESPACIO='   '

verificarArchivos()
{
	echo Directorio ${2}/${1}

	# Si la lista de archivos pasada como argumento es nula, salimos
	if [ -z "$ARCHIVOS" ]; then
		echo "$ESPACIO No hay archivos en $1"
		return 1
	fi

	# Obtenemos los archivos a chequear del ftp server
	rm -rf ${TEMP_DIR}/${1}
	mkdir -p ${TEMP_DIR}/${1}

ftp -i -n $REMOTE_IP <<** > /dev/null
user $USER $PASS
cd ${2}/${1}
lcd ${TEMP_DIR}/${1}
mget ${ARCHIVOS}
bye
**

	# Ahora los comparamos con los locales
	for file in $ARCHIVOS; do
		ARCHIVO_REMOTO=${TEMP_DIR}/${1}/${file}
		ARCHIVO_LOCAL=${DIR_ACTUAL}/${1}/${file}

		if [ ! -f $ARCHIVO_REMOTO -o ! -f $ARCHIVO_LOCAL ]; then
			echo "$ESPACIO Error con los archivos"
			return 1
		fi
		
		diff $OPCIONES -u ${ARCHIVO_REMOTO} ${ARCHIVO_LOCAL}
	done

	rm -rf ${TEMP_DIR}/${1}
}

OPCIONES=$1
DIR_ACTUAL=$(pwd)

DIR=include/minix
cd $DIR
ARCHIVOS=$(ls *.c *.h 2> /dev/null | tr "\t" " " | tr "\n" " ")
verificarArchivos $DIR /usr
cd ../..

DIR=mm
cd $DIR
ARCHIVOS=$(ls *.c *.h | tr "\t" " " | tr "\n" " ")
verificarArchivos $DIR /usr/src
cd ..

DIR=kernel
cd $DIR
ARCHIVOS=$(ls *.c *.h | tr "\t" " " | tr "\n" " ")
verificarArchivos $DIR /usr/src
cd ..
