diff options
Diffstat (limited to 'docker/scripts/dbld_vpp_install_packages.sh')
-rwxr-xr-x | docker/scripts/dbld_vpp_install_packages.sh | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/docker/scripts/dbld_vpp_install_packages.sh b/docker/scripts/dbld_vpp_install_packages.sh new file mode 100755 index 00000000..f18ef752 --- /dev/null +++ b/docker/scripts/dbld_vpp_install_packages.sh @@ -0,0 +1,81 @@ +#! /bin/bash + +# Copyright (c) 2020 Cisco and/or its affiliates. +# 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. + +set -euxo pipefail + +export CIMAN_DOCKER_SCRIPTS=${CIMAN_DOCKER_SCRIPTS:-"$(dirname $BASH_SOURCE)"} +. $CIMAN_DOCKER_SCRIPTS/lib_vpp.sh +. $CIMAN_DOCKER_SCRIPTS/lib_apt.sh +. $CIMAN_DOCKER_SCRIPTS/lib_yum.sh +. $CIMAN_DOCKER_SCRIPTS/lib_dnf.sh + +must_be_run_as_root +must_be_run_in_docker_build + +echo_log +echo_log "Starting $(basename $0)" + +do_git_config vpp +for branch in ${VPP_BRANCHES[$OS_NAME]} ; do + do_git_branch $branch + + # Install OS packages + make_vpp "install-dep" $branch + make_vpp "centos-pyyaml" $branch # VPP Makefile tests for centos versions + if [ "$OS_ID" = "ubuntu" ] ; then + # TODO: fix VPP stable/2005 bug in sphinx-make.sh + # which fails on 'yum install python3-venv' + # that does not exist. + # 'Make docs jobs are only run on ubuntu executors + # so only run for ubuntu build executors until fixed. + make_vpp "docs-venv" $branch + elif [ "$OS_NAME" = "debian-9" ] ; then + apt_override_cmake_install_with_pip3_version + fi + + # Download, build, and cache external deps packages + make_vpp "install-ext-deps" $branch + set +e + vpp_ext_dir="$DOCKER_VPP_DIR/build/external" + [ -d "$vpp_ext_dir/downloads" ] \ + && rsync -ac $vpp_ext_dir/downloads/. $DOCKER_DOWNLOADS_DIR + [ -n "$(ls $vpp_ext_dir/*.deb)" ] \ + && rsync -ac $vpp_ext_dir/*.deb $DOCKER_DOWNLOADS_DIR + [ -n "$(ls $vpp_ext_dir/*.rpm)" ] \ + && rsync -ac $vpp_ext_dir/*.rpm $DOCKER_DOWNLOADS_DIR + set -e + + # Install/cache python packages + if [ "$OS_ID" = "ubuntu" ] ; then + make_vpp_test "test-dep" $branch + make_vpp_test "doc" $branch + make_vpp test-wipe $branch + make_vpp "bootstrap-doxygen" $branch + fi + + # Dump packages installed + case "$DOCKERFILE_FROM" in + *ubuntu*) + dump_apt_package_list $branch ;; + *debian*) + dump_apt_package_list $branch ;; + *centos:7) + dump_yum_package_list $branch ;; + *centos:8) + dump_dnf_package_list $branch ;; + esac +done + +echo_log -e "Completed $(basename $0)!\n\n==========" |