It's not normally possible to cross install gstreamer -dev packages on Debian, because of some conflicting gir files. We don't need these and we only care about headers and libraries. Extracting the packages contents manually instead works just fine.
This is what I've been doing for my test VMs images.
From: Rémi Bernon rbernon@codeweavers.com
--- tools/gitlab/image-amd64.docker | 127 +++++++++++++++++++------------- tools/gitlab/image-arm64.docker | 94 +++++++++++++++++++---- 2 files changed, 155 insertions(+), 66 deletions(-)
diff --git a/tools/gitlab/image-amd64.docker b/tools/gitlab/image-amd64.docker index 123085d9ceb..ada2194e5f7 100644 --- a/tools/gitlab/image-amd64.docker +++ b/tools/gitlab/image-amd64.docker @@ -12,56 +12,83 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ chmod +x /usr/sbin/policy-rc.d && \ dpkg --add-architecture i386 && \ apt-get update && \ - apt-get install -y gcc gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 gcc-multilib \ - llvm clang lld \ - git autoconf flex bison perl gettext \ - libasound2-dev:amd64 libasound2-dev:i386 \ - libavutil-dev:amd64 libavutil-dev:i386 \ - libavformat-dev:amd64 libavformat-dev:i386 \ - libavcodec-dev:amd64 libavcodec-dev:i386 \ - libcapi20-dev:amd64 libcapi20-dev:i386 \ - libcups2-dev:amd64 libcups2-dev:i386 \ - libdbus-1-dev:amd64 libdbus-1-dev:i386 \ - libfontconfig-dev:amd64 libfontconfig-dev:i386 \ - libfreetype-dev:amd64 libfreetype-dev:i386 \ - libgl1-mesa-dev:amd64 libgl1-mesa-dev:i386 \ - libgnutls28-dev:amd64 libgnutls28-dev:i386 \ - libgphoto2-dev:amd64 libgphoto2-dev:i386 \ - libice-dev:amd64 libice-dev:i386 \ - libkrb5-dev:amd64 libkrb5-dev:i386 \ - libpcap-dev:amd64 libpcap-dev:i386 \ - libpcsclite-dev:amd64 \ - libpulse-dev:amd64 libpulse-dev:i386 \ - libsane-dev:amd64 libsane-dev:i386 \ - libsdl2-dev:amd64 libsdl2-dev:i386 \ - libswresample-dev:amd64 libswresample-dev:i386 \ - libswscale-dev:amd64 libswscale-dev:i386 \ - libudev-dev:amd64 libudev-dev:i386 \ - libusb-1.0-0-dev:amd64 libusb-1.0-0-dev:i386 \ - libv4l-dev:amd64 libv4l-dev:i386 \ - libvulkan-dev:amd64 libvulkan-dev:i386 \ - libwayland-dev:amd64 libwayland-dev:i386 \ - libx11-dev:amd64 libx11-dev:i386 \ - libxcomposite-dev:amd64 libxcomposite-dev:i386 \ - libxcursor-dev:amd64 libxcursor-dev:i386 \ - libxext-dev:amd64 libxext-dev:i386 \ - libxi-dev:amd64 libxi-dev:i386 \ - libxinerama-dev:amd64 libxinerama-dev:i386 \ - libxkbcommon-dev:amd64 libxkbcommon-dev:i386 \ - libxkbregistry-dev:amd64 libxkbregistry-dev:i386 \ - libxrandr-dev:amd64 libxrandr-dev:i386 \ - libxrender-dev:amd64 libxrender-dev:i386 \ - libxxf86vm-dev:amd64 libxxf86vm-dev:i386 \ - linux-libc-dev:amd64 linux-libc-dev:i386 \ - libunwind-dev:amd64 \ - ocl-icd-opencl-dev:amd64 ocl-icd-opencl-dev:i386 \ - samba-dev:amd64 \ - unixodbc-dev:amd64 unixodbc-dev:i386 \ - x11proto-dev && \ - apt-get install -y ccache netbase curl ca-certificates xserver-xorg-video-dummy xserver-xorg xfonts-base xinit fvwm \ - winbind fonts-liberation2 fonts-noto-core fonts-noto-cjk pulseaudio unzip \ - libgstreamer-plugins-base1.0-dev:i386 libasound2-plugins:i386 libmjpegutils-2.1-0:i386 gstreamer1.0-libav:i386 \ - gstreamer1.0-plugins-base:i386 gstreamer1.0-plugins-good:i386 gstreamer1.0-plugins-bad:i386 gstreamer1.0-plugins-ugly:i386 && \ + apt-get install -y \ + autoconf \ + bison \ + ca-certificates \ + ccache \ + clang gcc gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 gcc-multilib \ + curl \ + flex \ + fonts-liberation2 \ + fonts-noto-cjk \ + fonts-noto-core \ + fvwm \ + gettext \ + git \ + gstreamer1.0-libav:i386 \ + gstreamer1.0-plugins-bad:i386 \ + gstreamer1.0-plugins-base:i386 \ + gstreamer1.0-plugins-good:i386 \ + gstreamer1.0-plugins-ugly:i386 \ + libasound2-dev:amd64 libasound2-dev:i386 \ + libasound2-plugins:i386 \ + libavcodec-dev:amd64 libavcodec-dev:i386 \ + libavformat-dev:amd64 libavformat-dev:i386 \ + libavutil-dev:amd64 libavutil-dev:i386 \ + libcapi20-dev:amd64 libcapi20-dev:i386 \ + libcups2-dev:amd64 libcups2-dev:i386 \ + libdbus-1-dev:amd64 libdbus-1-dev:i386 \ + libfontconfig-dev:amd64 libfontconfig-dev:i386 \ + libfreetype-dev:amd64 libfreetype-dev:i386 \ + libgl1-mesa-dev:amd64 libgl1-mesa-dev:i386 \ + libgnutls28-dev:amd64 libgnutls28-dev:i386 \ + libgphoto2-dev:amd64 libgphoto2-dev:i386 \ + libgstreamer-plugins-base1.0-dev:i386 \ + libice-dev:amd64 libice-dev:i386 \ + libkrb5-dev:amd64 libkrb5-dev:i386 \ + libmjpegutils-2.1-0:i386 \ + libpcap-dev:amd64 libpcap-dev:i386 \ + libpcsclite-dev:amd64 \ + libpulse-dev:amd64 libpulse-dev:i386 \ + libsane-dev:amd64 libsane-dev:i386 \ + libsdl2-dev:amd64 libsdl2-dev:i386 \ + libswresample-dev:amd64 libswresample-dev:i386 \ + libswscale-dev:amd64 libswscale-dev:i386 \ + libudev-dev:amd64 libudev-dev:i386 \ + libunwind-dev:amd64 \ + libusb-1.0-0-dev:amd64 libusb-1.0-0-dev:i386 \ + libv4l-dev:amd64 libv4l-dev:i386 \ + libvulkan-dev:amd64 libvulkan-dev:i386 \ + libwayland-dev:amd64 libwayland-dev:i386 \ + libx11-dev:amd64 libx11-dev:i386 \ + libxcomposite-dev:amd64 libxcomposite-dev:i386 \ + libxcursor-dev:amd64 libxcursor-dev:i386 \ + libxext-dev:amd64 libxext-dev:i386 \ + libxi-dev:amd64 libxi-dev:i386 \ + libxinerama-dev:amd64 libxinerama-dev:i386 \ + libxkbcommon-dev:amd64 libxkbcommon-dev:i386 \ + libxkbregistry-dev:amd64 libxkbregistry-dev:i386 \ + libxrandr-dev:amd64 libxrandr-dev:i386 \ + libxrender-dev:amd64 libxrender-dev:i386 \ + libxxf86vm-dev:amd64 libxxf86vm-dev:i386 \ + linux-libc-dev:amd64 linux-libc-dev:i386 \ + lld \ + llvm \ + netbase \ + ocl-icd-opencl-dev:amd64 ocl-icd-opencl-dev:i386 \ + perl \ + pulseaudio \ + samba-dev:amd64 \ + unixodbc-dev:amd64 unixodbc-dev:i386 \ + unzip \ + winbind \ + x11proto-dev \ + xfonts-base \ + xinit \ + xserver-xorg \ + xserver-xorg-video-dummy \ + && \ apt-get clean && \ curl -L -o /usr/local/bin/sarif-converter https://gitlab.com/ignis-build/sarif-converter/-/releases/permalink/latest/d... && \ chmod +x /usr/local/bin/sarif-converter && \ diff --git a/tools/gitlab/image-arm64.docker b/tools/gitlab/image-arm64.docker index bb78b86a1fd..9f134227785 100644 --- a/tools/gitlab/image-arm64.docker +++ b/tools/gitlab/image-arm64.docker @@ -10,23 +10,85 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ echo '#!/bin/sh' > /usr/sbin/policy-rc.d && \ echo 'exit 101' >> /usr/sbin/policy-rc.d && \ chmod +x /usr/sbin/policy-rc.d && \ + \ apt-get update && \ - apt-get install -y clang git autoconf flex bison perl gettext \ - libasound2-dev libavutil-dev libavformat-dev libavcodec-dev \ - libcapi20-dev libcups2-dev libdbus-1-dev libfontconfig-dev \ - libfreetype-dev libgl1-mesa-dev libgnutls28-dev libgphoto2-dev \ - libice-dev libkrb5-dev libpcap-dev libpcsclite-dev libpulse-dev \ - libsane-dev libsdl2-dev libswresample-dev libswscale-dev \ - libudev-dev libusb-1.0-0-dev libv4l-dev libvulkan-dev \ - libwayland-dev libx11-dev libxcomposite-dev libxcursor-dev \ - libxext-dev libxi-dev libxinerama-dev libxkbcommon-dev \ - libxkbregistry-dev libxrandr-dev libxrender-dev libxxf86vm-dev \ - linux-libc-dev ocl-icd-opencl-dev samba-dev unixodbc-dev \ - libgstreamer-plugins-base1.0-dev libasound2-plugins libmjpegutils-2.1-0 gstreamer1.0-libav \ - gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \ - x11proto-dev && \ - apt-get install -y ccache netbase curl ca-certificates xserver-xorg-video-dummy xserver-xorg xfonts-base xinit fvwm \ - winbind fonts-liberation2 fonts-noto-core fonts-noto-cjk pulseaudio unzip && \ + apt-get install -y \ + autoconf \ + bison \ + ca-certificates \ + ccache \ + clang \ + curl \ + flex \ + fonts-liberation2 \ + fonts-noto-cjk \ + fonts-noto-core \ + fvwm \ + gettext \ + git \ + gstreamer1.0-libav \ + gstreamer1.0-plugins-bad \ + gstreamer1.0-plugins-base \ + gstreamer1.0-plugins-good \ + gstreamer1.0-plugins-ugly \ + libasound2-dev \ + libasound2-plugins \ + libavcodec-dev \ + libavformat-dev \ + libavutil-dev \ + libcapi20-dev \ + libcups2-dev \ + libdbus-1-dev \ + libfontconfig-dev \ + libfreetype-dev \ + libgl1-mesa-dev \ + libgnutls28-dev \ + libgphoto2-dev \ + libgstreamer-plugins-base1.0-dev \ + libice-dev \ + libkrb5-dev \ + libmjpegutils-2.1-0 \ + libpcap-dev \ + libpcsclite-dev \ + libpulse-dev \ + libsane-dev \ + libsdl2-dev \ + libswresample-dev \ + libswscale-dev \ + libudev-dev \ + \ + libusb-1.0-0-dev \ + libv4l-dev \ + libvulkan-dev \ + libwayland-dev \ + libx11-dev \ + libxcomposite-dev \ + libxcursor-dev \ + libxext-dev \ + libxi-dev \ + libxinerama-dev \ + libxkbcommon-dev \ + libxkbregistry-dev \ + libxrandr-dev \ + libxrender-dev \ + libxxf86vm-dev \ + linux-libc-dev \ + lld \ + llvm \ + netbase \ + ocl-icd-opencl-dev \ + perl \ + pulseaudio \ + samba-dev \ + unixodbc-dev \ + unzip \ + winbind \ + x11proto-dev \ + xfonts-base \ + xinit \ + xserver-xorg \ + xserver-xorg-video-dummy \ + && \ apt-get clean && \ curl -s -L https://github.com/mstorsjo/llvm-mingw/releases/download/20250613/llvm-mingw... | tar xJ && \ mv llvm-mingw-20250613-ucrt-ubuntu-22.04-aarch64 /usr/local/llvm-mingw && \
From: Rémi Bernon rbernon@codeweavers.com
--- tools/gitlab/image-amd64.docker | 2 ++ tools/gitlab/image-arm64.docker | 2 ++ 2 files changed, 4 insertions(+)
diff --git a/tools/gitlab/image-amd64.docker b/tools/gitlab/image-amd64.docker index ada2194e5f7..0145cf583f6 100644 --- a/tools/gitlab/image-amd64.docker +++ b/tools/gitlab/image-amd64.docker @@ -39,6 +39,7 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ libcapi20-dev:amd64 libcapi20-dev:i386 \ libcups2-dev:amd64 libcups2-dev:i386 \ libdbus-1-dev:amd64 libdbus-1-dev:i386 \ + libegl-dev:amd64 libegl-dev:i386 \ libfontconfig-dev:amd64 libfontconfig-dev:i386 \ libfreetype-dev:amd64 libfreetype-dev:i386 \ libgl1-mesa-dev:amd64 libgl1-mesa-dev:i386 \ @@ -75,6 +76,7 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ linux-libc-dev:amd64 linux-libc-dev:i386 \ lld \ llvm \ + mesa-vulkan-drivers:amd64 mesa-vulkan-drivers:i386 \ netbase \ ocl-icd-opencl-dev:amd64 ocl-icd-opencl-dev:i386 \ perl \ diff --git a/tools/gitlab/image-arm64.docker b/tools/gitlab/image-arm64.docker index 9f134227785..f63bc08079a 100644 --- a/tools/gitlab/image-arm64.docker +++ b/tools/gitlab/image-arm64.docker @@ -39,6 +39,7 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ libcapi20-dev \ libcups2-dev \ libdbus-1-dev \ + libegl-dev \ libfontconfig-dev \ libfreetype-dev \ libgl1-mesa-dev \ @@ -75,6 +76,7 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ linux-libc-dev \ lld \ llvm \ + mesa-vulkan-drivers \ netbase \ ocl-icd-opencl-dev \ perl \
From: Rémi Bernon rbernon@codeweavers.com
It's not normally possible to cross install gstreamer -dev packages on Debian, because of some conflicting gir files. We don't need these and we only care about headers and libraries. Extracting the packages contents manually instead works just fine. --- tools/gitlab/image-amd64.docker | 26 ++++++++++++++++++-------- tools/gitlab/image-arm64.docker | 12 +++++++++++- 2 files changed, 29 insertions(+), 9 deletions(-)
diff --git a/tools/gitlab/image-amd64.docker b/tools/gitlab/image-amd64.docker index 0145cf583f6..9e826a08e8f 100644 --- a/tools/gitlab/image-amd64.docker +++ b/tools/gitlab/image-amd64.docker @@ -26,13 +26,13 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ fvwm \ gettext \ git \ - gstreamer1.0-libav:i386 \ - gstreamer1.0-plugins-bad:i386 \ - gstreamer1.0-plugins-base:i386 \ - gstreamer1.0-plugins-good:i386 \ - gstreamer1.0-plugins-ugly:i386 \ + gstreamer1.0-libav:amd64 gstreamer1.0-libav:i386 \ + gstreamer1.0-plugins-bad:amd64 gstreamer1.0-plugins-bad:i386 \ + gstreamer1.0-plugins-base:amd64 gstreamer1.0-plugins-base:i386 \ + gstreamer1.0-plugins-good:amd64 gstreamer1.0-plugins-good:i386 \ + gstreamer1.0-plugins-ugly:amd64 gstreamer1.0-plugins-ugly:i386 \ libasound2-dev:amd64 libasound2-dev:i386 \ - libasound2-plugins:i386 \ + libasound2-plugins:amd64 libasound2-plugins:i386 \ libavcodec-dev:amd64 libavcodec-dev:i386 \ libavformat-dev:amd64 libavformat-dev:i386 \ libavutil-dev:amd64 libavutil-dev:i386 \ @@ -43,12 +43,13 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ libfontconfig-dev:amd64 libfontconfig-dev:i386 \ libfreetype-dev:amd64 libfreetype-dev:i386 \ libgl1-mesa-dev:amd64 libgl1-mesa-dev:i386 \ + libglib2.0-dev:amd64 libglib2.0-dev:i386 \ libgnutls28-dev:amd64 libgnutls28-dev:i386 \ libgphoto2-dev:amd64 libgphoto2-dev:i386 \ - libgstreamer-plugins-base1.0-dev:i386 \ libice-dev:amd64 libice-dev:i386 \ libkrb5-dev:amd64 libkrb5-dev:i386 \ - libmjpegutils-2.1-0:i386 \ + libmjpegutils-2.1-0:amd64 libmjpegutils-2.1-0:i386 \ + liborc-0.4-dev:amd64 liborc-0.4-dev:i386 \ libpcap-dev:amd64 libpcap-dev:i386 \ libpcsclite-dev:amd64 \ libpulse-dev:amd64 libpulse-dev:i386 \ @@ -81,6 +82,7 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ ocl-icd-opencl-dev:amd64 ocl-icd-opencl-dev:i386 \ perl \ pulseaudio \ + rsync \ samba-dev:amd64 \ unixodbc-dev:amd64 unixodbc-dev:i386 \ unzip \ @@ -91,6 +93,14 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ xserver-xorg \ xserver-xorg-video-dummy \ && \ + apt-get download -y \ + libgstreamer-plugins-base1.0-dev:amd64 libgstreamer-plugins-base1.0-dev:i386 \ + libgstreamer1.0-dev:amd64 libgstreamer1.0-dev:i386 \ + && \ + (for deb in *.deb; do dpkg-deb -x $deb /dpkg; done) && \ + rsync -arxv /dpkg/usr/include/ /usr/include/ && \ + rsync -arxv /dpkg/usr/lib/ /usr/lib/ && \ + rm -rf /dpkg && \ apt-get clean && \ curl -L -o /usr/local/bin/sarif-converter https://gitlab.com/ignis-build/sarif-converter/-/releases/permalink/latest/d... && \ chmod +x /usr/local/bin/sarif-converter && \ diff --git a/tools/gitlab/image-arm64.docker b/tools/gitlab/image-arm64.docker index f63bc08079a..9caa80c916c 100644 --- a/tools/gitlab/image-arm64.docker +++ b/tools/gitlab/image-arm64.docker @@ -43,12 +43,13 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ libfontconfig-dev \ libfreetype-dev \ libgl1-mesa-dev \ + libglib2.0-dev \ libgnutls28-dev \ libgphoto2-dev \ - libgstreamer-plugins-base1.0-dev \ libice-dev \ libkrb5-dev \ libmjpegutils-2.1-0 \ + liborc-0.4-dev \ libpcap-dev \ libpcsclite-dev \ libpulse-dev \ @@ -81,6 +82,7 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ ocl-icd-opencl-dev \ perl \ pulseaudio \ + rsync \ samba-dev \ unixodbc-dev \ unzip \ @@ -91,6 +93,14 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ xserver-xorg \ xserver-xorg-video-dummy \ && \ + apt-get download -y \ + libgstreamer-plugins-base1.0-dev \ + libgstreamer1.0-dev \ + && \ + (for deb in *.deb; do dpkg-deb -x $deb /dpkg; done) && \ + rsync -arxv /dpkg/usr/include/ /usr/include/ && \ + rsync -arxv /dpkg/usr/lib/ /usr/lib/ && \ + rm -rf /dpkg && \ apt-get clean && \ curl -s -L https://github.com/mstorsjo/llvm-mingw/releases/download/20250613/llvm-mingw... | tar xJ && \ mv llvm-mingw-20250613-ucrt-ubuntu-22.04-aarch64 /usr/local/llvm-mingw && \
From: Rémi Bernon rbernon@codeweavers.com
--- tools/gitlab/image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/gitlab/image.yml b/tools/gitlab/image.yml index bb611868460..0a60ead28ba 100644 --- a/tools/gitlab/image.yml +++ b/tools/gitlab/image.yml @@ -3,7 +3,7 @@ .build-image: stage: image rules: - - if: $CI_PIPELINE_SOURCE == 'push' && $CI_PROJECT_PATH == "wine/wine" && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + - if: $CI_PIPELINE_SOURCE == 'merge_request_event' changes: - tools/gitlab/image.yml - tools/gitlab/image-amd64.docker
Alfred Agrell (@Alcaro) commented about tools/gitlab/image-arm64.docker:
libglib2.0-dev \
libgnutls28-dev \
libgphoto2-dev \
libice-dev \
libkrb5-dev \
libmjpegutils-2.1-0 \
liborc-0.4-dev \
libpcap-dev \
libpcsclite-dev \
libpulse-dev \
libsane-dev \
libsdl2-dev \
libswresample-dev \
libswscale-dev \
libudev-dev \
\
Is this empty line intentional?
Alfred Agrell (@Alcaro) commented about tools/gitlab/image-arm64.docker:
unzip \
winbind \
x11proto-dev \
xfonts-base \
xinit \
xserver-xorg \
xserver-xorg-video-dummy \
&& \
- apt-get download -y \
libgstreamer-plugins-base1.0-dev \
libgstreamer1.0-dev \
&& \
- (for deb in *.deb; do dpkg-deb -x $deb /dpkg; done) && \
- rsync -arxv /dpkg/usr/include/ /usr/include/ && \
- rsync -arxv /dpkg/usr/lib/ /usr/lib/ && \
- rm -rf /dpkg && \
Is this needed on arm64? I thought the problems only start if you try to install those packages for multiple archs.
Or is it just for consistency with amd64?
Alfred Agrell (@Alcaro) commented about tools/gitlab/image-amd64.docker:
linux-libc-dev:amd64 linux-libc-dev:i386 \
libunwind-dev:amd64 \
ocl-icd-opencl-dev:amd64 ocl-icd-opencl-dev:i386 \
samba-dev:amd64 \
unixodbc-dev:amd64 unixodbc-dev:i386 \
x11proto-dev && \
- apt-get install -y ccache netbase curl ca-certificates xserver-xorg-video-dummy xserver-xorg xfonts-base xinit fvwm \
winbind fonts-liberation2 fonts-noto-core fonts-noto-cjk pulseaudio unzip \
libgstreamer-plugins-base1.0-dev:i386 libasound2-plugins:i386 libmjpegutils-2.1-0:i386 gstreamer1.0-libav:i386 \
gstreamer1.0-plugins-base:i386 gstreamer1.0-plugins-good:i386 gstreamer1.0-plugins-bad:i386 gstreamer1.0-plugins-ugly:i386 && \
- apt-get install -y \
autoconf \
bison \
ca-certificates \
ccache \
clang gcc gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 gcc-multilib \
Are those special enough to warrant being on the same line?
Alfred Agrell (@Alcaro) commented about tools/gitlab/image-amd64.docker:
libxcursor-dev:amd64 libxcursor-dev:i386 \
libxext-dev:amd64 libxext-dev:i386 \
libxi-dev:amd64 libxi-dev:i386 \
libxinerama-dev:amd64 libxinerama-dev:i386 \
libxkbcommon-dev:amd64 libxkbcommon-dev:i386 \
libxkbregistry-dev:amd64 libxkbregistry-dev:i386 \
libxrandr-dev:amd64 libxrandr-dev:i386 \
libxrender-dev:amd64 libxrender-dev:i386 \
libxxf86vm-dev:amd64 libxxf86vm-dev:i386 \
linux-libc-dev:amd64 linux-libc-dev:i386 \
lld \
llvm \
mesa-vulkan-drivers:amd64 mesa-vulkan-drivers:i386 \
netbase \
ocl-icd-opencl-dev:amd64 ocl-icd-opencl-dev:i386 \
perl \
I'm pretty sure Perl is installed on every Debian.
But being explicit about dependencies always helps. Let's keep it.
On Thu Aug 28 09:19:16 2025 +0000, Alfred Agrell wrote:
Is this needed on arm64? I thought the problems only start if you try to install those packages for multiple archs. Or is it just for consistency with amd64?
The latter, yes, same for empty lines, makes comparison between two files much easier.
On Thu Aug 28 09:19:16 2025 +0000, Alfred Agrell wrote:
Are those special enough to warrant being on the same line?
Same reason.
On Thu Aug 28 09:29:48 2025 +0000, Rémi Bernon wrote:
The latter, yes, same for empty lines, makes comparison between two files much easier.
I think it would be better to simply install the packages on arm64. I also don't see the point of empty lines, a diff would work just as well without them.
On Thu Aug 28 09:39:28 2025 +0000, Alexandre Julliard wrote:
I think it would be better to simply install the packages on arm64. I also don't see the point of empty lines, a diff would work just as well without them.
Perhaps we should even install the amd64 package normally, and only extract the i386 one like this.
(I'd also consider replacing rsync with cp --archive --reflink --update=none, one package less. But your choice, maybe rsync does something clever.)