#!/bin/bash
CDROM=${PWD}
CDDIR=${PWD}
THEOS=${OSTYPE}
HERCVER=hercules-2.12
case "${THEOS}" in
   cygwin)
              echo "This is CYGWIN running under some flavo(u)r of Windows"
              CYG=YES
              HERCDIR=hercwin
              PATH=${CDROM}/cygwin:${CDROM}/hercwin-i586:${PATH}
              echo "Please enter the drive letter of the CDROM drive"
              echo "or press enter for default (D)"
              read CDROM
              if [ "${CDROM}" = "" ]
              then
                 CDROM=D
              fi
              CDROM=${CDROM}\:
              echo "Please enter the target drive letter, or press enter for default (C)"
              read MYDRIVE
              if [ "${MYDRIVE}" = "" ]
              then
                 MYDRIVE=C
              fi
              MYDRIVE=${MYDRIVE}\:
              DS=${MYDRIVE}\\
              DD=${MYDRIVE}\\\/
              ;;
   *)         echo "This is not Cygwin, assuming some linux flavo(u)r"
              CYG=NO
              HERCDIR=herclin
              MYDRIVE=
              DS=\/
              DD=\/
              ;;
esac
echo "Please enter the target directory, or press enter for default (mvs)"
echo "Note:  The directory will be used relative to the root directory"
if [ "${THEOS}" = "cygwin" ]
then
   echo "       Use a forward slash (/) as a directory indicator"
   echo "       Do _NOT_ use a backslash (\)"
fi
echo "       do _NOT_ use a / at the beginning of the path"
read DIRIN
if  [ "${DIRIN}X" = "X" ]
then
     echo "Default installation directory will be used: mvs"
     DIRIN=mvs
else
     echo "User selected directory will be used:" ${DIRIN}
fi
echo " "
echo "Turnkey Installation Option"
echo " "
echo "   1.  Use DASD images from CD-ROM"
echo "       (Somewhat slower, requires about 30 MB disk space)"
echo " "
echo "   2.  Copy DASD images to local hard disk"
echo "       (faster, but requires about 260 MB disk space)"
echo " "
echo " Enter your choice (1/2) ===> 1"
read REPLY
case "${REPLY}" in
   1) INSTOPT=CDROM
      ;;
   2) INSTOPT=DASD
      ;;
   *) INSTOPT=CDROM
      ;;
esac

MYDIR=${DS}${DIRIN}
MYDRS=${DD}${DIRIN}
if  test ! -d ${MYDIR}
then
     mkdir -p ${MYDIR}
     echo "Creating directory" ${MYDIR}
