From 7dae11586135b59bd59fd9889c56aa9b6509021e Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Fri, 2 Jun 2023 16:13:29 +0100 Subject: [PATCH 1/3] Revert "ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe" This reverts commit 27504d5c941df89bc828067248270179c9dcb04b. --- ci/linux-debian.Dockerfile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ci/linux-debian.Dockerfile b/ci/linux-debian.Dockerfile index 3c1be414f9..a83a4e36db 100644 --- a/ci/linux-debian.Dockerfile +++ b/ci/linux-debian.Dockerfile @@ -31,9 +31,7 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ python3 msvc-wine/vsdownload.py --accept-license --dest /opt/msvc Microsoft.VisualStudio.Workload.VCTools && \ msvc-wine/install.sh /opt/msvc -# Moving the wine prefix to /tmp avoids error D8037 when invoking cl.exe. -ENV WINEPREFIX=/tmp/wineprefix -# Initialize the wine prefix. Wait until the wineserver process has +# Initialize the wine environment. Wait until the wineserver process has # exited before closing the session, to avoid corrupting the wine prefix. RUN wine64 wineboot --init && \ while (ps -A | grep wineserver) > /dev/null; do sleep 1; done From c7db4942b34acd2a34e6249112f6c1db6cf5681d Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Sat, 3 Jun 2023 09:08:31 +0100 Subject: [PATCH 2/3] ci: Fix error D8037 in `cl.exe` --- ci/linux-debian.Dockerfile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ci/linux-debian.Dockerfile b/ci/linux-debian.Dockerfile index a83a4e36db..54eafcab25 100644 --- a/ci/linux-debian.Dockerfile +++ b/ci/linux-debian.Dockerfile @@ -29,9 +29,10 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ git clone https://github.com/mstorsjo/msvc-wine && \ mkdir /opt/msvc && \ python3 msvc-wine/vsdownload.py --accept-license --dest /opt/msvc Microsoft.VisualStudio.Workload.VCTools && \ - msvc-wine/install.sh /opt/msvc - -# Initialize the wine environment. Wait until the wineserver process has -# exited before closing the session, to avoid corrupting the wine prefix. -RUN wine64 wineboot --init && \ +# Since commit 2146cbfaf037e21de56c7157ec40bb6372860f51, the +# msvc-wine effectively initializes the wine prefix when running +# the install.sh script. + msvc-wine/install.sh /opt/msvc && \ +# Wait until the wineserver process has exited before closing the session, +# to avoid corrupting the wine prefix. while (ps -A | grep wineserver) > /dev/null; do sleep 1; done From db29bf220c73bc71b9d48c262ba2e88c1e741f92 Mon Sep 17 00:00:00 2001 From: Tim Ruffing Date: Tue, 23 May 2023 11:28:47 +0200 Subject: [PATCH 3/3] ci: Remove quirk that runs dummy command after wineserver The underlying issue is now worked around in upstream, see https://github.com/mstorsjo/msvc-wine/issues/47 for details. --- ci/cirrus.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ci/cirrus.sh b/ci/cirrus.sh index b2af03bb5d..5e39e4d518 100755 --- a/ci/cirrus.sh +++ b/ci/cirrus.sh @@ -36,8 +36,7 @@ case "$WRAPPER_CMD" in *wine*) # Make sure to shutdown wineserver whenever we exit. trap "wineserver -k || true" EXIT INT HUP - # This is apparently only reliable when we run a dummy command such as "hh.exe" afterwards. - wineserver -p && wine hh.exe + wineserver -p ;; esac