diff options
author | heqnx <root@heqnx.com> | 2025-06-26 11:21:21 +0300 |
---|---|---|
committer | heqnx <root@heqnx.com> | 2025-06-26 11:21:21 +0300 |
commit | 895042a3161b29832b398067a64d6187c8830cc4 (patch) | |
tree | 1b6f1dbebdc5eca190ec9bbf6fbc5251ad4aead9 /packer/scripts/create-checksums.sh | |
parent | b8041662a4e6cd52cbb95e8f7f84c4246f5d24ca (diff) | |
download | ansible-pve-host-895042a3161b29832b398067a64d6187c8830cc4.tar.gz ansible-pve-host-895042a3161b29832b398067a64d6187c8830cc4.zip |
ignoring packer .lock files
Diffstat (limited to 'packer/scripts/create-checksums.sh')
-rwxr-xr-x | packer/scripts/create-checksums.sh | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/packer/scripts/create-checksums.sh b/packer/scripts/create-checksums.sh new file mode 100755 index 0000000..2c0259d --- /dev/null +++ b/packer/scripts/create-checksums.sh @@ -0,0 +1,64 @@ +#!/bin/bash +set -e + +PACKER_BUILD_NAME="${PACKER_BUILD_NAME}" +NAME="${NAME}" +TIMESTAMP="${TIMESTAMP}" +OUTPUT="${OUTPUT}" + +if ! command -v md5sum &>/dev/null; then + printf "%s\n" "[WARN] md5sum not found, skipping" + exit 0 +fi + +if ! command -v sha512sum &>/dev/null; then + printf "%s\n" "[WARN] sha512sum not found, skipping" + exit 0 +fi + +if test -z "${PACKER_BUILD_NAME}" || test -z "${NAME}" || test -z "${TIMESTAMP}"; then + printf "%s\n" "[WARN] \$PACKER_BUILD_NAME|\$NAME|\$TIMESTAMP not supplied for checksum creation, skipping" + exit 0 +fi + +if test "${OUTPUT}"; then + OUTPUT_DIR="${OUTPUT}/${PACKER_BUILD_NAME}" +else + OUTPUT_DIR="output/${PACKER_BUILD_NAME}" +fi + +mkdir -p "${OUTPUT_DIR}" &>/dev/null + +if test "${PACKER_BUILD_NAME#*qemu*}" != "${PACKER_BUILD_NAME}"; then + FILENAME="${PACKER_BUILD_NAME}-${NAME}_${TIMESTAMP}.qcow2" + ARTEFACT="${OUTPUT_DIR}/${FILENAME}" + mv "${PACKER_BUILD_NAME}_output_${NAME}/${PACKER_BUILD_NAME}-${NAME}_${TIMESTAMP}" "${ARTEFACT}" + ( + cd "${OUTPUT_DIR}" + md5sum "${FILENAME}" > "${FILENAME}.sums" + sha512sum "${FILENAME}" >> "${FILENAME}.sums" + ) + +elif test "${PACKER_BUILD_NAME#*parallels*}" != "${PACKER_BUILD_NAME}"; then + FILENAME="${PACKER_BUILD_NAME}-${NAME}_${TIMESTAMP}.pvm" + ARTEFACT="${OUTPUT_DIR}/${FILENAME}.zip" + ( + cd "parallels_output_${NAME}/parallels-${NAME}_${TIMESTAMP}.pvm" + find . -type f -not -name "*.Backup" -exec md5sum {} \; > MD5SUMS + find . -type f -not -name "*.Backup" -exec sha512sum {} \; > SHA512SUMS + ) + zip -r "${ARTEFACT}" "${PACKER_BUILD_NAME}_output_${NAME}/${PACKER_BUILD_NAME}-${NAME}_${TIMESTAMP}.pvm" + +else + FILENAME="${PACKER_BUILD_NAME}-${NAME}_${TIMESTAMP}.ova" + ARTEFACT="${OUTPUT_DIR}/${FILENAME}" + mv "${PACKER_BUILD_NAME}_output_${NAME}/${PACKER_BUILD_NAME}-${NAME}_${TIMESTAMP}.ova" "${ARTEFACT}" + ( + cd "${OUTPUT_DIR}" + md5sum "${FILENAME}" > "${FILENAME}.sums" + sha512sum "${FILENAME}" >> "${FILENAME}.sums" + ) +fi +rm -rf "${PACKER_BUILD_NAME}_output_${NAME}" + +printf "%s\n" "[INFO] created md5 and sha512 checksums for ${OUTPUT_DIR}/${FILENAME}" |