#
# Copyright (C) 2019 OX Software GmbH
# 
# This file is part of OX Automation.
#
# OX Automation 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.
#
# OX Automation 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 OX Automation. If not, see <http://www.gnu.org/licenses/>.
#
#
# Authors:
# Benedikt Kroening <benedikt.kroening@open-xchange.com>
#
AS_BUILDKEY=http://software.open-xchange.com/oxbuildkey.pub

DEBIAN_STRETCH_REPOSITORY="http://httpredir.debian.org/debian stretch main"
DEBIAN_JESSIE_REPOSITORY="http://httpredir.debian.org/debian jessie main"
DEBIAN_JESSIE_BACKPORTS_REPOSITORY="http://httpredir.debian.org/debian jessie-backports main"

# Installs the provided packages with the available package manager
function installPackages {
    if [ -z $DIST ]; then
        detectDistribution
    fi
    
    PACKAGES="$@"
    echo "Installing the following list of packages:"
    echo "${PACKAGES}"
    echo ""
    sleep 5
    
    if [[ true == "${ANY_DEB}" ]]; then
        apt-get -qq update
        apt-get -y install ${PACKAGES}
    elif [[ true == "${ANY_SLES}" ]]; then
        zypper clean
        zypper ref
        zypper -n install ${PACKAGES}
    elif [[ true == "${ANY_RHEL}" ]]; then
        yum clean all
        #subscription-manager refresh
        yum -y install ${PACKAGES}
    elif [[ true == "${ANY_CENTOS}" ]]; then
        yum clean all
        #yum update
        yum -y install ${PACKAGES}
    fi
}
function installPackagesRetry {
    # Sometimes package install will fail because of updated packages on the buildservice
    # Simply retrying the installation most probably will fix everything
    echo "Retrying installation on failure ..."
    INSTALLCOUNT=0
    while [[ ${INSTALLCOUNT} -lt 6 ]]; do
            # Calling the actual installPackages function ...
            installPackages "$1"
            if [[ $? -ne 0 ]]; then
                INSTALLCOUNT=$((INSTALLCOUNT+1))
                echo "Error while installing packages, retrying in 30s ($INSTALLCOUNT/5)."
                sleep 30
            else
                break
            fi
    done
    if [[ ${INSTALLCOUNT} -ge 5 ]]; then
        echo "Error while installing packages, aborting."
        exit 1
    fi
}
# This function sets all repositories as long as their respective values are available as environmental variable
function setRepositories {
    if [[ "${AS_REPO_SOURCE}" == "OBS" ]]; then
        if [[ -n "${AS_BACKEND_VERSION}" ]]; then
            AS_REPO_BACKEND=http://buildservice.open-xchange.com/backend-${AS_BACKEND_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_FRONTEND_VERSION}" ]]; then
            AS_REPO_FRONTEND=http://buildservice.open-xchange.com/frontend-${AS_FRONTEND_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_FRONTEND_LEGACY_VERSION}" ]]; then
            AS_REPO_FRONTEND_LEGACY=http://buildservice.open-xchange.com/frontend6-${AS_FRONTEND_LEGACY_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_OFFICE_VERSION}" ]]; then
            AS_REPO_OFFICE=http://buildservice.open-xchange.com/office-${AS_OFFICE_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_OFFICE_FRONTEND_VERSION}" ]]; then
            AS_REPO_OFFICE_FRONTEND=http://buildservice.open-xchange.com/oxhh/office-web-${AS_OFFICE_FRONTEND_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_OFFICE_COLLABORATION_VERSION}" ]]; then
            AS_REPO_OFFICE_COLLABORATION=http://buildservice.open-xchange.com/oxhh/documents-collaboration-${AS_OFFICE_COLLABORATION_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_DOCUMENTCONVERTER_VERSION}" ]]; then
            AS_REPO_DOCUMENTCONVERTER=http://buildservice.open-xchange.com/documentconverter-${AS_DOCUMENTCONVERTER_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_DOCUMENTCONVERTER_API_VERSION}" ]]; then
            AS_REPO_DOCUMENTCONVERTER_API=http://buildservice.open-xchange.com/documentconverter-api-${AS_DOCUMENTCONVERTER_API_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_PDFTOOL_VERSION}" ]]; then
            AS_REPO_PDFTOOL=http://buildservice.open-xchange.com/oxhh/open-xchange-pdftool-${AS_PDFTOOL_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_READERENGINE_VERSION}" ]]; then
            AS_REPO_READERENGINE=http://buildservice.open-xchange.com/oxhh/readerengine-${AS_READERENGINE_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_USM_VERSION}" ]]; then
            AS_REPO_USM=http://buildservice.open-xchange.com/usm-${AS_USM_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_EAS_VERSION}" ]]; then
            AS_REPO_EAS=http://buildservice.open-xchange.com/eas-${AS_EAS_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_DRIVE_CLIENT_GENERIC_VERSION}" ]]; then
            AS_REPO_DRIVE_CLIENT_GENERIC=http://buildservice.open-xchange.com/drive-client-generic-${AS_DRIVE_CLIENT_GENERIC_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_DRIVE_HELP_VERSION}" ]]; then
            AS_REPO_DRIVE_HELP=http://buildservice.open-xchange.com/drive-help-${AS_DRIVE_HELP_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_GUARD_VERSION}" ]]; then
            AS_REPO_GUARD=http://buildservice.open-xchange.com/guard-${AS_GUARD_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_DRIVERESTRICTED_VERSION}" ]]; then
            AS_REPO_DRIVERESTRICTED=http://buildservice.open-xchange.com/driverestricted-${AS_DRIVERESTRICTED_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_WEAKFORCE_VERSION}" ]]; then
            AS_REPO_WEAKFORCE=http://buildservice.open-xchange.com/backend-weakforced-${AS_WEAKFORCE_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_EMIG_VERSION}" ]]; then
            AS_REPO_EMIG=http://buildservice.open-xchange.com/emig-${AS_EMIG_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_MOBILE_API_FACADE_VERSION}" ]]; then
            AS_REPO_MOBILE_API_FACADE=http://buildservice.open-xchange.com/mobile-api-facade-${AS_MOBILE_API_FACADE_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_CLOUDPLUGINS_VERSION}" ]]; then
            AS_REPO_CLOUDPLUGINS=http://buildservice.open-xchange.com/cloud-plugins-${AS_CLOUDPLUGINS_VERSION}/${DISTRO}/
        fi
        if [[ -n "${AS_IMAGECONVERTER_VERSION}" ]]; then
            AS_REPO_IMAGECONVERTER=http://buildservice.open-xchange.com/imageconverter-${AS_IMAGECONVERTER_VERSION}/${DISTRO}/
        fi
    elif [[ "${AS_REPO_SOURCE}" == "EXT" ]]; then
        if [[ -n "${AS_BACKEND_VERSION}" ]]; then
            AS_REPO_BACKEND=https://software.open-xchange.com/products/appsuite/${AS_BACKEND_VERSION}/backend/${DISTRO}/
            if [[ -n "${AS_USER}" ]]; then
                AS_REPO_BACKEND_UPDATES=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/appsuite/${AS_BACKEND_VERSION}/backend/updates/${DISTRO}/
            fi
        fi
        if [[ -n "${AS_FRONTEND_VERSION}" ]]; then
            AS_REPO_FRONTEND=https://software.open-xchange.com/products/appsuite/${AS_FRONTEND_VERSION}/appsuiteui/${DISTRO}/
            if [[ -n "${AS_USER}" ]]; then
                AS_REPO_FRONTEND_UPDATES=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/appsuite/${AS_FRONTEND_VERSION}/appsuiteui/updates/${DISTRO}/
            fi
        fi
        if [[ -n "${AS_FRONTEND_LEGACY_VERSION}" ]]; then
            AS_REPO_FRONTEND_LEGACY=https://software.open-xchange.com/OX6/6.22/${AS_FRONTEND_LEGACY_VERSION}/frontend/${DISTRO}/
            if [[ -n "${AS_USER}" ]]; then
                AS_REPO_FRONTEND_LEGACY_UPDATES=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/OX6/6.22/${AS_FRONTEND_LEGACY_VERSION}/updates/frontend/${DISTRO}/
            fi
        fi
        if [[ -n "${AS_OFFICE_VERSION}" ]]; then
            AS_REPO_OFFICE=https://software.open-xchange.com/products/appsuite/${AS_OFFICE_VERSION}/office/${DISTRO}/
            if [[ -n "${AS_USER}" ]]; then
                AS_REPO_OFFICE_UPDATES=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/appsuite/${AS_OFFICE_VERSION}/office/updates/${DISTRO}/
            fi
        fi
        if [[ -n "${AS_OFFICE_FRONTEND_VERSION}" ]]; then
            AS_REPO_OFFICE_FRONTEND=https://software.open-xchange.com/products/appsuite/${AS_OFFICE_FRONTEND_VERSION}/office-web/${DISTRO}/
            if [[ -n "${AS_USER}" ]]; then
                AS_REPO_OFFICE_FRONTEND_UPDATES=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/appsuite/${AS_OFFICE_FRONTEND_VERSION}/office-web/updates/${DISTRO}/
            fi
        fi
        if [[ -n "${AS_OFFICE_COLLABORATION_VERSION}" ]]; then
            AS_REPO_OFFICE_COLLABORATION=https://software.open-xchange.com/products/appsuite/${AS_OFFICE_COLLABORATION_VERSION}/documents-collaboration/${DISTRO}/
            if [[ -n "${AS_USER}" ]]; then
                AS_REPO_OFFICE_COLLABORATION_UPDATES=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/appsuite/${AS_OFFICE_COLLABORATION_VERSION}/documents-collaboration/updates/${DISTRO}/
            fi
        fi
        if [[ -n "${AS_DOCUMENTCONVERTER_VERSION}" ]] && [[ -n "${AS_USER}" ]]; then
            AS_REPO_DOCUMENTCONVERTER=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/appsuite/${AS_DOCUMENTCONVERTER_VERSION}/documentconverter/${DISTRO}/
        fi
        if [[ -n "${AS_DOCUMENTCONVERTER_API_VERSION}" ]]; then
            AS_REPO_DOCUMENTCONVERTER_API=https://software.open-xchange.com/products/appsuite/${AS_DOCUMENTCONVERTER_API_VERSION}/documentconverter-api/${DISTRO}/
            if [[ -n "${AS_USER}" ]]; then
                AS_REPO_DOCUMENTCONVERTER_API_UPDATES=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/appsuite/${AS_DOCUMENTCONVERTER_API_VERSION}/documentconverter-api/updates/${DISTRO}/
            fi
        fi
        if [[ -n "${AS_READERENGINE_VERSION}" ]] && [[ -n "${AS_USER}" ]]; then
            AS_REPO_READERENGINE=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/appsuite/${AS_READERENGINE_VERSION}/readerengine/${DISTRO}/
        fi
        if [[ -n "${AS_PDFTOOL_VERSION}" ]] && [[ -n "${AS_USER}" ]]; then
            AS_REPO_PDFTOOL=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/appsuite/${AS_PDFTOOL_VERSION}/pdftool/${DISTRO}/
        fi
        if [[ -n "${AS_USM_VERSION}" ]]; then
            AS_REPO_USM=https://software.open-xchange.com/products/appsuite/${AS_USM_VERSION}/usm/${DISTRO}/
            if [[ -n "${AS_USER}" ]]; then
                AS_REPO_USM_UPDATES=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/appsuite/${AS_USM_VERSION}/usm/updates/${DISTRO}/
            fi
        fi
        if [[ -n "${AS_EAS_VERSION}" ]] && [[ -n "${AS_USER}" ]]; then
            AS_REPO_EAS=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/appsuite/${AS_EAS_VERSION}/mobilityconnector/${DISTRO}/
        fi
        if [[ -n "${AS_DRIVE_CLIENT_GENERIC_VERSION}" ]] && [[ -n "${AS_USER}" ]]; then
            AS_REPO_DRIVE_CLIENT_GENERIC=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/drive/${AS_DRIVE_CLIENT_GENERIC_VERSION}/drive-client-windows/${DISTRO}/
        fi
        if [[ -n "${AS_DRIVE_HELP_VERSION}" ]]; then
            AS_REPO_DRIVE_HELP=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/drive/${AS_DRIVE_HELP_VERSION}/drive-help/${DISTRO}/
            if [[ -n "${AS_USER}" ]]; then
                AS_REPO_DRIVE_HELP_UPDATES=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/drive/${AS_DRIVE_HELP_VERSION}/drive-help/updates/${DISTRO}/
            fi
        fi
        if [[ -n "${AS_GUARD_VERSION}" ]]; then
            AS_REPO_GUARD=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/guard/${AS_GUARD_VERSION}/guard/${DISTRO}/
            if [[ -n "${AS_USER}" ]]; then
                AS_REPO_GUARD_UPDATES=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/guard/${AS_GUARD_VERSION}/guard/updates/${DISTRO}/
            fi
        fi
        if [[ -n "${AS_DRIVERESTRICTED_VERSION}" ]] && [[ -n "${AS_USER}" ]]; then
            AS_REPO_DRIVERESTRICTED=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/appsuite/${AS_DRIVERESTRICTED_VERSION}/drive/${DISTRO}/
        fi
        if [[ -n "${AS_WEAKFORCE_VERSION}" ]]; then
            AS_REPO_WEAKFORCE=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/weakforced/${AS_WEAKFORCE_VERSION}/backend-weakforced/${DISTRO}/
            if [[ -n "${AS_USER}" ]]; then
                AS_REPO_WEAKFORCE_UPDATES=https://${AS_USER}:${AS_PASS}@software.open-xchange.com/products/weakforced/${AS_WEAKFORCE_VERSION}/backend-weakforced/updates/${DISTRO}/
            fi
        fi

    fi
}


