diff --git a/alpine/Dockerfile b/alpine/Dockerfile index f120e33f8..21103cb75 100644 --- a/alpine/Dockerfile +++ b/alpine/Dockerfile @@ -16,8 +16,8 @@ COPY kernel/$ARCH/kernel-source-info /etc/ ADD kernel/$ARCH/kernel-patches.tar /etc/kernel-patches ADD kernel/$ARCH/kernel-modules.tar / -COPY packages/proxy/slirp-proxy /usr/bin/ -COPY packages/proxy/slirp-proxy /sbin/proxy-vsockd +COPY packages/proxy/proxy /usr/bin/slirp-proxy +COPY packages/proxy/proxy /sbin/proxy-vsockd COPY packages/proxy/etc /etc/ COPY packages/transfused/transfused /sbin/ COPY packages/transfused/etc /etc/ diff --git a/alpine/packages/Makefile b/alpine/packages/Makefile index 2f5d0ce44..580ba5bd5 100644 --- a/alpine/packages/Makefile +++ b/alpine/packages/Makefile @@ -1,5 +1,5 @@ all: - $(MAKE) -C proxy OS=linux + $(MAKE) -C proxy $(MAKE) -C diagnostics OS=linux $(MAKE) -C transfused OS=linux $(MAKE) -C tap-vsockd OS=linux diff --git a/alpine/packages/proxy/.gitignore b/alpine/packages/proxy/.gitignore index e02fc7aa4..20e175582 100644 --- a/alpine/packages/proxy/.gitignore +++ b/alpine/packages/proxy/.gitignore @@ -1,2 +1,2 @@ -/slirp-proxy -/vendor +proxy +files diff --git a/alpine/packages/proxy/Dockerfile b/alpine/packages/proxy/Dockerfile index e3d93098f..9e8835d6c 100644 --- a/alpine/packages/proxy/Dockerfile +++ b/alpine/packages/proxy/Dockerfile @@ -5,9 +5,6 @@ WORKDIR /go/src/proxy COPY ./ /go/src/proxy/ -ARG GOARCH -ARG GOOS - RUN go install --ldflags '-extldflags "-fno-PIC"' -RUN [ -f /go/bin/*/proxy ] && mv /go/bin/*/proxy /go/bin/ || true +CMD ["tar", "cf", "-", "-C", "/go/bin", "proxy"] diff --git a/alpine/packages/proxy/Makefile b/alpine/packages/proxy/Makefile index 98dabb38d..8211d14cb 100644 --- a/alpine/packages/proxy/Makefile +++ b/alpine/packages/proxy/Makefile @@ -1,15 +1,16 @@ all: proxy -.PHONY: vendor -vendor: - mkdir -p ./vendor - cp -r ../go/vendor/* ./vendor/ +files: + ls Dockerfile *.go > files + find libproxy >> files + printf -- '-C\n../go\n' >> files + (cd ../go && find vendor) >> files -proxy: Dockerfile main.go proxy.go vendor - docker build --build-arg GOOS=$(OS) --build-arg GOARCH=$(ARCH) -t proxy:build . - docker run --rm proxy:build cat /go/bin/proxy > slirp-proxy - chmod 755 slirp-proxy +proxy: Dockerfile $(wildcard *.go libproxy/*.go) ../go/vendor/manifest files + tar cf - -T files | docker build -t proxy:build - + docker run --rm proxy:build | tar xf - clean: - rm -rf slirp-proxy vendor - docker images -q proxy:build | xargs docker rmi -f || true + rm -rf proxy files + +.DELETE_ON_ERROR: