#!/usr/bin/env bash

. /usr/share/dosis2/bin/shell-support-functions

OS="`getos`"

function error() {
    echo -e "\033[031m$1\033[0m"
}

if [ ${UID} != 0 ]; then
    error "This script must be ran as root"
    exit 1
fi

if [ "${OS}" = "CentOS" ]; then
    echo "Detected ${OS}: Patching Repo Files"

    PATCH_FILES_CONFIG=(
        "base,updates,extras,centosplus,contrib:/etc/yum.repos.d/CentOS-Base.repo"
        "epel,epel-debuginfo,epel-source:/etc/yum.repos.d/epel.repo"
        "epel-testing,epel-testing-debuginfo,epel-testing-source:/etc/yum.repos.d/epel-testing.repo"
        "PUIAS_6_computational:/etc/yum.repos.d/puias-computational.repo"
        "rpmfusion-free-updates,rpmfusion-free-updates-debuginfo,rpmfusion-free-updates-source:/etc/yum.repos.d/rpmfusion-free-updates.repo"
        "rpmfusion-free-updates-testing,rpmfusion-free-updates-testing-debuginfo,rpmfusion-free-updates-testing-source:/etc/yum.repos.d/rpmfusion-free-updates-testing.repo"
    )

    for fc in ${PATCH_FILES_CONFIG[@]}; do
        file="`echo ${fc} | cut -d: -f2`"
        sections="`echo ${fc} | cut -d: -f1 | sed 's/,/ /g'`"

        for s in ${sections}; do
            echo "Patching [${s}] ${file}"
            sed -i -re "/\[${s}\]/,/\[/s/#*baseurl=/#baseurl=/g" "${file}"
            sed -i -re "/\[${s}\]/,/\[/s/#+mirrorlist=/mirrorlist=/g" "${file}"
        done
    done

    sed -i '/proxy=_none_/d' "/etc/yum.repos.d/Dosis.repo" 

    /opt/dosis2/bin/conf-edit "/etc/yum.conf" --output "/etc/yum.conf" \
        --delete main.proxy
elif [ "${OS}" = "Ubuntu" ]; then
    rm -f /etc/apt/apt.conf.d/97proxy
else
    error "Unknown OS: ${OS}"
    exit 1
fi

sed -i "s/http_proxy=\".*\"/http_proxy=\"\"/" /usr/share/dosis2/bin/backup-to-aws-wrapper
sed -i "s/https_proxy=\".*\"/https_proxy=\"\"/" /usr/share/dosis2/bin/backup-to-aws-wrapper

rm -f /opt/dosis2/etc/bashrc.d/97-proxy
