| set -euo pipefail | |
| # Reassemble .tar.gz stream from parts, verify checksums, then extract. | |
| # Usage: ./ASSEMBLE_AND_EXTRACT.sh [DEST_DIR] | |
| DEST="${1:-./extracted}" | |
| mkdir -p "$DEST" | |
| if [[ -f PARTS.SHA256SUMS ]]; then | |
| echo "Verifying part checksums..." | |
| sha256sum -c PARTS.SHA256SUMS | |
| fi | |
| if [[ -f TAR.SHA256 ]]; then | |
| echo "Verifying full tar.gz stream checksum..." | |
| expected="$(cut -d' ' -f1 TAR.SHA256)" | |
| actual="$(cat model.tar.gz.part.* | sha256sum | awk '{print $1}')" | |
| if [[ "$actual" != "$expected" ]]; then | |
| echo "ERROR: TAR stream checksum mismatch!" | |
| echo " expected: $expected" | |
| echo " actual: $actual" | |
| exit 1 | |
| fi | |
| fi | |
| echo "Checksum OK. Extracting..." | |
| cat model.tar.gz.part.* | tar -xzf - -C "$DEST" | |
| echo "✅ Done. Extracted to: $DEST" | |