#!/bin/sh
set -e

. /usr/share/debconf/confmodule

file="$1"

db_get apt-setup/services-select
if ! echo "$RET" | grep -q backports; then
    exit
fi

if db_get mirror/codename && [ "$RET" ]; then
    codename="$RET"
    db_get mirror/suite
    suite="$RET"

    db_get mirror/protocol
    protocol="$RET"
    db_get mirror/$protocol/hostname
    host="$RET"
    db_get mirror/$protocol/directory
    directory="/${RET#/}"
else
    db_get cdrom/codename
    codename="$RET"
    db_get cdrom/suite
    suite="$RET"
fi

dists="main"
## Check with user if contrib and/or non-free should be included
for dist in contrib non-free; do
    db_get apt-setup/$dist
    if [ "$RET" = true ]; then
	dists="$dists $dist"
    fi
done

##echo "# ${codename}-backports, previously on backports.debian.org" >> $file

# Don't test mirror if no network selected in netcfg
if  [ -n "$protocol" ] && [ -n "$host" ]; then
    echo "deb $protocol://${host}${directory} ${codename}-backports $dists" >> $file
else
    echo "# A network mirror was not selected during install.  The following entries" >> $file
    echo "# are provided as examples, but you should amend them as appropriate" >> $file
    echo "# for your mirror of choice." >> $file
    echo "#" >> $file
    echo "# deb http://deb.devuan.org/merged ${codename}-backports $dists" >> $file
fi
if db_get netcfg/dhcp_options && \
   [ "$RET" = "Do not configure the network at this time" ]; then
    CODE=9
else
    CODE=0
    case $protocol in
        http|https)
        export ASV_TIMEOUT="-o Acquire::$protocol::Timeout=30"
        ;;
    esac
    if ! apt-setup-verify --from $PROGRESS_FROM --to $PROGRESS_TO $file; then
        db_subst apt-setup/service-failed HOST "$host"
        db_input critical apt-setup/service-failed || true
        if ! db_go; then
            exit 10 # back up
        fi
        CODE=9
    fi
fi

deb_src="deb-src"
db_get apt-setup/enable-source-repositories
if [ "$RET" = false ]; then
    deb_src="# deb-src"
fi

if [ -n "$protocol" ] && [ -n "$host" ]; then
    echo "$deb_src $protocol://${host}${directory} ${codename}-backports $dists" >> $file
else
    echo "# deb-src http://deb.devuan.org/merged ${codename}-backports $dists" >> $file
fi

exit $CODE
