Dockerfile
author Edouard Tisserant <edouard.tisserant@gmail.com>
Thu, 28 Sep 2023 22:29:30 +0200
changeset 120 02e37d9e96a9
parent 67 d06ee9c3f780
permissions -rw-r--r--
Windows Installer : Python3 + 64bit

Upgrade of windows installer build system:
- revisions.txt supports "local" to point to local working directories
- msys2 ucrt64 64b runtine
- use requirements.txt
- most python packages from msys2 repo
- still use pip/wine for other python packages
- some cleanup in Makfile code, removing dead code
- CANopen, Modbus and OPC-UA not included... to be continued.
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
120
02e37d9e96a9 Windows Installer : Python3 + 64bit
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 67
diff changeset
     3
FROM ubuntu:jammy
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
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
     8
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
     9
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
    10
120
02e37d9e96a9 Windows Installer : Python3 + 64bit
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 67
diff changeset
    11
ARG UNAME=runner
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    12
ENV UNAME ${UNAME}
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    13
ARG UID=1000
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    14
ARG GID=1000
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    15
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
    16
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
    17
120
02e37d9e96a9 Windows Installer : Python3 + 64bit
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 67
diff changeset
    18
USER root
02e37d9e96a9 Windows Installer : Python3 + 64bit
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 67
diff changeset
    19
02e37d9e96a9 Windows Installer : Python3 + 64bit
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 67
diff changeset
    20
COPY ./provision_jammy64.sh .
02e37d9e96a9 Windows Installer : Python3 + 64bit
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 67
diff changeset
    21
02e37d9e96a9 Windows Installer : Python3 + 64bit
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 67
diff changeset
    22
RUN ./provision_jammy64.sh
02e37d9e96a9 Windows Installer : Python3 + 64bit
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 67
diff changeset
    23
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
    24
# 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
    25
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
    26
ENV OWNDIRBASENAME ${OWNDIRBASENAME}
67
d06ee9c3f780 That was a long sequence of '...' commit message. That last fix should make it build.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 66
diff changeset
    27
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
    28
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
    29
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    30
USER $UNAME
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    31
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    32
RUN mkdir /home/$UNAME/build /home/$UNAME/src