function writeRepositories {
    setRepositories
    echo "Adding repository information..."
    if [[ true == "${ANY_DEB}" ]]; then
        echo "# Debian and third-party Repositories" > /etc/apt/sources.list.d/ox-debian.list
        if [[ "${DIST}" == "DebianJessie" ]]; then
            echo "deb ${DEBIAN_JESSIE_REPOSITORY}" >> /etc/apt/sources.list.d/ox-debian.list
            echo "deb ${DEBIAN_JESSIE_BACKPORTS_REPOSITORY}" >> /etc/apt/sources.list.d/ox-debian.list
        fi
        # if [[ "${DIST}" == "DebianStretch" ]]; then
        #     echo "deb ${DEBIAN_STRETCH_REPOSITORY}" >> /etc/apt/sources.list.d/ox-debian.list
        # fi
        echo "# OX App Suite Repositories" > /etc/apt/sources.list.d/ox-appsuite.list
        if [[ -n "${AS_REPO_BACKEND}" ]]; then
            echo "deb ${AS_REPO_BACKEND} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_FRONTEND_LEGACY}" ]]; then
            echo "deb ${AS_REPO_FRONTEND_LEGACY} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_FRONTEND}" ]]; then
            echo "deb ${AS_REPO_FRONTEND} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_OFFICE}" ]]; then
            echo "deb ${AS_REPO_OFFICE} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_OFFICE_FRONTEND}" ]]; then
            echo "deb ${AS_REPO_OFFICE_FRONTEND} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_OFFICE_COLLABORATION}" ]]; then
            echo "deb ${AS_REPO_OFFICE_COLLABORATION} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_DOCUMENTCONVERTER}" ]]; then
            echo "deb ${AS_REPO_DOCUMENTCONVERTER} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_DOCUMENTCONVERTER_API}" ]]; then
            echo "deb ${AS_REPO_DOCUMENTCONVERTER_API} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_PDFTOOL}" ]]; then
            echo "deb ${AS_REPO_PDFTOOL} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_READERENGINE}" ]]; then
            echo "deb ${AS_REPO_READERENGINE} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_USM}" ]]; then
            echo "deb ${AS_REPO_USM} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_EAS}" ]]; then
            echo "deb ${AS_REPO_EAS} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_DRIVE_CLIENT_GENERIC}" ]]; then
            echo "deb ${AS_REPO_DRIVE_CLIENT_GENERIC} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_DRIVE_HELP}" ]]; then
            echo "deb ${AS_REPO_DRIVE_HELP} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_GUARD}" ]]; then
            echo "deb ${AS_REPO_GUARD} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_DRIVERESTRICTED}" ]]; then
            echo "deb ${AS_REPO_DRIVERESTRICTED} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_WEAKFORCE}" ]]; then
            echo "deb ${AS_REPO_WEAKFORCE} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_EMIG}" ]]; then
            echo "deb ${AS_REPO_EMIG} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_MOBILE_API_FACADE}" ]]; then
            echo "deb ${AS_REPO_MOBILE_API_FACADE} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_CLOUDPLUGINS}" ]]; then
            echo "deb ${AS_REPO_CLOUDPLUGINS} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_BACKEND_UPDATES}" ]]; then
            echo "deb ${AS_REPO_BACKEND_UPDATES} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_FRONTEND_UPDATES}" ]]; then
            echo "deb ${AS_REPO_FRONTEND_UPDATES} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_FRONTEND_LEGACY_UPDATES}" ]]; then
            echo "deb ${AS_REPO_FRONTEND_LEGACY_UPDATES} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_OFFICE_UPDATES}" ]]; then
            echo "deb ${AS_REPO_OFFICE_UPDATES} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_OFFICE_FRONTEND_UPDATES}" ]]; then
            echo "deb ${AS_REPO_OFFICE_FRONTEND_UPDATES} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_OFFICE_COLLABORATION_UPDATES}" ]]; then
            echo "deb ${AS_REPO_OFFICE_COLLABORATION_UPDATES} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_DOCUMENTCONVERTER_API_UPDATES}" ]]; then
            echo "deb ${AS_REPO_DOCUMENTCONVERTER_API_UPDATES} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_USM_UPDATES}" ]]; then
            echo "deb ${AS_REPO_USM_UPDATES} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_DRIVE_HELP_UPDATES}" ]]; then
            echo "deb ${AS_REPO_DRIVE_HELP_UPDATES} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_GUARD_UPDATES}" ]]; then
            echo "deb ${AS_REPO_GUARD_UPDATES} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_WEAKFORCE_UPDATES}" ]]; then
            echo "deb ${AS_REPO_WEAKFORCE_UPDATES} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_CUSTOM_REPO}" ]]; then
            echo "deb ${AS_CUSTOM_REPO} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
        if [[ -n "${AS_REPO_IMAGECONVERTER}" ]]; then
            echo "deb ${AS_REPO_IMAGECONVERTER} /" >> /etc/apt/sources.list.d/ox-appsuite.list
        fi
    elif [[ true == "${ANY_SLES}" ]]; then
        if [[ -n "${AS_REPO_BACKEND}" ]]; then
            zypper rr ox-appsuite-backend
            zypper ar "${AS_REPO_BACKEND}" ox-appsuite-backend
        fi
        if [[ -n "${AS_REPO_FRONTEND_LEGACY}" ]]; then
            zypper rr ox-appsuite-frontend-legacy
            zypper ar "${AS_REPO_FRONTEND_LEGACY}" ox-appsuite-frontend-legacy
        fi
        if [[ -n "${AS_REPO_FRONTEND}" ]]; then
            zypper rr ox-appsuite-frontend
            zypper ar "${AS_REPO_FRONTEND}" ox-appsuite-frontend
        fi
        if [[ -n "${AS_REPO_USM}" ]]; then
            zypper rr ox-appsuite-usm
            zypper ar "${AS_REPO_USM}" ox-appsuite-usm
        fi
        if [[ -n "${AS_REPO_OFFICE}" ]]; then
            zypper rr ox-appsuite-office
            zypper ar "${AS_REPO_OFFICE}" ox-appsuite-office
        fi
        if [[ -n "${AS_REPO_OFFICE_FRONTEND}" ]]; then
            zypper rr ox-appsuite-office-frontend
            zypper ar "${AS_REPO_OFFICE_FRONTEND}" ox-appsuite-office-frontend
        fi
        if [[ -n "${AS_REPO_OFFICE_COLLABORATION}" ]]; then
            zypper rr ox-appsuite-office-collaboration
            zypper ar "${AS_REPO_OFFICE_COLLABORATION}" ox-appsuite-office-collaboration
        fi
        if [[ -n "${AS_REPO_DOCUMENTCONVERTER}" ]]; then
            zypper rr ox-appsuite-documentconverter
            zypper ar "${AS_REPO_DOCUMENTCONVERTER}" ox-appsuite-documentconverter
        fi
        if [[ -n "${AS_REPO_DOCUMENTCONVERTER_API}" ]]; then
            zypper rr ox-appsuite-documentconverter-api
            zypper ar "${AS_REPO_DOCUMENTCONVERTER_API}" ox-appsuite-documentconverter-api
        fi
        if [[ -n "${AS_REPO_READERENGINE}" ]]; then
            zypper rr ox-appsuite-readerengine
            zypper ar "${AS_REPO_READERENGINE}" ox-appsuite-readerengine
        fi
        if [[ -n "${AS_REPO_PDFTOOL}" ]]; then
            zypper rr ox-appsuite-pdftool
            zypper ar "${AS_REPO_PDFTOOL}" ox-appsuite-pdftool
        fi
        if [[ -n "${AS_REPO_EAS}" ]]; then
            zypper rr ox-appsuite-eas
            zypper ar "${AS_REPO_EAS}" ox-appsuite-eas
        fi
        if [[ -n "${AS_REPO_DRIVE_CLIENT_GENERIC}" ]]; then
            zypper rr ox-appsuite-drive-client-generic
            zypper ar "${AS_REPO_DRIVE_CLIENT_GENERIC}" ox-appsuite-drive-client-generic
        fi
        if [[ -n "${AS_REPO_DRIVE_HELP}" ]]; then
            zypper rr ox-appsuite-drive-help
            zypper ar "${AS_REPO_DRIVE_HELP}" ox-appsuite-drive-help
        fi
        if [[ -n "${AS_REPO_GUARD}" ]]; then
            zypper rr ox-appsuite-guard
            zypper ar "${AS_REPO_GUARD}" ox-appsuite-guard
        fi
        if [[ -n "${AS_REPO_DRIVERESTRICTED}" ]]; then
            zypper rr ox-appsuite-driverestricted
            zypper ar "${AS_REPO_DRIVERESTRICTED}" ox-appsuite-driverestricted
        fi
        if [[ -n "${AS_REPO_WEAKFORCE}" ]]; then
            zypper rr ox-appsuite-weakforce
            zypper ar "${AS_REPO_WEAKFORCE}" ox-appsuite-weakforce
        fi
        if [[ -n "${AS_REPO_EMIG}" ]]; then
            zypper rr ox-appsuite-emig
            zypper ar "${AS_REPO_EMIG}" ox-appsuite-emig
        fi
        if [[ -n "${AS_REPO_MOBILE_API_FACADE}" ]]; then
            zypper rr ox-appsuite-mobile-api-facade
            zypper ar "${AS_REPO_MOBILE_API_FACADE}" ox-appsuite-mobile-api-facade
        fi
        if [[ -n "${AS_REPO_CLOUDPLUGINS}" ]]; then
            zypper rr ox-appsuite-cloudplugins
            zypper ar "${AS_REPO_CLOUDPLUGINS}" ox-appsuite-cloudplugins
        fi
        if [[ -n "${AS_REPO_BACKEND_UPDATES}" ]]; then
            zypper rr ox-appsuite-backend-updates
            zypper ar "${AS_REPO_BACKEND_UPDATES}" ox-appsuite-backend-updates
        fi
        if [[ -n "${AS_REPO_FRONTEND_UPDATES}" ]]; then
            zypper rr ox-appsuite-frontend-updates
            zypper ar "${AS_REPO_FRONTEND_UPDATES}" ox-appsuite-frontend-updates
        fi
        if [[ -n "${AS_REPO_FRONTEND_LEGACY_UPDATES}" ]]; then
            zypper rr ox-appsuite-frontend-legacy-updates
            zypper ar "${AS_REPO_FRONTEND_LEGACY_UPDATES}" ox-appsuite-frontend-legacy-updates
        fi
        if [[ -n "${AS_REPO_OFFICE_UPDATES}" ]]; then
            zypper rr ox-appsuite-office-updates
            zypper ar "${AS_REPO_OFFICE_UPDATES}" ox-appsuite-office-updates
        fi
        if [[ -n "${AS_REPO_OFFICE_FRONTEND_UPDATES}" ]]; then
            zypper rr ox-appsuite-office-frontend-updates
            zypper ar "${AS_REPO_OFFICE_FRONTEND_UPDATES}" ox-appsuite-office-frontend-updates
        fi
        if [[ -n "${AS_REPO_OFFICE_COLLABORATION_UPDATES}" ]]; then
            zypper rr ox-appsuite-office-collabortaion-updates
            zypper ar "${AS_REPO_OFFICE_COLLABORATION_UPDATES}" ox-appsuite-office-collaboration-updates
        fi
        if [[ -n "${AS_REPO_DOCUMENTCONVERTER_API_UPDATES}" ]]; then
            zypper rr ox-appsuite-documentconverter-api-updates
            zypper ar "${AS_REPO_DOCUMENTCONVERTER_API_UPDATES}" ox-appsuite-documentconverter-api-updates
        fi
        if [[ -n "${AS_REPO_USM_UPDATES}" ]]; then
            zypper rr ox-appsuite-usm-updates
            zypper ar "${AS_REPO_USM_UPDATES}" ox-appsuite-usm-updates
        fi
        if [[ -n "${AS_REPO_DRIVE_HELP_UPDATES}" ]]; then
            zypper rr ox-appsuite-drive-help-updates
            zypper ar "${AS_REPO_DRIVE_HELP_UPDATES}" ox-appsuite-drive-help-updates
        fi
        if [[ -n "${AS_REPO_GUARD_UPDATES}" ]]; then
            zypper rr ox-appsuite-guard-updates
            zypper ar "${AS_REPO_GUARD_UPDATES}" ox-appsuite-guard-updates
        fi
        if [[ -n "${AS_REPO_WEAKFORCE_UPDATES}" ]]; then
            zypper rr ox-appsuite-weakforce-updates
            zypper ar "${AS_REPO_WEAKFORCE_UPDATES}" ox-appsuite-weakforce-updates
        fi
        if [[ -n "${AS_CUSTOM_REPO}" ]]; then
            zypper rr ox-appsuite-custom-update
            zypper ar "${AS_CUSTOM_REPO}" ox-appsuite-custom-update
        fi
        if [[ -n "${AS_REPO_IMAGECONVERTER}" ]]; then
            zypper rr ox-appsuite-imageconverter
            zypper ar "${AS_REPO_IMAGECONVERTER}" ox-appsuite-imageconverter
        fi
    elif [[ true == "${ANY_RHEL}" ]] || [[ true == "${ANY_CENTOS}" ]]; then

        echo "# OX App Suite Repositories" > /etc/yum.repos.d/ox-appsuite.repo
        if [[ -n "${AS_REPO_BACKEND}" ]]; then
            {
            echo "[ox-appsuite-backend]"
            echo "name=OX App Suite Middleware"
            echo "baseurl=${AS_REPO_BACKEND}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_FRONTEND_LEGACY}" ]]; then
            {
            echo "[ox-frontend-legacy]"
            echo "name=OX App Suite Frontend Legacy"
            echo "baseurl=${AS_REPO_FRONTEND_LEGACY}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_FRONTEND}" ]]; then
            {
            echo "[ox-appsuite-frontend]"
            echo "name=OX App Suite Frontend"
            echo "baseurl=${AS_REPO_FRONTEND}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_OFFICE}" ]]; then
            {
            echo "[ox-appsuite-office]"
            echo "name=OX App Suite Office"
            echo "baseurl=${AS_REPO_OFFICE}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_OFFICE_FRONTEND}" ]]; then
	    {
            echo "[ox-appsuite-office-frontend]"
            echo "name=OX App Suite Office Frontend"
            echo "baseurl=${AS_REPO_OFFICE_FRONTEND}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
	fi
        if [[ -n "${AS_REPO_OFFICE_COLLABORATION}" ]]; then
	    {
            echo "[ox-appsuite-office-collabortaion]"
            echo "name=OX App Suite Office Collaboration"
            echo "baseurl=${AS_REPO_OFFICE_COLLABORATION}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
	fi
        if [[ -n "${AS_REPO_DOCUMENTCONVERTER}" ]]; then
            {
            echo "[ox-appsuite-documentconverter]"
            echo "name=OX App Suite Documentconverter"
            echo "baseurl=${AS_REPO_DOCUMENTCONVERTER}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_DOCUMENTCONVERTER_API}" ]]; then
            {
            echo "[ox-appsuite-documentconverter-api]"
            echo "name=OX App Suite Documentconverter API"
            echo "baseurl=${AS_REPO_DOCUMENTCONVERTER_API}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_PDFTOOL}" ]]; then
            {
            echo "[ox-appsuite-pdftool]"
            echo "name=OX App Suite PDFTool"
            echo "baseurl=${AS_REPO_PDFTOOL}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_READERENGINE}" ]]; then
            {
            echo "[ox-appsuite-readerengine]"
            echo "name=OX App Suite Reader Engine"
            echo "baseurl=${AS_REPO_READERENGINE}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_USM}" ]]; then
            {
            echo "[ox-appsuite-usm]"
            echo "name=OX App Suite USM"
            echo "baseurl=${AS_REPO_USM}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_EAS}" ]]; then
            {
            echo "[ox-appsuite-eas]"
            echo "name=OX App Suite EAS"
            echo "baseurl=${AS_REPO_EAS}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_DRIVE_CLIENT_GENERIC}" ]]; then
            {
            echo "[ox-appsuite-drive-client-generic]"
            echo "name=OX App Suite Drive Client Generic"
            echo "baseurl=${AS_REPO_DRIVE_CLIENT_GENERIC}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_DRIVE_HELP}" ]]; then
            {
            echo "[ox-appsuite-drive-help]"
            echo "name=OX App Suite Drive Help"
            echo "baseurl=${AS_REPO_DRIVE_HELP}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_GUARD}" ]]; then
            {
            echo "[ox-appsuite-guard]"
            echo "name=OX App Suite Guard"
            echo "baseurl=${AS_REPO_GUARD}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_DRIVERESTRICTED}" ]]; then
            {
            echo "[ox-appsuite-driverestricted]"
            echo "name=OX App Suite Driverestricted"
            echo "baseurl=${AS_REPO_DRIVERESTRICTED}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_WEAKFORCE}" ]]; then
            {
            echo "[ox-appsuite-weakforce]"
            echo "name=OX App Suite Weakforce"
            echo "baseurl=${AS_REPO_WEAKFORCE}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_EMIG}" ]]; then
            {
            echo "[ox-appsuite-emig]"
            echo "name=OX App Suite EMIG"
            echo "baseurl=${AS_REPO_EMIG}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_MOBILE_API_FACADE}" ]]; then
            {
            echo "[ox-appsuite-mobile-api-facade]"
            echo "name=OX App Suite Mobile API Facade"
            echo "baseurl=${AS_REPO_MOBILE_API_FACADE}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_CLOUDPLUGINS}" ]]; then
            {
            echo "[ox-appsuite-cloudplugins]"
            echo "name=OX App Suite Cloud Plugins"
            echo "baseurl=${AS_REPO_CLOUDPLUGINS}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_BACKEND_UPDATES}" ]]; then
            {
            echo "[ox-appsuite-backend-updates]"
            echo "name=OX App Suite Backend Updates"
            echo "baseurl=${AS_REPO_BACKEND_UPDATES}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_FRONTEND_UPDATES}" ]]; then
            {
            echo "[ox-appsuite-frontend-updates]"
            echo "name=OX App Suite Frontend Updates"
            echo "baseurl=${AS_REPO_FRONTEND_UPDATES}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_FRONTEND_LEGACY_UPDATES}" ]]; then
            {
            echo "[ox-appsuite-frontend-legacy-updates]"
            echo "name=OX App Suite Frontend Legacy Updates"
            echo "baseurl=${AS_REPO_FRONTEND_LEGACY_UPDATES}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_OFFICE_UPDATES}" ]]; then
            {
            echo "[ox-appsuite-office-updates]"
            echo "name=OX App Suite Office Updates"
            echo "baseurl=${AS_REPO_OFFICE_UPDATES}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_OFFICE_FRONTEND_UPDATES}" ]]; then
            {
            echo "[ox-appsuite-office-frontend-updates]"
            echo "name=OX App Suite Office Frontend Updates"
            echo "baseurl=${AS_REPO_OFFICE_FRONTEND_UPDATES}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_OFFICE_COLLABORATION_UPDATES}" ]]; then
            {
            echo "[ox-appsuite-office-collaboration-updates]"
            echo "name=OX App Suite Office Collaboration Updates"
            echo "baseurl=${AS_REPO_OFFICE_COLLABORATION_UPDATES}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_DOCUMENTCONVERTER_API_UPDATES}" ]]; then
            {
            echo "[ox-appsuite-documentconverter-api-updates]"
            echo "name=OX App Suite Documentconverter-api-updates"
            echo "baseurl=${AS_REPO_DOCUMENTCONVERTER_API_UPDATES}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_USM_UPDATES}" ]]; then
            {
            echo "[ox-appsuite-usm-updates]"
            echo "name=OX App Suite USM Updates"
            echo "baseurl=${AS_REPO_USM_UPDATES}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_DRIVE_HELP_UPDATES}" ]]; then
            {
            echo "[ox-appsuite-drive-help-updates]"
            echo "name=OX App Suite Drive Help Updates"
            echo "baseurl=${AS_REPO_DRIVE_HELP_UPDATES}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_GUARD_UPDATES}" ]]; then
            {
            echo "[ox-appsuite-guard-updates]"
            echo "name=OX App Suite Guard Updates"
            echo "baseurl=${AS_REPO_GUARD_UPDATES}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_WEAKFORCE_UPDATES}" ]]; then
            {
            echo "[ox-appsuite-weakforce-updates]"
            echo "name=OX App Suite Weakforce Updates"
            echo "baseurl=${AS_REPO_WEAKFORCE_UPDATES}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_CUSTOM_REPO}" ]]; then
            {
            echo "[ox-appsuite-custom]"
            echo "name=OX App Suite Custom"
            echo "baseurl=${AS_CUSTOM_REPO}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
        if [[ -n "${AS_REPO_IMAGECONVERTER}" ]]; then
            {
            echo "[ox-appsuite-imageconverter-server]"
            echo "name=OX App Suite ImageConverter Server"
            echo "baseurl=${AS_REPO_IMAGECONVERTER}"
            echo "enabled=1"
            echo "proxy=_none_"
            } >> /etc/yum.repos.d/ox-appsuite.repo
        fi
    fi
}

