mirror of
https://github.com/containers/skopeo.git
synced 2025-09-13 13:33:13 +00:00
go build: use -mod=vendor
for go >= 1.11.x
Go 1.13.x isn't sensitive to the `GO111MODULE` environment variable causing `make binary-local` to not use the vendored sources in `./vendor`. Force builds of module-supporting go versions to use the vendored sources by setting `-mod=vendor`. Verified in a `fedora:rawhide` container. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
This commit is contained in:
12
Makefile
12
Makefile
@@ -1,7 +1,5 @@
|
|||||||
.PHONY: all binary build-container docs docs-in-container build-local clean install install-binary install-completions shell test-integration .install.vndr vendor
|
.PHONY: all binary build-container docs docs-in-container build-local clean install install-binary install-completions shell test-integration .install.vndr vendor
|
||||||
|
|
||||||
export GO111MODULE=off
|
|
||||||
|
|
||||||
ifeq ($(shell uname),Darwin)
|
ifeq ($(shell uname),Darwin)
|
||||||
PREFIX ?= ${DESTDIR}/usr/local
|
PREFIX ?= ${DESTDIR}/usr/local
|
||||||
DARWIN_BUILD_TAG=containers_image_ostree_stub
|
DARWIN_BUILD_TAG=containers_image_ostree_stub
|
||||||
@@ -26,6 +24,12 @@ GO ?= go
|
|||||||
CONTAINER_RUNTIME := $(shell command -v podman 2> /dev/null || echo docker)
|
CONTAINER_RUNTIME := $(shell command -v podman 2> /dev/null || echo docker)
|
||||||
GOMD2MAN ?= $(shell command -v go-md2man || echo '$(GOBIN)/go-md2man')
|
GOMD2MAN ?= $(shell command -v go-md2man || echo '$(GOBIN)/go-md2man')
|
||||||
|
|
||||||
|
GO_BUILD=$(GO) build
|
||||||
|
# Go module support: set `-mod=vendor` to use the vendored sources
|
||||||
|
ifeq ($(shell go help mod >/dev/null 2>&1 && echo true), true)
|
||||||
|
GO_BUILD=GO111MODULE=on $(GO) build -mod=vendor
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(DEBUG), 1)
|
ifeq ($(DEBUG), 1)
|
||||||
override GOGCFLAGS += -N -l
|
override GOGCFLAGS += -N -l
|
||||||
endif
|
endif
|
||||||
@@ -95,10 +99,10 @@ binary-static: cmd/skopeo
|
|||||||
|
|
||||||
# Build w/o using containers
|
# Build w/o using containers
|
||||||
binary-local:
|
binary-local:
|
||||||
$(GPGME_ENV) $(GO) build ${GO_DYN_FLAGS} -ldflags "-X main.gitCommit=${GIT_COMMIT}" -gcflags "$(GOGCFLAGS)" -tags "$(BUILDTAGS)" -o skopeo ./cmd/skopeo
|
$(GPGME_ENV) $(GO_BUILD) ${GO_DYN_FLAGS} -ldflags "-X main.gitCommit=${GIT_COMMIT}" -gcflags "$(GOGCFLAGS)" -tags "$(BUILDTAGS)" -o skopeo ./cmd/skopeo
|
||||||
|
|
||||||
binary-local-static:
|
binary-local-static:
|
||||||
$(GPGME_ENV) $(GO) build -ldflags "-extldflags \"-static\" -X main.gitCommit=${GIT_COMMIT}" -gcflags "$(GOGCFLAGS)" -tags "$(BUILDTAGS)" -o skopeo ./cmd/skopeo
|
$(GPGME_ENV) $(GO_BUILD) -ldflags "-extldflags \"-static\" -X main.gitCommit=${GIT_COMMIT}" -gcflags "$(GOGCFLAGS)" -tags "$(BUILDTAGS)" -o skopeo ./cmd/skopeo
|
||||||
|
|
||||||
build-container:
|
build-container:
|
||||||
${CONTAINER_RUNTIME} build ${BUILD_ARGS} -t "$(IMAGE)" .
|
${CONTAINER_RUNTIME} build ${BUILD_ARGS} -t "$(IMAGE)" .
|
||||||
|
Reference in New Issue
Block a user