#!/bin/bash
### BEGIN INIT INFO
# Provides:          ejectcd
# Required-Start:
# Required-Stop:
# Should-Stop:       halt reboot kexec
# Default-Start:     none
# Default-Stop:      0 6
# X-Stop-after:      umountroot
# Short-Description: eject
# Description:       eject the live cd
### END INIT INFO


# GETTEXT_KEYWORD="gt"

wait_for_user() {
    local rev_cyan="[0;7;36m"
    local nc="[0m"

    stty sane < /dev/console
    local message="$(pf "$_Please_remove_the_disc_close_the_tray_")"
    local press_enter="$(pf "$_and_press_ENTER_to_continue_")"
    printf "\n\n$rev_cyan$message: $press_enter$nc" > /dev/console
    read x < /dev/console
}

ejectcd() {
    while read dev mntpnt other; do
        case "$dev" in 
            /dev/sr[0-9]|/dev/sr[0-9][0-9])
                umount $mntpnt  2>/dev/null
                eject -p -m $dev > /dev/null 2>&1
                ejected="true"
                ;;
        esac
    done < /proc/mounts
   
    [ "$ejected" ] || return

    for param in "${CMDLINE:-$(cat /proc/cmdline)}"; do
        case "$param" in
            noprompt) return;;
        esac
    done

    . /usr/share/antiX/lib/antiX-init-utils.sh
    load_translation

    wait_for_user
}

case "$1" in
  start)
     exit 0
     ;;
  stop)
     ejectcd
     ;;
  *)
     echo "Usage: /etc/init.d/eject {start|stop}"
     exit 1
esac

exit 0
