1
0
mirror of https://github.com/smallstep/cli.git synced 2026-10-29 00:17:23 +03:00
Files
step-ca-cli/make/bundle.sh
max furman 64acb5548f add .zip archive option for bundling step
- only used for the windows archive
2020-08-04 09:48:12 -07:00

72 lines
1.5 KiB
Bash
Executable File

#/bin/sh
#/
#/ usage: ./bundle.sh [ --zip ] <output-dir> <release-dir> <version> <platform> <architecture> <executable-name>
#/
#/ Flags:
#/ --zip: unique name of the module
#/ -h, --help: print usage info
#/
#/ Positional Args:
#/ output-dir:
#/ release-dir:
#/ version:
#/ platform:
#/ architecture:
#/ executable-name:
#/
#/ Examples:
#/ ./bundle.sh ./output/binary/linux ./travis-releases 0.14.1-rc.5 linux amd64 step
#/ ./bundle.sh --zip ./output/binary/windows ./travis-releases 0.14.1-rc.5 windows amd64 step.exe
#/
usage() {
cat "$0" | grep '^#/' | cut -c 4-
echo "Exiting with $1"
exit $1
}
ZIP=0
while [ $# -gt 0 ]
do
case "$1" in
"--zip") ZIP=1; shift 1;;
"-h"|"--help") usage 0;;
"--") break;;
*) break;;
esac
done
set -ex;
OUTPUT_DIR=$1
RELEASE_DIR=$2
STEP_VERSION=$3
STEP_PLATFORM=$4
STEP_ARCH=$5
STEP_EXEC_NAME=$6
BUNDLE_DIR=${OUTPUT_DIR}/bundle
mkdir -p "$BUNDLE_DIR" "$RELEASE_DIR"
TMP=$(mktemp -d "$BUNDLE_DIR/tmp.XXXX")
trap "rm -rf $TMP" EXIT INT QUIT TERM
stepName=step_${STEP_VERSION}
newdir="$TMP/${stepName}"
mkdir -p "$newdir/bin"
cp "$OUTPUT_DIR/bin/step" "$newdir/bin/${STEP_EXEC_NAME}"
cp README.md "$newdir"
if [ ${ZIP} -eq 0 ]; then
NEW_BUNDLE="${RELEASE_DIR}/step_${STEP_PLATFORM}_${STEP_VERSION}_${STEP_ARCH}.tar.gz"
rm -f "$NEW_BUNDLE"
tar -zcvf "$NEW_BUNDLE" -C "$TMP" "${stepName}"
else
NEW_BUNDLE="${RELEASE_DIR}/step_${STEP_PLATFORM}_${STEP_VERSION}_${STEP_ARCH}.zip"
rm -f "$NEW_BUNDLE"
zip -r "$NEW_BUNDLE" "$TMP"
fi