#!/bin/bash declare -l codename declare -l omvCodename declare -l omvInstall="" declare -i version omvKey="/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc" omvRepo="http://packages.openmediavault.org/public" omvSources="/etc/apt/sources.list.d/openmediavault.list" url="https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/" export DEBIAN_FRONTEND=noninteractive export APT_LISTCHANGES_FRONTEND=none export LANG=C.UTF-8 codename="$(lsb_release --codename --short)" case ${codename} in jessie) omvCodename="erasmus" version=3 ;; stretch) omvCodename="arrakis" version=4 ;; buster) omvCodename="usul" version=5 ;; *) echo "Unsupported version. Exiting..." exit 1 ;; esac echo "${omvCodename} :: ${version}" # install openmediavault if not installed already omvInstall=$(dpkg -l | awk '$2 == "openmediavault" { print $1 }') if [[ ! "${omvInstall}" == "ii" ]]; then echo "Installing openmediavault required packages..." if ! apt-get --yes --no-install-recommends install postfix; then echo "failed installing postfix" exit 2 fi echo "Adding openmediavault repo and key..." echo "deb ${omvRepo} ${omvCodename} main" > ${omvSources} wget -O "${omvKey}" ${omvRepo}/archive.key apt-key add "${omvKey}" echo "Updating repos..." if ! apt-get update; then echo "failed to update apt repos." exit 2 fi echo "Install openmediavault-keyring..." if ! apt-get --yes install openmediavault-keyring; then echo "failed to install openmediavault-keyring package." exit 2 fi echo "Installing openmediavault..." aptFlags="--yes --auto-remove --show-upgraded --allow-downgrades --allow-change-held-packages --no-install-recommends" cmd="apt-get ${aptFlags} install openmediavault" if ! ${cmd}; then echo "failed to install openmediavault package." exit 2 fi if [ ${version} -eq 5 ]; then omv-confdbadm populate elif [ ${version} -lt 5 ]; then omv-initsystem omv-mkconf interfaces omv-mkconf issue fi fi omvInstall=$(dpkg -l | awk '$2 == "openmediavault" { print $1 }') if [[ ! "${omvInstall}" == "ii" ]]; then echo "openmediavault package failed to install or is in a bad state." exit 3 fi if [ ${version} -eq 5 ]; then echo "Downloading omv-extras.org plugin for openmediavault 5.x ..." file="openmediavault-omvextrasorg_latest_all5.deb" elif [ ${version} -eq 4 ]; then echo "Downloading omv-extras.org plugin for openmediavault 4.x ..." file="openmediavault-omvextrasorg_latest_all4.deb" elif [ ${version} -eq 3 ]; then echo "Downloading omv-extras.org plugin for openmediavault 3.x ..." file="openmediavault-omvextrasorg_latest_all3.deb" else echo "Unsupported version of openmediavault" exit 1 fi if [ -f "${file}" ]; then rm ${file} fi wget --no-check-certificate ${url}/${file} if [ -f "${file}" ]; then if ! dpkg --install ${file}; then echo "Installing other dependencies ..." apt-get --fix-broken install fi echo "Updating repos ..." apt-get update else echo "There was a problem downloading the package." fi exit 0