#!/bin/bash
# Rescapp Winmbr run script
# Copyright (C) 2012,2013,2014,2015,2016,2017,2018,2019,2020 Adrian Gibanel Lopez
#
# Rescapp is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Rescapp is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Rescapp.  If not, see <http://www.gnu.org/licenses/>.

source ${RESCAPP_LIB_FILE}

set -x
set -v

# Check if there is a Bios Grub partition

function rtux_Check_Bios_Grub_Partition () {

  local EXIT_VALUE=1 # Error by default
  local SELECTED_HARD_DISK="$1"

  BIOS_GRUB_PARTITION_LINE=$(parted /dev/${SELECTED_HARD_DISK} --script print | grep 'bios_grub')

  EXIT_VALUE=$?

  if [ ${EXIT_VALUE} -eq 0 ] ; then
    BIOS_GRUB_PARTITION_NUMBER="$(echo ${BIOS_GRUB_PARTITION_LINE} | awk '{print $1}')"
  fi

  return ${EXIT_VALUE}

} # function rtux_Grub_Install ()



# MAIN PROGRAM


BIOS_GRUB_PARTITION_FOUND_STR="A bios_grub partition was found! :)"
BIOS_GRUB_PARTITION_NOT_FOUND_STR="A bios_grub partition was not found. :("
BIOS_GRUB_PARTITION_RUNNING_STR="Searching for a bios_grub partition."
WHICH_HARD_DISK_BIOS_GRUB_PARTITION_STR="Which hard drive do you want to check for a bios_grub partition on?"
BIOS_GRUB_HARD_DISK_NOT_FOUND="No drives were found or chosen."

SELECTED_HARD_DISK=$(rtux_Choose_Hard_Disk "${WHICH_HARD_DISK_BIOS_GRUB_PARTITION_STR}");
if [ "x${SELECTED_HARD_DISK}" != "x" ] ; then
    if rtux_Run_Show_Progress "${BIOS_GRUB_PARTITION_RUNNING_STR}" rtux_Check_Bios_Grub_Partition ${SELECTED_HARD_DISK} ; then
        rtux_Message_Success "${BIOS_GRUB_PARTITION_FOUND_STR} (Partition: /dev/${SELECTED_HARD_DISK}${BIOS_GRUB_PARTITION_NUMBER})"
    else
        rtux_Message_Failure ${BIOS_GRUB_PARTITION_NOT_FOUND_STR}
    fi
else
    rtux_Message_Warning ${BIOS_GRUB_HARD_DISK_NOT_FOUND}
    rtux_Message_Failure ${BIOS_GRUB_PARTITION_NOT_FOUND_STR}
fi


