diff --git a/roles/arch_boxes_sync/files/arch-boxes-sync.sh b/roles/arch_boxes_sync/files/arch-boxes-sync.sh index a81d458f5f830e1e9f9f7fee7ec62c214b7f746a..8dc5ccc5a68f1b5a32a02835b920dc98d804d5f0 100755 --- a/roles/arch_boxes_sync/files/arch-boxes-sync.sh +++ b/roles/arch_boxes_sync/files/arch-boxes-sync.sh @@ -34,8 +34,17 @@ mv output/* "${LATEST_RELEASE_TAG}" for FILE in "${LATEST_RELEASE_TAG}"/*; do if [[ $FILE == *${LATEST_RELEASE_TAG:1}* ]]; then - FILE="${FILE##*/}" - ln -s "${FILE}" "${LATEST_RELEASE_TAG}/${FILE//-${LATEST_RELEASE_TAG:1}}" + DEST="${FILE//-${LATEST_RELEASE_TAG:1}}" + if [[ $FILE =~ .*\.SHA256$ ]]; then + sed "s/-${LATEST_RELEASE_TAG:1}//" "${FILE}" > "${DEST}" + touch --no-create --reference="${FILE}" "${DEST}" + # Don't create a symlink for the .SHA256.sig file, as we break the signature by fixing the checksum file. + elif [[ $FILE =~ .*\.SHA256.sig$ ]]; then + continue + else + FILE="${FILE##*/}" + ln -s "${FILE}" "${DEST}" + fi fi done