mirror of
https://github.com/bybrooklyn/openbitdo.git
synced 2026-03-19 04:12:56 -04:00
70 lines
1.7 KiB
Bash
Executable File
70 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
REPO_ROOT="$(cd "$ROOT/.." && pwd)"
|
|
VERSION="${1:-v0.0.1-rc.1}"
|
|
ARCH_LABEL="${2:-$(uname -m)}"
|
|
TARGET_TRIPLE="${3:-}"
|
|
|
|
if [[ "$(uname -s)" != "Linux" ]]; then
|
|
echo "package-linux.sh must run on Linux" >&2
|
|
exit 1
|
|
fi
|
|
|
|
case "$ARCH_LABEL" in
|
|
x86_64|aarch64) ;;
|
|
arm64) ARCH_LABEL="aarch64" ;;
|
|
*)
|
|
echo "unsupported linux arch label: $ARCH_LABEL" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
DIST_ROOT="$ROOT/dist"
|
|
PKG_NAME="openbitdo-${VERSION}-linux-${ARCH_LABEL}"
|
|
STAGE_ROOT="$(mktemp -d)"
|
|
PKG_DIR="$STAGE_ROOT/$PKG_NAME"
|
|
BIN_ASSET="$DIST_ROOT/${PKG_NAME}"
|
|
|
|
checksum_file() {
|
|
local path="$1"
|
|
if command -v shasum >/dev/null 2>&1; then
|
|
shasum -a 256 "$path" > "${path}.sha256"
|
|
elif command -v sha256sum >/dev/null 2>&1; then
|
|
sha256sum "$path" > "${path}.sha256"
|
|
else
|
|
echo "warning: no checksum tool found for $path" >&2
|
|
fi
|
|
}
|
|
|
|
build_binary() {
|
|
cd "$ROOT"
|
|
if [[ -n "$TARGET_TRIPLE" ]]; then
|
|
cargo build --release -p openbitdo --target "$TARGET_TRIPLE"
|
|
echo "$ROOT/target/$TARGET_TRIPLE/release/openbitdo"
|
|
else
|
|
cargo build --release -p openbitdo
|
|
echo "$ROOT/target/release/openbitdo"
|
|
fi
|
|
}
|
|
|
|
BIN_PATH="$(build_binary)"
|
|
|
|
mkdir -p "$PKG_DIR/bin" "$DIST_ROOT"
|
|
|
|
cp "$BIN_PATH" "$PKG_DIR/bin/openbitdo"
|
|
cp "$BIN_PATH" "$BIN_ASSET"
|
|
cp "$REPO_ROOT/README.md" "$PKG_DIR/README.md"
|
|
cp "$ROOT/README.md" "$PKG_DIR/SDK_README.md"
|
|
cp "$REPO_ROOT/LICENSE" "$PKG_DIR/LICENSE"
|
|
|
|
tar -C "$STAGE_ROOT" -czf "$DIST_ROOT/${PKG_NAME}.tar.gz" "$PKG_NAME"
|
|
rm -rf "$STAGE_ROOT"
|
|
|
|
checksum_file "$DIST_ROOT/${PKG_NAME}.tar.gz"
|
|
checksum_file "$BIN_ASSET"
|
|
|
|
echo "created package: $DIST_ROOT/${PKG_NAME}.tar.gz"
|
|
echo "created standalone binary: $BIN_ASSET"
|