Your message dated Mon, 13 Jan 2025 12:05:20 +0000
with message-id <[email protected]>
and subject line Bug#1092519: fixed in ionit 0.5.1-1
has caused the Debian Bug report #1092519,
regarding ionit: FTBFS: AssertionError: Regex didn't match: "ERROR:ionit:Failed
to read JSON from '[^']*config/invalid-json/invalid.json': Expecting property
name enclosed in double quotes: line 3 column 1 \\(char 22\\)" not found in
"ERROR:ionit:Failed to read JSON from
'/build/reproducible-path/ionit-0.5.0/tests/config/invalid-json/invalid.json':
Illegal trailing comma before end of object: line 2 column 19 (char 20)"
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.)
--
1092519: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1092519
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: ionit
Version: 0.5.0-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: [email protected]
Usertags: ftbfs-20250107 ftbfs-trixie
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
This build was done using sbuild from bookworm-backports and the unshare
backend.
Relevant part (hopefully):
> make[1]: Entering directory '/build/reproducible-path/ionit-0.5.0'
> dh_auto_build
> I: pybuild base:311: /usr/bin/python3 setup.py build
> running build
> running build_py
> copying ionit_plugin.py ->
> /build/reproducible-path/ionit-0.5.0/.pybuild/cpython3_3.13/build
> running build_scripts
> creating build/scripts-3.13
> copying and adjusting ionit -> build/scripts-3.13
> changing mode of build/scripts-3.13/ionit from 644 to 755
> pandoc -s -t man ionit.1.md -o ionit.1
> make[1]: Leaving directory '/build/reproducible-path/ionit-0.5.0'
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:311: cd
> /build/reproducible-path/ionit-0.5.0/.pybuild/cpython3_3.13/build; python3.13
> -m unittest discover -v -s /build/reproducible-path/ionit-0.5.0
> test_black (tests.test_black.BlackTestCase.test_black)
> Test: Run black code formatter on Python source code. ... Running following
> command:
> black --check --diff -l 99 /build/reproducible-path/ionit-0.5.0/ionit tests
> ionit_plugin.py /build/reproducible-path/ionit-0.5.0/setup.py
> ok
> test_flake8 (tests.test_flake8.Flake8TestCase.test_flake8)
> Test: Run flake8 on Python source code. ... Running following command:
> /usr/bin/python3.13 -m flake8 --max-line-length=99
> /build/reproducible-path/ionit-0.5.0/ionit tests ionit_plugin.py
> /build/reproducible-path/ionit-0.5.0/setup.py
> ok
> test_collect_function
> (tests.test_ionit.TestCollectContext.test_collect_function)
> Test: Run collect_context(["tests/config/function"]) ... ok
> test_collect_static_context
> (tests.test_ionit.TestCollectContext.test_collect_static_context)
> Test: Run collect_context(["tests/config/static"]) ... ok
> test_configuration_file
> (tests.test_ionit.TestCollectContext.test_configuration_file)
> Test: Run collect_context(["tests/config/static/second.yaml"]) ... ok
> test_context_stacking
> (tests.test_ionit.TestCollectContext.test_context_stacking)
> Test: Run collect_context(["tests/config/stacking"]) ... ok
> test_empty_context (tests.test_ionit.TestCollectContext.test_empty_context)
> Test: Run collect_context(["tests/config/empty-context"]) ... ok
> test_empty_python_file
> (tests.test_ionit.TestCollectContext.test_empty_python_file)
> Test: Run collect_context(["tests/config/empty"]) ... ok
> test_ignoring_additional_files
> (tests.test_ionit.TestCollectContext.test_ignoring_additional_files)
> Test: Run collect_context(["tests/config/additional-file"]) ... ok
> test_invalid_json (tests.test_ionit.TestCollectContext.test_invalid_json)
> Test: Run collect_context(["tests/config/invalid-json"]) ... FAIL
> test_invalid_python (tests.test_ionit.TestCollectContext.test_invalid_python)
> Test: Run collect_context(["tests/config/invalid-python"]) ... ok
> test_invalid_yaml (tests.test_ionit.TestCollectContext.test_invalid_yaml)
> Test: Run collect_context(["tests/config/invalid-yaml"]) ... ok
> test_missing_directory
> (tests.test_ionit.TestCollectContext.test_missing_directory)
> Test: Non-existing context directory ... ok
> test_non_dict_context
> (tests.test_ionit.TestCollectContext.test_non_dict_context)
> Test failure for collect_context(["tests/config/non-dict"]) ... ok
> test_python_module (tests.test_ionit.TestCollectContext.test_python_module)
> Test: Run collect_context(["tests/config/python"]) ... ok
> test_raise_exception
> (tests.test_ionit.TestCollectContext.test_raise_exception)
> Test failure for collect_context(["tests/config/exception"]) ... ok
> test_main_append_templates
> (tests.test_ionit.TestMain.test_main_append_templates)
> Test main() with static context and multiple template directories ...
> 2025-01-08 07:09:41,051 ionit INFO: Reading configuration file
> '/build/reproducible-path/ionit-0.5.0/tests/config/static/first.json'...
> 2025-01-08 07:09:41,051 ionit INFO: Reading configuration file
> '/build/reproducible-path/ionit-0.5.0/tests/config/static/second.yaml'...
> 2025-01-08 07:09:41,054 ionit INFO: Rendered
> '/build/reproducible-path/ionit-0.5.0/tests/template/static/counting.jinja'
> to '/build/reproducible-path/ionit-0.5.0/tests/template/static/counting'.
> 2025-01-08 07:09:41,055 ionit INFO: Rendered
> '/build/reproducible-path/ionit-0.5.0/tests/template/static2/counting.jinja'
> to '/build/reproducible-path/ionit-0.5.0/tests/template/static2/counting'.
> ok
> test_main_default_config (tests.test_ionit.TestMain.test_main_default_config)
> Test main() with default config ... 2025-01-08 07:09:41,056 ionit INFO:
> Loading Python module 'function' from
> '/build/reproducible-path/ionit-0.5.0/tests/config/function/function.py'...
> 2025-01-08 07:09:41,057 ionit INFO: Rendered
> '/build/reproducible-path/ionit-0.5.0/tests/template/function/Document.jinja'
> to '/build/reproducible-path/ionit-0.5.0/tests/template/function/Document'.
> ok
> test_main_default_templates_directory
> (tests.test_ionit.TestMain.test_main_default_templates_directory)
> Test main() with default templates directory ... 2025-01-08 07:09:41,058
> ionit INFO: Reading configuration file
> '/build/reproducible-path/ionit-0.5.0/tests/config/static/first.json'...
> 2025-01-08 07:09:41,058 ionit INFO: Reading configuration file
> '/build/reproducible-path/ionit-0.5.0/tests/config/static/second.yaml'...
> 2025-01-08 07:09:41,060 ionit INFO: Rendered
> '/build/reproducible-path/ionit-0.5.0/tests/template/static/counting.jinja'
> to '/build/reproducible-path/ionit-0.5.0/tests/template/static/counting'.
> ok
> test_main_static (tests.test_ionit.TestMain.test_main_static)
> Test main() with static context ... 2025-01-08 07:09:41,061 ionit INFO:
> Reading configuration file
> '/build/reproducible-path/ionit-0.5.0/tests/config/static/first.json'...
> 2025-01-08 07:09:41,061 ionit INFO: Reading configuration file
> '/build/reproducible-path/ionit-0.5.0/tests/config/static/second.yaml'...
> 2025-01-08 07:09:41,062 ionit INFO: Rendered
> '/build/reproducible-path/ionit-0.5.0/tests/template/static/counting.jinja'
> to '/build/reproducible-path/ionit-0.5.0/tests/template/static/counting'.
> ok
> test_attribution_error (tests.test_ionit.TestRendering.test_attribution_error)
> Test: Run render_templates("tests/template/attribution-error") ... ok
> test_missing_context (tests.test_ionit.TestRendering.test_missing_context)
> Test: Missing context for render_templates("tests/template/static") ... ok
> test_render_function (tests.test_ionit.TestRendering.test_render_function)
> Test: Run render_templates("tests/template/function") ... 2025-01-08
> 07:09:41,070 ionit INFO: Rendered
> '/build/reproducible-path/ionit-0.5.0/tests/template/function/Document.jinja'
> to '/build/reproducible-path/ionit-0.5.0/tests/template/function/Document'.
> ok
> test_render_invalid (tests.test_ionit.TestRendering.test_render_invalid)
> Test: Run render_templates("tests/template/invalid") ... ok
> test_render_static (tests.test_ionit.TestRendering.test_render_static)
> Test: Run render_templates("tests/template/static") ... 2025-01-08
> 07:09:41,073 ionit INFO: Rendered
> '/build/reproducible-path/ionit-0.5.0/tests/template/static/counting.jinja'
> to '/build/reproducible-path/ionit-0.5.0/tests/template/static/counting'.
> ok
> test_render_write_protected
> (tests.test_ionit.TestRendering.test_render_write_protected)
> Test: Run render_templates("tests/template/static"), but write protected ...
> ok
> test_isort (tests.test_isort.IsortTestCase.test_isort)
> Test: Run isort on Python source code. ... Running following command:
> isort --check-only --diff -l 99 -p ionit_plugin
> /build/reproducible-path/ionit-0.5.0/ionit tests ionit_plugin.py
> /build/reproducible-path/ionit-0.5.0/setup.py
> ok
> test_file_not_open_mocked
> (tests.test_mock_open.MockTest.test_file_not_open_mocked)
> Test not opening the mocked file ... ok
> test_file_open_not_mocked
> (tests.test_mock_open.MockTest.test_file_open_not_mocked)
> Test opening a not mocked file ... ok
> test_open_same_file_twice
> (tests.test_mock_open.MockTest.test_open_same_file_twice)
> Test opening the same mocked file twice ... ok
> test_raise_exception (tests.test_mock_open.MockTest.test_raise_exception)
> Test raising an exception on mocked open() ... ok
> test_pylint (tests.test_pylint.PylintTestCase.test_pylint)
> Test: Run pylint on Python source code. ... Running following command:
> /usr/bin/python3.13 -m pylint
> --rcfile=/build/reproducible-path/ionit-0.5.0/tests/pylint.conf --
> /build/reproducible-path/ionit-0.5.0/ionit tests ionit_plugin.py
> /build/reproducible-path/ionit-0.5.0/setup.py
> ok
>
> ======================================================================
> FAIL: test_invalid_json
> (tests.test_ionit.TestCollectContext.test_invalid_json)
> Test: Run collect_context(["tests/config/invalid-json"])
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/build/reproducible-path/ionit-0.5.0/tests/test_ionit.py", line 115,
> in test_invalid_json
> self.assertRegex(
> ~~~~~~~~~~~~~~~~^
> context_manager.output[0],
> ^^^^^^^^^^^^^^^^^^^^^^^^^^
> ...<4 lines>...
> ),
> ^^
> )
> ^
> AssertionError: Regex didn't match: "ERROR:ionit:Failed to read JSON from
> '[^']*config/invalid-json/invalid.json': Expecting property name enclosed in
> double quotes: line 3 column 1 \\(char 22\\)" not found in
> "ERROR:ionit:Failed to read JSON from
> '/build/reproducible-path/ionit-0.5.0/tests/config/invalid-json/invalid.json':
> Illegal trailing comma before end of object: line 2 column 19 (char 20)"
>
> ----------------------------------------------------------------------
> Ran 32 tests in 6.439s
>
> FAILED (failures=1)
> E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd
> /build/reproducible-path/ionit-0.5.0/.pybuild/cpython3_3.13/build; python3.13
> -m unittest discover -v -s /build/reproducible-path/ionit-0.5.0
> dh_auto_test: error: pybuild --test -i python{version} -p 3.13 returned exit
> code 13
The full build log is available from:
http://qa-logs.debian.net/2025/01/07/ionit_0.5.0-2_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250107;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250107&[email protected]&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 ---
Source: ionit
Source-Version: 0.5.1-1
Done: Benjamin Drung <[email protected]>
We believe that the bug you reported is fixed in the latest version of
ionit, 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 [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Benjamin Drung <[email protected]> (supplier of updated ionit 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 [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Mon, 13 Jan 2025 12:24:28 +0100
Source: ionit
Built-For-Profiles: noudeb
Architecture: source
Version: 0.5.1-1
Distribution: unstable
Urgency: medium
Maintainer: Benjamin Drung <[email protected]>
Changed-By: Benjamin Drung <[email protected]>
Closes: 1092519
Changes:
ionit (0.5.1-1) unstable; urgency=medium
.
* New upstream release
- Adjust for improved JSON error messages in Python 3.13 (Closes: #1092519)
Checksums-Sha1:
228d64082afe9d851c1c5e2f401fbeb321ba4c9a 2326 ionit_0.5.1-1.dsc
b1f05e62a62f5f92c67f1b37d412275f8b63ffc4 15132 ionit_0.5.1.orig.tar.xz
e17830d4b837e575e4f3291b3d69dbe14dfe7792 833 ionit_0.5.1.orig.tar.xz.asc
dcadb5bbaadb410d9fe0cd5e8991ee9ff2fcd7cf 10464 ionit_0.5.1-1.debian.tar.xz
5cf16f20162473dec57a16d830eb8c5036c78f34 9200 ionit_0.5.1-1_source.buildinfo
Checksums-Sha256:
d416510bf873fd2722fc5cbe1cfffa3c724775091c15d7d67a95f16756b2f1e5 2326
ionit_0.5.1-1.dsc
18231275615e0de8c2d5e662e6a6d8032d81a4af65c1bc19fdbd50b26f78f32f 15132
ionit_0.5.1.orig.tar.xz
cf9349466f52d770f5d16e1a170b9739aa7fafbca9fa534531ade859d5fec18e 833
ionit_0.5.1.orig.tar.xz.asc
acb5496095022f8a3f330a5798b3cb036bc31a6057e9af9cb62fd2f1f22aa710 10464
ionit_0.5.1-1.debian.tar.xz
3a9ed66f40889cf4a38bfff288a5b714d7b3c73fca532cecc86569bf7c083e5a 9200
ionit_0.5.1-1_source.buildinfo
Files:
0ab484d94589dc148a17cb267c92e417 2326 utils optional ionit_0.5.1-1.dsc
85a611581157297ec75f27d6c295d1a4 15132 utils optional ionit_0.5.1.orig.tar.xz
9e6a74dd4d27e5b4ba6fb13026a82b79 833 utils optional ionit_0.5.1.orig.tar.xz.asc
fb6e78d3d9075489e6262f5bb6930497 10464 utils optional
ionit_0.5.1-1.debian.tar.xz
3d6b9b236d53bd8a63e03d6cf66bbeea 9200 utils optional
ionit_0.5.1-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEpi0s+9ULm1vzYNVLFZ61xO/Id0wFAmeE+MsACgkQFZ61xO/I
d0zkFw/+PcWXjeAI4BkLg2R59lK9iXLdvowd8cFhEmn/GUk74P6LjAo+m4liFsUb
1frxUWkQQGuvsGgSk6en/IaTpOwJrjX8ysXGeq07pgKYgX3+sR4WytAYMYbGd4yE
3xvgQahdOkAZPzq1zXWEtMobmByybQDJp8qihHGz53I1nAcC3qlP3wtXCAegK9Ii
xlithi4/J4mvyLvMOQrXQ+Nr1rLfX8tVstqmX9zsbDG1WbeANzFqK8eOeAABgS1H
cHhKOAw0cgR2KlqZjzuk8Bo0feZOk7iFMjWzAEp7D20EBfDep38xnagZ8OszP/L3
J4BwDRThQG599Ayl0CmbrDMtUNYfLLYajvPLY330kWU984o4VGm89z+aOPxA0SUW
61HXsIi5PHA4ka26ndwcDMcNW+e757kwH+NhBTrXzA0ibasu3iPwvNuUr3Ry7xoy
sQMWEoIIcWz/N1Fmp4IvLdU6e02+q+gAD+0AxGssscz1EkHQpf6d3uKyusdF1Cs8
8TtNntU2v4oZHIeCUtYbkHVSGNQca/ZK5EXHAc6vK76yikABxShuk2UWwyr409F1
Ze7ZujcERib2ND5w2CnubSs+UqJueoThEbS/YFgp0FHXi66PoQToHyUX4F2o4iJV
q/Ki91h3eG9MQPXmOEF1FAxyVozMWc2ekkvb95vRAUtBuKG7JI4=
=DNpX
-----END PGP SIGNATURE-----
pgpEqKfr8eBNh.pgp
Description: PGP signature
--- End Message ---