function addOxBuildKey {
    echo -n "Adding OX App Suite repository build key..."
    if [[ true == "${ANY_DEB}" ]]; then
        wget -q ${AS_BUILDKEY} -O - | apt-key add -
    elif [[ true == "${ANY_SLES}" ]]; then
        wget -q ${AS_BUILDKEY} -O ox.key
        rpm --import ox.key
        rm -f ox.key
    elif [[ true == "${ANY_RHEL}" ]] || [[ true == "${ANY_CENTOS}" ]]; then
        rpm --import ${AS_BUILDKEY}
    fi
}

function preInstallActions {
    echo "Executing preInstallActions ..."
    ADDITIONAL_PACKAGES="gnupg2 curl wget"
    if [[ true == "${ANY_DEB}" ]]; then
        ADDITIONAL_PACKAGES="${ADDITIONAL_PACKAGES} apt-transport-https software-properties-common dirmngr netcat"
        # Making MySQL installation unattended (Debian)
        echo "mysql mysql-server/root_password string ${DATABASE_ROOT_PASS}" | debconf-set-selections
        echo "mysql mysql-server/root_password_again string ${DATABASE_ROOT_PASS}" | debconf-set-selections
    elif [[ true == "${ANY_RHEL}" ]] || [[ true == "${ANY_CENTOS}" ]]; then
        ADDITIONAL_PACKAGES="${ADDITIONAL_PACKAGES} nc"
    fi

    if [[ "${INSTALL_TYPE}" == *"docker"* ]]; then
        if [[ true == "${ANY_CENTOS}" ]]; then
            echo "Adding epel repository for additional packages ..."
            yum install epel-release -y
        fi

        echo "Installing supervisor for service management ..."
        ADDITIONAL_PACKAGES="supervisor ${ADDITIONAL_PACKAGES}"
    fi

    installPackagesRetry "${ADDITIONAL_PACKAGES}"
    export EXECUTED_preInstallActions=true
}


