diff options
| author | Mattias Andrée <m@maandree.se> | 2026-05-29 21:23:13 +0200 |
|---|---|---|
| committer | Mattias Andrée <m@maandree.se> | 2026-05-29 21:23:13 +0200 |
| commit | 71d8bd925ecb1015b94bce5f8726e397022f2a8f (patch) | |
| tree | b451255281bc4e428d7c60995f0f17f867e2e84f /util/check-mirror | |
| parent | Fix error handling and make util/ setup and domain agnostic (diff) | |
| download | release-scripts-master.tar.gz release-scripts-master.tar.bz2 release-scripts-master.tar.xz | |
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to '')
| -rwxr-xr-x | util/check-mirror | 40 |
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 |
