diff --git a/readme.md b/readme.md index 96dd8ef..6a0a809 100644 --- a/readme.md +++ b/readme.md @@ -103,5 +103,4 @@ from various contexts of CA, CI and OCI / OS. ### .sh -* check if file & variable match * support opensuse diff --git a/spcd.sh b/spcd.sh index 583a114..32be9e9 100644 --- a/spcd.sh +++ b/spcd.sh @@ -42,6 +42,8 @@ spcd_main() { spcd_set_environment_variables() { spcd_step "Set environment variables" + # check script first + [ -n "${SPCD}" ] || spcd_error_ci "SPCD" # continuous integration / github → gitea → forgejo if [ -n "${GITHUB_ACTIONS}" ]; then # project branch @@ -594,6 +596,9 @@ spcd_install_python() { # TODO move to Python spcd_install_packages() { + # dos2unix + spcd_step "Install dos2unix" + spcd_install_package "dos2unix" # epel spcd_step "Install EPEL" case "${SPCD_OS_ID}" in @@ -705,14 +710,6 @@ ${spcd_ipm__url} "${spcd_ipm__url}" \ "${spcd_ipm__root}/${spcd_ipm__name}" || exit - spcd_ipm__script="${spcd_ipm__root}/${spcd_ipm__name}/spcd.sh" - if [ -f "${spcd_ipm__script}" ]; then - spcd_ipm__file="${spcd_ipm__root}/spcd.sh" - printf "%s" "${SPCD}" | tr -d "\r" >"${spcd_ipm__file}" - ls -l "${spcd_ipm__file}" - sha256sum "${spcd_ipm__file}" - sha256sum "${spcd_ipm__script}" - fi spcd_ipm__path="${spcd_ipm__root}/${spcd_ipm__name}/${spcd_ipm__name}" echo "\ ${spcd_ipm__path} @@ -720,6 +717,18 @@ ${spcd_ipm__path} ${SPCD_PYTHON_PACKAGES}" cp --recursive "${spcd_ipm__path}" "${SPCD_PYTHON_PACKAGES}" || exit + # check matching of file and variable + spcd_ipm__script="${spcd_ipm__root}/${spcd_ipm__name}/spcd.sh" + if [ -f "${spcd_ipm__script}" ]; then + spcd_split + spcd_ipm__check="${spcd_ipm__root}/check.sha512sum" + sha512sum "${spcd_ipm__script}" > "${spcd_ipm__check}" + printf "%s" "${SPCD}" >"${spcd_ipm__script}" + ls -l "${spcd_ipm__script}" + dos2unix "${spcd_ipm__script}" + ls -l "${spcd_ipm__script}" + sha512sum -c "${spcd_ipm__check}" || spcd_error_ci "SPCD" + fi done spcd_split spcd_ls "${SPCD_PYTHON_PACKAGES}"