#!/bin/sh

if [ "$1" != "ALL" -a "$1" != "DINEC" ]; then
	echo "Usage: cpfs ALL/DINEC"
	echo "The USB key must be plugged and activated (usb start)"
	echo "Attention: in 'Dinec' mode, the clock of the board must be correct"
	exit
fi

# En mode 'Dinec', la cle USB doit contenir les fichiers de configuration
if [ "$1" != "ALL" ]; then
	if [ ! -e /usb/board/common/interfaces ]; then
		echo "ERROR: FILE NOT FOUND on USB key !"
		exit
	fi
fi

echo "Creating target dir..."
rm -r -f /target
mkdir /target
chmod 777 /target

echo "bin..."
cp -a /bin /target

echo "dev..."
cp -a /dev /target

echo "etc..."
cp -a /etc /target

echo "lib..."
cp -a /lib /target

echo "proc..."
mkdir /target/proc
chmod 555 /target/proc

echo "sbin..."
cp -a /sbin /target

echo "sys..."
mkdir /target/sys
chmod 755 /target/sys

echo "tmp..."
mkdir /target/tmp
chmod 777 /target/tmp

echo "usb..."
mkdir /target/usb
chmod 777 /target/usb

echo "usr..."
cp -a /usr /target

echo "www..."
cp -a /www /target

echo "var..."
mkdir /target/var
chmod 755 /target/var
mkdir /target/var/cache
chmod 777 /target/var/cache
mkdir /target/var/lock
chmod 777 /target/var/lock
mkdir /target/var/log
chmod 777 /target/var/log
mkdir /target/var/run
chmod 777 /target/var/run
mkdir /target/var/tmp
chmod 777 /target/var/tmp
cp -a /var/lib /target/var

if [ "$1" = "ALL" ]; then
	echo "ALL mode"
	date +%Y%m%d > /target/DUMPDATE
	echo "dinec..."
	cp -a /dinec /target
	echo "Copying tmp..."
	mkdir /target/TEMP
	cp -a /tmp /target/TEMP
	echo "Copying var..."
	cp -a /var /target/TEMP
else
	echo "XXXX" > /target/etc/hostname
	chmod 644 /target/etc/hostname
	date +%Y%m%d > /target/etc/VersionFS

	echo "Copying /etc/network/interfaces..."
	cp /usb/board/common/interfaces /target/etc/network/interfaces
	if [ $? -ne 0 ]; then
		echo "FAIL !!!"
	fi
	chmod 775 /target/etc/network/interfaces
fi

echo "TAR and copy to USB key..."
if [ "$1" = "ALL" ]; then
	rm -f /usb/DumpFS.tar
	tar -cf /usb/DumpFS.tar /target/*
else
	rm -f /usb/fs.tar
	tar -cf /usb/fs.tar /target/*
fi

rm -r /target
echo "Finished"
