#!/bin/bash
if [ -z "$LOG" ]; then
   PASS=`pwd`
   PASS=`basename $PASS`
   LOG=$HOME/logs/$PASS
fi
if [ ! -d $LOG ]; then
	mkdir -p $LOG
fi

error() {
echo "$i hata luştu"
exit 1
}

LIST="$HOME/base/base.list"


for DIR in `cat $LIST`
do
   NAME=`basename $DIR`
   BUILD="yes"
   PKGMK="pkgmk.passes"
   if [ -f ${LOG}/$NAME.log ]; then
      if ( grep "^=======>" ${LOG}/$NAME.log|grep "succeeded"  > /dev/null);then
         BUILD="no"
      else
         BUILD="yes"
      fi

   fi
   if [ "$BUILD" == "yes" ]; then
      cd $DIR
      case $PASS in
       chroot)
        PKGMK="pkgmk.passes"
        $PKGMK -cf ../../../bin/paketci.conf -kw 2>&1|tee ${LOG}/$NAME.log || exit 1;;
       base)
        PKGMK="mpsd"
        case $NAME in
	  gcc)
		$PKGMK -cf /etc/mpsd.conf -kw 2>&1|tee ${LOG}/$NAME.log || exit 1
		rm -fv /usr/lib{,64}/libgcc_s.so{,.1}
		rm -fv /usr/lib{,64}/libstdc++.so{,.6}
		rm -fv /usr/lib{,64}/libstdc++.la
		$PKGMK -d -cf /etc/mpsd.conf -i || exit 1
		for i in *mps*
		do
		 echo "=======> Installing '$i' succeeded." >> ${LOG}/$NAME.log
		done
		;;

	   bash)
		$PKGMK -cf /etc/mpsd.conf -kw 2>&1|tee ${LOG}/$NAME.log || exit 1
		rm /bin/bash
		rm /bin/sh
		echo "bash chroot dışına çıkıp elle kurulmalıdır."
		echo "=======> Installing '$NAME' succeeded." >> ${LOG}/$NAME.log
		exit 1
		$PKGMK -d -cf /etc/mpsd.conf -i
		;;

	  coreutils)
		$PKGMK -cf /etc/mpsd.conf -kw 2>&1|tee ${LOG}/$NAME.log || exit 1
		rm -f /usr/bin/env
		for i in cat echo pwd stty
		do
			rm -f /bin/$i
		done
		$PKGMK -d -cf /etc/mpsd.conf -i || exit 1
		for i in *mps*
		do
		  echo "=======> Installing '$i' succeeded." >> ${LOG}/$NAME.log
		done
		;;

	  perl)
		$PKGMK -cf /etc/mpsd.conf -kw 2>&1|tee ${LOG}/$NAME.log || exit 1
		rm -f /usr/bin/perl
		$PKGMK -d -cf /etc/mpsd.conf -i || exit 1
		for i in *mps*
		do
			echo "=======> Installing '$i' succeeded." >> ${LOG}/$NAME.log
		done
		;;
	  cards)
		$PKGMK -cf /etc/mpsd.conf -kw 2>&1|tee ${LOG}/$NAME.log || exit 1
		rm -f /etc/pkgadd.conf
		$PKGMK -d -cf /etc/mpsd.conf -i || exit 1
		for i in *mps*
		do
			echo "=======> Installing '$i' succeeded." >> ${LOG}/$NAME.log
		done
		;;
	  kernel)
		$PKGMK -d -cf /etc/mpsd.conf -i -kw || exit 1
		echo "=======> Installing '$NAME' succeeded." >> ${LOG}/$NAME.log
		;;

	  *)
		$PKGMK -cf /etc/mpsd.conf -i -kw 2>&1|tee ${LOG}/$NAME.log || exit 1
		;;
        esac;;
       *)
        PKGMK="mpsd -d -i"
        $PKGMK  2>&1|tee ${LOG}/$NAME.log || exit 1;;
      esac
      if ( grep "^=======>" ${LOG}/$NAME.log| tail -1 |grep "ERROR"  > /dev/null);then
         exit 1
      fi
      cd -
   fi
done
