add linux static target

This commit is contained in:
Michael Vaughan
2022-02-11 12:38:29 -05:00
committed by Pin
parent bb97442081
commit e8379e0c66
4 changed files with 24 additions and 3 deletions

View File

@@ -4,7 +4,7 @@ WIN=windows-agent.exe
FLAGS=-ldflags "-s -w"
WIN-FLAGS=-ldflags -H=windowsgui
all: clean create-directory agent-windows agent-linux
all: clean create-directory agent-windows agent-linux agent-linux-static
create-directory:
mkdir ${DIRECTORY}
@@ -17,5 +17,9 @@ agent-linux:
echo "Compiling Linux binary"
env GOOS=linux GOARCH=amd64 go build ${FLAGS} -o ${DIRECTORY}/${LINUX} main.go
agent-linux-static:
echo "Compiling static Linux binary"
docker run --rm=true -itv $(PWD):/mnt alpine:3.7 /mnt/build_static.sh
clean:
rm -rf ${DIRECTORY}

17
build_static.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
# many thanks to @negbie
# https://github.com/google/gopacket/issues/424#issuecomment-369551841
set -ex
apk update
apk add linux-headers musl-dev gcc go libpcap-dev ca-certificates git
mkdir /go
export GOPATH=/go
mkdir -p /go/src/github.com/emmaunel
mkdir -p /mnt/out
cp -a /mnt /go/src/github.com/emmaunel/vishnu
cd /go/src/github.com/emmaunel/vishnu
rm -f vishnu*
go get -v ./ ./
go build --ldflags '-linkmode external -extldflags "-static -s -w"' -v ./
cp ./vishnu /mnt/out/

2
go.mod
View File

@@ -1,4 +1,4 @@
module vishnu
module github.com/emmaunel/vishnu
go 1.17

View File

@@ -10,7 +10,7 @@ import (
"runtime"
"strconv"
"vishnu/spec"
"github.com/emmaunel/vishnu/spec"
"github.com/google/gopacket"
"github.com/google/gopacket/layers"