29 lines
754 B
Bash
29 lines
754 B
Bash
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
OUTPUT_PATH="${1:-${SCRIPT_DIR}/upgrade-package.zip}"
|
|
SIGNATURE_PATH="${SCRIPT_DIR}/signature.sig"
|
|
|
|
if [[ ! -f "${SIGNATURE_PATH}" ]]; then
|
|
echo "missing signature file: ${SIGNATURE_PATH}" >&2
|
|
echo "generate a real signature.sig for manifest.json before building the package" >&2
|
|
exit 1
|
|
fi
|
|
|
|
tmpdir="$(mktemp -d)"
|
|
trap 'rm -rf "${tmpdir}"' EXIT
|
|
|
|
cp "${SCRIPT_DIR}/manifest.json" "${tmpdir}/manifest.json"
|
|
cp "${SIGNATURE_PATH}" "${tmpdir}/signature.sig"
|
|
cp -R "${SCRIPT_DIR}/payload" "${tmpdir}/payload"
|
|
|
|
rm -f "${OUTPUT_PATH}"
|
|
(
|
|
cd "${tmpdir}"
|
|
zip -rq "${OUTPUT_PATH}" manifest.json signature.sig payload
|
|
)
|
|
|
|
echo "package built: ${OUTPUT_PATH}"
|