aipackage/autoinstall/offline/verify-bundle.sh
2026-07-14 11:16:06 +05:30

39 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PACKAGE_DIR="$(cd "$SCRIPT_DIR/../.." && pwd)"
OUTPUT_DIR="${OFFLINE_OUTPUT_DIR:-$PACKAGE_DIR/autoinstall/offline-output}"
required=(
manifest/provenance.env
manifest/source-commit.txt
manifest/container-images.txt
manifest/SHA256SUMS
payload/source/aipackage/install.sh
payload/runtime/miniconda.sh
payload/runtime/ollama-runtime.tar.gz
payload/models/ollama-models.tar.gz
)
for path in "${required[@]}"; do
[ -s "$OUTPUT_DIR/$path" ] || {
echo "ERROR: required offline payload is missing or empty: $path" >&2
exit 1
}
done
for directory in payload/apt payload/containers payload/python payload/models/huggingface; do
find "$OUTPUT_DIR/$directory" -type f -print -quit | grep -q . || {
echo "ERROR: required offline payload directory is empty: $directory" >&2
exit 1
}
done
(
cd "$OUTPUT_DIR"
sha256sum -c manifest/SHA256SUMS
)
echo "Offline payload integrity and completeness checks passed."