#!/usr/bin/sh

set -e
set -x

repo_name="$(basename "$PWD")"
repo_dir="$PWD"

scripts_dir="$(dirname "$0")"

# drop qubes- prefix
repo_name=${repo_name#qubes-}

if [ -n "$1" ]; then
    # Build this component(s) instead, but still use what Travis-CI downloaded
    override_components="$1"
fi

# go to builder main directory
cd "$scripts_dir/.."

# shellcheck source=scripts/common
. scripts/common

# use specific builder conf for Travis-CI builds
export BUILDERCONF=scripts/travis-builder.conf

if command -v apt-get > /dev/null; then
    # We don't need MongoDB, so don't care it their key is expired or not
    sudo rm -f /etc/apt/sources.list.d/mongodb*

    sudo apt-get -qq update
    sudo apt-get -y install dpkg-dev debootstrap
fi

# install required packages
make install-deps

# download builder plugins
# shellcheck disable=2016
make get-sources COMPONENTS='$(BUILDER_PLUGINS)'

if [ -n "$override_components" ]; then
    make COMPONENTS="$override_components" get-sources
fi

# place Travis-CI downloaded sources in qubes-src
if [ -d "qubes-src/${repo_name}" ]; then
    rm -rf "qubes-src/${repo_name}"
fi
if [ "$repo_name" != "builder" ]; then
    cp -a "$repo_dir" "qubes-src/$repo_name"
fi

# download additional sources if needed
if [ -n "$override_components" ]; then
    COMPONENTS="$override_components"
else
    COMPONENTS="$repo_name"
fi
make COMPONENTS="$COMPONENTS" get-sources-extra
