File: bundle.sh

package info (click to toggle)
golang-github-smallstep-cli 0.15.16%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 4,404 kB
  • sloc: sh: 512; makefile: 99
file content (72 lines) | stat: -rwxr-xr-x 1,621 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#/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' 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"
cp -a autocomplete "$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 -jr "${NEW_BUNDLE}" "${TMP}"
fi