function checkInstallDefaults {

    if [[ "${INSTALL_TYPE}" == "singlenode" ]]; then
        echo "Performing singlenode setup, checking defaults and setting them accordingly if missing ..."
        if [ -z ${INSTALL_FRONTEND} ]; then
            export INSTALL_FRONTEND=true
        fi

        if [ -z ${INSTALL_MIDDLEWARE} ]; then
            export INSTALL_MIDDLEWARE=true
        fi

        if [ -z ${INSTALL_GUARD} ]; then
            export INSTALL_GUARD=false
        fi

        if [ -z ${INSTALL_DOCUMENTS} ]; then
            export INSTALL_DOCUMENTS=false
        fi

        if [ -z ${INSTALL_DOCUMENTCONVERTER} ]; then
            export INSTALL_DOCUMENTCONVERTER=false
        fi

        if [ -z ${INSTALL_DATABASE} ]; then
            export INSTALL_DATABASE=true
        fi  

        return 0
    else

        echo "Performing common setup, checking setup-defaults ..."
        # this simply checks if the install options are set
        if [ -z ${INSTALL_FRONTEND} ]; then
            export INSTALL_FRONTEND=false
        fi

        if [ -z ${INSTALL_MIDDLEWARE} ]; then
            export INSTALL_MIDDLEWARE=false
        fi

        if [ -z ${INSTALL_GUARD} ]; then
            export INSTALL_GUARD=false
        fi

        if [ -z ${INSTALL_DOCUMENTS} ]; then
            export INSTALL_DOCUMENTS=false
        fi

        if [ -z ${INSTALL_DOCUMENTCONVERTER} ]; then
            export INSTALL_DOCUMENTCONVERTER=false
        fi

        if [ -z ${INSTALL_DATABASE} ]; then
            export INSTALL_DATABASE=false
        fi  
    fi
}