Package: src:django-oauth-toolkit
Version: 3.0.1-1
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202512/

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 cannot 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 add an affects on src:django-oauth-toolkit, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --with python3,sphinxdoc --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 debian/rules binary
dh binary --with python3,sphinxdoc --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
   dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:131: Building wheel for python3.14 with "build" 
module
I: pybuild base:317: python3.14 -m build --skip-dependency-check --no-isolation 
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_django-oauth-toolkit  
* Building wheel...
No `packages` or `py_modules` configuration, performing automatic discovery.

[... snipped ...]

           ^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/base.py:175: in render
    return self._render(context)
           ^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/utils.py:111: in 
instrumented_test_render
    template_rendered.send(sender=self, template=self, context=context)
/usr/lib/python3/dist-packages/django/dispatch/dispatcher.py:177: in send
    (receiver, receiver(signal=self, sender=sender, **named))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/client.py:267: in 
store_rendered_templates
    store["context"].append(copy(context))
                            ^^^^^^^^^^^^^
/usr/lib/python3.14/copy.py:82: in copy
    return copier(x)
           ^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/context.py:158: in __copy__
    duplicate = super().__copy__()
                ^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = [{'True': True, 'False': False, 'None': None}, {'is_email': True, 
'unicode_hint': '', 'frames': [{'exc_cause': None, '...lf):'], 
'pre_context_lineno': 32, 'colno': '\n            ^^^^^^^^^^^^^^^', 
'tb_area_colno': '\n    ^^^^^^^^^^^^^^^'}}]

    def __copy__(self):
        duplicate = copy(super())
>       duplicate.dicts = self.dicts[:]
        ^^^^^^^^^^^^^^^
E       AttributeError: 'super' object has no attribute 'dicts' and no __dict__ 
for setting new attributes

/usr/lib/python3/dist-packages/django/template/context.py:39: AttributeError

During handling of the above exception, another exception occurred:

self = <tests.test_ui_locales.TestUILocalesParam 
testMethod=test_application_ui_locales_param>

    def test_application_ui_locales_param(self):
>       response = self.client.get(
            
f"{self.url}?response_type=code&client_id=test&scope=openid&ui_locales=de",
        )

