#!/bin/bash set -e [[ "$#" == "2" ]] || { echo "Please use the directory name and the nodejs version as the only arguments" exit 1 } directory_name="${1}" nodejs_package="${2}" zypper -n install \ cpio \ gawk \ make \ "${nodejs_package}" \ obs-service-obs_scm \ obs-service-set_version \ osc \ yarn version="$( awk '/^Version:/ {print $2;exit;}' "${directory_name}.spec" )" echo "##########" echo "Package version is $version" basename="${directory_name}-$version" obscpio="$basename.obscpio" wd="$(pwd)" tmpdir="$(mktemp -d -p /tmp)" cd "$tmpdir" echo "##########" echo "Extracting obscpio archive" cpio -id < "$wd/$obscpio" ls -lah cd "$basename" echo "##########" echo "Creating .yarnrc" echo 'yarn-offline-mirror ./npm-packages-offline-cache' >> .yarnrc echo 'yarn-offline-mirror-pruning true' >> .yarnrc cat .yarnrc echo "##########" yarn install --ignore-scripts --production=true --frozen-lockfile tar czf "$wd/npm-packages-offline-cache.tar.zst" ./npm-packages-offline-cache echo "##########" echo "DONE creating yarn dependency offline cache file npm-packages-offline-cache.tar.zst" rm -rf "$tmpdir"