unos-repository

APK repository for unos
git clone git://git.finwo.net/misc/unos-repository
Log | Files | Refs | README

commit ea6bc121a017a1d33e91a9649cc786e92150aa5c
parent 4a37e9dfdb7ff4a89e736649badc091e22d99a17
Author: Robin Bron <robin.bron@yourhosting.nl>
Date:   Fri, 25 Sep 2026 00:52:54 +0200

Include x-amz-content-sha256 header for puts

Diffstat:
Mmk/bootstrap-repo.sh | 2++
Mmk/publish.sh | 2++
2 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/mk/bootstrap-repo.sh b/mk/bootstrap-repo.sh @@ -86,10 +86,12 @@ rm -f ".SIGN.RSA.${KEYNAME}.rsa.pub" idxsig.tar idxsignotr.tar.gz rm -rf "${ROOT}/build/work/.idxsig" echo "==> publishing ${ARCH}/APKINDEX.tar.gz" +sha=$(sha256sum APKINDEX.tar.gz | cut -d' ' -f1) tmp_put=$(mktemp) code=$(curl -sS -o "${tmp_put}" -w '%{http_code}' \ --aws-sigv4 "aws:amz:${BUCKET_REGION}:s3" \ --user "${BUCKET_ACCESS_KEY}:${BUCKET_SECRET_KEY}" \ + -H "x-amz-content-sha256: ${sha}" \ -X PUT --upload-file APKINDEX.tar.gz \ "${url}") || { echo "bootstrap-repo.sh: upload failed" >&2; cat "${tmp_put}" >&2 2>/dev/null || true; rm -f "${tmp_put}"; exit 1; } case "${code}" in 2*) rm -f "${tmp_put}"; echo "==> bootstrapped ${ARCH}/APKINDEX.tar.gz (${code})" ;; *) echo "bootstrap-repo.sh: upload returned HTTP ${code}" >&2; cat "${tmp_put}" >&2 2>/dev/null || true; rm -f "${tmp_put}"; exit 1 ;; esac diff --git a/mk/publish.sh b/mk/publish.sh @@ -78,9 +78,11 @@ put() { return 0 fi url="${BUCKET_ENDPOINT%/}/${BUCKET_NAME}/${key}" + sha=$(sha256sum "${src}" | cut -d' ' -f1) code=$(curl -sS -o /dev/null -w '%{http_code}' \ --aws-sigv4 "aws:amz:${BUCKET_REGION}:s3" \ --user "${BUCKET_ACCESS_KEY}:${BUCKET_SECRET_KEY}" \ + -H "x-amz-content-sha256: ${sha}" \ -X PUT --upload-file "${src}" \ "${url}") || die "upload failed: ${key}" case "${code}" in