#!/bin/bash

set -e

export DEBIAN_FRONTEND=noninteractive

BASE="$(cd "$(dirname "$0")" && pwd)"

echo
echo "======================================="
echo " Zimbra Offline Installer"
echo "======================================="
echo


########################################
# Root
########################################

if [ "$EUID" -ne 0 ]; then
    echo "Ejecutar como root."
    exit 1
fi


########################################
# Ubuntu
########################################

source /etc/os-release

if [ "$VERSION_ID" != "20.04" ]; then
    echo
    echo "ERROR: Este paquete fue creado para Ubuntu 20.04"
    exit 1
fi


########################################
# Disable external Zimbra repos
########################################

echo
echo "Eliminando repositorios externos..."

rm -f /etc/apt/sources.list.d/*zimbra*


########################################
# Keys
########################################

echo
echo "Instalando llaves..."

cp -r "$BASE/keys/trusted.gpg.d/"* \
/etc/apt/trusted.gpg.d/ 2>/dev/null || true

cp -r "$BASE/keys/keyrings/"* \
/usr/share/keyrings/ 2>/dev/null || true


########################################
# Offline packages
########################################

echo
echo "Instalando paquetes offline..."

echo "Deshabilitando repositorios Zimbra..."

rm -f /etc/apt/sources.list.d/*zimbra*

echo "Instalando paquetes offline..."

dpkg -i --force-confnew "$BASE"/packages/*.deb || true

apt-get -f install --no-download -y || true

echo
echo "Configurando paquetes..."

dpkg --configure -a || true


echo
echo "Bloqueando acceso APT a repositorios externos..."

cat > /etc/apt/apt.conf.d/99zimbra-offline <<EOF
Acquire::Retries "0";
Acquire::http::Proxy "false";
Acquire::https::Proxy "false";
EOF


cd "$BASE/zcs"

chmod +x install.sh


echo
echo "Ejecutando instalador Zimbra..."

./install.sh -s
