3 # Copyright (c) 2019 Cisco and/or its affiliates.
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:
8 # http://www.apache.org/licenses/LICENSE-2.0
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.
21 # TODO(CSIT-994): reenable NSH
22 # NSH_GROUP="io.fd.nsh_sfc"
23 # NSH_ARTIFACTS="vpp-nsh-plugin"
24 # Figure out what system we are running on
25 if [[ -f /etc/os-release ]];then
26 source /etc/os-release
28 echo "Cannot determine OS version"
31 echo "----- OS INFO -----"
32 echo DISTRIB_ID: ${ID}
33 echo DISTRIB_RELEASE: ${VERSION_ID}
34 echo DISTRIB_CODENAME: ${VERSION_CODENAME}
35 echo DISTRIB_DESCRIPTION: ${PRETTY_NAME}
38 echo "----- DOWNLOADING HONEYCOMB AND JVPP PACKAGES -----"
39 REPO_URL="https://packagecloud.io/fdio/${STREAM}"
40 echo "REPO_URL: ${REPO_URL}"
41 if [[ "$ID" == "ubuntu" ]]; then
42 if [[ -f /etc/apt/sources.list.d/99fd.io.list ]];then
43 echo "Deleting: /etc/apt/sources.list.d/99fd.io.list"
44 sudo rm /etc/apt/sources.list.d/99fd.io.list
46 curl -s https://packagecloud.io/install/repositories/fdio/${STREAM}/script.deb.sh | sudo bash
47 apt-get download honeycomb vpp-api-java || true
48 elif [[ "$ID" == "centos" ]]; then
49 if [[ -f /etc/yum.repos.d/fdio-master.repo ]]; then
50 echo "Deleting: /etc/yum.repos.d/fdio-master.repo"
51 sudo rm /etc/yum.repos.d/fdio-master.repo
53 curl -s https://packagecloud.io/install/repositories/fdio/${STREAM}/script.rpm.sh | sudo bash
54 sudo yum -y install --downloadonly --downloaddir=./ honeycomb vpp-api-java || true
57 # TODO(CSIT-994): reenable NSH
58 # for ART in ${NSH_ARTIFACTS}; do
59 # for PAC in ${PACKAGE}; do
60 # curl "${URL}?r=${REPO}&g=${NSH_GROUP}&a=${ART}&p=${PAC}&v=${VER}&c=${CLASS}" -O -J || exit
64 # determine VPP dependency
65 # use latest if honeycomb package does not depend on single VPP version, e.g. stable branches since HC2VPP-285
67 if [[ "${OS}" == "centos7" ]]; then
68 HC_VPP_VER=`rpm -qpR honeycomb*.rpm | grep -oP 'vpp = \K.+'`
69 if [[ "${HC_VPP_VER}" != "" ]]; then
70 VERSION=${HC_VPP_VER}.x86_64
73 HC_VPP_VER=`dpkg -I honeycomb*.deb | grep -oP 'vpp \(= \K[^\)]+'`
74 if [[ "${HC_VPP_VER}" != "" ]]; then
79 VPP_DEB_NEW_ARTIFACTS="vpp libvppinfra vpp-plugin-core vpp-plugin-dpdk"
80 VPP_DEB_ARTIFACTS="vpp vpp-lib vpp-plugins"
81 VPP_RPM_ARTIFACTS="vpp vpp-lib vpp-plugins"
82 # Check OS and stream to set correct packages
83 if [[ "$ID" == "centos" ]]; then
84 VPP_ARTIFACTS=${VPP_RPM_ARTIFACTS}
85 elif [[ "$ID" == "ubuntu" ]]; then
86 if [[ "1807 1810 1901" =~ .*$STREAM.* ]]; then
87 VPP_ARTIFACTS=${VPP_DEB_ARTIFACTS}
89 VPP_ARTIFACTS=${VPP_DEB_NEW_ARTIFACTS}
95 for ART in ${VPP_ARTIFACTS}; do
96 INSTALL_PACKAGES="$INSTALL_PACKAGES $ART*"
97 if [[ "${VERSION}" != 'RELEASE' ]]; then
98 VPP_DEB_PACKAGES="$VPP_DEB_PACKAGES $ART=$VERSION"
99 VPP_RPM_PACKAGES="$VPP_RPM_PACKAGES $ART-$VERSION"
101 VPP_DEB_PACKAGES="$VPP_DEB_PACKAGES $ART"
102 VPP_RPM_PACKAGES="$VPP_RPM_PACKAGES $ART"
106 echo "----- DOWNLOADING VPP PACKAGES -----"
107 REPO_URL="https://packagecloud.io/fdio/${STREAM}"
108 echo "REPO_URL: ${REPO_URL}"
109 if [[ "$ID" == "ubuntu" ]]; then
110 apt-get download ${VPP_DEB_PACKAGES} || true
111 elif [[ "$ID" == "centos" ]]; then
112 sudo yum -y install --downloadonly --downloaddir=./ ${VPP_RPM_PACKAGES} || true