You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rust-blosc2-rs/SOURCES/gen_clean_tarball.sh

60 lines
1.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#!/usr/bin/bash
set -e -u
CRATE="blosc2-rs"
NAME="rust-${CRATE}"
# VERSION=$(rpmspec -q "$NAME.spec" --srpm --qf "%{version}")
VERSION="$(
grep -E '^%global upstream_version ' "${NAME}.spec" | awk '{print $3}'
)"
URL="https://crates.io/api/v1/crates/${CRATE}/${VERSION}/download"
OUTDIR="${PWD}"
TMPDIR="$(mktemp -d)"
trap "rm -rf '${TMPDIR}'" INT TERM EXIT
ROOTDIR="${TMPDIR}/${CRATE}-${VERSION}"
mkdir "${ROOTDIR}"
# download and extract published crate from crates.io
CRATEFILE="${CRATE}-${VERSION}.crate"
wget "${URL}" -O "${TMPDIR}/${CRATEFILE}"
tar -C "${TMPDIR}" -xzf "${CRATEFILE}"
rm "${TMPDIR}/${CRATEFILE}"
pushd "${ROOTDIR}"
# Exclude benchmarks and their data files from released crates (plus a few
# other files)
#
# https://github.com/milesgranger/blosc2-rs/pull/31
#
# Removing the benchmark data is required due to complicated or unclear license
# terms. We remove other files to match the state of the crate after merging
# the PR.
rm -rv \
.gitignore \
.gitmodules \
.github/ \
benches/ \
data/ \
environment.yml
# clean up cargo files
rm .cargo_vcs_info.json
mv Cargo.toml.orig Cargo.toml
# Remove the path dependency on blosc2-sys we otherwise cannot repackage the
# crate without a local copy.
tomcli set Cargo.toml del dependencies.blosc2-sys.path
# repackage crate
cargo package
# move clean crate
mv "target/package/${CRATEFILE}" \
"${OUTDIR}/$(basename "${CRATEFILE}" .crate)-clean.crate"
popd