Your message dated Sat, 19 Jul 2025 22:01:48 +0000
with message-id <[email protected]>
and subject line unblock orange-canvas-core
has caused the Debian Bug report #1109539,
regarding unblock: orange-canvas-core/0.2.5-2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1109539: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1109539
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: [email protected]
Usertags: unblock

Please unblock package orange-canvas-core

[ Reason ]
Fix FTBFS detected by reproducible builds.

[ Impact ]
Base package for all the orange3 stack.

[ Tests ]
The changes only affect the way the testsuite is run, and they turn an
FTBFS+autopkgtest failure in a success on both counts.

[ Risks ]
Not a leaf package; a few reverse-depends, all part of the orange3 suite.

[ 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

[ Other info ]
Fix for #1098586. The changes are twofold: run the testsuite with a window
manager (because it depends on focus changes and that requires a window
manager), and disable an explicit trigger of the garbage collector in the
testsuite which causes a segmentation fault.

unblock orange-canvas-core/0.2.5-2
diff -Nru orange-canvas-core-0.2.5/debian/changelog 
orange-canvas-core-0.2.5/debian/changelog
--- orange-canvas-core-0.2.5/debian/changelog   2025-01-26 19:37:32.000000000 
+0100
+++ orange-canvas-core-0.2.5/debian/changelog   2025-07-19 16:01:22.000000000 
+0200
@@ -1,3 +1,12 @@
+orange-canvas-core (0.2.5-2) unstable; urgency=medium
+
+  * Run testsuite with a window manager.
+  * Also, disable explicit garbage collection in testsuite.
+  * These two changes, combined, fix "FTBFS: Segmentation fault", thanks
+    to Santiago Vila (Closes: #1098586).
+
+ -- Roland Mas <[email protected]>  Sat, 19 Jul 2025 16:01:22 +0200
+
 orange-canvas-core (0.2.5-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru orange-canvas-core-0.2.5/debian/control 
orange-canvas-core-0.2.5/debian/control
--- orange-canvas-core-0.2.5/debian/control     2025-01-26 19:37:32.000000000 
+0100
+++ orange-canvas-core-0.2.5/debian/control     2025-07-19 15:36:06.000000000 
+0200
@@ -6,9 +6,11 @@
  Debian Science Maintainers 
<[email protected]>,
  Roland Mas <[email protected]>,
 Build-Depends:
+ dbus <!nocheck>,
  debhelper-compat (= 13),
  dh-sequence-numpy3,
  dh-sequence-python3,
+ herbstluftwm,
  pybuild-plugin-pyproject,
  python3-all,
  python3-anyqt (>= 0.2.0),
@@ -19,11 +21,12 @@
  python3-pyqt5,
  python3-pyqt5.qtsvg,
  python3-pytest <!nocheck>,
- python3-pytest-xvfb <!nocheck>,
+ python3-pytestqt <!nocheck>,
  python3-qasync,
  python3-requests-cache,
  python3-setuptools,
  python3-trubar,
+ xvfb,
 Standards-Version: 4.6.2.0
 Homepage: https://orange.biolab.si/
 Vcs-Git: https://salsa.debian.org/science-team/orange-canvas-core.git
diff -Nru 
orange-canvas-core-0.2.5/debian/patches/0001-Disable-explicit-garbage-collection-in-testsuite.patch
 
orange-canvas-core-0.2.5/debian/patches/0001-Disable-explicit-garbage-collection-in-testsuite.patch
--- 
orange-canvas-core-0.2.5/debian/patches/0001-Disable-explicit-garbage-collection-in-testsuite.patch
 1970-01-01 01:00:00.000000000 +0100
+++ 
orange-canvas-core-0.2.5/debian/patches/0001-Disable-explicit-garbage-collection-in-testsuite.patch
 2025-07-19 15:58:15.000000000 +0200
@@ -0,0 +1,20 @@
+From: Roland Mas <[email protected]>
+Date: Sat, 19 Jul 2025 15:23:44 +0200
+Subject: Disable explicit garbage collection in testsuite
+
+---
+ orangecanvas/gui/test.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/orangecanvas/gui/test.py b/orangecanvas/gui/test.py
+index 8382f30..1529a34 100644
+--- a/orangecanvas/gui/test.py
++++ b/orangecanvas/gui/test.py
+@@ -48,7 +48,6 @@ class QCoreAppTestCase(unittest.TestCase):
+ 
+     @classmethod
+     def tearDownClass(cls):
+-        gc.collect()
+         cls.app.setApplicationName(cls.__appname)
+         cls.app.setOrganizationDomain(cls.__appdomain)
+         cls.app.sendPostedEvents(None, 0)
diff -Nru orange-canvas-core-0.2.5/debian/patches/series 
orange-canvas-core-0.2.5/debian/patches/series
--- orange-canvas-core-0.2.5/debian/patches/series      1970-01-01 
01:00:00.000000000 +0100
+++ orange-canvas-core-0.2.5/debian/patches/series      2025-07-19 
15:59:32.000000000 +0200
@@ -0,0 +1 @@
+0001-Disable-explicit-garbage-collection-in-testsuite.patch
diff -Nru orange-canvas-core-0.2.5/debian/rules 
orange-canvas-core-0.2.5/debian/rules
--- orange-canvas-core-0.2.5/debian/rules       2025-01-26 19:37:32.000000000 
+0100
+++ orange-canvas-core-0.2.5/debian/rules       2025-07-19 15:35:27.000000000 
+0200
@@ -1,7 +1,17 @@
 #! /usr/bin/make -f
 
 export PYBUILD_NAME=orange-canvas-core
-export PYBUILD_TEST_ARGS=-k "not test_iconengine"
+export PYBUILD_TEST_ARGS=-k "not test_iconengine" --capture=no
 
 %:
        dh $@ --buildsystem=pybuild
+
+export DISPLAY=:99.0
+
+execute_before_dh_auto_test:
+       /sbin/start-stop-daemon --start --quiet --pidfile 
$(CURDIR)/custom_xvfb.pid --make-pidfile --background --exec /usr/bin/Xvfb -- 
:99
+       /sbin/start-stop-daemon --start --quiet --pidfile 
$(CURDIR)/custom_herbstluftwm.pid --make-pidfile --background --exec 
/usr/bin/herbstluftwm -- --replace
+
+execute_after_dh_auto_test:
+       /sbin/start-stop-daemon --stop --quiet --pidfile 
$(CURDIR)/custom_herbstluftwm.pid --remove-pidfile || true
+       /sbin/start-stop-daemon --stop --quiet --pidfile 
$(CURDIR)/custom_xvfb.pid --remove-pidfile || true
diff -Nru orange-canvas-core-0.2.5/debian/tests/control 
orange-canvas-core-0.2.5/debian/tests/control
--- orange-canvas-core-0.2.5/debian/tests/control       2025-01-26 
19:37:32.000000000 +0100
+++ orange-canvas-core-0.2.5/debian/tests/control       2025-07-19 
15:58:15.000000000 +0200
@@ -1,9 +1,11 @@
 Tests: python
 Depends:
+ dbus,
+ herbstluftwm,
  python3-all,
  python3-orange-canvas-core,
  python3-pyqt5,
  python3-pyqt5.qtsvg,
  python3-pytest,
- python3-pytest-xvfb,
+ xvfb,
 Restrictions: allow-stderr, skip-not-installable, flaky
diff -Nru orange-canvas-core-0.2.5/debian/tests/python 
orange-canvas-core-0.2.5/debian/tests/python
--- orange-canvas-core-0.2.5/debian/tests/python        2025-01-26 
19:37:32.000000000 +0100
+++ orange-canvas-core-0.2.5/debian/tests/python        2025-07-19 
15:58:15.000000000 +0200
@@ -1,6 +1,16 @@
 #!/bin/sh -ex
 
-for py in $(py3versions --supported 2>/dev/null); do
-    echo "Testing with $py: ";
-    $py -m pytest --pyargs orangecanvas -k "not test_iconengine"
+export DISPLAY=:99.0
+
+for py in $(py3versions --supported 2> /dev/null); do
+    tmphome=$(mktemp -d)
+    /sbin/start-stop-daemon --start --quiet --pidfile $tmphome/custom_xvfb.pid 
--make-pidfile --background --exec /usr/bin/Xvfb -- :99
+    /sbin/start-stop-daemon --start --quiet --pidfile 
$tmphome/custom_herbstluftwm.pid --make-pidfile --background --exec 
/usr/bin/herbstluftwm -- --replace
+
+    echo "Testing with $py: "
+    HOME=$tmphome $py -m pytest --pyargs orangecanvas -k "not test_iconengine" 
--capture=no
+
+    /sbin/start-stop-daemon --stop --quiet --pidfile 
$tmphome/custom_herbstluftwm.pid --remove-pidfile || true
+    /sbin/start-stop-daemon --stop --quiet --pidfile $tmphome/custom_xvfb.pid 
--remove-pidfile || true
+    rm -rf $tmphome
 done

--- End Message ---
--- Begin Message ---
Unblocked orange-canvas-core.

--- End Message ---

Reply via email to