Add initial code
[ta/build-tools.git] / build_step_golden_image.sh
1 #!/bin/bash
2 # Copyright 2019 Nokia
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 set -x
17 set -e
18
19 scriptdir="$(dirname $(readlink -f ${BASH_SOURCE[0]}))"
20 source $scriptdir/lib.sh
21
22 output_image_path="$1"
23 [[ $output_image_path =~ ^/ ]] || output_image_path=$(pwd)/$output_image_path
24 rpm_info_output_dir=$2
25 [[ $rpm_info_output_dir =~ ^/ ]] || rpm_info_output_dir=$(pwd)/$rpm_info_output_dir
26
27 docker_dib_image=dib:2.0
28 _load_docker_image $docker_dib_image
29
30 docker run \
31   --rm \
32   --privileged \
33   -v /dev:/dev \
34   -v $WORK:/work \
35   $docker_dib_image \
36   $(realpath --relative-to $WORK $scriptdir)/create_golden_image.sh
37
38 _publish_image ${TMP_GOLDEN_IMAGE}.qcow2 $output_image_path/${GOLDEN_IMAGE_NAME}
39
40 input_dir=$WORKTMP/rpmdata
41 mkdir $input_dir
42 cp -r \
43   $BUILD_CONFIG_INI $RPMLISTS/rpm_info_installed $RPMLISTS/yum_info_installed $RPMLISTS/crypto_rpms.json $RPMLISTS/boms \
44   $input_dir
45
46 $LIBDIR/create_rpmdata_in_docker.sh \
47   $input_dir \
48   $RPMLISTS \
49   -v
50