Package: release.debian.org Severity: normal X-Debbugs-Cc: free...@packages.debian.org Control: affects -1 + src:freecad User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package freecad (Please provide enough (but not too much) information to help the release team to judge the request efficiently. E.g. by filling in the sections below.) [ Reason ] This update includes a targeted work-around against a crash when running under wayland. The details are in bug #1051296. this bug affects all persons using wayland, so it would be great to have the fix in trixie for much better user experience. [ Impact ] (See above) [ Tests ] freecad has autopkg tests, and O#ve manually tested the cahanges, on wayland and on XOrg [ Risks ] FreeCAD is a leave package, aging in unstable for 10 days now (more if you consider the botched -7 upload, that was my fault) so I consider it low risk. The patch is very small. [ Checklist ] [x] all changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in testing unblock freecad/1.0.0+dfsg-8
diff --git a/debian/changelog b/debian/changelog index 4f2bb2b55..8ea9084f5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +freecad (1.0.0+dfsg-8) unstable; urgency=medium + + * Disable accidential added autopkgtest starttest, which was not ready. + + -- Tobias Frost <t...@debian.org> Mon, 07 Jul 2025 17:48:33 +0200 + +freecad (1.0.0+dfsg-7) unstable; urgency=medium + + * Add patch to workaround crash under wayland (Closes: #1051296) + + -- Tobias Frost <t...@debian.org> Sat, 28 Jun 2025 10:30:28 +0200 + freecad (1.0.0+dfsg-6) unstable; urgency=medium * Add some more paths to d/clean, thanks Wookey for the patch. diff --git a/debian/patches/2080-force-xcb-on-wayland.patch b/debian/patches/2080-force-xcb-on-wayland.patch new file mode 100644 index 000000000..5ac1f84a9 --- /dev/null +++ b/debian/patches/2080-force-xcb-on-wayland.patch @@ -0,0 +1,42 @@ +Description: Workaround for bug in src:coin3d (#1050302) causing a crash under Wayland + FreeCAD crashes on Wayland due to Coin3D requiring a current GL context + during initialization. Qt uses EGL on Wayland, which leads to missing + context at that point. Forcing the X11 (xcb) backend avoids the issue by + using the GLX path, which satisfies Coin3D's expectations. + This is a temporary workaround until coin3d is updated. +Author: Tobias Frost <t...@debian.org> +Bug: https://github.com/FreeCAD/FreeCAD/issues/9273 +Bug-Debian: https://bugs.debian.org/1051296 +Forwarded: not-needed +Last-Update: 2025-06-28 <YYYY-MM-DD, last update of the meta-information, optional> +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/src/Main/MainGui.cpp ++++ b/src/Main/MainGui.cpp +@@ -57,6 +57,10 @@ + #include <Base/Exception.h> + #include <Gui/Application.h> + ++// workaround for #1050302 ++#include <cstdlib> ++#include <cstring> ++#include <iostream> + + void PrintInitHelp(); + +@@ -97,6 +101,15 @@ + + int main(int argc, char** argv) + { ++ ++ // workaround for #1050302, crashing under wayland ++ // Check if running under Wayland and QT_QPA_PLATFORM unset. ++ if (std::getenv("WAYLAND_DISPLAY") && !std::getenv("QT_QPA_PLATFORM")) { ++ std::cout << "Wayland detected. Forcing Qt to use X11 backend (xcb) to avoid Coin3D EGL issue.\n"; ++ setenv("QT_QPA_PLATFORM", "xcb", 1); ++ } ++ ++ + #if defined(FC_OS_LINUX) || defined(FC_OS_BSD) + setlocale(LC_ALL, ""); // use native environment settings + setlocale(LC_NUMERIC, "C"); // except for numbers to not break XML import diff --git a/debian/patches/series b/debian/patches/series index e169e7022..52ac756fa 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -10,3 +10,4 @@ 1090-freecad-spelling-allow-one.patch 1091-freecad-spelling-others.patch 1110-GL_MULTISAMPLE.patch +2080-force-xcb-on-wayland.patch