summaryrefslogtreecommitdiffstats
path: root/docker/scripts/dbld_vpp_install_packages.sh
diff options
context:
space:
mode:
Diffstat (limited to 'docker/scripts/dbld_vpp_install_packages.sh')
-rwxr-xr-xdocker/scripts/dbld_vpp_install_packages.sh81
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=========="