nodejs24/packaging/make-nodejs-tarball.sh
2025-07-10 16:32:08 +02:00

37 lines
963 B
Bash
Executable file

#!/bin/bash
# deps: coreutils curl tar
set -e
# Print usage
usage() {
printf '%s <VERSION>\n' "$(basename "$0")"
printf '%s\n' "Create a NodeJS tarball for given VERSION stripped of parts we cannot ship."
}
# Log a message
log() {
printf '## %s\n' "$*"
}
# Tweak default cURL flags
curl() {
command curl --progress-bar "$@"
}
readonly VERSION="$1"; if test -z "$VERSION"; then
printf '%s\n\n' "No VERSION specified!"
usage >&2
exit 1
fi
readonly BASENAME="node-v${VERSION}"
readonly BASEURL="https://nodejs.org/dist/v${VERSION}"
log >&2 Downloading and verifying "${BASENAME}.tar.gz"
curl --remote-name "${BASEURL}/${BASENAME}.tar.gz"
curl --silent "${BASEURL}/SHASUMS256.txt" | sha256sum --check --ignore-missing
log >&2 Repackaging the sources into "${BASENAME}-stripped.tar.gz"
tar -xzf "${BASENAME}.tar.gz" && rm -f "${BASENAME}.tar.gz"
rm -rf "${BASENAME}/deps/openssl"
tar -czf "${BASENAME}-stripped.tar.gz" "${BASENAME}"