From 1f6ee5d690e1b8ab5d15d3e4ce66514dfb34dc3d Mon Sep 17 00:00:00 2001 From: Ali Mosajjal Date: Thu, 2 Feb 2023 11:00:35 +1300 Subject: [PATCH] some fixes in dockerfiles --- Dockerfile-crossplatform | 53 ++++++++++++++++++++-------------------- Dockerfile-release | 5 ++-- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/Dockerfile-crossplatform b/Dockerfile-crossplatform index 8c24293..502b4a9 100644 --- a/Dockerfile-crossplatform +++ b/Dockerfile-crossplatform @@ -13,65 +13,66 @@ COPY . /${PROJECT} WORKDIR /${PROJECT} env GOBUILD="go build -ldflags=-s -tags ${GOTAG} -o ${OUTDIR}/${PROJECT}_${GOTAG}" +env BASEDIR="./cmd/dnsmonster" # Linux RUN echo "Building Linux binaries" RUN export GOOS=linux && export CGO_ENABLED=1 && \ - export GOARCH=amd64 && CC="zig cc -target x86_64-${GOOS}-musl" ${GOBUILD}_${GOOS}_${GOARCH}.bin ./cmd/dnsmonster && \ - export GOARCH=386 && CC="zig cc -target i386-${GOOS}-musl" ${GOBUILD}_${GOOS}_${GOARCH}.bin ./cmd/dnsmonster && \ - export GOARCH=arm && CC="zig cc -target arm-${GOOS}-musleabihf" ${GOBUILD}_${GOOS}_${GOARCH}.bin ./cmd/dnsmonster && \ - export GOARCH=arm64 && CC="zig cc -target aarch64-${GOOS}-musl" ${GOBUILD}_${GOOS}_${GOARCH}.bin ./cmd/dnsmonster && \ - export GOARCH=riscv64 && CC="zig cc -target riscv64-${GOOS}-musl" ${GOBUILD}_${GOOS}_${GOARCH}.bin ./cmd/dnsmonster + export GOARCH=amd64 && CC="zig cc -target x86_64-${GOOS}-musl" ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=386 && CC="zig cc -target i386-${GOOS}-musl" ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=arm && CC="zig cc -target arm-${GOOS}-musleabihf" ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=arm64 && CC="zig cc -target aarch64-${GOOS}-musl" ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=riscv64 && CC="zig cc -target riscv64-${GOOS}-musl" ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} # MIPS and PPC are pending patches from Zig #10979, #11829 # Windows RUN echo "Building Windows binaries" RUN export GOOS=windows && export CGO_ENABLED=1 && \ - export GOARCH=amd64 && CC="zig cc -target x86_64-${GOOS}-gnu" ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=386 && CC="zig cc -target i386-${GOOS}-gnu" ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=arm && CC="zig cc -target arm-${GOOS}-gnu" ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=arm64 && CC="zig cc -target aarch64-${GOOS}-gnu" ${GOBUILD}_${GOOS}_${GOARCH}.bin . + export GOARCH=amd64 && CC="zig cc -target x86_64-${GOOS}-gnu" ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=386 && CC="zig cc -target i386-${GOOS}-gnu" ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=arm && CC="zig cc -target arm-${GOOS}-gnu" ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=arm64 && CC="zig cc -target aarch64-${GOOS}-gnu" ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} # Darwin RUN echo "Building Darwin binaries" RUN export GOOS=darwin && export CGO_ENABLED=0 && \ - export GOARCH=amd64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=arm64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . + export GOARCH=amd64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=arm64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} # FreeBSD RUN echo "Building FreeBSD binaries" RUN export GOOS=freebsd && export CGO_ENABLED=0 && \ - export GOARCH=arm64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=amd64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=arm && ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=386 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . + export GOARCH=arm64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=amd64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=arm && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=386 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} # NetBSD RUN echo "Building NetBSD binaries" RUN export GOOS=netbsd && export CGO_ENABLED=0 && \ - export GOARCH=arm64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=amd64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=arm && ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=386 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . + export GOARCH=arm64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=amd64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=arm && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=386 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} # OpenBSD RUN echo "Building OpenBSD binaries" RUN export GOOS=openbsd && export CGO_ENABLED=0 && \ - export GOARCH=arm64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=amd64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=arm && ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=386 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . && \ - export GOARCH=mips64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . + export GOARCH=arm64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=amd64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=arm && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=386 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} && \ + export GOARCH=mips64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} # Android RUN echo "Building Android binaries" RUN export GOOS=android && export CGO_ENABLED=0 && \ - export GOARCH=arm64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . + export GOARCH=arm64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} # DragonflyBSD RUN echo "Building Dragonfly binaries" RUN export GOOS=dragonfly && export CGO_ENABLED=0 && \ - export GOARCH=amd64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin . + export GOARCH=amd64 && ${GOBUILD}_${GOOS}_${GOARCH}.bin ${BASEDIR} FROM scratch COPY --from=0 /tmp/bins/*.bin / diff --git a/Dockerfile-release b/Dockerfile-release index 9cf6eba..f3a8b08 100644 --- a/Dockerfile-release +++ b/Dockerfile-release @@ -15,7 +15,8 @@ RUN git clone https://${REPO}.git /opt/dnsmonster --depth 1 \ ENV CGO_ENABLED=1 ENV GOOS=windows ENV GOARCH=amd64 -RUN sh -c 'cd /opt/dnsmonster && go build -o /tmp/dnsmonster-windows-amd64.exe' ./cmd/dmsmonster +RUN cd /opt/dnsmonster \ + && go build -o /tmp/dnsmonster-windows-amd64.exe ./cmd/dnsmonster WORKDIR /opt/dnsmonster @@ -35,7 +36,7 @@ RUN cd /opt/dnsmonster \ && mv /tmp/dnsmonster_*_amd64.deb /tmp/dnsmonster-latest.deb # build rpm file and move it to /tmp/dnsmonster-latest.rpm -RUN export LATEST_TAG=`git describe --tags $(git rev-list --tags --max-count=1)` && echo -e '\ +RUN export LATEST_TAG=`git describe --tags $(git rev-list --tags --max-count=1) | awk -F- '{print $1}'` && echo -e '\ Name: dnsmonster \n\ Version: '${LATEST_TAG:1}' \n\ Release: 1 \n\