diff options
| author | Lena <lena@omega> | 2026-07-01 00:00:00 +0000 |
|---|---|---|
| committer | Lena <lena@omega> | 2026-07-01 00:00:00 +0000 |
| commit | 0f88f2c1e5e108021ccddeee24f1216107115791 (patch) | |
| tree | 1a045221b85c1d5a83e2fd040c4260834a62300b /scripts/check-server | |
| parent | ff7acf898b48359275a5b09b82ed926a945233f8 (diff) | |
| download | scrcpy-android-0f88f2c1e5e108021ccddeee24f1216107115791.tar.gz | |
build: verify release inputs
Pin and verify what goes into a release: JitPack confined to the
SPAKE2 module via exclusiveContent, the vendored subtree pulled by
commit SHA instead of a mutable tag, a pinned Docker base digest with
a checksummed cmdline-tools download, and a verifyScrcpyServer task
wired into every assets merge. The expected server checksum can be
overridden with -PscrcpyServerSha256 when the jar is built from
source.
build-apk now requires apksigner and fails unless independent
signature verification succeeds. Split the test image into unit and
e2e targets so JVM-only test runs do not download an emulator. Ship
THIRD_PARTY_NOTICES and the LGPL text for SPAKE2 in the APK. Add
scripts/check as the host quality gate.
Diffstat (limited to 'scripts/check-server')
| -rwxr-xr-x | scripts/check-server | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/scripts/check-server b/scripts/check-server new file mode 100755 index 0000000..9a895a1 --- /dev/null +++ b/scripts/check-server @@ -0,0 +1,39 @@ +#!/bin/sh +# Verify the scrcpy server asset against its tracked SHA-256 sidecar. + +set -eu + +ROOT="$(cd "$(dirname "$0")/.." && pwd)" +ASSETS="$ROOT/app/src/main/assets" +JAR="$ASSETS/scrcpy-server.jar" +SUM="$ASSETS/scrcpy-server.sha256" +VERSION="$ASSETS/scrcpy-server.version" + +for file in "$JAR" "$SUM" "$VERSION"; do + if [ ! -s "$file" ]; then + echo "check-server: $file is missing or empty" >&2 + exit 1 + fi +done + +expected=$(awk 'NR == 1 { print $1 }' "$SUM") +case "$expected" in + *[!0-9a-f]*|'') + echo "check-server: invalid SHA-256 in $SUM" >&2 + exit 1 + ;; +esac +if [ "${#expected}" -ne 64 ]; then + echo "check-server: invalid SHA-256 length in $SUM" >&2 + exit 1 +fi + +actual=$(sha256sum "$JAR" | awk '{ print $1 }') +if [ "$actual" != "$expected" ]; then + echo "check-server: scrcpy-server.jar checksum mismatch" >&2 + echo " want: $expected" >&2 + echo " got: $actual" >&2 + exit 1 +fi + +echo "check-server: ok ($(cat "$VERSION"))" |