#!/bin/bash
set -e
# Builds debian packages using docker wrapper

function help() {
  message=$1
  echo "USAGE: build.sh DOCKER_REPO DOCKER_TAG OS_TAG [DISTRO]"
  echo "hint: ${message}"
}

docker_repo=$1
docker_tag=$2
os_tag=$3
distro=${4:-ubuntu}

[ -z "${docker_repo}" ] && help "You must specify repo, eg: quay.io/iovisoc/bcc" && exit 1
[ -z "${docker_tag}" ] && help "You must specify tag, eg: bionic-release-master, latest, SHA, git tag, etc " && exit 1
[ -z "${os_tag}" ] && help "You must specify os tag, eg: 18.04, bionic, etc " && exit 1


# The main docker image build,
echo "Building ${distro} ${os_tag} release docker image for ${docker_repo}:${docker_tag}"
docker build -t ${docker_repo}:${docker_tag} --build-arg OS_TAG=${os_tag} -f Dockerfile.${distro} .

echo "Copying build artifacts to $(pwd)/output"
mkdir -p output
docker run -v $(pwd)/output:/output ${docker_repo}:${docker_tag} /bin/bash -c "cp /root/bcc/* /output"