Dockerfile
author Edouard Tisserant <edouard.tisserant@gmail.com>
Fri, 20 May 2022 13:59:51 +0200
changeset 55 399397ddd568
parent 54 ef2720b6f78e
child 63 4bdf5784f8b2
permissions -rw-r--r--
GH Actions: Add caching for Docker image
37
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
     1
# Dockerfile to setup beremiz_public_dist build container
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     2
37
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
     3
FROM ubuntu:focal
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     4
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     5
ENV TERM xterm-256color
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     6
37
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
     7
COPY provision_focal64.sh .
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     8
37
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
     9
RUN ./provision_focal64.sh
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
    10
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
    11
ENV LANG en_US.UTF-8
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
    12
ENV LANGUAGE en_US:en
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
    13
ENV LC_ALL en_US.UTF-8
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    14
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    15
ARG UNAME=devel
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    16
ENV UNAME ${UNAME}
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    17
ARG UID=1000
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    18
ARG GID=1000
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    19
RUN groupadd -g $GID $UNAME
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    20
RUN useradd -m -u $UID -g $GID -s /bin/bash $UNAME
41
77b38c4d0d7f Dockerfile: use script rather than alias so that bash doesn't need to be interactive shell with a TTY
etisserant <edouard.tisserant@gmail.com>
parents: 37
diff changeset
    21
77b38c4d0d7f Dockerfile: use script rather than alias so that bash doesn't need to be interactive shell with a TTY
etisserant <edouard.tisserant@gmail.com>
parents: 37
diff changeset
    22
# easy to remember 'build' alias to invoke main makefile
77b38c4d0d7f Dockerfile: use script rather than alias so that bash doesn't need to be interactive shell with a TTY
etisserant <edouard.tisserant@gmail.com>
parents: 37
diff changeset
    23
ARG OWNDIRBASENAME=beremiz_public_dist
77b38c4d0d7f Dockerfile: use script rather than alias so that bash doesn't need to be interactive shell with a TTY
etisserant <edouard.tisserant@gmail.com>
parents: 37
diff changeset
    24
ENV OWNDIRBASENAME ${OWNDIRBASENAME}
54
ef2720b6f78e GH echo seems to let -e argument through. Trying to force core-utils' echo.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 47
diff changeset
    25
RUN /bin/echo -e '#!/bin/bash\nmake -f /home/'$UNAME'/src/'$OWNDIRBASENAME'/Makefile $*' > /usr/local/bin/build
41
77b38c4d0d7f Dockerfile: use script rather than alias so that bash doesn't need to be interactive shell with a TTY
etisserant <edouard.tisserant@gmail.com>
parents: 37
diff changeset
    26
RUN chmod +x /usr/local/bin/build
77b38c4d0d7f Dockerfile: use script rather than alias so that bash doesn't need to be interactive shell with a TTY
etisserant <edouard.tisserant@gmail.com>
parents: 37
diff changeset
    27
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    28
USER $UNAME
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    29
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    30
RUN mkdir /home/$UNAME/build /home/$UNAME/src