kubbebrowser/tools/vendor/verify.sh

64 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
project_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
vendor_root="${project_root}/vendor"
cache_root="${vendor_root}/cache"
source_root="${vendor_root}/source"
require_directory() {
local path="$1"
[[ -d "${path}" ]] || {
printf 'Missing vendor directory: %s\n' "${path}" >&2
exit 1
}
}
verify_sha256() {
local expected="$1"
local file="$2"
[[ -f "${file}" ]] || {
printf 'Missing vendor archive: %s\n' "${file}" >&2
exit 1
}
printf '%s %s\n' "${expected}" "${file}" | sha256sum --check --status
}
jq empty "${vendor_root}/manifest.lock.json"
for path in \
"${source_root}/sdl" \
"${source_root}/skia" \
"${source_root}/v8" \
"${source_root}/vulkan" \
"${source_root}/ccache" \
"${source_root}/valgrind" \
"${source_root}/googletest"; do
require_directory "${path}"
done
verify_sha256 "f07b958a9ac5020fb7a44cadb957f658b2149c3c8abb4f63145fac9303249db7" "${cache_root}/SDL3-3.4.12.tar.gz"
verify_sha256 "a7de667ca08cf67c3c8af9f213f6aa701a1188a2b3163fb74483858ce5e79fbb" "${cache_root}/ccache-4.13.6.tar.xz"
verify_sha256 "508b2a1217dc6e04a23e967c7b95a0fb45d8a7e16fde9e180919698f2e2be060" "${cache_root}/ccache-4.13.6-linux-x86_64-glibc.tar.xz"
verify_sha256 "5d589152eb8071c02feab8ce6ab719e431a1fbc3e2b1700f5432632a8b9264dc" "${cache_root}/valgrind-3.27.1.tar.bz2"
verify_sha256 "65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c" "${cache_root}/googletest-1.17.0.tar.gz"
printf '%s %s\n' \
"270d7ccc29b20787c46560376ec9c34f0bb208807713168b7e30c9a6be189a85" \
"${source_root}/v8/DEPS" | sha256sum --check --status
printf '%s %s\n' \
"83573d68e6eea2a8ea7308dfd9215803fa1794137bcc40b60bec9e6e722bd35b" \
"${source_root}/skia/DEPS" | sha256sum --check --status
if find "${vendor_root}" -name .git -print -quit | grep -q .; then
printf 'Nested Git metadata remains under vendor/.\n' >&2
exit 1
fi
"${source_root}/skia/bin/gn" --version >/dev/null
"${source_root}/v8/buildtools/linux64/gn" --version >/dev/null
"${source_root}/v8/third_party/ninja/ninja" --version >/dev/null
"${project_root}/.toolchains/ccache/current/ccache" --version >/dev/null
printf 'Vendor verification passed.\n'