#!/bin/bash

# Test si está instalado extpack
VERSIONVIRTUALBOX="$(dpkg -l | grep virtualbox | tr -s " " ":" | cut -d":" -f3 | cut -d"-" -f1)"
## Salimos si no hay virtualbox....falla para todos ya
[ "$VERSIONVIRTUALBOX" = "" ] && exit 0

VERSIONEXTPACK="$(VBoxManage list extpacks | grep Version: | tr -d " " | cut -d":" -f2)"
## Salimos si ya está ok
[[ -n "${VERSIONVIRTUALBOX}" && -n "${VERSIONEXTPACK}" ]] &&
    [[ "${VERSIONEXTPACK}" = "${VERSIONVIRTUALBOX}" ]] &&
    exit 0

# Test usuario grupo vboxusers
USU="$(vx-usuario-grafico)"
if getent group vboxusers >&/dev/null &&
    ! id "${USU}" | grep -q vboxusers; then
    # for USU in $(vx-usuarios-graficos) ; do
    /usr/sbin/usermod -aG vboxusers "${USU}"
    # done
fi
VITAL=$(lsb_release -cs) || exit 0

if ! test -d /usr/share/vitalinux; then
    mkdir -p /usr/share/vitalinux
fi
if ! test -d /var/log/vitalinux; then
    mkdir -p /var/log/vitalinux
fi
cd /usr/share/vitalinux || exit 0
EXTENSIONPACKFILE=""
if [ "$VITAL" = "jammy" ]; then
    if dpkg -l | grep virtualbox-7.0 &>/dev/null; then
        EXTENSIONPACKFILE="Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack"
        MD5EXTENSIONPACK="9a85012cc2a3f86789c58578458b016c"
    else
        echo "$(date) - Éste equipo no tienen virtualbox instalado por nosotros...puede instalarlo con paquete virtualbox-ext-pack. Salimos" >>/var/log/vitalinux/falla-extpack-virtualbox.log
        exit 0
    fi
else
    echo "No se puede identificar la versión de Linux" >>/var/log/vitalinux/falla-extpack-virtualbox.log
    exit 0
fi

if [ ! -f "${EXTENSIONPACKFILE}" ]; then
    wget -c "http://migasfree.educa.aragon.es/cosas-centros/vbox/${EXTENSIONPACKFILE}" &>/dev/null
fi
# Comprobamos que es ok
[[ $(md5sum "${EXTENSIONPACKFILE}" | cut -d " " -f1) != "${MD5EXTENSIONPACK}" ]] && {
    echo "Fichero Extension Pack con errores...se borra y salimos" >>/var/log/vitalinux/falla-extpack-virtualbox.log
    rm -f "${EXTENSIONPACKFILE}"
    exit 0
}

###
### Instalar Extension Pack (se ha tenido que descargar antes, sino no se instalará)
###
# Show licencse VboxManage extpack
# VBoxManage extpack license ${EXTENSIONPACKFILE}
if [ -f /usr/bin/VBoxManage ] && (dpkg -l | grep "virtualbox-" &>/dev/null) && [ -f "${EXTENSIONPACKFILE}" ]; then
    if [ "$EXTENSIONPACKFILE" = "Oracle_VM_VirtualBox_Extension_Pack-7.0.20.vbox-extpack" ]; then
        LICENSE="33d7284dc4a0ece381196fda3cfe2ed0e1e8e7ed7f27b9a9ebc4ee22e24bd23c"
    fi
    if (/usr/bin/VBoxManage extpack install --replace "${EXTENSIONPACKFILE}" --accept-license=${LICENSE} >>/var/log/vitalinux/falla-extpack-virtualbox.log 2>&1); then
        echo "$(date) - Se ha configurado el extension pack ..." >>/var/log/vitalinux/falla-extpack-virtualbox.log
        rm -f "${EXTENSIONPACKFILE}"
    else
        echo "$(date) - Ojo, errores con la instalación deel extension pack ..." >>/var/log/vitalinux/falla-extpack-virtualbox.log
        exit 1
    fi

fi
