diff --git a/docker/x86_64/mingw64 b/docker/x86_64/mingw64 index f4c88dfa..00839481 100644 --- a/docker/x86_64/mingw64 +++ b/docker/x86_64/mingw64 @@ -147,16 +147,6 @@ RUN mkdir -p \ ADD ./3rd_party /3rd_party -ENV DISPLAY=:99 -ENV WINEDEBUG=-all,err+all - -RUN wine64 reg add 'HKEY_CURRENT_USER\Software\Wine' /v ShowDotFiles /d Y \ - && while [ ! -f /root/.wine/user.reg ]; do sleep 1; done - -ARG INNOSETUP_VERSION -ENV MY_INNOSETUP_VERSION=${INNOSETUP_VERSION} -RUN wine-x11-run wine64 /3rd_party/mingw64/innosetup-${MY_INNOSETUP_VERSION}.exe /SP- /VERYSILENT /ALLUSERS /SUPPRESSMSGBOXES /DOWNLOADISCRYPT=1 - ARG BINUTILS_VERSION ENV MY_BINUTILS_VERSION=${BINUTILS_VERSION} RUN cd /3rd_party/mingw64 && sha256sum -c ./binutils-${MY_BINUTILS_VERSION}.tar.xz.sha256 && cd - \ @@ -1165,6 +1155,31 @@ RUN if [ -f "/3rd_party/libdsm-${MY_LIBDSM_VERSION}.tar.gz" ]; then \ && rm -r libdsm-${MY_LIBDSM_VERSION} \ ; fi +ENV DISPLAY=:99 +ENV WINEDEBUG=-all,err+all + +RUN wine64 reg add 'HKEY_CURRENT_USER\Software\Wine' /v ShowDotFiles /d Y \ + && while [ ! -f /root/.wine/user.reg ]; do sleep 1; done + +ARG INNOSETUP_VERSION +ENV MY_INNOSETUP_VERSION=${INNOSETUP_VERSION} +RUN wine-x11-run wine64 /3rd_party/mingw64/innosetup-${MY_INNOSETUP_VERSION}.exe /SP- /VERYSILENT /ALLUSERS /SUPPRESSMSGBOXES /DOWNLOADISCRYPT=1 + +ARG UID=1000 +ARG GID=1000 +ARG USERNAME=myuser + +RUN addgroup -g $GID $USERNAME && \ + adduser -D -u $UID -G $USERNAME -h /home/$USERNAME $USERNAME + +RUN rsync -av --progress /root/.wine /home/$USERNAME/.wine && \ + chown -R $UID:$GID -R /home/$USERNAME/.wine + RUN (mv ${MY_MINGW_DIR}/lib/*.dll ${MY_MINGW_DIR}/bin || echo "no dll's found") \ && chmod 0777 -R ${MY_MINGW_DIR} \ - && rm -rf /3rd_party + && rm -rf /3rd_party \ + && rm -rf /root/.wine + +USER $USERNAME +WORKDIR /home/$USERNAME + diff --git a/scripts/docker_common.sh b/scripts/docker_common.sh index 6dcba7ed..223cb4aa 100755 --- a/scripts/docker_common.sh +++ b/scripts/docker_common.sh @@ -26,10 +26,16 @@ if [ "${PROJECT_BUILD_ARCH}" == "aarch64" ]; then docker build ${APP_VERSION_BUILD_ARGS} \ --platform linux/arm64 \ --build-arg NUM_JOBS=${NUM_JOBS} \ + --build-arg UID=$(id -u) \ + --build-arg GID=$(id -g) \ + --build-arg USERNAME=i$(id -un) \ -t ${DOCKER_TAG} . || exit 1 else docker build ${APP_VERSION_BUILD_ARGS} \ --build-arg NUM_JOBS=${NUM_JOBS} \ + --build-arg UID=$(id -u) \ + --build-arg GID=$(id -g) \ + --build-arg USERNAME=i$(id -un) \ -t ${DOCKER_TAG} . || exit 1 fi rm Dockerfile