X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=jjb%2Fhc2vpp%2Finclude-raw-hc2vpp-pkg-push.sh;h=fbf06c029f0d09e37e9feacda0b80bc39eaecce4;hb=b2c16f8f806d7123ded6e94f9f11072fa645ace8;hp=042e0bffad39649b0629a9ad53dbd976b9b4dbf9;hpb=29e8928eeee2321ef1887c1f1f49bce918daef57;p=ci-management.git diff --git a/jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh b/jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh index 042e0bffa..fbf06c029 100644 --- a/jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh +++ b/jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh @@ -1,48 +1,82 @@ #!/bin/bash set -x -# determine VPP Java API version used in maven build -if [ "${OS}" == "centos7" ]; then - VERSION=`yum list installed vpp-api-java | grep vpp-api-java | awk '{ printf $2; }'` - # write a file that will echo VPP dependencies - echo -n 'echo' > vpp_dependencies - echo " \"vpp = ${VERSION}, vpp-plugins = ${VERSION}\"" >> vpp_dependencies - chmod +x vpp_dependencies - # overwrite default dependencies file - mv vpp_dependencies packaging/rpm/ -else - VERSION=`apt list --installed | grep vpp-api-java | awk '{ printf $2; }'` - # write a file that will echo VPP dependencies - echo -n 'echo' > vpp_dependencies - echo " \"vpp (= ${VERSION}), vpp-plugins (= ${VERSION})\"" >> vpp_dependencies - chmod +x vpp_dependencies - # overwrite default dependencies file - mv vpp_dependencies packaging/deb/common/ +# In case of master branch, update vpp_dependencies file +# to match vpp-api-java and eliminate Java API mismatches (HC2VPP-102). +# +# In order to have control of package dependencies in the release artifacts (HC2VPP-282), +# the vpp_dependencies file is not modified in case of stable branch +# (after VPP API freeze, Java API mismatches occur very rarely). +if [[ "${STREAM}" == "master" ]]; then + if [[ "${OS}" == "centos7" ]]; then + # Determine VPP Java API version used in maven build + JVPP_VERSION=`yum list installed vpp-api-java | grep vpp-api-java | awk '{ printf $2; }'` + VERSION=`yum deplist vpp-api-java |grep vpp-lib |head -1 | awk '{ print $3}'` + + # Write a file that will echo VPP dependencies + echo -n 'echo' > vpp_dependencies + echo " \"vpp = ${VERSION}, vpp-plugins = ${VERSION}, vpp-api-java = ${JVPP_VERSION}\"" >> vpp_dependencies + chmod +x vpp_dependencies + + # Overwrite default dependencies file + mv vpp_dependencies packaging/rpm/ + else + # Determine VPP Java API version used in maven build + JVPP_VERSION=`apt list --installed | grep vpp-api-java | awk '{ printf $2; }'` + # get vpp-api-java package dependencies + JVPP_DEPS=`apt-cache show vpp-api-java=${JVPP_VERSION} |grep Depends: | sed "s/Depends: //"` + # separate deps with newline, then find VPP dependency and filter out the version + VERSION=`echo ${JVPP_DEPS}| sed "s/, /\\n/" |grep "vpp " | sed "s/).*//" |sed "s/.* //"` + + # Write a file that will echo VPP dependencies + echo -n 'echo' > vpp_dependencies + echo " \"vpp (= ${VERSION}), vpp-plugin-core (= ${VERSION}), vpp-api-java (= ${JVPP_VERSION})\"" >> vpp_dependencies + chmod +x vpp_dependencies + + # Overwrite default dependencies file + mv vpp_dependencies packaging/deb/common/ + fi fi -if [ "${OS}" == "centos7" ]; then +# Build package +if [[ "${OS}" == "centos7" ]]; then # Build the rpms ./packaging/rpm/rpmbuild.sh # Find the files - RPMS=$(find . -type f -iname '*.rpm') - SRPMS=$(find . -type f -iname '*.srpm') - SRCRPMS=$(find . -type f -name '*.src.rpm') - # publish hc2vpp packages - for i in $RPMS $SRPMS $SRCRPMS + RPMS=$(find ./packaging/ -type f -iname '*.rpm') + SRPMS=$(find ./packaging/ -type f -iname '*.srpm') + SRCRPMS=$(find ./packaging/ -type f -name '*.src.rpm') + + # Publish hc2vpp packages + for i in ${RPMS} ${SRPMS} ${SRCRPMS} do push_rpm "$i" done -elif [ "${OS}" == "ubuntu1604" ]; then +elif [[ "${OS}" == "ubuntu1604" ]]; then # Build the debs ./packaging/deb/xenial/debuild.sh # Find the files - DEBS=$(find . -type f -iname '*.deb') - # publish hc2vpp packages - for i in $DEBS + DEBS=$(find ./packaging/ -type f -iname '*.deb') + + # Publish hc2vpp packages + for i in ${DEBS} + do + push_deb "$i" + done +elif [[ "${OS}" == "ubuntu1804" ]]; then + + # Build the debs + ./packaging/deb/bionic/debuild.sh + + # Find the files + DEBS=$(find ./packaging/ -type f -iname '*.deb') + + # Publish hc2vpp packages + for i in ${DEBS} do push_deb "$i" done