first commit
This commit is contained in:
Executable
+73
@@ -0,0 +1,73 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
ARCH="${1:-arm64}"
|
||||
|
||||
case "$ARCH" in
|
||||
amd64)
|
||||
PLATFORM="linux/amd64"
|
||||
;;
|
||||
arm64)
|
||||
PLATFORM="linux/arm64"
|
||||
;;
|
||||
arm)
|
||||
PLATFORM="linux/arm/v7"
|
||||
;;
|
||||
*)
|
||||
echo "usage: $0 [amd64|arm64|arm]" >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
|
||||
TAG="routeros-suricata-tzsp:${ARCH}"
|
||||
OUT="build/routeros-suricata-tzsp-${ARCH}.tar"
|
||||
SHA="${OUT}.sha256"
|
||||
mkdir -p build
|
||||
|
||||
if [ -n "${ENGINE:-}" ]; then
|
||||
engine="$ENGINE"
|
||||
elif command -v podman >/dev/null 2>&1; then
|
||||
engine=podman
|
||||
elif command -v docker >/dev/null 2>&1; then
|
||||
engine=docker
|
||||
else
|
||||
echo "Docker or Podman is required" >&2
|
||||
exit 3
|
||||
fi
|
||||
|
||||
echo "[build] engine=$engine platform=$PLATFORM image=$TAG"
|
||||
case "$engine" in
|
||||
podman)
|
||||
podman build --pull --platform "$PLATFORM" -t "$TAG" .
|
||||
podman save -o "$OUT" "$TAG"
|
||||
;;
|
||||
docker)
|
||||
if ! docker buildx version >/dev/null 2>&1; then
|
||||
echo "Docker Buildx is required for RouterOS cross-architecture builds" >&2
|
||||
exit 4
|
||||
fi
|
||||
docker buildx build \
|
||||
--pull \
|
||||
--platform "$PLATFORM" \
|
||||
--provenance=false \
|
||||
--load \
|
||||
-t "$TAG" \
|
||||
.
|
||||
docker save -o "$OUT" "$TAG"
|
||||
;;
|
||||
*)
|
||||
echo "unsupported ENGINE=$engine (use docker or podman)" >&2
|
||||
exit 5
|
||||
;;
|
||||
esac
|
||||
|
||||
if command -v sha256sum >/dev/null 2>&1; then
|
||||
sha256sum "$OUT" > "$SHA"
|
||||
elif command -v shasum >/dev/null 2>&1; then
|
||||
shasum -a 256 "$OUT" > "$SHA"
|
||||
fi
|
||||
|
||||
printf '[build] created %s\n' "$OUT"
|
||||
ls -lh "$OUT"
|
||||
[ ! -f "$SHA" ] || cat "$SHA"
|
||||
Reference in New Issue
Block a user