#!/bin/sh set -v set -e if test -z "$1" then echo "syntax: $0 VERSION" exit 1 fi VERSION=$1 TARBALL=DCAP_${VERSION}.tar.gz if ! test -f $TARBALL then echo "error: $0 missing $TARBALL" exit 1 fi tar xfz $TARBALL DIRNAME=SGXDataCenterAttestationPrimitives-DCAP_${VERSION} pushd $DIRNAME pushd QuoteGeneration/pccs echo " Downloading prod dependencies" npm install --omit=dev --omit=optional --ignore-scripts rm -rf node_modules/*/prebuilds rm -f node_modules/sqlite3/deps/sqlite-autoconf-*.tar.gz popd echo "LICENSES IN BUNDLE:" find . -name "package.json" -exec jq '.license | strings' {} \; >> ../dcap-${VERSION}-pccs-nodejs-licenses.txt find . -name "package.json" -exec jq '.license | objects | .type' {} \; >> ../dcap-${VERSION}-pccs-nodejs-licenses.txt 2>/dev/null find . -name "package.json" -exec jq '.licenses[] .type' {} \; >> ../dcap-${VERSION}-pccs-nodejs-licenses.txt 2>/dev/null sort -u -o ../dcap-${VERSION}-pccs-nodejs-licenses.txt ../dcap-${VERSION}-pccs-nodejs-licenses.txt # Locate any dependencies without a provided license find . -type f -name package.json -execdir jq 'if .license==null and .licenses==null then .name else null end' '{}' '+' \ | grep -vE '^null$' | sort -u > ../nolicense.txt if [ -s ../nolicense.txt ]; then echo -e "\e[5m\e[41mSome dependencies do not list a license. Manual verification required!\e[0m" cat ../nolicense.txt echo -e "\e[5m\e[41m======================================================================\e[0m" fi if [ -d QuoteGeneration/pccs/node_modules ] ; then tar cJf ../dcap-${VERSION}-pccs-node-modules.tar.xz --sort=name $(find QuoteGeneration/pccs -type d -name node_modules) fi popd rm -rf $DIRNAME