#!/bin/sh

# board/cv/sd_development_create.d/sudo_me.sh


msg() {
	printf "\n*** $1 ***\n\n"
}

p="$(dirname $0)"
td=$p/../../../..
tddi="${td}/output_development/images"

printf "\nPruefe Verzeichnisse...\n\n"

check_dirs="${tddi}"
files_d1="MLO u-boot.img boot.scr"
files_d2="zImage cv_octavo_emlix.dtb"

for d in ${check_dirs}
do
	echo "d: $d"
	if ! [ -d "$d" ]
	then
		msg "Verzeichnis $d nicht gefunden!"
		exit 1
	fi
done

printf "\nPruefe Dateien in ${tddi}..."

for f in ${files_d1} ${files_d2}
do
	tmpf="${tddi}/${f}"
	if ! [ -f "$tmpf" ]
	then
		msg "Datei $tmpf nicht gefunden!"
		exit 1
	fi
	tmpf=
done

# Pruefe rootfs.tar extra, dieses wird benoetigt, wenn auch nicht auf die Boot-Partition kopiert, daher nicht in files_p enthalten.
if ! [ -f "${tddi}/rootfs.tar" ]
then
	msg "Datei ${tddi}/rootfs.tar nicht gefunden!"
	exit 1
fi

sdb=/mnt/sdcard/BOOT
sdr=/mnt/sdcard/ROOTFS

for f in ${files_d1}
do
	tmpf="${tddi}/${f}"
	if ! cp "${tmpf}" "${sdb}/${f}"
	then
		msg "Konnte ${tmpf} nicht nach ${sdb}/${f} kopieren!"
		exit 1
	fi
	tmpf=
done

mkdir -p "${sdb}/development"

for f in ${files_d2}
do
	tmpf="${tddi}/${f}"
	if ! cp "${tmpf}" "${sdb}/development/${f}"
	then
		msg "Konnte ${tmpf} nicht nach ${sdb}/development/${f} kopieren!"
		exit 1
	fi
	tmpf=
done

# Leere 2. Partition der SD-Karte fuer rootfs

# zur sicherheit bei rm -rf keine variable verwendet! GEFAEHRLICHER BEFEHL!
if ! rm -rf /mnt/sdcard/ROOTFS/*
then
	msg 'Konnte /mnt/sdcard/ROOTFS/* nicht loeschen!'
	exit 1
fi

# rootfs.tar in die 2. Partition der SD-Karte extrahieren.

if ! tar -C "${sdr}" -vxf "${tddi}/rootfs.tar"
then
	msg "Konnte ${tddi}/rootfs.tar nicht nach ${sdr} entpacken!"
	exit 1
fi

# Ggf. existierende Backup-Dateien von manuellen Anpassungen im rootfs_overlay (die evtl. vergessen wurden) loeschen damit keine unerwuenschten und schwer auszumachende Effekte beim "Init" von Linux auftreten.

echo "Entferne alle Dateien *~ aus rootfs ..."
for f in $(find /mnt/sdcard/ROOTFS/etc -name '*~')
do
	if ! rm "$f"
	then
		echo "  Konnte $f nicht entfernen. Breche ab..."
		exit 17
	fi
done
echo "  DONE."



echo "Mache alle Skripte in /mnt/sdcard/ROOTFS/scripts/ ausführbar ..."
if ! sudo chmod +x /mnt/sdcard/ROOTFS/scripts/*.sh
then
	echo "  FEHLER. Breche ab..."
	exit 10
fi
echo "  DONE."
