updated build system

This commit is contained in:
Scott E. Graves 2024-07-25 06:37:36 -05:00
parent 9650d3f56b
commit 2a98e44a5c
2 changed files with 19 additions and 22 deletions

View File

@ -90,18 +90,3 @@ ln -sf "${PROJECT_BUILD_DIR}/build/compile_commands.json" "${SOURCE_DIR}/compile
if [ -f "${SOURCE_DIR}/post_build.sh" ]; then
"${SOURCE_DIR}/post_build.sh"
fi
pushd "${PROJECT_DIST_DIR}"
IFS=$'\n'
set -f
FILE_LIST=$(find . -type f)
for FILE in ${FILE_LIST}; do
sha256sum ${FILE} >${FILE}.sha256
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then
openssl dgst -sha256 -sign "${PROJECT_PRIVATE_KEY}" -out "${FILE}.sig" "${FILE}"
openssl dgst -sha256 -verify "${PROJECT_PUBLIC_KEY}" -signature "${FILE}.sig" "${FILE}" || exit 1
fi
done
unset IFS
set +f
popd

View File

@ -27,20 +27,32 @@ if [ ! -d "${DIST_DIR}" ]; then
error_exit "dest directory not found: ${DIST_DIR}" 1
fi
PACKAGE_ROOT="${PROJECT_DIST_DIR}/.."
PACKAGE_ROOT=$(realpath "${PACKAGE_ROOT}")
rsync -av --progress ${PROJECT_DIST_DIR}/ ${TEMP_DIR}/${PROJECT_NAME}/ || error_exit "failed to rsync" 1
pushd "${TEMP_DIR}/${PROJECT_NAME}/"
IFS=$'\n'
set -f
FILE_LIST=$(find . -type f)
for FILE in ${FILE_LIST}; do
sha256sum ${FILE} >${FILE}.sha256 || error_exit "failed to create sha256 for file: ${FILE}" 1
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then
openssl dgst -sha256 -sign "${PROJECT_PRIVATE_KEY}" -out "${FILE}.sig" "${FILE}" || error_exit "failed to create signature for file: ${FILE}" 1
openssl dgst -sha256 -verify "${PROJECT_PUBLIC_KEY}" -signature "${FILE}.sig" "${FILE}" || error_exit "failed to validate signature for file: ${FILE}" 1
fi
done
unset IFS
set +f
popd
FILE_PART=${PROJECT_NAME}_${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION}-${PROJECT_RELEASE_ITER}-${PROJECT_GIT_REV}_${PROJECT_BUILD_ARCH}_${PROJECT_OS}
pushd "${DIST_DIR}"
OUT_FILE=${FILE_PART}.tar.gz
tar cvzf "${OUT_FILE}" -C ${TEMP_DIR} . || error_exit "failed to create archive" 1
sha256sum "${OUT_FILE}" >"${OUT_FILE}.sha256" || error_exit "failed to create sha256 file" 1
tar cvzf "${OUT_FILE}" -C ${TEMP_DIR} . || error_exit "failed to create archive: ${OUT_FILE}" 1
sha256sum "${OUT_FILE}" >"${OUT_FILE}.sha256" || error_exit "failed to create sha256 for file: ${OUT_FILE}" 1
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then
openssl dgst -sha256 -sign "${PROJECT_PRIVATE_KEY}" -out "${OUT_FILE}.sig" "${OUT_FILE}" || error_exit "failed to create signature file" 1
openssl dgst -sha256 -verify "${PROJECT_PUBLIC_KEY}" -signature "${OUT_FILE}.sig" "${OUT_FILE}" || error_exit "failed to validate signature file" 1
openssl dgst -sha256 -sign "${PROJECT_PRIVATE_KEY}" -out "${OUT_FILE}.sig" "${OUT_FILE}" || error_exit "failed to create signature for file: ${OUT_FILE}" 1
openssl dgst -sha256 -verify "${PROJECT_PUBLIC_KEY}" -signature "${OUT_FILE}.sig" "${OUT_FILE}" || error_exit "failed to validate signature for file: ${OUT_FILE}" 1
fi
popd