From 7c1acbcd48793e2785a47ae52f885297cb7d77cf Mon Sep 17 00:00:00 2001 From: Florian Schade Date: Mon, 24 Feb 2025 12:56:01 +0100 Subject: [PATCH] fix: propagate make build DOCKER_LDFLAGS --- .make/go.mk | 10 +++++++++- opencloud/docker/Dockerfile.linux.multiarch | 9 ++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.make/go.mk b/.make/go.mk index 04ef6acb1..c30405282 100644 --- a/.make/go.mk +++ b/.make/go.mk @@ -39,6 +39,14 @@ endif LDFLAGS += -X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn -s -w -X "$(OC_REPO)/pkg/version.String=$(STRING)" -X "$(OC_REPO)/pkg/version.Tag=$(VERSION)" -X "$(OC_REPO)/pkg/version.Date=$(DATE)" DEBUG_LDFLAGS += -X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn -X "$(OC_REPO)/pkg/version.String=$(STRING)" -X "$(OC_REPO)/pkg/version.Tag=$(VERSION)" -X "$(OC_REPO)/pkg/version.Date=$(DATE)" +DOCKER_LDFLAGS += -X "$(OC_REPO)/pkg/config/defaults.BaseDataPathType=path" -X "$(OC_REPO)/pkg/config/defaults.BaseDataPathValue=/var/lib/opencloud" +DOCKER_LDFLAGS += -X "$(OC_REPO)/pkg/config/defaults.BaseConfigPathType=path" -X "$(OC_REPO)/pkg/config/defaults.BaseConfigPathValue=/etc/opencloud" + +# We can't link statically when vips is enabled but we still +# prefer static linking where possible +ifndef ENABLE_VIPS + DOCKER_LDFLAGS += -extldflags "-static" +endif GCFLAGS += all=-N -l @@ -99,7 +107,7 @@ build: $(BIN)/$(EXECUTABLE) build-debug: $(BIN)/$(EXECUTABLE)-debug $(BIN)/$(EXECUTABLE): $(SOURCES) - $(GOBUILD) -v -tags '$(TAGS)' -ldflags '$(LDFLAGS)' -o $@ ./cmd/$(NAME) + $(GOBUILD) -v -tags '$(TAGS)' -ldflags '$(LDFLAGS) $(DOCKER_LDFLAGS)' -o $@ ./cmd/$(NAME) $(BIN)/$(EXECUTABLE)-debug: $(SOURCES) $(GOBUILD) -v -tags '$(TAGS)' -ldflags '$(DEBUG_LDFLAGS)' -gcflags '$(GCFLAGS)' -o $@ ./cmd/$(NAME) diff --git a/opencloud/docker/Dockerfile.linux.multiarch b/opencloud/docker/Dockerfile.linux.multiarch index 213f708db..7a04aada9 100644 --- a/opencloud/docker/Dockerfile.linux.multiarch +++ b/opencloud/docker/Dockerfile.linux.multiarch @@ -1,4 +1,5 @@ FROM golang:alpine3.20 AS build +ARG TARGETOS ARG TARGETARCH RUN apk add bash make git curl gcc musl-dev libc-dev binutils-gold inotify-tools vips-dev @@ -6,13 +7,11 @@ RUN apk add bash make git curl gcc musl-dev libc-dev binutils-gold inotify-tools COPY ./ /opencloud/ WORKDIR /opencloud/opencloud -RUN GOOS=linux GOARCH="${TARGETARCH}" make ci-go-generate build ENABLE_VIPS=true +RUN GOOS="${TARGETOS:-linux}" GOARCH="${TARGETARCH:-amd64}" make ci-go-generate build ENABLE_VIPS=true FROM alpine:3.20 -ARG TARGETARCH - -ARG VERSION="" -ARG REVISION="" +ARG VERSION +ARG REVISION RUN apk add --no-cache attr bash ca-certificates curl inotify-tools libc6-compat mailcap tree vips patch && \ echo 'hosts: files dns' >| /etc/nsswitch.conf