diff --git a/Dockerfile b/Dockerfile index 4d8a452..8892c97 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM fedora:31 +FROM --platform=amd64 fedora:31@sha256:cbe53d28f54c0f0b1d79a1817089235680b104c23619772473f449f20edd37dd LABEL description="Build environment for bemanitools" @@ -8,25 +8,13 @@ RUN yum -y install \ zip \ clang \ mingw64-gcc.x86_64 \ - mingw32-gcc.x86_64 \ - wine.x86_64 + mingw32-gcc.x86_64 RUN mkdir /bemanitools WORKDIR /bemanitools -# Order optimized for docker layer caching -COPY run-tests-wine.sh run-tests-wine.sh -COPY CHANGELOG.md CHANGELOG.md -COPY CONTRIBUTING.md CONTRIBUTING.md -COPY LICENSE LICENSE -COPY GNUmakefile GNUmakefile -COPY Module.mk Module.mk -COPY README.md README.md -COPY doc doc -COPY dist dist -COPY src src -# .git folder required or building fails when version is generated -COPY .git .git - -# Building -RUN make +ENTRYPOINT [ \ + "/bin/bash", \ + "-c" , \ + "cd /bemanitools && \ + make" ] \ No newline at end of file diff --git a/GNUmakefile b/GNUmakefile index 12f0e06..86e00da 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -14,7 +14,7 @@ BUILDDIR ?= build builddir_docker := $(BUILDDIR)/docker docker_container_name := "bemanitools-build" -docker_image_name := "bemanitools:build" +docker_image_name := "bemanitools-build:latest" depdir := $(BUILDDIR)/dep objdir := $(BUILDDIR)/obj @@ -81,13 +81,21 @@ version: build-docker: $(V)docker rm -f $(docker_container_name) 2> /dev/null || true - $(V)docker build -t $(docker_image_name) -f Dockerfile . - $(V)docker create --name $(docker_container_name) $(docker_image_name) - $(V)rm -rf $(builddir_docker) - $(V)mkdir -p $(builddir_docker) - $(V)docker cp $(docker_container_name):/bemanitools/build $(builddir_docker) - $(V)mv $(builddir_docker)/build/* $(builddir_docker) - $(V)rm -r $(builddir_docker)/build + $(V)docker \ + build \ + -t $(docker_image_name) \ + -f Dockerfile \ + . + $(V)docker \ + run \ + --volume $(shell pwd):/bemanitools \ + --name $(docker_container_name) \ + $(docker_image_name) + +clean-docker: + $(V)docker rm -f $(docker_container_name) || true + $(V)docker image rm -f $(docker_image_name) || true + $(V)rm -rf $(BUILDDIR) # # Pull in module definitions