#!/bin/sh
BATMP=/tmp/.batmp
BATMP2=/tmp/.batmp2
BAHOME=/media/ba
LINE="================================================================="

if [ -e /usr/sbin/sfdisk ]; then
   FDISK=/usr/sbin/sfdisk
else
   FDISK=/sbin/fdisk
fi

#update-alternatives --install /sbin/init init /sbin/bainit 500 > /dev/null 2>&1

if [ -f /.bainfo -o -f /.meoboot ]; then
   exit 1
fi

rm /ba > /dev/null 2>&1
rmdir /ba > /dev/null 2>&1
ln -sfn /media/ba /ba
rm /media/ba/bin > /dev/null 2>&1
#
# mipsel vs. arm binaries 
#
if [ `uname -a | grep mips | wc -l` -gt 0 ]; then
   ln -sfn /media/ba/mipsel /media/ba/bin
else
   ln -sfn /media/ba/arm /media/ba/bin
fi
if [ -d /usr/lib/enigma2/python/Plugins/Extensions ]; then
   if [ -d /usr/lib/enigma2/python/Plugins/Extensions/BarryAllen ]; then
      rm -r /usr/lib/enigma2/python/Plugins/Extensions/BarryAllen > /dev/null 2>&1
   fi
   if [ ! -f /usr/lib/enigma2/python/Plugins/Extensions/BarryAllen ]; then
      ln -sfn /media/ba/BarryAllen /usr/lib/enigma2/python/Plugins/Extensions/BarryAllen 
   fi
fi
#if [ ! -f /usr/lib/libgomp.so.1.0.0 ]; then
#   cp $BAHOME/bin/libgomp.so.1.0.0 /usr/lib/libgomp.so.1.0.0 > /dev/null 2>&1
#fi
#if [ ! -e /usr/lib/libgomp.so.1 ]; then
#   ln -sfn /usr/lib/libgomp.so.1.0.0 /usr/lib/libgomp.so.1 > /dev/null 2>&1
#fi
BAROOT=`grep $BAHOME /proc/mounts |  cut -d" " -f 1 | head -n 1`
echo $BAROOT > $BATMP 

echo "Flash" > $BAHOME/baboot.ini
  
umount $BAHOME/ba/Flash > /dev/null 2>&1
rmdir $BAHOME/ba/Flash > /dev/null 2>&1
mkdir $BAHOME/ba > /dev/null 2>&1
#$BAHOME/bin/bainit 900 > /dev/null 2>&1
IMAGES=`ls -1 $BAHOME/ba`
for IMAGE in $IMAGES; do
  if [ ! -f $BAHOME/ba/$IMAGE/.bainfo -a -d $BAHOME/ba/$IMAGE/boot ]; then
     if [ $IMAGE != "0" ]; then
        echo $IMAGE > $BAHOME/ba/$IMAGE/.bainfo
     fi
  fi
  cp $BAHOME/bin/bainit $BAHOME/ba/$IMAGE/sbin/bainit > /dev/null 2>&1
  ln -sfn /media/ba/ba.sh $BAHOME/ba/$TARGET/$IMAGE/sbin/ba.sh > /dev/null 2>&1
done
if [ ! -e /media/ba/fonts/barryallen.ttf ]; then
   cp /media/ba/fonts/standard.ttf /media/ba/fonts/barryallen.ttf > /dev/null 2>&1
fi
# offer also Standard Fonts from Image ...
cp /usr/share/fonts/*.ttf /media/ba/fonts > /dev/null 2>&1
if [ ! -e /media/ba/logos/barryallen.jpg ]; then
   cp /media/ba/logos/standard.jpg /media/ba/logos/barryallen.jpg > /dev/null 2>&1
fi
touch /media/ba/.baprogress
mkdir -p /media/ba/script > /dev/null 2>&1
if [ -d $BAHOME/bin ]; then
   BADEVICE=`grep $BAHOME /proc/mounts | grep -v swap | cut -d" " -f 1 | head -n 1`
   echo "Barry Allen feels home at $BADEVICE"
else
   echo "Barry Allen seems to be homeless, sorry!"
   exit 1
fi
cp $BAHOME/bin/bainit /sbin/bainit 
ln -sfn /sbin/bainit /sbin/init

$BAHOME/bin/e2label $BADEVICE ba > dev/null 2>&1
$BAHOME/bin/tune2fs -U "00000000-0000-0000-0000-000000000000" $BADEVICE > /dev/null 2>&1
#$BAHOME/bin/tune2fs -U "BABABABA-BABA-4BAB-BABA-BABABABABABA" DEVICE > /dev/null 2>&1  
cd /
ln -sfn /media/ba/ba.sh /sbin/ba.sh > /dev/null 2>&1
if [ -f /media/ba/bapostinst -a ! -f /etc/enigma2/lamedb ]; then
   echo "bapostinst found, but no Settings"
   echo "Cool, Barry Allen ist the first thing you"
   echo "installed after Flashing !"
   echo "So it will be nice and unpack now your" 
   echo "last settings backup for you ..."
   /media/ba/bapostinst /
fi
#cp /media/ba/locale/en/LC_MESSAGES/readme.txt /media/ba/BarryAllen/readme.txt> /dev/null 2>&1
rm /media/ba/.banorestart > /dev/null 2>&1
echo $LINE
echo "Barry Allen installation or upgrade is now finished !"
echo "If this is a new installation, then please reboot NOW"
echo "to check if Barry Allen Plugin shows up in the Plugin List !"
echo $LINE
exit 0
