Source: onionbalance
Version: 0.2.2-1.2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: [email protected]
Usertags: ftbfs-20250414 ftbfs-trixie
Hi,
During a rebuild of all packages in testing (trixie), your package failed
to build on i386.
Relevant part (hopefully):
> make[1]: Entering directory '/build/reproducible-path/onionbalance-0.2.2'
> dh_auto_build
> pybuild --build -i python{version} -p 3.13
> I: pybuild base:311: /usr/bin/python3 setup.py build
> /usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:270:
> UserWarning: Unknown distribution option: 'tests_require'
> warnings.warn(msg)
> running build
> running build_py
> creating
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance
> copying onionbalance/_version.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance
> copying onionbalance/manager.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance
> copying onionbalance/__init__.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance
> creating
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v2
> copying onionbalance/hs_v2/util.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v2
> copying onionbalance/hs_v2/instance.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v2
> copying onionbalance/hs_v2/settings.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v2
> copying onionbalance/hs_v2/manager.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v2
> copying onionbalance/hs_v2/config.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v2
> copying onionbalance/hs_v2/descriptor.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v2
> copying onionbalance/hs_v2/consensus.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v2
> copying onionbalance/hs_v2/eventhandler.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v2
> copying onionbalance/hs_v2/status.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v2
> copying onionbalance/hs_v2/service.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v2
> copying onionbalance/hs_v2/__init__.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v2
> creating
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> copying onionbalance/hs_v3/instance.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> copying onionbalance/hs_v3/stem_controller.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> copying onionbalance/hs_v3/tor_ed25519.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> copying onionbalance/hs_v3/manager.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> copying onionbalance/hs_v3/onionbalance.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> copying onionbalance/hs_v3/descriptor.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> copying onionbalance/hs_v3/consensus.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> copying onionbalance/hs_v3/hashring.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> copying onionbalance/hs_v3/status.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> copying onionbalance/hs_v3/tor_node.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> copying onionbalance/hs_v3/params.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> copying onionbalance/hs_v3/service.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> copying onionbalance/hs_v3/__init__.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3
> creating
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3/ext
> copying onionbalance/hs_v3/ext/slow_ed25519.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3/ext
> copying onionbalance/hs_v3/ext/ed25519_exts_ref.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3/ext
> copying onionbalance/hs_v3/ext/__init__.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v3/ext
> creating
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/common
> copying onionbalance/common/intro_point_set.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/common
> copying onionbalance/common/util.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/common
> copying onionbalance/common/signalhandler.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/common
> copying onionbalance/common/instance.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/common
> copying onionbalance/common/scheduler.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/common
> copying onionbalance/common/descriptor.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/common
> copying onionbalance/common/status.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/common
> copying onionbalance/common/log.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/common
> copying onionbalance/common/__init__.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/common
> copying onionbalance/common/argparser.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/common
> creating
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/config_generator
> copying onionbalance/config_generator/config_generator.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/config_generator
> copying onionbalance/config_generator/__init__.py ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/config_generator
> running egg_info
> creating Onionbalance.egg-info
> writing Onionbalance.egg-info/PKG-INFO
> writing dependency_links to Onionbalance.egg-info/dependency_links.txt
> writing entry points to Onionbalance.egg-info/entry_points.txt
> writing requirements to Onionbalance.egg-info/requires.txt
> writing top-level names to Onionbalance.egg-info/top_level.txt
> writing manifest file 'Onionbalance.egg-info/SOURCES.txt'
> reading manifest file 'Onionbalance.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'COPYING'
> writing manifest file 'Onionbalance.egg-info/SOURCES.txt'
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning:
> Package 'onionbalance.config_generator.data' is absent from the `packages`
> configuration.
> !!
>
>
> ********************************************************************************
> ############################
> # Package would be ignored #
> ############################
> Python recognizes 'onionbalance.config_generator.data' as an
> importable package[^1],
> but it is absent from setuptools' `packages` configuration.
>
> This leads to an ambiguous overall configuration. If you want to
> distribute this
> package, please make sure that 'onionbalance.config_generator.data'
> is explicitly added
> to the `packages` configuration field.
>
> Alternatively, you can also rely on setuptools' discovery methods
> (for example by using `find_namespace_packages(...)`/`find_namespace:`
> instead of `find_packages(...)`/`find:`).
>
> You can read more about "package discovery" on setuptools
> documentation page:
>
> -
> https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
>
> If you don't want 'onionbalance.config_generator.data' to be
> distributed and are
> already explicitly excluding 'onionbalance.config_generator.data' via
> `find_namespace_packages(...)/find_namespace` or
> `find_packages(...)/find`,
> you can try to use `exclude_package_data`, or
> `include-package-data=False` in
> combination with a more fine grained `package-data` configuration.
>
> You can read more about "package data files" on setuptools
> documentation page:
>
> - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
>
>
> [^1]: For Python, any directory (with suitable naming) can be
> imported,
> even if it does not contain any `.py` files.
> On the other hand, currently there is no concept of package data
> directory, all directories are treated like packages.
>
> ********************************************************************************
>
> !!
> check.warn(importable)
> creating
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/config_generator/data
> copying onionbalance/config_generator/data/config.example.yaml ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/config_generator/data
> copying onionbalance/config_generator/data/torrc-instance-v2 ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/config_generator/data
> copying onionbalance/config_generator/data/torrc-instance-v3 ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/config_generator/data
> copying onionbalance/config_generator/data/torrc-server ->
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/config_generator/data
> UPDATING
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/_version.py
> set
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/_version.py
> to '0.2.2'
> PYTHONPATH=. http_proxy='http://127.0.0.1:9/' python3 -m sphinx -N -E -bhtml
> docs docs/_build/html
> Running Sphinx v8.1.3
> loading translations [en]... done
> making output directory... done
> Converting `source_suffix = '.rst'` to `source_suffix = {'.rst':
> 'restructuredtext'}`.
> building [mo]: targets for 0 po files that are out of date
> writing output...
> building [html]: targets for 14 source files that are out of date
> updating environment: [new config] 14 added, 0 changed, 0 removed
> reading sources... [ 7%] changelog
> reading sources... [ 14%] contributors
> reading sources... [ 21%] index
> reading sources... [ 29%] onionbalance-config
> reading sources... [ 36%] use-cases
> reading sources... [ 43%] v2/design
> reading sources... [ 50%] v2/in-depth
> reading sources... [ 57%] v2/installing_ob
> reading sources... [ 64%] v2/installing_tor
> reading sources... [ 71%] v2/running-onionbalance
> reading sources... [ 79%] v2/tutorial-v2
> reading sources... [ 86%] v3/hacking
> reading sources... [ 93%] v3/status-socket
> reading sources... [100%] v3/tutorial-v3
>
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> copying assets...
> copying static files...
> Writing evaluated template result to
> /build/reproducible-path/onionbalance-0.2.2/docs/_build/html/_static/language_data.js
> Writing evaluated template result to
> /build/reproducible-path/onionbalance-0.2.2/docs/_build/html/_static/documentation_options.js
> Writing evaluated template result to
> /build/reproducible-path/onionbalance-0.2.2/docs/_build/html/_static/basic.css
> Writing evaluated template result to
> /build/reproducible-path/onionbalance-0.2.2/docs/_build/html/_static/alabaster.css
> copying static files: done
> copying extra files...
> copying extra files: done
> copying assets: done
> writing output... [ 7%] changelog
> writing output... [ 14%] contributors
> writing output... [ 21%] index
> writing output... [ 29%] onionbalance-config
> writing output... [ 36%] use-cases
> writing output... [ 43%] v2/design
> writing output... [ 50%] v2/in-depth
> writing output... [ 57%] v2/installing_ob
> writing output... [ 64%] v2/installing_tor
> writing output... [ 71%] v2/running-onionbalance
> writing output... [ 79%] v2/tutorial-v2
> writing output... [ 86%] v3/hacking
> writing output... [ 93%] v3/status-socket
> writing output... [100%] v3/tutorial-v3
>
> generating indices... genindex done
> highlighting module code...
> writing additional pages... search done
> copying images... [ 33%] ../obv3_logo.jpg
> copying images... [ 67%] ../onionbalance.png
> copying images... [100%] v3/onionbalance_v3.jpg
>
> dumping search index in English (code: en)... done
> dumping object inventory... done
> build succeeded.
>
> The HTML pages are in docs/_build/html.
> PYTHONPATH=. http_proxy='http://127.0.0.1:9/' python3 -m sphinx -N -E -bman
> docs docs/_build/man
> Running Sphinx v8.1.3
> loading translations [en]... done
> making output directory... done
> Converting `source_suffix = '.rst'` to `source_suffix = {'.rst':
> 'restructuredtext'}`.
> building [mo]: targets for 0 po files that are out of date
> writing output...
> building [man]: all manpages
> updating environment: [new config] 14 added, 0 changed, 0 removed
> reading sources... [ 7%] changelog
> reading sources... [ 14%] contributors
> reading sources... [ 21%] index
> reading sources... [ 29%] onionbalance-config
> reading sources... [ 36%] use-cases
> reading sources... [ 43%] v2/design
> reading sources... [ 50%] v2/in-depth
> reading sources... [ 57%] v2/installing_ob
> reading sources... [ 64%] v2/installing_tor
> reading sources... [ 71%] v2/running-onionbalance
> reading sources... [ 79%] v2/tutorial-v2
> reading sources... [ 86%] v3/hacking
> reading sources... [ 93%] v3/status-socket
> reading sources... [100%] v3/tutorial-v3
>
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> copying assets...
> copying assets: done
> writing... onionbalance.1 {
> onionbalance-config
> } onionbalance-config.1 {
> } done
> build succeeded.
>
> The manual pages are in docs/_build/man.
> rm -rf ./build/html/.doctrees
> make[1]: Leaving directory '/build/reproducible-path/onionbalance-0.2.2'
> dh_auto_test -O--buildsystem=pybuild
> pybuild --test --test-pytest -i python{version} -p 3.13
> I: pybuild pybuild:308: cp -r
> /build/reproducible-path/onionbalance-0.2.2/test
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build
> I: pybuild base:311: cd
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build;
> python3.13 -m pytest --ignore=test/functional
> ============================= test session starts
> ==============================
> platform linux -- Python 3.13.2, pytest-8.3.5, pluggy-1.5.0
> rootdir: /build/reproducible-path/onionbalance-0.2.2
> configfile: setup.cfg
> plugins: typeguard-4.4.2, mock-3.14.0
> collected 46 items
>
> test/v2/test_consensus.py .... [
> 8%]
> test/v2/test_descriptor.py ..... [
> 19%]
> test/v2/test_settings.py .. [
> 23%]
> test/v2/test_util.py ............................ [
> 84%]
> test/v3/test_v3_descriptor.py . [
> 86%]
> test/v3/test_v3_hashring.py F [
> 89%]
> test/v3/test_v3_keys.py . [
> 91%]
> test/v3/test_v3_onionbalance.py F. [
> 95%]
> test/v3/test_v3_status.py ..
> [100%]
>
> =================================== FAILURES
> ===================================
> __________________________ TestHashRing.test_hashring
> __________________________
>
> self = <test_v3_hashring.TestHashRing testMethod=test_hashring>
>
> def test_hashring(self):
> > current_time = datetime.datetime.fromtimestamp(10101010101)
> E OverflowError: timestamp out of range for platform time_t
>
> test/v3/test_v3_hashring.py:40: OverflowError
> __________________ OutdatedConsensus.test_outdated_consensus
> ___________________
>
> self = <test_v3_onionbalance.OutdatedConsensus
> testMethod=test_outdated_consensus>
>
> def test_outdated_consensus(self):
> > current_time = datetime.datetime.fromtimestamp(10101010101)
> E OverflowError: timestamp out of range for platform time_t
>
> test/v3/test_v3_onionbalance.py:16: OverflowError
> =============================== warnings summary
> ===============================
> .pybuild/cpython3_3.13_onionbalance/build/test/v2/test_descriptor.py::test_generate_service_descriptor
> .pybuild/cpython3_3.13_onionbalance/build/test/v2/test_descriptor.py::test_generate_service_descriptor
>
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/test/v2/test_descriptor.py:244:
> DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and
> scheduled for removal in a future version. Use timezone-aware objects to
> represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp,
> datetime.UTC).
> return datetime.datetime.utcfromtimestamp(UNIX_TIMESTAMP)
>
> .pybuild/cpython3_3.13_onionbalance/build/test/v2/test_descriptor.py::test_generate_service_descriptor
>
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/test/v2/test_descriptor.py:266:
> DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and
> scheduled for removal in a future version. Use timezone-aware objects to
> represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp,
> datetime.UTC).
> timestamp=datetime.datetime.utcfromtimestamp(UNIX_TIMESTAMP),
>
> .pybuild/cpython3_3.13_onionbalance/build/test/v2/test_descriptor.py::test_generate_service_descriptor_no_intros
>
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build/onionbalance/hs_v2/descriptor.py:26:
> DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled
> for removal in a future version. Use timezone-aware objects to represent
> datetimes in UTC: datetime.datetime.now(datetime.UTC).
> timestamp = datetime.datetime.utcnow()
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info
> ============================
> FAILED test/v3/test_v3_hashring.py::TestHashRing::test_hashring -
> OverflowErr...
> FAILED
> test/v3/test_v3_onionbalance.py::OutdatedConsensus::test_outdated_consensus
> =================== 2 failed, 44 passed, 4 warnings in 3.43s
> ===================
> E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd
> /build/reproducible-path/onionbalance-0.2.2/.pybuild/cpython3_3.13_onionbalance/build;
> python3.13 -m pytest --ignore=test/functional
> rm -fr -- /tmp/dh-xdg-rundir-coe1aaXm
> 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/14/onionbalance_0.2.2-1.2_testing-i386.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20250414;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20250414&[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.