aboutsummaryrefslogtreecommitdiffstats
path: root/util/check-mirror
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-05-29 21:23:13 +0200
committerMattias Andrée <m@maandree.se>2026-05-29 21:23:13 +0200
commit71d8bd925ecb1015b94bce5f8726e397022f2a8f (patch)
treeb451255281bc4e428d7c60995f0f17f867e2e84f /util/check-mirror
parentFix error handling and make util/ setup and domain agnostic (diff)
downloadrelease-scripts-71d8bd925ecb1015b94bce5f8726e397022f2a8f.tar.gz
release-scripts-71d8bd925ecb1015b94bce5f8726e397022f2a8f.tar.bz2
release-scripts-71d8bd925ecb1015b94bce5f8726e397022f2a8f.tar.xz
Add add-github-mirrorHEADmaster
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'util/check-mirror')
-rwxr-xr-xutil/check-mirror40
1 files changed, 40 insertions, 0 deletions
diff --git a/util/check-mirror b/util/check-mirror
new file mode 100755
index 0000000..ecf01b7
--- /dev/null
+++ b/util/check-mirror
@@ -0,0 +1,40 @@
+#!/bin/sh
+# See LICENSE file for copyright and license details.
+
+set -e
+
+if ! test $# = 3; then
+ printf 'usage: %s tarball-url ref-tarball work-dir\n' "$0" >&2
+ exit 1
+fi
+
+utildir="$(dirname -- "$0")"
+tarball="$3/download-$$.tar.gz"
+refdir="$3/$$.refdir"
+tmpdir="$3/$$.tmpdir"
+
+rm -rf -- "${refdir}"
+rm -rf -- "${tmpdir}"
+mkdir -- "${refdir}"
+mkdir -- "${tmpdir}"
+
+curl -sL -- "$1" > "${tarball}"
+gunzip < "${tarball}" | (cd -- "${tmpdir}" && tar -x)
+gunzip < "$2" | (cd -- "${refdir}" && tar -x)
+(cd -- "${refdir}"/*/ && find -print0) > "$3/listing-1"
+(cd -- "${tmpdir}"/*/ && find -print0) > "$3/listing-2"
+
+set +e
+"${utildir}"/repodiff "${refdir}"/* "$3/listing-1" "${tmpdir}"/* "$3/listing-2"
+ret=$?
+set -e
+
+rm -rf -- "${refdir}"
+rm -rf -- "${tmpdir}"
+
+if test $ret = 0; then
+ "${utildir}"/get-checksums "${tarball}"
+fi
+
+rm -f -- "${tarball}"
+exit $ret