This is an automated email from the ASF dual-hosted git repository. chtompki pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-release-plugin.git
The following commit(s) were added to refs/heads/master by this push: new b9a62db fix(signature-validator.sh): sed fixes b9a62db is described below commit b9a62db45206af4b21f406839c7c63a3f2219879 Author: Rob Tompkins <chtom...@apache.org> AuthorDate: Wed Jun 21 09:52:47 2023 -0400 fix(signature-validator.sh): sed fixes --- src/main/resources/signature-validator.sh | 66 ++++++++++++++++--------------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/src/main/resources/signature-validator.sh b/src/main/resources/signature-validator.sh old mode 100644 new mode 100755 index 23a31af..0e86ca9 --- a/src/main/resources/signature-validator.sh +++ b/src/main/resources/signature-validator.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -x ########### # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with @@ -30,7 +30,7 @@ # # From here you run ./signature-validation.sh and it will create a directory "artifacts-for-validation-deletable-post-validation # in which all of the binaries generated by a release are copied and then it checks to see that all of the signatures and hashes -# are in fact correct for the artifacts. +# are infact correct for the artifacts. # ########### @@ -51,43 +51,44 @@ SOURCE_DIR=${BASEDIR}/source BASE_NEXUS_URL="$1" function clean_and_build_validation_dir() { - mkdir -p ${VALIDATION_DIR} + mkdir -p ${VALIDATION_DIR} } function copy_in_checked_out_artifacts() { - cp ${BASEDIR}/binaries/commons* ${VALIDATION_DIR} - cp ${BASEDIR}/source/commons* ${VALIDATION_DIR} + cp ${BASEDIR}/binaries/commons* ${VALIDATION_DIR} + cp ${BASEDIR}/source/commons* ${VALIDATION_DIR} } function download_nexus_artifacts_to_validation_directory() { - # Curls html page and does text modification to put artifacts in semicolon delimited list - # ...(ugly but works, debug by removing pipes one at a time) - echo "INFO: Downloading artifacts from nexus" - NEXUS_ARTIFACTS=$(curl ${BASE_NEXUS_URL} \ - | grep "${BASE_NEXUS_URL}" \ - | cut -d '>' -f3 \ - | sed "s|</a|;|g" \ - | sed ':a;N;$!ba;s/\n/ /g' \ + # Curls html page and does text modification to put artifacts in semicolon delimited list + # ...(ugly but works, debug by removing pipes one at a time) + echo "INFO: Downloading artifacts from nexus" + + echo ${BASE_NEXUS_URL} + NEXUS_ARTIFACTS=$(curl ${BASE_NEXUS_URL} \ + | grep "${BASE_NEXUS_URL}" \ + | cut -d '>' -f3 \ + | sed "s|</a|;|g" \ + | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g' \ | sed 's/ //g' - ) - - IFS=';' read -r -a array <<< "${NEXUS_ARTIFACTS}" - - for element in "${array[@]}" - do - ARTIFACT_NAME=$(echo $element | cut -d '/' -f7) - echo $ARTIFACT_NAME - URL="${BASE_NEXUS_URL}${element}" - curl $URL -o ${VALIDATION_DIR}/$ARTIFACT_NAME - done + ) + IFS=';' read -r -a array <<< "${NEXUS_ARTIFACTS}" + + for element in "${array[@]}" + do + ARTIFACT_NAME=$(echo $element | cut -d '/' -f7) + echo $ARTIFACT_NAME + URL="${BASE_NEXUS_URL}${element}" + curl $URL -o ${VALIDATION_DIR}/$ARTIFACT_NAME + done } function validate_signatures() { - echo "INFO: Validating Signatures in ${VALIDATION_DIR}" - ALL_ARTIFACTS=$(ls -Al ${VALIDATION_DIR} \ - | awk -F':[0-9]* ' '/:/{print $2}' \ - | sed ':a;N;$!ba;s/\n/;/g' - ) + echo "INFO: Validating Signatures in ${VALIDATION_DIR}" + ALL_ARTIFACTS=$(ls -Al ${VALIDATION_DIR} \ + | awk -F':[0-9]* ' '/:/{print $2}' \ + | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/;/g' \ + ) ARTIFACTS_FOR_VALIDATION=() @@ -101,12 +102,12 @@ function validate_signatures() { fi done - for element in "${ARTIFACTS_FOR_VALIDATION[@]}" + for element in "${ARTIFACTS_FOR_VALIDATION[@]}" do if [[ ${element} =~ ^.*tar.gz.*$ || ${element} =~ ^.*zip.*$ ]]; then ARTIFACT_SHA512=$(openssl sha512 ${VALIDATION_DIR}/$element | cut -d '=' -f2 | cut -d ' ' -f2) - FILE_SHA512=$(cut -d$'\r' -f1 ${VALIDATION_DIR}/$element.sha512 | cut -d ' ' -f1) + FILE_SHA512=$(cut -d$'\r' -f1 ${VALIDATION_DIR}/$element.sha512) if test "${ARTIFACT_SHA512}" != "${FILE_SHA512}" then echo "$element failed sha512 check" @@ -156,4 +157,5 @@ echo $(clean_and_build_validation_dir) echo $(copy_in_checked_out_artifacts) echo $(download_nexus_artifacts_to_validation_directory) echo $(validate_signatures) -#clean_up_afterwards \ No newline at end of file +#clean_up_afterwards +