diff --git a/gsi/gsi-pubsign-release.sh b/gsi/gsi-pubsign-release.sh new file mode 100755 index 000000000..8d4874ad6 --- /dev/null +++ b/gsi/gsi-pubsign-release.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +set -ex + +function usage { + cat <&2 '$DIST_DIR is not specified' + exit 1 +fi + +# Create output directory if not already present +mkdir -p "${DIST_DIR}" || true + +if [[ ! -d "${DIST_DIR}" ]]; then + echo >&2 'Cannot create $DIST_DIR or $DIST_DIR is non-existence' + exit 1 +fi + +# Show the artifacts to be copied in the log +echo "Artifacts to copy:" +find "${SRC_DIR}" || true +echo + +# Don't copy logs/ and files whose name starts with $SRC_PRODUCT +rsync --verbose --archive --copy-links --exclude='logs' \ + --exclude='*.zip' "${SRC_DIR}/" "${DIST_DIR}" + +# Rename ${SRC_PRODUCT}-xxx.zip to ${TARGET_PRODUCT}-xxx.zip +ZIP_PATHNAMES="$(find -L "${SRC_DIR}" -type f -name '*.zip')" + +echo "ZIP files to be copied and renamed:" +echo "${ZIP_PATHNAMES}" +echo + +for SRC_PATHNAME in ${ZIP_PATHNAMES} ; do + SRC_FILENAME="$(basename ${SRC_PATHNAME})" + TARGET_FILENAME="${SRC_FILENAME/${SRC_PRODUCT}/${TARGET_PRODUCT}}" + cp --verbose --archive --dereference "${SRC_PATHNAME}" "${DIST_DIR}/${TARGET_FILENAME}" +done