tests/test_ui_locales.py:46: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3/dist-packages/django/test/client.py:927: in get
    response = super().get(path, data=data, secure=secure, headers=headers, 
**extra)
               
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/client.py:457: in get
    return self.generic(
/usr/lib/python3/dist-packages/django/test/client.py:609: in generic
    return self.request(**r)
           ^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/client.py:886: in request
    response = self.handler(environ)
               ^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/client.py:176: in __call__
    response = self.get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/core/handlers/base.py:140: in get_response
    response = self._middleware_chain(request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/core/handlers/exception.py:57: in inner
    response = response_for_exception(request, exc)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/core/handlers/exception.py:144: in 
response_for_exception
    log_response(
/usr/lib/python3/dist-packages/django/utils/log.py:246: in log_response
    getattr(logger, level)(
/usr/lib/python3.14/logging/__init__.py:1549: in error
    self._log(ERROR, msg, args, **kwargs)
/usr/lib/python3.14/logging/__init__.py:1665: in _log
    self.handle(record)
/usr/lib/python3.14/logging/__init__.py:1681: in handle
    self.callHandlers(record)
/usr/lib/python3.14/logging/__init__.py:1737: in callHandlers
    hdlr.handle(record)
/usr/lib/python3.14/logging/__init__.py:1027: in handle
    self.emit(record)
/usr/lib/python3/dist-packages/django/utils/log.py:125: in emit
    reporter.get_traceback_text(),
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/views/debug.py:418: in get_traceback_text
    return t.render(c)
           ^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/base.py:175: in render
    return self._render(context)
           ^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/utils.py:111: in 
instrumented_test_render
    template_rendered.send(sender=self, template=self, context=context)
/usr/lib/python3/dist-packages/django/dispatch/dispatcher.py:177: in send
    (receiver, receiver(signal=self, sender=sender, **named))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/lib/python3/dist-packages/django/test/client.py:267: in 
store_rendered_templates
    store["context"].append(copy(context))
                            ^^^^^^^^^^^^^
/usr/lib/python3.14/copy.py:82: in copy
    return copier(x)
           ^^^^^^^^^
/usr/lib/python3/dist-packages/django/template/context.py:158: in __copy__
    duplicate = super().__copy__()
                ^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = [{'True': True, 'False': False, 'None': None}, {'is_email': True, 
'unicode_hint': '', 'frames': [{'exc_cause': None, '...lf):'], 
'pre_context_lineno': 32, 'colno': '\n            ^^^^^^^^^^^^^^^', 
'tb_area_colno': '\n    ^^^^^^^^^^^^^^^'}}]

    def __copy__(self):
        duplicate = copy(super())
>       duplicate.dicts = self.dicts[:]
        ^^^^^^^^^^^^^^^
E       AttributeError: 'super' object has no attribute 'dicts' and no __dict__ 
for setting new attributes

/usr/lib/python3/dist-packages/django/template/context.py:39: AttributeError
------------------------------ Captured log setup ------------------------------
DEBUG    oauth2_provider.models:models.py:42 Test Application: client_secret is 
not hashed; hashing it now.
DEBUG    oauth2_provider.models:models.py:42 Trusted Application: client_secret 
is not hashed; hashing it now.
=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_django-oauth-toolkit/build/tests/test_authorization_code.py:1870:
 DeprecationWarning: 
    assert key.key_type == "oct"

tests/test_introspection_auth.py: 10 warnings
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_django-oauth-toolkit/build/oauth2_provider/oauth2_validators.py:412:
 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).
    expires = datetime.utcfromtimestamp(content["exp"])

tests/test_models.py::test_application_key
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_django-oauth-toolkit/build/tests/test_models.py:549:
 DeprecationWarning: 
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_django-oauth-toolkit/build/tests/test_models.py:560:
 DeprecationWarning: 
    assert key.key_type == "oct"

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED 
tests/test_application_views.py::TestApplicationViews::test_application_detail_not_owner
FAILED 
tests/test_application_views.py::TestApplicationViews::test_application_detail_owner
FAILED 
tests/test_application_views.py::TestApplicationViews::test_application_list
FAILED 
tests/test_application_views.py::TestApplicationViews::test_application_update
FAILED 
tests/test_authorization_code.py::TestRegressionIssue315::test_request_is_not_overwritten
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeView::test_code_post_auth_fails_when_redirect_uri_path_is_invalid
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeView::test_code_post_auth_forbidden_redirect_uri
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeView::test_code_post_auth_malicious_redirect_uri
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeView::test_pre_auth_approval_prompt
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeView::test_pre_auth_approval_prompt_default
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeView::test_pre_auth_default_redirect
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeView::test_pre_auth_forbibben_redirect
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeView::test_pre_auth_invalid_client
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeView::test_pre_auth_missing_redirect
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeView::test_pre_auth_valid_client
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeView::test_pre_auth_valid_client_custom_redirect_uri_scheme
FAILED 
tests/test_authorization_code.py::TestOIDCAuthorizationCodeView::test_id_token_pre_auth_valid_client
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeTokenView::test_public_pkce_S256_authorize_get
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeTokenView::test_public_pkce_missing_code_challenge_method
FAILED 
tests/test_authorization_code.py::TestAuthorizationCodeTokenView::test_public_pkce_plain_authorize_get
FAILED 
tests/test_authorization_code.py::TestDefaultScopes::test_pre_auth_default_scopes
FAILED 
tests/test_hybrid.py::TestRegressionIssue315Hybrid::test_request_is_not_overwritten_code_id_token
FAILED 
tests/test_hybrid.py::TestRegressionIssue315Hybrid::test_request_is_not_overwritten_code_id_token_token
FAILED 
tests/test_hybrid.py::TestRegressionIssue315Hybrid::test_request_is_not_overwritten_code_token
FAILED 
tests/test_hybrid.py::TestHybridView::test_code_post_auth_fails_when_redirect_uri_path_is_invalid
FAILED 
tests/test_hybrid.py::TestHybridView::test_code_post_auth_forbidden_redirect_uri
FAILED 
tests/test_hybrid.py::TestHybridView::test_code_post_auth_malicious_redirect_uri
FAILED tests/test_hybrid.py::TestHybridView::test_id_token_pre_auth_valid_client
FAILED tests/test_hybrid.py::TestHybridView::test_pre_auth_approval_prompt - ...
FAILED 
tests/test_hybrid.py::TestHybridView::test_pre_auth_approval_prompt_default
FAILED tests/test_hybrid.py::TestHybridView::test_pre_auth_default_redirect
FAILED tests/test_hybrid.py::TestHybridView::test_pre_auth_forbibben_redirect
FAILED tests/test_hybrid.py::TestHybridView::test_pre_auth_invalid_client - A...
FAILED tests/test_hybrid.py::TestHybridView::test_pre_auth_valid_client - Att...
FAILED 
tests/test_hybrid.py::TestHybridView::test_pre_auth_valid_client_custom_redirect_uri_scheme
FAILED 
tests/test_hybrid.py::TestDefaultScopesHybrid::test_pre_auth_default_scopes
FAILED tests/test_hybrid.py::test_claims_passed_to_code_generation - Attribut...
FAILED 
tests/test_implicit.py::TestImplicitAuthorizationCodeView::test_implicit_fails_when_redirect_uri_path_is_invalid
FAILED 
tests/test_implicit.py::TestImplicitAuthorizationCodeView::test_pre_auth_default_redirect
FAILED 
tests/test_implicit.py::TestImplicitAuthorizationCodeView::test_pre_auth_forbibben_redirect
FAILED 
tests/test_implicit.py::TestImplicitAuthorizationCodeView::test_pre_auth_invalid_client
FAILED 
tests/test_implicit.py::TestImplicitAuthorizationCodeView::test_pre_auth_valid_client
FAILED 
tests/test_implicit.py::TestImplicitAuthorizationCodeView::test_pre_auth_valid_client_default_scopes
FAILED tests/test_oidc_views.py::test_rp_initiated_logout_get - AttributeErro...
FAILED tests/test_oidc_views.py::test_rp_initiated_logout_get_revoked_id_token
FAILED 
tests/test_oidc_views.py::test_rp_initiated_logout_get_id_token_missmatch_client_id
FAILED 
tests/test_oidc_views.py::test_rp_initiated_logout_public_client_strict_redirect_client_id
FAILED tests/test_oidc_views.py::test_rp_initiated_logout_get_client_id - Att...
FAILED tests/test_oidc_views.py::test_rp_initiated_logout_post - AttributeErr...
FAILED tests/test_oidc_views.py::test_rp_initiated_logout_expired_tokens_deny
FAILED tests/test_oidc_views.py::test_token_deletion_on_logout_expired_session
FAILED 
tests/test_rest_framework.py::TestOAuth2Authentication::test_invalid_hex_string_in_query
FAILED 
tests/test_rest_framework.py::TestOAuth2Authentication::test_method_scope_alt_missing_attr
FAILED 
tests/test_rest_framework.py::TestOAuth2Authentication::test_method_scope_alt_missing_scope_attr
FAILED 
tests/test_rest_framework.py::TestOAuth2Authentication::test_scope_missing_scope_attr
FAILED 
tests/test_token_view.py::TestAuthorizedTokenListView::test_empty_list_view
FAILED 
tests/test_token_view.py::TestAuthorizedTokenListView::test_list_view_one_token
FAILED 
tests/test_token_view.py::TestAuthorizedTokenListView::test_list_view_shows_correct_user_token
FAILED 
tests/test_token_view.py::TestAuthorizedTokenListView::test_list_view_two_tokens
FAILED 
tests/test_token_view.py::TestAuthorizedTokenDeleteView::test_delete_view_only_deletes_user_own_token
FAILED 
tests/test_token_view.py::TestAuthorizedTokenDeleteView::test_delete_view_post_actually_deletes
FAILED 
tests/test_token_view.py::TestAuthorizedTokenDeleteView::test_delete_view_token_belongs_to_user
FAILED 
tests/test_token_view.py::TestAuthorizedTokenDeleteView::test_delete_view_works
FAILED 
tests/test_ui_locales.py::TestUILocalesParam::test_application_ui_locales_param
====== 64 failed, 389 passed, 1 skipped, 13 warnings in 134.17s (0:02:14) ======
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_django-oauth-toolkit/build; python3.14 
-m pytest --ds tests.settings
I: pybuild base:317: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_django-oauth-toolkit/build; python3.13 
-m pytest --ds tests.settings
============================= test session starts ==============================
platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0
django: version: 4.2.26, settings: tests.settings (from option)
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_django-oauth-toolkit/build
configfile: pyproject.toml
plugins: cov-5.0.0, typeguard-4.4.4, mock-3.15.1, django-4.11.1, xdist-3.8.0
collected 454 items

tests/test_application_views.py ......
tests/test_auth_backends.py ..............
tests/test_authorization_code.py 
......................................................................
tests/test_client_credential.py .......
tests/test_commands.py New application 286pCdpboFGkcszAb93DSO24XPQCcjPrF7Xgavoi 
created successfully.
client_secret: 
DEh36tUBewEVzFEvMs50nJS8pEnQ2YRig0HetxW5ogfSrzxfIHHa5FdUDwNpVp18m12x0Im4m7PcKuLuSAwY3mOkw5BUKuLagymHc7i5ogZwbbKKU6k93DsAiWwcD06q
.New application QPmUGnOHw9BNlJzN5YsVvz91pCKn8COSWvFpH3Cb created successfully.
client_secret: 
nF7rlDIIhwNY0dhTJErJAhCoX4YtPmNnGh0oINajL0Cdkj0NTYvI6oRbxGhE7ALkCukEP6dPcVBsvCiGgG03iJ0aVicQpUdNFhKBXMwAigvyiOIsMHgeLR8oAgYHTpAg
.New application someId created successfully.
client_secret: 
pFNGZGyVomXB5sMuSwkzzGkV2hPOfdTGzmQn5e7LwXUd02ElErM1lWW2CbYizTPlVR14DG6LIK0zG23YBUDRhRzKEJWomXFD3TH0E6q05XqBJVyPmLt55wP8DXa6NhYp
.New application gF1fvZN1xWrypIVNcxkNgFDIqIJFoch1xZ1Q7FTr created successfully.
.New application TEST created successfully.
client_secret: 
rGHglPlU8TTvdCQAVd4pFH408uAVB2ZUhn8iqn3y87eko2lgEbonlx7BsT6HJsem5QmUKFvF0DCD8FrIotDOtOnYMlFHKGyKWRsyB9CcEt1mqXOrcMEnrkAM9lfwDUW1
.New application EmNLt3ghNqwUbRG2AWI4GaXgShYVpglzlleXl8I5 created successfully.
client_secret: 
GAmsPFodz0HHbEgGlMqXlmmxvuXNi9pfoE6htEzPvuRBGiRkQf9rNA0QSpTjR8hz3f2LM1b6h7TenBCt3fez86LkN8gDQPNdwM1WMvKhhaiEYXzl8Qu4BaXwaMRmb7lD
..New application Y75V1a4IGQVLQNVlRySESu6cjjq1bXh0CsmGowqs created successfully.
client_secret: 
jgIijlqNUSNFqjQmo9MFGslbPZ3D37KFvkSZMTPxAz36LQnePlb1MPTuLerxxehcWYjJS2MTIL2QZTAXJQnxYJ5Wpfblie3XBWaSrQ6XhD2WnQXelnIIASPG7PAPaOKZ
...
tests/test_decorators.py ...
tests/test_django_checks.py .System check identified no issues (0 silenced).
.
tests/test_generator.py ...
tests/test_hybrid.py ....................................................
tests/test_implicit.py ..................
tests/test_introspection_auth.py ........
tests/test_introspection_view.py ..............
tests/test_mixins.py ........
tests/test_models.py ...................................
tests/test_oauth2_backends.py ..........
tests/test_oauth2_validators.py s....
tests/test_oidc_views.py .........................................
tests/test_password.py ...
tests/test_rest_framework.py ...............................
tests/test_scopes.py ............
tests/test_settings.py ...........
tests/test_token_endpoint_cors.py ....
tests/test_token_revocation.py .......
tests/test_token_view.py ..........
tests/test_ui_locales.py ..
tests/test_validators.py ........
tests/test_oauth2_validators.py ..............................
tests/test_mixins.py ......
tests/test_oauth2_backends.py .....
tests/test_oauth2_validators.py ....
tests/test_oidc_views.py .
tests/test_scopes_backend.py ..
tests/test_settings.py ...........
tests/test_utils.py .

=============================== warnings summary ===============================
tests/test_authorization_code.py::TestOIDCAuthorizationCodeHSAlgorithm::test_id_token
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_django-oauth-toolkit/build/tests/test_authorization_code.py:1870:
 DeprecationWarning: 
    assert key.key_type == "oct"

tests/test_introspection_auth.py: 10 warnings
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_django-oauth-toolkit/build/oauth2_provider/oauth2_validators.py:412:
 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).
    expires = datetime.utcfromtimestamp(content["exp"])

tests/test_models.py::test_application_key
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_django-oauth-toolkit/build/tests/test_models.py:549:
 DeprecationWarning: 
    assert key.key_type == "RSA"

tests/test_models.py::test_application_key
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_django-oauth-toolkit/build/tests/test_models.py:560:
 DeprecationWarning: 
    assert key.key_type == "oct"

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================= 453 passed, 1 skipped, 13 warnings in 54.76s =================
I: pybuild pybuild:334: rm -f 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_django-oauth-toolkit/build/.coverage
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 
3.13" returned exit code 13
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

Reply via email to