Package: src:python-passlib Version: 1.7.4-4 Severity: serious Tags: ftbfs Dear maintainer:
During a rebuild of all packages in unstable, your package failed to build: -------------------------------------------------------------------------------- [...] debian/rules build dh build --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 running config I: pybuild base:311: python3.12 setup.py config running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:311: /usr/bin/python3.13 setup.py build running build running build_py creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_passlib/build/passlib [... snipped ...] :arg name: name of backend to load, can be any of the following: * ``"any"`` -- use current backend if one is loaded, otherwise load the first available backend. * ``"default"`` -- use the first available backend. * any string in :attr:`backends`, loads specified backend. :param dryrun: If True, this perform all setup actions *except* switching over to the new backend. (this flag is used to implement :meth:`has_backend`). .. versionadded:: 1.7 :raises ValueError: If backend name is unknown. :raises passlib.exc.MissingBackendError: If specific backend is missing; or in the case of ``"any"`` / ``"default"``, if *no* backends are available. :raises passlib.exc.PasslibSecurityError: If ``"any"`` or ``"default"`` was specified, but the only backend available has a PasslibSecurityError. """ # check if active backend is acceptable if (name == "any" and cls.__backend) or (name and name == cls.__backend): return cls.__backend # if this isn't the final subclass, whose bases we can modify, # find that class, and recursively call this method for the proper class. owner = cls._get_backend_owner() if owner is not cls: return owner.set_backend(name, dryrun=dryrun) # pick first available backend if name == "any" or name == "default": default_error = None for name in cls.backends: try: return cls.set_backend(name, dryrun=dryrun) except exc.MissingBackendError: continue except exc.PasslibSecurityError as err: # backend is available, but refuses to load due to security issue. if default_error is None: default_error = err continue if default_error is None: msg = "%s: no backends available" % cls.name if cls._no_backend_suggestion: msg += cls._no_backend_suggestion default_error = exc.MissingBackendError(msg) > raise default_error E passlib.exc.MissingBackendError: bcrypt: no backends available -- recommend you install one (e.g. 'pip install bcrypt') passlib/utils/handlers.py:2175: MissingBackendError _______________ bcrypt_sha256_os_crypt_test.test_using_salt_size _______________ self = <passlib.tests.test_handlers_bcrypt.bcrypt_sha256_os_crypt_test testMethod=test_using_salt_size> def setUp(self): assert self.backend == "os_crypt" if not self.handler.has_backend("os_crypt"): # XXX: currently, any tests that use this are skipped entirely! (see issue 120) > self._patch_safe_crypt() passlib/tests/utils.py:3211: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ passlib/tests/utils.py:3245: in _patch_safe_crypt handler, alt_backend = self._get_safe_crypt_handler_backend() passlib/tests/test_handlers_bcrypt.py:679: in _get_safe_crypt_handler_backend return bcrypt_os_crypt_test._get_safe_crypt_handler_backend() passlib/tests/utils.py:3224: in _get_safe_crypt_handler_backend handler.get_backend() passlib/utils/handlers.py:2087: in get_backend cls.set_backend() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = <class 'passlib.handlers.bcrypt.bcrypt'>, name = 'builtin', dryrun = False @classmethod def set_backend(cls, name="any", dryrun=False): """ Load specified backend. :arg name: name of backend to load, can be any of the following: * ``"any"`` -- use current backend if one is loaded, otherwise load the first available backend. * ``"default"`` -- use the first available backend. * any string in :attr:`backends`, loads specified backend. :param dryrun: If True, this perform all setup actions *except* switching over to the new backend. (this flag is used to implement :meth:`has_backend`). .. versionadded:: 1.7 :raises ValueError: If backend name is unknown. :raises passlib.exc.MissingBackendError: If specific backend is missing; or in the case of ``"any"`` / ``"default"``, if *no* backends are available. :raises passlib.exc.PasslibSecurityError: If ``"any"`` or ``"default"`` was specified, but the only backend available has a PasslibSecurityError. """ # check if active backend is acceptable if (name == "any" and cls.__backend) or (name and name == cls.__backend): return cls.__backend # if this isn't the final subclass, whose bases we can modify, # find that class, and recursively call this method for the proper class. owner = cls._get_backend_owner() if owner is not cls: return owner.set_backend(name, dryrun=dryrun) # pick first available backend if name == "any" or name == "default": default_error = None for name in cls.backends: try: return cls.set_backend(name, dryrun=dryrun) except exc.MissingBackendError: continue except exc.PasslibSecurityError as err: # backend is available, but refuses to load due to security issue. if default_error is None: default_error = err continue if default_error is None: msg = "%s: no backends available" % cls.name if cls._no_backend_suggestion: msg += cls._no_backend_suggestion default_error = exc.MissingBackendError(msg) > raise default_error E passlib.exc.MissingBackendError: bcrypt: no backends available -- recommend you install one (e.g. 'pip install bcrypt') passlib/utils/handlers.py:2175: MissingBackendError ________________ bcrypt_sha256_os_crypt_test.test_using_version ________________ self = <passlib.tests.test_handlers_bcrypt.bcrypt_sha256_os_crypt_test testMethod=test_using_version> def setUp(self): # ensure builtin is enabled for duration of test. if TEST_MODE("full") and self.backend == "builtin": key = "PASSLIB_BUILTIN_BCRYPT" orig = os.environ.get(key) if orig: self.addCleanup(os.environ.__setitem__, key, orig) else: self.addCleanup(os.environ.__delitem__, key) os.environ[key] = "enabled" > super(_bcrypt_sha256_test, self).setUp() passlib/tests/test_handlers_bcrypt.py:585: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ passlib/tests/utils.py:3211: in setUp self._patch_safe_crypt() passlib/tests/utils.py:3245: in _patch_safe_crypt handler, alt_backend = self._get_safe_crypt_handler_backend() passlib/tests/test_handlers_bcrypt.py:679: in _get_safe_crypt_handler_backend return bcrypt_os_crypt_test._get_safe_crypt_handler_backend() passlib/tests/utils.py:3224: in _get_safe_crypt_handler_backend handler.get_backend() passlib/utils/handlers.py:2087: in get_backend cls.set_backend() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = <class 'passlib.handlers.bcrypt.bcrypt'>, name = 'builtin', dryrun = False @classmethod def set_backend(cls, name="any", dryrun=False): """ Load specified backend. :arg name: name of backend to load, can be any of the following: * ``"any"`` -- use current backend if one is loaded, otherwise load the first available backend. * ``"default"`` -- use the first available backend. * any string in :attr:`backends`, loads specified backend. :param dryrun: If True, this perform all setup actions *except* switching over to the new backend. (this flag is used to implement :meth:`has_backend`). .. versionadded:: 1.7 :raises ValueError: If backend name is unknown. :raises passlib.exc.MissingBackendError: If specific backend is missing; or in the case of ``"any"`` / ``"default"``, if *no* backends are available. :raises passlib.exc.PasslibSecurityError: If ``"any"`` or ``"default"`` was specified, but the only backend available has a PasslibSecurityError. """ # check if active backend is acceptable if (name == "any" and cls.__backend) or (name and name == cls.__backend): return cls.__backend # if this isn't the final subclass, whose bases we can modify, # find that class, and recursively call this method for the proper class. owner = cls._get_backend_owner() if owner is not cls: return owner.set_backend(name, dryrun=dryrun) # pick first available backend if name == "any" or name == "default": default_error = None for name in cls.backends: try: return cls.set_backend(name, dryrun=dryrun) except exc.MissingBackendError: continue except exc.PasslibSecurityError as err: # backend is available, but refuses to load due to security issue. if default_error is None: default_error = err continue if default_error is None: msg = "%s: no backends available" % cls.name if cls._no_backend_suggestion: msg += cls._no_backend_suggestion default_error = exc.MissingBackendError(msg) > raise default_error E passlib.exc.MissingBackendError: bcrypt: no backends available -- recommend you install one (e.g. 'pip install bcrypt') passlib/utils/handlers.py:2175: MissingBackendError =============================== warnings summary =============================== passlib/tests/test_context_deprecated.py:17 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_passlib/build/passlib/tests/test_context_deprecated.py:17: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html from pkg_resources import resource_filename .pybuild/cpython3_3.13_passlib/build/passlib/tests/test_apache.py::HtpasswdFileTest::test_02_set_password_default_scheme /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_passlib/build/passlib/apache.py:723: PasslibSecurityWarning: HtpasswdFile: no bcrypt backends available, using fallback for default scheme 'portable' warn("HtpasswdFile: no bcrypt backends available, " .pybuild/cpython3_3.13_passlib/build/passlib/tests/test_crypto_scrypt.py: 11 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_passlib/build/passlib/crypto/scrypt/__init__.py:162: PasslibSecurityWarning: Using builtin scrypt backend, which is 100x slower than is required for adequate security. Installing scrypt support (via 'pip install scrypt') is strongly recommended warn("Using builtin scrypt backend, which is %dx slower than is required " -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED passlib/tests/test_handlers.py::des_crypt_os_crypt_test::test_82_crypt_support FAILED passlib/tests/test_handlers.py::md5_crypt_os_crypt_test::test_82_crypt_support FAILED passlib/tests/test_handlers.py::sha256_crypt_os_crypt_test::test_82_crypt_support FAILED passlib/tests/test_handlers.py::sha512_crypt_os_crypt_test::test_82_crypt_support FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_01_required_attributes FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_02_config_workflow FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_02_using_workflow FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_03_hash_workflow FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_03_legacy_hash_workflow FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_04_hash_types FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_05_backends FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_10_optional_salt_attributes FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_11_unique_salt FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_12_min_salt_size FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_13_max_salt_size FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_14_salt_chars FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_15_salt_type FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_20_optional_rounds_attributes FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_21_min_rounds FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_21b_max_rounds FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_30_HasManyIdents FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_61_secret_case_sensitive FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_62_secret_border FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_63_large_secret FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_64_forbidden_chars FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_70_hashes FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_70_parsehash FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_71_alternates FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_71_parsehash_results FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_72_configs FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_73_unidentified FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_74_malformed FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_75_foreign FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_76_hash_border FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_77_fuzz_input FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_78_fuzz_threading FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_80_faulty_crypt FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_81_crypt_fallback FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_82_crypt_support FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_90_bcrypt_padding FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_disable_and_enable FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_many_idents_using FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_replace_w_max_rounds FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_and_needs_update FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_harness FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_w_default_rounds FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_w_min_rounds FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_w_rounds FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_w_vary_rounds_generation FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_has_rounds_using_w_vary_rounds_parsing FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_needs_update_w_padding FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_secret_w_truncate_size FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_secret_wo_truncate_size FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_truncate_error_setting FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_os_crypt_test::test_using_salt_size FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_01_required_attributes FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_02_config_workflow FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_02_using_workflow FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_03_hash_workflow FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_03_legacy_hash_workflow FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_04_hash_types FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_05_backends FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_10_optional_salt_attributes FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_11_unique_salt FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_12_min_salt_size FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_13_max_salt_size FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_14_salt_chars FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_15_salt_type FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_20_optional_rounds_attributes FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_21_min_rounds FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_21b_max_rounds FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_30_HasManyIdents FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_30_HasOneIdent FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_61_secret_case_sensitive FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_62_secret_border FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_63_large_secret FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_64_forbidden_chars FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_70_hashes FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_70_parsehash FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_71_alternates FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_71_parsehash_results FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_72_configs FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_73_unidentified FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_74_malformed FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_75_foreign FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_76_hash_border FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_77_fuzz_input FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_78_fuzz_threading FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_80_faulty_crypt FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_81_crypt_fallback FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_82_crypt_support FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_calc_digest_v2 FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_disable_and_enable FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_many_idents_using FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_replace_w_max_rounds FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_and_needs_update FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_harness FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_w_default_rounds FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_w_min_rounds FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_w_rounds FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_w_vary_rounds_generation FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_has_rounds_using_w_vary_rounds_parsing FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_secret_w_truncate_size FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_secret_wo_truncate_size FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_truncate_error_setting FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_using_salt_size FAILED passlib/tests/test_handlers_bcrypt.py::bcrypt_sha256_os_crypt_test::test_using_version ==== 107 failed, 1806 passed, 2357 skipped, 13 warnings in 97.32s (0:01:37) ==== E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_passlib/build; python3.13 -m pytest I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_passlib/build; python3.12 -m pytest ============================= test session starts ============================== platform linux -- Python 3.12.8, pytest-8.3.4, pluggy-1.5.0 rootdir: /<<PKGBUILDDIR>> plugins: typeguard-4.4.1 collected 4366 items passlib/tests/test_apache.py ..................ss............. [ 0%] passlib/tests/test_apps.py ........... [ 1%] passlib/tests/test_context.py ...................................... [ 1%] passlib/tests/test_context_deprecated.py ........................ [ 2%] passlib/tests/test_crypto_builtin_md4.py ..... [ 2%] passlib/tests/test_crypto_des.py .... [ 2%] passlib/tests/test_crypto_digest.py ............ [ 2%] passlib/tests/test_crypto_scrypt.py .....s................. [ 3%] passlib/tests/test_ext_django.py ssssssssssssssssssssssss [ 3%] passlib/tests/test_ext_django_source.py s [ 4%] passlib/tests/test_handlers.py ......s......ssss...s..ssss....ssssssssss [ 4%] ss.........s......ssss...s..sss.s...s.sssssssssss...................s... [ 6%] ...sss.s...s..sss.........s...ssssssssssssssssssssssssssssssssssssssssss [ 8%] sssss......s......ssss...s..sssss...sssssssssss.s...............ssss.... [ 9%] ..sss.s...s...ssssssssss.s..ssssssssssssssssssssssssssssssssssssssssssss [ 11%] ss......s.........s...s..sss.....s.ss........s.........sssssssssss...s.. [ 13%] sssss...ssssssssssss..s......sssssssssss...s..sssss...sssssssssss.s..s.. [ 14%] ....sssssssssss...s..sssss...ssssssssssss..s......sssssssssss...s..sssss [ 16%] ...ssssssssssss..s......sssssssssss...s..sssss...ssssssssssss..s......ss [ 18%] sssssssss...s.ssss.s...ss..sssssssssss..s......sssssssssss...s..sssss... [ 19%] ssssssssssss..s......sssssssssss...s..sssss...ssssssssssss..s......s.... [ 21%] ..ssss...s..ssss....ssssssssssss.........s......ssss...s..ssss....ssssss [ 23%] ssssss.........s......ssss...s..ssss....ssssssssssss.........s......ssss [ 24%] ...s..ssss....ssssssssssss.........sssssssssss...s.ssss.s...ssssssssssss [ 26%] ..s.............ssss.....sssss....s..ssssssssssss...ssssssssssssssssssss [ 28%] ssssssssssssssssssssssssss................s.....ssssss..ss..sss........s [ 29%] .........sssssssssss...s..sss.s...s.ssssssssss.s.s.............ssss..... [ 31%] .ssss....s...sssssssssss...sssssssssssssssssssssssssssssssssssssssssssss [ 32%] s......sssssssssss...s...ssss...s...sssssssssss..s......sssssssssss...s. [ 34%] .sssss...s...sssssssssss..s......s......ssss...s...ss.....ssssssssssss.. [ 36%] .......s......ssss...s...ss.....ssssssssssss.........sssssssssss...s..ss [ 37%] s.s...s.sssssssssss..s......sssssssssss...s..sss.s...ssssssssssss..s.... [ 39%] ..sssssssssss...s..sss.s...ssssssssssss..s......sssssssssss...s.ssss.s.. [ 41%] .ssssssssssss..s......sssssssssss...s..sss.s...s...sssssssssss..s......s [ 42%] ......ssss...s..sssss...ssssssssssss.........s.............s..ssss....ss [ 44%] .........s.........sssssssssss...s.sssssss..ssssssssssss..s......sssssss [ 46%] ssss...s..sss.s...s...sssssssssss..s................s......ssss....s..ss [ 47%] s........s...ssssssssssssssssssssssssssssssssssssssssssssss............. [ 49%] ....s......ss.s....s...ss........s...sssssssssssssssssssssssssssssssssss [ 51%] sssssssssss................s......ss.s....s...ss........s...ssssssssssss [ 52%] ssssssssssssssssssssssssssssssssss......s.........s...s..ss.s....sss.... [ 54%] ....s.........sssssssssss...s.ssss.s..ss..ssssssssss..s......sssssssssss [ 56%] ...s..ssssss.ss...ssssssssss..s [ 56%] passlib/tests/test_handlers_argon2.py ssssssssssssssssssssssssssssssssss [ 57%] ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 59%] ss [ 59%] passlib/tests/test_handlers_bcrypt.py ssssssssssssssssssssssssssssssssss [ 60%] ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 61%] ssssssssssssssssssssssssssssssssssssss.......................ss......s.. [ 63%] sss...........s..sssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 64%] ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 66%] ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss.... [ 68%] ............s....s..ss.s....s..s.ss........s....ssssssssssssssssssssssss [ 69%] sssssssssssssssssssssssss [ 70%] passlib/tests/test_handlers_cisco.py ......sssssssssss...s..sssss...s... [ 71%] .ssssssssss.s.s......sssssssssss...s..sssss...s....ssssssssss.s.s......s [ 72%] s.sss.ssss...s..sss.s...s..sssssssssss..s [ 73%] passlib/tests/test_handlers_django.py ......sssssssssss...s...ssss..ss.s [ 74%] sssssssss..s......s......ssss...s...ss.....sssssssssssss.s........s..... [ 76%] .ssss...s..sss.....ssssssssssssss.........s......ssss...s..sss.....sssss [ 77%] sssssssss.........s.........s...s..sssss...sssss........s.........s..... [ 79%] ....s...s..sssss...sssss........s...................s.....ssssss...sssss [ 81%] .........s......................s..sssss...ssss.........s... [ 82%] passlib/tests/test_handlers_pbkdf2.py .......s......ssss...s..ssss....ss [ 83%] ssssssssss.........s.........s...s..ssss....sss........s.........s...... [ 85%] ...s...s..sssss...sss........s.........s.........s...s..sssss...sss..... [ 86%] ...s.........s.........s...s..sssss...sss........s.........s.........s.. [ 88%] .s..sssss...sss........s.........s.........s...s..sssss...sss........s.. [ 90%] .......s.........s...s..ssss....s...........ss........s... [ 91%] passlib/tests/test_handlers_scrypt.py ....................s..ssss....ss. [ 92%] ........s...ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 93%] ssssssssssssssssssssssssssssssss [ 94%] passlib/tests/test_hosts.py ... [ 94%] passlib/tests/test_pwd.py ........ [ 94%] passlib/tests/test_registry.py ...... [ 94%] passlib/tests/test_totp.py ss.ss................................... [ 95%] passlib/tests/test_utils.py ............................................ [ 96%] ........... [ 97%] passlib/tests/test_utils_handlers.py ..........................sssssssss [ 97%] ss...s..sssss...s.sssssssssss..s......s......ssss...s..sssss...s.sssssss [ 99%] ssss... [ 99%] passlib/tests/test_utils_md4.py ..... [ 99%] passlib/tests/test_utils_pbkdf2.py ....... [ 99%] passlib/tests/test_win32.py .. [100%] =============================== warnings summary =============================== passlib/utils/__init__.py:854 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_passlib/build/passlib/utils/__init__.py:854: DeprecationWarning: 'crypt' is deprecated and slated for removal in Python 3.13 from crypt import crypt as _crypt passlib/tests/test_context_deprecated.py:17 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_passlib/build/passlib/tests/test_context_deprecated.py:17: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html from pkg_resources import resource_filename .pybuild/cpython3_3.12_passlib/build/passlib/tests/test_crypto_scrypt.py: 11 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_passlib/build/passlib/crypto/scrypt/__init__.py:162: PasslibSecurityWarning: Using builtin scrypt backend, which is 100x slower than is required for adequate security. Installing scrypt support (via 'pip install scrypt') is strongly recommended warn("Using builtin scrypt backend, which is %dx slower than is required " -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ========== 2020 passed, 2346 skipped, 13 warnings in 98.80s (0:01:38) ========== dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13 make: *** [debian/rules:6: build] Error 25 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 -------------------------------------------------------------------------------- The above is just how the build ends and not necessarily the most relevant part. If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202412/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you could not reproduce the bug please contact me privately, as I am willing to provide ssh access to a virtual machine where the bug is fully reproducible. If this is really a bug in one of the build-depends, please use reassign and affects, so that this is still visible in the BTS web page for this package. Thanks.