#!/bin/bash

echo "Stopping Euro3G ..... "
service mysql start
service euro3g stop
echo " "
echo "Current filesystem info: "
df /
echo " "
echo "Making ditribution cleanup .... "
echo " "

#backup current config
cp /opt/euro-beta/e3g_inputattach /tmp
rm -f /opt/euro-beta/e3g_inputattach 
touch /opt/euro-beta/touch_calibration_required 

#initial cleanup
rm -rf /tmp/report_dir
rm -f /tmp/image_size
rm -f /tmp/archive_size
rm -f /tmp/mhd_version_info
rm -f /var/lib/setserial/autoserial.conf
rm -f /etc/udev/rules.d/70-persistent-net.rules
rm -f /root/.bash_history
rm -f /opt/euro-beta/db_backup/2*.gz
find /var/log -type f -iname "*.log.*.gz" -exec rm -f {} \;
find /var/log -type f -iname "*.log" -exec cat /dev/null > {} \;
find /opt/euro-beta/log -type f -iname "*.log.*.gz" -exec rm -f {} \;
find /opt/euro-beta/log -type f -iname "*.log" -exec cat /dev/null > {} \;
apt-get clean
echo "MariaDB binary log cleanup .... "
echo "PURGE BINARY LOGS BEFORE '"`date '+%Y/%m/%d %H:%M:%S'`"'" | mysql -p
echo " "
service mysql stop
echo "Filesystem info after cleanup: "
df /
echo " "

IMG_FILE=/tmp/mhd.tgz
TAR_EXCLUDES="--exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/home/jan --exclude=$IMG_FILE"

# By default we didn't deploy any of strange workarounds ( xrandr scaling, i8042 kernel override parms etc. )
rm -f /opt/euro-beta/xrandr_scale 
sed -i 's/GRUB_CMDLINE_LINUX=.*/GRUB_CMDLINE_LINUX="i8042.nomux=1"/' /etc/default/grub

cp -f /opt/euro-beta/systools/distr/postinstall_* /opt/euro-beta
cp -f /opt/euro-beta/mhd_version_info /tmp/mhd_version_info
MHD_VERSION_INFO=`cat /tmp/mhd_version_info`
if [ "$MHD_VERSION_INFO." = "." ] ; 
then
  LSB_INFO=`lsb_release -d | sed -r 's/^[^ \t]+[ \t]+//'`
  MHD_VERSION_INFO="Euro3G Image ( $LSB_INFO ) created "`date "+%d/%m/%Y"`
  echo $MHD_VERSION_INFO > /tmp/mhd_version_info
fi

echo "Current image description: [$MHD_VERSION_INFO]"
echo " "
echo "Enter new description ( leave empty to keep current one ) and press ENTER"
read NEW_INFO
if [ ".$NEW_INFO" != "." ];
then
  echo $NEW_INFO > /tmp/mhd_version_info
  MHD_VERSION_INFO=`cat /tmp/mhd_version_info`
  echo "New image description: [$MHD_VERSION_INFO]"
fi

if [ "$1." != "." ] ; then
  IMG_FILE=$1
fi 
rm $IMG_FILE
echo `date`
echo Creating compressed archive $IMG_FILE
cd /
df `mount | awk '/on [/] / {print $1}'` | awk '/dev/ {print $3}' > /tmp/image_size
if [ ! -e /tmp/menu.lst.orig ] 
then
  touch /tmp/menu.lst.orig
  cp /opt/euro-beta/hw_config /tmp
  echo Euro3G > /opt/euro-beta/hw_config
fi
echo Estimated image size `cat /tmp/image_size`
tar cp $TAR_EXCLUDES --one-file-system -lO / | gzip -9 | wc -c > /tmp/archive_size
echo Estimated archive size `cat /tmp/archive_size`
tar cp $TAR_EXCLUDES --one-file-system --numeric-owner -lO /tmp/archive_size /tmp/image_size /tmp/mhd_version_info / | gzip -9 > $IMG_FILE
echo `date`
cp /tmp/hw_config /opt/euro-beta
cp /tmp/e3g_inputattach /opt/euro-beta
rm -f /tmp/menu.lst.orig
service mysql start
echo Done.