fi
cd ${MYDIR}
mkdir -p ./hercules
if [ "${THEOS}" = "cygwin" ]
then
    echo "Installing support files"
    cp ${CDROM}/cygwin/* ./hercules
    chmod --recursive 777 ./hercules/*
    echo "Do you want to copy the pre-installed version of" ${HERCVER}
    echo "for Windows that is on this CD-ROM to your harddisk? (Y/N): [N]"
else
   echo "The source of" ${HERCVER} "is on this CD-ROM.  Do you want"
   echo "to compile it and install it on your Hard disk? (Y/N): [N]"
fi
read DUMMY
if test -z ${DUMMY}
then
   DUMMY=N
fi
case "${DUMMY}" in
   n) INSTALL=NO
      ;;
  No) INSTALL=NO
      ;;
  no) INSTALL=NO
      ;;
   N) INSTALL=NO
      ;;
  NO) INSTALL=NO
      ;;
   y) INSTALL=YES
      ;;
 yes) INSTALL=YES
      ;;
 Yes) INSTALL=YES
      ;;
   Y) INSTALL=YES
      ;;
 YES) INSTALL=YES
      ;;
   *) Echo "Invalid reply" ${DUMMY}", assuming 'N'"
      INSTALL=NO
esac
if [ "${INSTALL}" = "YES" ]
then
   if [ "${THEOS}" = "cygwin" ]
   then
      echo "Installing Hercules"
      MYPROC=`uname -m`
      if test ! -d ${CDROM}/${HERCDIR}-${MYPROC}
      then
         MYPROC=i586
      fi
      echo "Source directory is" ${CDROM}/${HERCDIR}-${MYPROC}
      cp ${CDROM}/${HERCDIR}-${MYPROC}/* ./hercules
   else
      mkdir -p /${HERCVER}
      cp -r ${CDROM}/${HERCVER}/* /${HERCVER}
      cd /${HERCVER}
      make HOST_ARCH=`uname -m` install
   fi
   echo "Installation is complete"
else
   echo "Hercules will not be installed"
fi
cd ${MYDIR}
if test ! -d conf
then
   mkdir conf
fi
echo "s%_CDDIR%"${CDDIR}%  >conf.sed
echo "s%_CDROM%"${CDROM}% >>conf.sed
echo "s%_MYDIR%"${MYDRS}% >>conf.sed

case "${OS}" in
   Windows_NT) sed ${CDROM}/conf/hercules.winnt       -f conf.sed >conf/hercules.rc
               ;;
            *) sed ${CDROM}/conf/hercules.rc          -f conf.sed >conf/hercules.rc
               ;;
esac

case "${THEOS}" in
   cygwin)     sed ${CDROM}/conf/_startterm.bat       -f conf.sed >startterm.bat
               mkdir -p /usr/share/terminfo/c
               cp  ${CDROM}/conf/cygwin*  /usr/share/terminfo/c
               ;;
            *) sed ${CDROM}/conf/_startterm           -f conf.sed >startterm
               chmod 777 startterm
               ;;
esac

sed ${CDROM}/conf/turnkey_mvs.conf  -f conf.sed >conf/turnkey_mvs.temp
sed conf/turnkey_mvs.temp           -f conf.sed >conf/turnkey_mvs.conf
rm -f conf/turnkey_mvs.temp
sed ${CDROM}/conf/turnkey_zzsa.conf -f conf.sed >conf/turnkey_zzsa.temp
sed conf/turnkey_zzsa.temp          -f conf.sed >conf/turnkey_zzsa.conf
rm -f conf/turnkey_zzsa.temp

case "${THEOS}" in

   linux)     echo "Installing startup scripts for linux"
              sed ${CDROM}/conf/_startmvs -f conf.sed >startmvs
              sed ${CDROM}/conf/_startzzsa -f conf.sed >startzzsa
              chmod 777 *
              ;;
   linux-gnu) echo "Installing startup scripts for linux-gnu"
              sed ${CDROM}/conf/_startmvs -f conf.sed >startmvs
              sed ${CDROM}/conf/_startzzsa -f conf.sed >startzzsa
              chmod 777 *
              ;;
   cygwin)    echo "Installing startup scripts for Windows"
              sed ${CDROM}/conf/_startmvs.bat -f conf.sed >startmvs.bat
              sed ${CDROM}/conf/_startzzsa.bat -f conf.sed >startzzsa.bat
              cp  ${CDROM}/qws3270/qws3270.ini ./
              chmod +w qws3270.ini
              ;;
   *)         echo "Installing startup scripts" ${THEOS}
              sed ${CDROM}/conf/_startmvs.bat -f conf.sed >startmvs.bat
              sed ${CDROM}/conf/_startzzsa.bat -f conf.sed >startzzsa.bat
              sed ${CDROM}/conf/_startmvs -f conf.sed >startmvs
              sed ${CDROM}/conf/_startzzsa -f conf.sed >startzzsa
              ;;
esac
if test ! -d dasd
then
   mkdir dasd
fi

echo 'Copying PAGE disk images'
cp ${CDROM}/dasd/page*  ${MYDIR}/dasd
echo 'Copying SPOOL disk images'
cp ${CDROM}/dasd/spool* ${MYDIR}/dasd
if [ "${INSTOPT}" = "DASD" ]
then
   echo 'Copying CBT disk images'
   cp ${CDROM}/dasd/cbt* ${MYDIR}/dasd
   echo 'Copying MVS system disk images'
   cp ${CDROM}/dasd/mvs* ${MYDIR}/dasd
   echo 'Copying public volume disk images'
   cp ${CDROM}/dasd/pub* ${MYDIR}/dasd
   echo 'Copying Sortwork disk images'
   cp ${CDROM}/dasd/sort* ${MYDIR}/dasd
   echo 'Copying Starter system disk images'
   cp ${CDROM}/dasd/start* ${MYDIR}/dasd
   echo 'Copying Scratch disk images'
   cp ${CDROM}/dasd/work* ${MYDIR}/dasd
   sed ${CDROM}/conf/turnkey2_mvs.conf  -f conf.sed >conf/turnkey2_mvs.temp
   sed conf/turnkey2_mvs.temp           -f conf.sed >conf/turnkey_mvs.conf
   rm -f conf-turnkey2_mvs.temp
fi

chmod --recursive 666 ${MYDIR}/dasd
if test ! -d shadow
then
   mkdir shadow
fi
if test ! -d prt
then
   mkdir prt
fi
if test ! -d pch
then
   mkdir pch
fi
if test ! -d jcl
then
   mkdir jcl
   cp ${CDROM}/jcl/dummy ${MYDIR}/jcl
fi
if test ! -d log
then
   mkdir log
fi
rm -r conf.sed
chmod a+x dasd
chmod -R go-w,u+w
clear
echo "Setup is now complete"
echo "You can find the mvs installation in directory "${MYDIR}
echo "To start MVS, change to that directory and invoke"
echo "  "
echo "              startmvs"
echo "  "
echo "To start ZZSA, the Stand Alone editor, invoke"
echo "  "
echo "              startzzsa"
echo "  "
echo "Press the ENTER key to leave the setup program now"
read dummy
