| #! /usr/bin/env bash |
| |
| # COPYRIGHT NOTICE STARTS HERE |
| |
| # Copyright 2018 © Samsung Electronics Co., Ltd. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| # COPYRIGHT NOTICE ENDS HERE |
| |
| |
| set -e |
| |
| ansible_version="$1" |
| image_name="${2:-ansible:latest}" |
| |
| # Override image name from env variable if set |
| image_name="${ANSIBLE_CHROOT_IMAGE_NAME:-$image_name}" |
| |
| script_path=$(readlink -f "$0") |
| script_dir=$(dirname "$script_path") |
| |
| git_commit=$(git rev-parse --revs-only HEAD || true) |
| build_date=$(date -I) |
| |
| docker build "$script_dir" -t "${image_name}" --label "build-date=$build_date" \ |
| ${git_commit:+--label git-commit=${git_commit}} \ |
| ${ansible_version:+--build-arg ansible_version=${ansible_version}} |
| |
| # Export docker image into chroot and tararchive it. It takes ~40M of space and is packaged together with sw. |
| if "${script_dir}"/create_docker_chroot.sh convert "${image_name}" "${script_dir}"/ansible_chroot ; then |
| cd "$script_dir" |
| echo INFO: "Tarring and zipping the chroot directory..." >&2 |
| tar -czf ansible_chroot.tgz ansible_chroot |
| rm -rf "${script_dir}"/ansible_chroot |
| echo INFO: "Finished: ${script_dir}/ansible_chroot.tgz" >&2 |
| cd - |
| else |
| echo ERROR: "I failed to create a chroot environment" >&2 |
| exit 1 |
| fi |
| |
| exit 0 |