Simple builder that builds OpenSAPS for every known OS. Some might be missing, MRs welcome :).

This commit is contained in:
Stanislav Nikitin 2019-03-06 05:38:15 +05:00
parent 56b38b798b
commit 4e69625994
No known key found for this signature in database
GPG Key ID: 106900B32F8192EE
2 changed files with 28 additions and 0 deletions

2
.gitignore vendored
View File

@ -1,2 +1,4 @@
*DS_Store* *DS_Store*
opensaps.yaml opensaps.yaml
dist
opensaps

26
builder.sh Executable file
View File

@ -0,0 +1,26 @@
#!/bin/bash
VERSION=$1
if [ "${VERSION}" == "" ]; then
echo "Specify version as first parameter!"
exit 1
fi
OS_LIST=("darwin/amd64" "dragonfly/amd64" "freebsd/386" "freebsd/amd64" "freebsd/arm" "linux/386" "linux/amd64" "linux/arm" "linux/arm64" "linux/ppc64" "linux/ppc64le" "linux/mips" "linux/mipsle" "linux/mips64" "linux/mips64le" "linux/s390x" "netbsd/386" "netbsd/amd64" "netbsd/arm" "openbsd/386" "openbsd/amd64" "openbsd/arm" "solaris/amd64" "windows/386" "windows/amd64")
if [ ! -d ./dist ]; then
mkdir -p ./dist
fi
for os in ${OS_LIST[@]}; do
mkdir -p ./dist/${os}
goos=$(echo ${os} | awk -F"/" '{ print $1 }')
goarch=$(echo ${os} | awk -F"/" '{ print $2 }')
echo "Building for ${goos} ${goarch}..."
GOOS=${goos} GOARCH=${goarch} go build -o ./dist/${os}/opensaps opensaps.go
cp opensaps.example.yaml ./dist/${os}/opensaps.yaml
cd ./dist/${os}/
tar -czf opensaps-${VERSION}-${goos}-${goarch}.tar.gz opensaps opensaps.yaml
mv opensaps-${VERSION}-${goos}-${goarch}.tar.gz ../../
cd - &>/dev/null
done