diff --git a/obs-packaging/build_from_docker.sh b/obs-packaging/build_from_docker.sh index 3b12b98304..7cc8aeba14 100755 --- a/obs-packaging/build_from_docker.sh +++ b/obs-packaging/build_from_docker.sh @@ -10,8 +10,8 @@ set -o errexit set -o nounset set -o pipefail - script_dir=$( cd $( dirname "${BASH_SOURCE[0]}" ) && pwd ) +script_name="$(basename "${BASH_SOURCE[0]}")" cache_dir=${PWD}/obs-cache #where packaing repo lives packaging_repo_dir=$(cd "${script_dir}/.." && pwd ) @@ -24,31 +24,54 @@ https_proxy=${https_proxy:-} no_proxy=${no_proxy:-} PUSH=${PUSH:-} - GO_ARCH=$(go env GOARCH) export GO_ARCH -sudo docker build \ - --build-arg http_proxy="${http_proxy}" \ - --build-arg https_proxy="${https_proxy}" \ - -t $obs_image "${script_dir}" -pushd "${script_dir}/kata-containers-image/" >> /dev/null +docker_run(){ + local cmd="$@" + sudo docker run \ + --rm \ + -v "${HOME}/.ssh":/root/.ssh \ + -v "${HOME}/.gitconfig":/root/.gitconfig \ + -v /etc/profile:/etc/profile \ + --env http_proxy="${http_proxy}" \ + --env https_proxy="${https_proxy}" \ + --env no_proxy="${no_proxy}" \ + --env PUSH="${PUSH}" \ + -v "${HOME}/.bashrc":/root/.bashrc \ + -v "$cache_dir":/var/tmp/osbuild-packagecache/ \ + -v "$packaging_repo_dir":${packaging_repo_dir} \ + -v "$host_datadir":/var/packaging \ + -v "$HOME/.oscrc":/root/.oscrc \ + -ti "$obs_image" bash -c "${cmd}" +} +usage(){ + msg="${1:-}" + exit_code=$"${2:-0}" +cat << EOT +${msg} +Usage: +${script_name} +EOT + exit "${exit_code}" +} + +main(){ + local branch="${1:-}" + [ -n "${branch}" ] || usage "missing branch" "1" + pushd "${script_dir}/kata-containers-image/" >> /dev/null echo "Building image" ./build_image.sh -popd >> /dev/null + popd >> /dev/null + sudo docker build \ + --build-arg http_proxy="${http_proxy}" \ + --build-arg https_proxy="${https_proxy}" \ + -t $obs_image "${script_dir}" -sudo docker run \ - --rm \ - -v "${HOME}/.ssh":/root/.ssh \ - -v "${HOME}/.gitconfig":/root/.gitconfig \ - -v /etc/profile:/etc/profile \ - --env http_proxy="${http_proxy}" \ - --env https_proxy="${https_proxy}" \ - --env no_proxy="${no_proxy}" \ - --env PUSH="${PUSH}" \ - -v "${HOME}/.bashrc":/root/.bashrc \ - -v "$cache_dir":/var/tmp/osbuild-packagecache/ \ - -v "$packaging_repo_dir":${packaging_repo_dir} \ - -v "$host_datadir":/var/packaging \ - -v "$HOME/.oscrc":/root/.oscrc \ - -ti "$obs_image" bash -c "${packaging_repo_dir}/obs-packaging/build_all.sh" + #Create/update OBS repository for branch + docker_run "${packaging_repo_dir}/obs-packaging/create-pkg-branch.sh ${branch}" + #Build all kata packages + docker_run "${packaging_repo_dir}/obs-packaging/build_all.sh ${branch}" +} + +main $@