xref: /aosp_15_r20/external/bcc/scripts/docker/build.sh (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1*387f9dfdSAndroid Build Coastguard Worker#!/bin/bash
2*387f9dfdSAndroid Build Coastguard Workerset -e
3*387f9dfdSAndroid Build Coastguard Worker# Builds debian packages using docker wrapper
4*387f9dfdSAndroid Build Coastguard Worker
5*387f9dfdSAndroid Build Coastguard Workerfunction help() {
6*387f9dfdSAndroid Build Coastguard Worker  message=$1
7*387f9dfdSAndroid Build Coastguard Worker  echo "USAGE: build.sh DOCKER_REPO DOCKER_TAG OS_TAG [DISTRO]"
8*387f9dfdSAndroid Build Coastguard Worker  echo "hint: ${message}"
9*387f9dfdSAndroid Build Coastguard Worker}
10*387f9dfdSAndroid Build Coastguard Worker
11*387f9dfdSAndroid Build Coastguard Workerdocker_repo=$1
12*387f9dfdSAndroid Build Coastguard Workerdocker_tag=$2
13*387f9dfdSAndroid Build Coastguard Workeros_tag=$3
14*387f9dfdSAndroid Build Coastguard Workerdistro=${4:-ubuntu}
15*387f9dfdSAndroid Build Coastguard Worker
16*387f9dfdSAndroid Build Coastguard Worker[ -z "${docker_repo}" ] && help "You must specify repo, eg: quay.io/iovisoc/bcc" && exit 1
17*387f9dfdSAndroid Build Coastguard Worker[ -z "${docker_tag}" ] && help "You must specify tag, eg: bionic-release-master, latest, SHA, git tag, etc " && exit 1
18*387f9dfdSAndroid Build Coastguard Worker[ -z "${os_tag}" ] && help "You must specify os tag, eg: 18.04, bionic, etc " && exit 1
19*387f9dfdSAndroid Build Coastguard Worker
20*387f9dfdSAndroid Build Coastguard Worker
21*387f9dfdSAndroid Build Coastguard Worker# The main docker image build,
22*387f9dfdSAndroid Build Coastguard Workerecho "Building ${distro} ${os_tag} release docker image for ${docker_repo}:${docker_tag}"
23*387f9dfdSAndroid Build Coastguard Workerdocker build -t ${docker_repo}:${docker_tag} --build-arg OS_TAG=${os_tag} -f docker/Dockerfile.${distro} .
24*387f9dfdSAndroid Build Coastguard Worker
25*387f9dfdSAndroid Build Coastguard Workerecho "Copying build artifacts to $(pwd)/output"
26*387f9dfdSAndroid Build Coastguard Workermkdir -p output
27*387f9dfdSAndroid Build Coastguard Workerdocker run -v $(pwd)/output:/output ${docker_repo}:${docker_tag} /bin/bash -c "cp /root/bcc/* /output"
28