Add readme, license, install/remove script

This commit is contained in:
2025-10-28 21:25:47 +01:00
parent a0b97a856a
commit aa8851aca0
5 changed files with 228 additions and 1 deletions

View File

@@ -1,11 +1,13 @@
#!/bin/bash
MAKE_PACKAGE=false
TARGET_CURRENT=false
usage() {
echo "Usage: $0 [OPTIONS]"
echo "Options:"
echo " --package Make a delivery package instead of plain binary"
echo " --package Make a delivery package instead of plain binary"
echo " --target-current Target the current OS/arch for the build"
}
# Function to handle options and arguments
@@ -15,6 +17,9 @@ handle_options() {
--package)
MAKE_PACKAGE=true
;;
--target-current)
TARGET_CURRENT=true
;;
*)
echo "Invalid option: $1" >&2
usage
@@ -32,6 +37,33 @@ if [ ! -d "./build" ]; then
mkdir ./build
fi
if [ "$TARGET_CURRENT" == "true" ]; then
GOOS=$(go env GOOS)
GOARCH=$(go env GOARCH)
echo "* Compiling daemon for $GOOS/$GOARCH..."
if [ "$MAKE_PACKAGE" == "true" ]; then
CGO_ENABLED=0 GORISCV64=rva22u64 GOAMD64=v3 GOARM64=v8.2 go build -o build/mirrorsyncd -a ./cmd/server
tar -czf build/daemon.tar.gz build/mirrorsyncd
rm build/mirrorsyncd
else
CGO_ENABLED=0 GORISCV64=rva22u64 GOAMD64=v3 GOARM64=v8.2 go build -o build/mirrorsyncd -a ./cmd/server
fi
echo "* Compiling client for $GOOS/$GOARCH..."
if [ "$MAKE_PACKAGE" == "true" ]; then
CGO_ENABLED=0 GORISCV64=rva22u64 GOAMD64=v3 GOARM64=v8.2 go build -o build/mirrorsync -a ./cmd/cli
tar -czf build/client.tar.gz build/mirrorsync
rm build/mirrorsync
else
CGO_ENABLED=0 GORISCV64=rva22u64 GOAMD64=v3 GOARM64=v8.2 go build -o build/mirrorsync -a ./cmd/cli
fi
exit 0
fi
### FROM HERE, BUILD ALL
## SERVER
platforms=("linux/amd64" "linux/arm64" "linux/riscv64" "linux/ppc64le" "windows/amd64" "darwin/amd64" "darwin/arm64")