From f5a72532ac9bf7009e2a4e96f94e606569d58abb Mon Sep 17 00:00:00 2001 From: YueGuobin Date: Mon, 6 Jul 2026 13:31:07 +0800 Subject: [PATCH] Fix web-wireshark docker build broken by xpra 6.5 release Replace the `xpra=6.4*` version clamp on the apt-get install command line with APT pinning via /etc/apt/preferences.d/pin-xpra. The previous specifier stopped resolving once xpra 6.5 was released: the xpra metapackage was pinned to 6.4 while its sub-packages (xpra-client, xpra-server, xpra-codecs, ...) were unconstrained and defaulted to 6.5, so apt could not satisfy the dependency graph and the "Build Docker images" action failed. Pinning all xpra* packages at the preferences level constrains the whole set consistently (xpra-html5 is handled separately since it follows a different version scheme, locked to v19). Blocking every other version with priority -1 ensures that, if the pinned version ever disappears from the repository, apt fails loudly instead of silently upgrading to the latest release. Fixes GNS3/gns3-registry#1044 --- gns3server/agent/web_wireshark/docker/Dockerfile | 5 +++-- gns3server/agent/web_wireshark/docker/pin-xpra | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 gns3server/agent/web_wireshark/docker/pin-xpra diff --git a/gns3server/agent/web_wireshark/docker/Dockerfile b/gns3server/agent/web_wireshark/docker/Dockerfile index 3f3f39a2e..88efc2419 100644 --- a/gns3server/agent/web_wireshark/docker/Dockerfile +++ b/gns3server/agent/web_wireshark/docker/Dockerfile @@ -15,6 +15,7 @@ RUN sed -i 's|http://deb.debian.org/debian|http://mirrors.aliyun.com/debian|g' / && sed -i 's|http://security.debian.org/debian-security|http://mirrors.aliyun.com/debian-security|g' /etc/apt/sources.list.d/debian.sources # Add xpra official repository +COPY pin-xpra /etc/apt/preferences.d/ RUN apt-get update && apt-get install -y \ ca-certificates \ wget \ @@ -24,11 +25,11 @@ RUN apt-get update && apt-get install -y \ && apt-get update # Install xpra and dependencies -# Lock xpra version for reproducible builds +# Locking of xpra version is done in /etc/apt/preferences.d/pin-xpra RUN apt-get install -y \ wireshark-common \ wireshark \ - xpra=6.4.3* \ + xpra \ xpra-x11 \ xvfb \ curl \ diff --git a/gns3server/agent/web_wireshark/docker/pin-xpra b/gns3server/agent/web_wireshark/docker/pin-xpra new file mode 100644 index 000000000..f2b561657 --- /dev/null +++ b/gns3server/agent/web_wireshark/docker/pin-xpra @@ -0,0 +1,14 @@ +Explanation: Lock Xpra packages to v6.4 +Package: xpra* +Pin: version 6.4* +Pin-Priority: 1000 + +Explanation: xpra-html5 uses different version scheme, lock it to v19 +Package: xpra-html5 +Pin: version 19* +Pin-Priority: 1000 + +Explanation: Block the installation of other xpra versions +Package: xpra* +Pin: version * +Pin-Priority: -1