X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Ftools%2Fdownload_hc_build_pkgs.sh;h=66834999569ee55f6bd995de80a8606186d4122f;hp=4dc49f9d8269c03f852ea76246bf845fb6f1f9dd;hb=03bb1e5611946a53f243a3d923c8f2d1aeee079a;hpb=97792bf731c00968581d98fcbea67e69ce9c6abd diff --git a/resources/tools/download_hc_build_pkgs.sh b/resources/tools/download_hc_build_pkgs.sh index 4dc49f9d82..6683499956 100755 --- a/resources/tools/download_hc_build_pkgs.sh +++ b/resources/tools/download_hc_build_pkgs.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2016 Cisco and/or its affiliates. +# Copyright (c) 2017 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: @@ -15,69 +15,82 @@ set -ex -trap 'rm -f *.deb.md5; exit' EXIT -trap 'rm -f *.deb.md5;rm -f *.deb; exit' ERR +STREAM=$1 +OS=$2 -# Download the latest VPP .deb packages, their matching JVPP .jar and VPP plugin .deb packages +# Download the latest VPP and VPP plugin .deb packages URL="https://nexus.fd.io/service/local/artifact/maven/content" -VER="LATEST" -REPO='fd.io.master.ubuntu.trusty.main' -JVPP_REPO='fd.io.snapshot' +VER="RELEASE" VPP_GROUP="io.fd.vpp" -HC_GROUP="io.fd.hc2vpp" NSH_GROUP="io.fd.nsh_sfc" -VPP_ARTIFACTS="vpp vpp-dbg vpp-dev vpp-dpdk-dev vpp-dpdk-dkms vpp-lib vpp-plugins" -JVPP_ARTIFACTS="jvpp-core jvpp-registry jvpp-acl jvpp-snat jvpp-ioam-pot jvpp-ioam-trace" -HC_ARTIFACTS="honeycomb" NSH_ARTIFACTS="vpp-nsh-plugin" -PACKAGE="deb deb.md5" -JVPP_PACKAGE="jar jar.md5" -CLASS="deb" -for ART in ${VPP_ARTIFACTS}; do - for PAC in $PACKAGE; do - curl "${URL}?r=${REPO}&g=${VPP_GROUP}&a=${ART}&p=${PAC}&v=${VER}&c=${CLASS}" -O -J || exit - done -done +if [ "${OS}" == "ubuntu1404" ]; then + OS="ubuntu.trusty.main" + PACKAGE="deb deb.md5" + CLASS="deb" + VPP_ARTIFACTS="vpp vpp-dbg vpp-dev vpp-dpdk-dkms vpp-lib vpp-plugins vpp-api-java" +elif [ "${OS}" == "ubuntu1604" ]; then + OS="ubuntu.xenial.main" + PACKAGE="deb deb.md5" + CLASS="deb" + VPP_ARTIFACTS="vpp vpp-dbg vpp-dev vpp-dpdk-dkms vpp-lib vpp-plugins vpp-api-java" +elif [ "${OS}" == "centos7" ]; then + OS="centos7" + PACKAGE="rpm rpm.md5" + CLASS="" + VPP_ARTIFACTS="vpp vpp-debuginfo vpp-devel vpp-lib vpp-plugins vpp-api-java" +fi -for ART in ${JVPP_ARTIFACTS}; do - for PAC in $JVPP_PACKAGE; do - curl "${URL}?r=${JVPP_REPO}&g=${VPP_GROUP}&a=${ART}&p=${PAC}&v=${VER}" -O -J || exit - done -done +REPO="fd.io.${STREAM}.${OS}" -for ART in ${HC_ARTIFACTS}; do - for PAC in $PACKAGE; do - curl "${URL}?r=${REPO}&g=${HC_GROUP}&a=${ART}&p=${PAC}&v=${VER}&c=${CLASS}" -O -J || exit +for ART in ${VPP_ARTIFACTS}; do + for PAC in ${PACKAGE}; do + curl "${URL}?r=${REPO}&g=${VPP_GROUP}&a=${ART}&p=${PAC}&v=${VER}&c=${CLASS}" -O -J || exit done done for ART in ${NSH_ARTIFACTS}; do - for PAC in $PACKAGE; do + for PAC in ${PACKAGE}; do curl "${URL}?r=${REPO}&g=${NSH_GROUP}&a=${ART}&p=${PAC}&v=${VER}&c=${CLASS}" -O -J || exit done done -for FILE in *.deb; do - echo " "${FILE} >> ${FILE}.md5 -done +# verify downloaded packages +if [ "${OS}" == "centos7" ]; then + FILES=*.rpm +else + FILES=*.deb +fi -for FILE in *.jar; do +for FILE in ${FILES}; do echo " "${FILE} >> ${FILE}.md5 done - for MD5FILE in *.md5; do md5sum -c ${MD5FILE} || exit + rm ${MD5FILE} done -# Install JVPP to maven local repo, to be used in HC2VPP build -JVPP_JARS=$(find . -type f -iname '*.jar') +# install vpp-api-java, this extracts jvpp .jar files into usr/share/java +if [ "${OS}" == "centos7" ]; then + sudo rpm --nodeps --install vpp-api-java* +else + sudo dpkg --ignore-depends=vpp --install vpp-api-java* +fi + +# install jvpp jars into maven repo, so that maven picks them up when building hc2vpp +version=`../jvpp-version` + +current_dir=`pwd` +cd /usr/share/java + for item in jvpp*.jar; do # Example filename: jvpp-registry-17.01-20161206.125556-1.jar # ArtifactId = jvpp-registry # Version = 17.01 basefile=$(basename -s .jar "$item") artifactId=$(echo "$basefile" | cut -d '-' -f 1-2) - version=$(echo "$basefile" | cut -d '-' -f 3) mvn install:install-file -Dfile=${item} -DgroupId=io.fd.vpp -DartifactId=${artifactId} -Dversion=${version} -Dpackaging=jar -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r done + +cd ${current_dir} \ No newline at end of file