github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/scripts/make-tarball (about) 1 #! /bin/bash --posix 2 3 set -eu 4 5 readonly command="$1" 6 shift 7 8 readonly bin="$GOPATH/bin/$command" 9 readonly target="/tmp/$LOGNAME/$command.tar.gz" 10 11 (cd $GOPATH/src; go install github.com/Cloud-Foundations/Dominator/cmd/$command) 12 13 strip -o "$bin~" "$bin" 14 if cmp -s "$bin~" "$bin"; then 15 rm "$bin~" 16 else 17 touch -r "$bin" "$bin~" 18 mv "$bin~" "$bin" 19 fi 20 21 readonly tmpdir="$(mktemp -d '/tmp/make-tarball.XXXXXX')" || exit 22 trap "rm -rf $tmpdir" EXIT 23 24 if [ -x "$PWD/cmd/$command/install" ]; then 25 cp -p "$PWD/cmd/$command/install" "$tmpdir" 26 else 27 cat > "$tmpdir/install" <<EOF 28 #! /bin/bash --posix 29 30 set -o nounset 31 32 cd "\${0%/*}" 33 34 . ./scripts/install.lib 35 36 install_all $command 37 EOF 38 chmod a+rx "$tmpdir/install" 39 fi 40 41 tar --owner=0 --group=0 -czf $target \ 42 init.d/$command.* \ 43 scripts/install.lib \ 44 "$@" \ 45 -C $PWD/cmd/$command health-check.yml \ 46 -C "$tmpdir" install \ 47 -C $GOPATH bin/$command