[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1109539: marked as done (unblock: orange-canvas-core/0.2.5-2)



Your message dated Sat, 19 Jul 2025 22:01:48 +0000
with message-id <E1udFcq-007zB2-1p@respighi.debian.org>
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 owner@bugs.debian.org
immediately.)


-- 
1109539: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1109539
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
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 <lolando@debian.org>  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 <debian-science-maintainers@lists.alioth.debian.org>,
  Roland Mas <lolando@debian.org>,
 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 <roland.mas@entierement.net>
+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 to: