Your message dated Wed, 14 May 2025 16:05:36 +0000 with message-id <E1uFEbw-00Fv6w-UW@fasolo.debian.org> and subject line Bug#1102967: fixed in python-booleanoperations 0.9.0-4 has caused the Debian Bug report #1102967, regarding python-booleanoperations: FTBFS in testing: BooleanTests 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.) -- 1102967: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1102967 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: python-booleanoperations: FTBFS in testing: KeyError: 'setuptools_scm'
- From: Lucas Nussbaum <lucas@debian.org>
- Date: Sun, 13 Apr 2025 14:25:17 +0200
- Message-id: <Z_utLbH6s0nKuQwP@grub.nussbaum.fr>
Source: python-booleanoperations Version: 0.9.0-3 Severity: serious Justification: FTBFS Tags: trixie sid ftbfs User: lucas@debian.org Usertags: ftbfs-20250412 ftbfs-trixie Hi, During a rebuild of all packages in testing (trixie), your package failed to build on amd64. Relevant part (hopefully): > debian/rules binary > dh binary --with python3 --buildsystem=pybuild > dh_update_autotools_config -O--buildsystem=pybuild > dh_autoreconf -O--buildsystem=pybuild > dh_auto_configure -O--buildsystem=pybuild > I: pybuild base:311: python3.13 setup.py config > /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. > !! > > ******************************************************************************** > Requirements should be satisfied by a PEP 517 installer. > If you are using pip, you can try `pip install --use-pep517`. > ******************************************************************************** > > !! > dist.fetch_build_eggs(dist.setup_requires) > WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section' > Traceback (most recent call last): > File "/usr/lib/python3/dist-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject > section = defn.get("tool", {})[tool_name] > ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ > KeyError: 'setuptools_scm' > running config > dh_auto_build -O--buildsystem=pybuild > I: pybuild base:311: /usr/bin/python3 setup.py build > /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. > !! > > ******************************************************************************** > Requirements should be satisfied by a PEP 517 installer. > If you are using pip, you can try `pip install --use-pep517`. > ******************************************************************************** > > !! > dist.fetch_build_eggs(dist.setup_requires) > WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section' > Traceback (most recent call last): > File "/usr/lib/python3/dist-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject > section = defn.get("tool", {})[tool_name] > ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ > KeyError: 'setuptools_scm' > running build > running build_py > creating /build/reproducible-path/python-booleanoperations-0.9.0/.pybuild/cpython3_3.13_booleanOperations/build/booleanOperations > copying Lib/booleanOperations/_version.py -> /build/reproducible-path/python-booleanoperations-0.9.0/.pybuild/cpython3_3.13_booleanOperations/build/booleanOperations > copying Lib/booleanOperations/booleanGlyph.py -> /build/reproducible-path/python-booleanoperations-0.9.0/.pybuild/cpython3_3.13_booleanOperations/build/booleanOperations > copying Lib/booleanOperations/exceptions.py -> /build/reproducible-path/python-booleanoperations-0.9.0/.pybuild/cpython3_3.13_booleanOperations/build/booleanOperations > copying Lib/booleanOperations/flatten.py -> /build/reproducible-path/python-booleanoperations-0.9.0/.pybuild/cpython3_3.13_booleanOperations/build/booleanOperations > copying Lib/booleanOperations/booleanOperationManager.py -> /build/reproducible-path/python-booleanoperations-0.9.0/.pybuild/cpython3_3.13_booleanOperations/build/booleanOperations > copying Lib/booleanOperations/__init__.py -> /build/reproducible-path/python-booleanoperations-0.9.0/.pybuild/cpython3_3.13_booleanOperations/build/booleanOperations > dh_auto_test -O--buildsystem=pybuild > I: pybuild base:311: cd /build/reproducible-path/python-booleanoperations-0.9.0/.pybuild/cpython3_3.13_booleanOperations/build; python3.13 -m pytest tests > ============================= test session starts ============================== > platform linux -- Python 3.13.2, pytest-8.3.5, pluggy-1.5.0 > rootdir: /build/reproducible-path/python-booleanoperations-0.9.0 > configfile: setup.cfg > plugins: typeguard-4.4.2 > collected 47 items > > tests/test_BooleanGlyph.py FFFFFFFF..................................... [ 95%] > .. [100%] > > =================================== FAILURES =================================== > _________________ BooleanTests.test_QTail_reversed_difference __________________ > > self = <tests.test_BooleanGlyph.BooleanTests testMethod=test_QTail_reversed_difference> > > def test(self): > if VERBOSE: > print("test: '%s' for '%s'" % (glyph.name, booleanMethodName)) > testPen = DigestPointPen() > func(*args, outPen=testPen) > expectedPen = DigestPointPen() > expectedGlyph.drawPoints(expectedPen) > > self.assertEqual(testPen.getDigest(), expectedPen.getDigest(), "Glyph name '%s' failed for '%s'." % (glyph.name, booleanMethodName)) > E AssertionError: Tuples differ: (('be[710 chars], ((250.0, 100.0), 'curve', True, None), ((168[1018 chars]ath') != (('be[710 chars], ((249.99999999999997, 100.0), 'curve', True,[1044 chars]ath') > E > E First differing element 14: > E ((250.0, 100.0), 'curve', True, None) > E ((249.99999999999997, 100.0), 'curve', True, None) > E > E Diff is 2102 characters long. Set self.maxDiff to None to see it. : Glyph name 'QTail_reversed' failed for 'difference'. > > tests/test_BooleanGlyph.py:50: AssertionError > ________________ BooleanTests.test_QTail_reversed_intersection _________________ > > self = <tests.test_BooleanGlyph.BooleanTests testMethod=test_QTail_reversed_intersection> > > def test(self): > if VERBOSE: > print("test: '%s' for '%s'" % (glyph.name, booleanMethodName)) > testPen = DigestPointPen() > func(*args, outPen=testPen) > expectedPen = DigestPointPen() > expectedGlyph.drawPoints(expectedPen) > > self.assertEqual(testPen.getDigest(), expectedPen.getDigest(), "Glyph name '%s' failed for '%s'." % (glyph.name, booleanMethodName)) > E AssertionError: Tuples differ: (('be[984 chars].0, 250.0), 'curve', True, None), ((400.0, 332[293 chars]ath') != (('be[984 chars].0, 249.99999999999997), 'curve', True, None),[306 chars]ath') > E > E First differing element 18: > E ((400.0, 250.0), 'curve', True, None) > E ((400.0, 249.99999999999997), 'curve', True, None) > E > E Diff is 1523 characters long. Set self.maxDiff to None to see it. : Glyph name 'QTail_reversed' failed for 'intersection'. > > tests/test_BooleanGlyph.py:50: AssertionError > ____________________ BooleanTests.test_QTail_reversed_union ____________________ > > self = <tests.test_BooleanGlyph.BooleanTests testMethod=test_QTail_reversed_union> > > def test(self): > if VERBOSE: > print("test: '%s' for '%s'" % (glyph.name, booleanMethodName)) > testPen = DigestPointPen() > func(*args, outPen=testPen) > expectedPen = DigestPointPen() > expectedGlyph.drawPoints(expectedPen) > > self.assertEqual(testPen.getDigest(), expectedPen.getDigest(), "Glyph name '%s' failed for '%s'." % (glyph.name, booleanMethodName)) > E AssertionError: Tuples differ: (('be[985 chars].0, 250.0), 'curve', True, None), ((500.0, 388[285 chars]ath') != (('be[985 chars].0, 249.99999999999997), 'curve', True, None),[298 chars]ath') > E > E First differing element 18: > E ((500.0, 250.0), 'curve', True, None) > E ((500.0, 249.99999999999997), 'curve', True, None) > E > E Diff is 1516 characters long. Set self.maxDiff to None to see it. : Glyph name 'QTail_reversed' failed for 'union'. > > tests/test_BooleanGlyph.py:50: AssertionError > _____________________ BooleanTests.test_QTail_reversed_xor _____________________ > > self = <tests.test_BooleanGlyph.BooleanTests testMethod=test_QTail_reversed_xor> > > def test(self): > if VERBOSE: > print("test: '%s' for '%s'" % (glyph.name, booleanMethodName)) > testPen = DigestPointPen() > func(*args, outPen=testPen) > expectedPen = DigestPointPen() > expectedGlyph.drawPoints(expectedPen) > > self.assertEqual(testPen.getDigest(), expectedPen.getDigest(), "Glyph name '%s' failed for '%s'." % (glyph.name, booleanMethodName)) > E AssertionError: Tuples differ: (('be[710 chars], ((250.0, 100.0), 'curve', True, None), ((168[1341 chars]ath') != (('be[710 chars], ((249.99999999999997, 100.0), 'curve', True,[1367 chars]ath') > E > E First differing element 14: > E ((250.0, 100.0), 'curve', True, None) > E ((249.99999999999997, 100.0), 'curve', True, None) > E > E Diff is 2443 characters long. Set self.maxDiff to None to see it. : Glyph name 'QTail_reversed' failed for 'xor'. > > tests/test_BooleanGlyph.py:50: AssertionError > ________________________ BooleanTests.test_Q_difference ________________________ > > self = <tests.test_BooleanGlyph.BooleanTests testMethod=test_Q_difference> > > def test(self): > if VERBOSE: > print("test: '%s' for '%s'" % (glyph.name, booleanMethodName)) > testPen = DigestPointPen() > func(*args, outPen=testPen) > expectedPen = DigestPointPen() > expectedGlyph.drawPoints(expectedPen) > > self.assertEqual(testPen.getDigest(), expectedPen.getDigest(), "Glyph name '%s' failed for '%s'." % (glyph.name, booleanMethodName)) > E AssertionError: Tuples differ: (('be[714 chars]250.0, 100.0), 'curve', True, None), ((168.0, [1022 chars]ath') != (('be[714 chars]250.00000000000003, 100.0), 'curve', True, Non[1048 chars]ath') > E > E First differing element 14: > E ((250.0, 100.0), 'curve', True, None) > E ((250.00000000000003, 100.0), 'curve', True, None) > E > E Diff is 2098 characters long. Set self.maxDiff to None to see it. : Glyph name 'Q' failed for 'difference'. > > tests/test_BooleanGlyph.py:50: AssertionError > _______________________ BooleanTests.test_Q_intersection _______________________ > > self = <tests.test_BooleanGlyph.BooleanTests testMethod=test_Q_intersection> > > def test(self): > if VERBOSE: > print("test: '%s' for '%s'" % (glyph.name, booleanMethodName)) > testPen = DigestPointPen() > func(*args, outPen=testPen) > expectedPen = DigestPointPen() > expectedGlyph.drawPoints(expectedPen) > > self.assertEqual(testPen.getDigest(), expectedPen.getDigest(), "Glyph name '%s' failed for '%s'." % (glyph.name, booleanMethodName)) > E AssertionError: Tuples differ: (('be[973 chars]400.0, 250.0), 'curve', True, None), ((400.0, [296 chars]ath') != (('be[973 chars]400.00000000000006, 250.0), 'curve', True, Non[309 chars]ath') > E > E First differing element 18: > E ((400.0, 250.0), 'curve', True, None) > E ((400.00000000000006, 250.0), 'curve', True, None) > E > E Diff is 1489 characters long. Set self.maxDiff to None to see it. : Glyph name 'Q' failed for 'intersection'. > > tests/test_BooleanGlyph.py:50: AssertionError > __________________________ BooleanTests.test_Q_union ___________________________ > > self = <tests.test_BooleanGlyph.BooleanTests testMethod=test_Q_union> > > def test(self): > if VERBOSE: > print("test: '%s' for '%s'" % (glyph.name, booleanMethodName)) > testPen = DigestPointPen() > func(*args, outPen=testPen) > expectedPen = DigestPointPen() > expectedGlyph.drawPoints(expectedPen) > > self.assertEqual(testPen.getDigest(), expectedPen.getDigest(), "Glyph name '%s' failed for '%s'." % (glyph.name, booleanMethodName)) > E AssertionError: Tuples differ: (('be[476 chars].0, 250.0), 'curve', True, None), ((500.0, 388[1106 chars]ath') != (('be[476 chars].0, 249.99999999999997), 'curve', True, None),[1132 chars]ath') > E > E First differing element 10: > E ((500.0, 250.0), 'curve', True, None) > E ((500.0, 249.99999999999997), 'curve', True, None) > E > E Diff is 1944 characters long. Set self.maxDiff to None to see it. : Glyph name 'Q' failed for 'union'. > > tests/test_BooleanGlyph.py:50: AssertionError > ___________________________ BooleanTests.test_Q_xor ____________________________ > > self = <tests.test_BooleanGlyph.BooleanTests testMethod=test_Q_xor> > > def test(self): > if VERBOSE: > print("test: '%s' for '%s'" % (glyph.name, booleanMethodName)) > testPen = DigestPointPen() > func(*args, outPen=testPen) > expectedPen = DigestPointPen() > expectedGlyph.drawPoints(expectedPen) > > self.assertEqual(testPen.getDigest(), expectedPen.getDigest(), "Glyph name '%s' failed for '%s'." % (glyph.name, booleanMethodName)) > E AssertionError: Tuples differ: (('be[714 chars]250.0, 100.0), 'curve', True, None), ((168.0, [1345 chars]ath') != (('be[714 chars]250.00000000000003, 100.0), 'curve', True, Non[1371 chars]ath') > E > E First differing element 14: > E ((250.0, 100.0), 'curve', True, None) > E ((250.00000000000003, 100.0), 'curve', True, None) > E > E Diff is 2439 characters long. Set self.maxDiff to None to see it. : Glyph name 'Q' failed for 'xor'. > > tests/test_BooleanGlyph.py:50: AssertionError > =========================== short test summary info ============================ > FAILED tests/test_BooleanGlyph.py::BooleanTests::test_QTail_reversed_difference > FAILED tests/test_BooleanGlyph.py::BooleanTests::test_QTail_reversed_intersection > FAILED tests/test_BooleanGlyph.py::BooleanTests::test_QTail_reversed_union - ... > FAILED tests/test_BooleanGlyph.py::BooleanTests::test_QTail_reversed_xor - As... > FAILED tests/test_BooleanGlyph.py::BooleanTests::test_Q_difference - Assertio... > FAILED tests/test_BooleanGlyph.py::BooleanTests::test_Q_intersection - Assert... > FAILED tests/test_BooleanGlyph.py::BooleanTests::test_Q_union - AssertionErro... > FAILED tests/test_BooleanGlyph.py::BooleanTests::test_Q_xor - AssertionError:... > ========================= 8 failed, 39 passed in 0.39s ========================= > E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/python-booleanoperations-0.9.0/.pybuild/cpython3_3.13_booleanOperations/build; python3.13 -m pytest tests > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2025/04/12/python-booleanoperations_0.9.0-3_testing.log All bugs filed during this archive rebuild are listed at: https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250412;users=lucas@debian.org or: https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250412&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! If you reassign this bug to another package, please mark it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.
--- End Message ---
--- Begin Message ---
- To: 1102967-close@bugs.debian.org
- Subject: Bug#1102967: fixed in python-booleanoperations 0.9.0-4
- From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>
- Date: Wed, 14 May 2025 16:05:36 +0000
- Message-id: <E1uFEbw-00Fv6w-UW@fasolo.debian.org>
- Reply-to: Bastian Germann <bage@debian.org>
Source: python-booleanoperations Source-Version: 0.9.0-4 Done: Bastian Germann <bage@debian.org> We believe that the bug you reported is fixed in the latest version of python-booleanoperations, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 1102967@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Bastian Germann <bage@debian.org> (supplier of updated python-booleanoperations package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@ftp-master.debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Wed, 14 May 2025 17:43:16 +0200 Source: python-booleanoperations Architecture: source Version: 0.9.0-4 Distribution: unstable Urgency: medium Maintainer: Debian Fonts Task Force <debian-fonts@lists.debian.org> Changed-By: Bastian Germann <bage@debian.org> Closes: 1102967 Changes: python-booleanoperations (0.9.0-4) unstable; urgency=medium . * Approximate pen point (Closes: #1102967) . [ Boyuan Yang ] * debian/watch: Fix Checksums-Sha1: 588370667ae38450ba3d0a999d1c29a2af2a7c19 2211 python-booleanoperations_0.9.0-4.dsc dfce7a400061dac8fc3b442fa853ed55c5ca6a6c 3264 python-booleanoperations_0.9.0-4.debian.tar.xz f302c876d45146855f0ce54f24118cbe961035c2 7307 python-booleanoperations_0.9.0-4_source.buildinfo Checksums-Sha256: bd8029c3639b8e8a85084aa2d401789819dc79223054d66f6f816da23d0f1b49 2211 python-booleanoperations_0.9.0-4.dsc da137a088dd88a2a1e31bc3b582eb6e1da476e90d7a992f7ee84ca6418a36339 3264 python-booleanoperations_0.9.0-4.debian.tar.xz 088fb5a9658622a32c1db45c4e198a9d1c0eccdaea0f9066c61fb4dbbfefd2a1 7307 python-booleanoperations_0.9.0-4_source.buildinfo Files: 02c2556354c11152bac788cb524d571d 2211 fonts optional python-booleanoperations_0.9.0-4.dsc fa2b20acf9db5d82e0dca785991eb160 3264 fonts optional python-booleanoperations_0.9.0-4.debian.tar.xz c5e189f3e6af4b046813152cdfd2a3cd 7307 fonts optional python-booleanoperations_0.9.0-4_source.buildinfo -----BEGIN PGP SIGNATURE----- iQHEBAEBCgAuFiEEQGIgyLhVKAI3jM5BH1x6i0VWQxQFAmgkupYQHGJhZ2VAZGVi aWFuLm9yZwAKCRAfXHqLRVZDFC9MC/4qHD9Gv35chMIZPjbQo/MH60I9NMqKTnYi xa8qJb/+UdHFOkvF+Nfz0f1V+BkKjNPk092k31OaSz3bekYa9JdmDu22258Hz8eW hM6CyegOZjaY7YZ2c49ufoIB0n7k3btFQGcuAe5xNfNOwXL1ssCkDbECfPMTXBvb 9kjrusBtBHHHSYbXNmrZpCgrSw5a0yMj/g7ba3RgkTjY1eCFpCYIJbQtq07JEg2P JKRHZIcTpsqckVjFQH8NJN5dNb4MyZa1FS8znvz8HG63bZyooYQYNZRjmrsunT6Z 26ZXn1mS9u1OZiS+vQStj6Q8+hRq4jeDLXeRrXUWfTAlXfv+1JzYVmy/upS4U5Ma 1hWOxwZbKlJZWw9BZBgW4vuxgPi8TFQg0yJ+tAgLiIdTJjAicRUQHbGHp2zmROtk D1ylkPbLEOaDC1Y1TsLwQckhVdneqJWB0+MIL85/QgXpzBy4OkwITG9vh8w2xp2T /hr/TdoVzlKIsBj50h4V7DNcf2Jgj5g= =v4D0 -----END PGP SIGNATURE-----Attachment: pgpTjRCkcvqpc.pgp
Description: PGP signature
--- End Message ---