#!/bin/bash # Copyright © 2023 Thomas von Dein # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # get list with: go tool dist list DIST="darwin/amd64 freebsd/amd64 linux/amd64 windows/amd64" daemon="$1" client="$2" version="$3" if test -z "$version"; then echo "Usage: $0 " exit 1 fi rm -rf releases mkdir -p releases for D in $DIST; do os=${D/\/*/} arch=${D/*\//} binfile="releases/${daemon}-${os}-${arch}-${version}" clientfile="releases/${client}-${os}-${arch}-${version}" tardir="${daemon}-${os}-${arch}-${version}" tarfile="releases/${daemon}-${os}-${arch}-${version}.tar.gz" set -x GOOS=${os} GOARCH=${arch} CGO_LDFLAGS='-static' go build -tags osusergo,netgo -ldflags \ "-extldflags=-static -s -X 'codeberg.org/scip/ephemerup/cfg.VERSION=${version}'" -o ${binfile} #GOOS=${os} GOARCH=${arch} go build -o ${binfile} -ldflags "-X 'codeberg.org/scip/ephemerup/cfg.VERSION=${version}'" cd $client GOOS=${os} GOARCH=${arch} go build -o ../${clientfile} -ldflags \ "-X 'codeberg.org/scip/ephemerup/upctl/cfg.VERSION=${version}'" cd - mkdir -p ${tardir} cp ${binfile} ${clientfile} README.md LICENSE ${tardir}/ echo 'daemon = ephemerupd client = upctl PREFIX = /usr/local UID = root GID = 0 install-client: install -d -o $(UID) -g $(GID) $(PREFIX)/bin install -d -o $(UID) -g $(GID) $(PREFIX)/man/man1 install -o $(UID) -g $(GID) -m 555 $(client) $(PREFIX)/bin/ install -o $(UID) -g $(GID) -m 444 $(client).1 $(PREFIX)/man/man1/ install: install-client install -d -o $(UID) -g $(GID) $(PREFIX)/sbin install -o $(UID) -g $(GID) -m 555 $(daemon) $(PREFIX)/sbin/ install -o $(UID) -g $(GID) -m 444 $(daemon).1 $(PREFIX)/man/man1/' > ${tardir}/Makefile tar cpzf ${tarfile} ${tardir} for file in ${binfile} ${tarfile} ${clientfile}; do sha256sum ${file} | cut -d' ' -f1 > ${file}.sha256 done rm -rf ${tardir} set +x done