Files
runner-images/images/ubuntu/scripts/build/install-zstd.sh
Fahrzin Hemmati c2becfafdd Use all processors when installing zstd (#11067)
Speeds up my builds from 93s to 37s (four core) for the install-zstd.sh step
2025-01-06 13:34:42 -07:00

39 lines
1.3 KiB
Bash

#!/bin/bash -e
################################################################################
## File: install-zstd.sh
## Desc: Install zstd
## Supply chain security: zstd - checksum validation
################################################################################
# Source the helpers for use with the script
source $HELPER_SCRIPTS/install.sh
# Download zstd
release_tag=$(curl -fsSL https://api.github.com/repos/facebook/zstd/releases/latest | jq -r '.tag_name')
release_name="zstd-${release_tag//v}"
download_url="https://github.com/facebook/zstd/releases/download/${release_tag}/${release_name}.tar.gz"
archive_path=$(download_with_retry "${download_url}")
# Supply chain security - zstd
external_hash=$(get_checksum_from_url "${download_url}.sha256" "${release_name}.tar.gz" "SHA256")
use_checksum_comparison "$archive_path" "$external_hash"
# Install zstd
apt-get install liblz4-dev
tar xzf "$archive_path" -C /tmp
make -C "/tmp/${release_name}/contrib/pzstd" -j $(nproc) all
make -C "/tmp/${release_name}" -j $(nproc) zstd-release
for copyprocess in zstd zstdless zstdgrep; do
cp "/tmp/${release_name}/programs/${copyprocess}" /usr/local/bin/
done
cp "/tmp/${release_name}/contrib/pzstd/pzstd" /usr/local/bin/
for symlink in zstdcat zstdmt unzstd; do
ln -sf /usr/local/bin/zstd /usr/local/bin/${symlink}
done
invoke_tests "Tools" "Zstd"